From 735fe8855aabf264c1ff129eb15b3d40379fbbaf Mon Sep 17 00:00:00 2001 From: Helvetica Volubi Date: Sun, 16 Nov 2025 18:53:16 +0800 Subject: [PATCH] try to fix a bug in fake player spawn --- .../features/0022-Leaves-Fakeplayer.patch | 13 ++----------- .../java/org/leavesmc/leaves/bot/ServerBot.java | 4 ++-- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/lophine-server/minecraft-patches/features/0022-Leaves-Fakeplayer.patch b/lophine-server/minecraft-patches/features/0022-Leaves-Fakeplayer.patch index 01d18f3..5dc39a2 100644 --- a/lophine-server/minecraft-patches/features/0022-Leaves-Fakeplayer.patch +++ b/lophine-server/minecraft-patches/features/0022-Leaves-Fakeplayer.patch @@ -239,18 +239,9 @@ index 0e278f7b9ed85ce8c3cedd9154f817b30ff1e48a..09d4b1d68c3f046ef304016a1afe7a30 // Paper start - fix converting txt to json file; convert old users earlier after PlayerList creation but before file load/save if (this.convertOldUsers()) { diff --git a/net/minecraft/server/level/ChunkMap.java b/net/minecraft/server/level/ChunkMap.java -index 70740381c6501c1a518c52b24381edd16792507f..5e31b499a894113b4be1982a1071348fcbaf9ded 100644 +index 70740381c6501c1a518c52b24381edd16792507f..8ad6d5a2522cfbe316fec2c3b918e2e1b9af3d1b 100644 --- a/net/minecraft/server/level/ChunkMap.java +++ b/net/minecraft/server/level/ChunkMap.java -@@ -134,7 +134,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider - public final AtomicInteger tickingGenerated = new AtomicInteger(); // Paper - public - private final String storageName; - //private final PlayerMap playerMap = new PlayerMap(); // Folia - region threading -- //public final Int2ObjectMap entityMap = new Int2ObjectOpenHashMap<>(); // Folia - region threading -+ public final Int2ObjectMap entityMap = new Int2ObjectOpenHashMap<>(); // Folia - region threading - private final Long2ByteMap chunkTypeCache = new Long2ByteOpenHashMap(); - // Paper - rewrite chunk system - public int serverViewDistance; @@ -1309,6 +1309,13 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } } else if (this.seenBy.remove(player.connection)) { @@ -266,7 +257,7 @@ index 70740381c6501c1a518c52b24381edd16792507f..5e31b499a894113b4be1982a1071348f } } diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java -index d1a799199a68771ae3130a30a59625587c11b0b0..edf29b1a8a6cbadff6a65f0483e28ec72a78594d 100644 +index 89d72f242d0fc224701bdcdf245d948415e7c820..5efe7d94a364cec1bd18c4d8d62c19075d52f3e8 100644 --- a/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java @@ -207,6 +207,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe diff --git a/lophine-server/src/main/java/org/leavesmc/leaves/bot/ServerBot.java b/lophine-server/src/main/java/org/leavesmc/leaves/bot/ServerBot.java index 453024c..f0464fb 100644 --- a/lophine-server/src/main/java/org/leavesmc/leaves/bot/ServerBot.java +++ b/lophine-server/src/main/java/org/leavesmc/leaves/bot/ServerBot.java @@ -464,10 +464,10 @@ public class ServerBot extends ServerPlayer { } public void sendFakeData(ServerPlayerConnection playerConnection, boolean login) { - ChunkMap.TrackedEntity entityTracker = this.level().getChunkSource().chunkMap.entityMap.get(this.getId()); + ChunkMap.TrackedEntity entityTracker = this.moonrise$getTrackedEntity(); if (entityTracker == null) { - LOGGER.warn("Fakeplayer cant get entity tracker for " + this.getId()); + LOGGER.warn("Fakeplayer cant get entity tracker for {}", this.getId()); return; }