9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2026-01-04 15:41:31 +00:00

Fix fakeplayer load chunk bug

This commit is contained in:
violetc
2022-03-05 12:28:47 +08:00
parent a706e0a144
commit 4b0c53ad3d
2 changed files with 20 additions and 29 deletions

View File

@@ -67,7 +67,7 @@ index f7959fe8d5247504dd79a18010470d98781c7cfe..a77dc509dd65d4e49315b16902063d08
AdvancementProgress advancementprogress = this.getOrStartProgress(advancement);
boolean flag1 = advancementprogress.isDone();
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index cd08f9b16c065be8f0eacaeba51d3e72d332daf9..c9616d519c01749dc30c8331af184a5e90273142 100644
index 7a0c1ba40156df69bbbf36d96bed0950130d2351..8285d83edeb70c4a368ead68dadd0b4861a7f6a3 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1,6 +1,7 @@
@@ -232,10 +232,10 @@ index a73c79e57f51a6ab0f0d0b37fa6c87ff9bd69325..4b8d05838bd70a2932a36a5919436861
MinecraftServer.getServer().server.getCommandMap().register(entry.getKey(), "Leaves", entry.getValue());
diff --git a/src/main/java/top/leavesmc/leaves/bot/Bot.java b/src/main/java/top/leavesmc/leaves/bot/Bot.java
new file mode 100644
index 0000000000000000000000000000000000000000..97b8cb057c139af76684088bdde71d96e95ada81
index 0000000000000000000000000000000000000000..18bd3b869a9ebd7cdef8da8c46d4da749b6fa3da
--- /dev/null
+++ b/src/main/java/top/leavesmc/leaves/bot/Bot.java
@@ -0,0 +1,472 @@
@@ -0,0 +1,471 @@
+package top.leavesmc.leaves.bot;
+
+import com.mojang.authlib.GameProfile;
@@ -255,12 +255,14 @@ index 0000000000000000000000000000000000000000..97b8cb057c139af76684088bdde71d96
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.server.level.ServerLevel;
+import net.minecraft.server.level.ServerPlayer;
+import net.minecraft.server.level.TicketType;
+import net.minecraft.server.network.ServerGamePacketListenerImpl;
+import net.minecraft.server.network.ServerPlayerConnection;
+import net.minecraft.util.Mth;
+import net.minecraft.world.damagesource.DamageSource;
+import net.minecraft.world.entity.Entity;
+import net.minecraft.world.entity.MoverType;
+import net.minecraft.world.level.ChunkPos;
+import net.minecraft.world.level.Level;
+import net.minecraft.world.level.chunk.LevelChunk;
+import net.minecraft.world.phys.AABB;
@@ -429,14 +431,11 @@ index 0000000000000000000000000000000000000000..97b8cb057c139af76684088bdde71d96
+ }
+
+ private void loadChunks() {
+ Level world = level;
+ ServerLevel world = (ServerLevel) level;
+ for (int i = chunkPosition().x - 1; i <= chunkPosition().x + 1; i++) {
+ for (int j = chunkPosition().z - 1; j <= chunkPosition().z + 1; j++) {
+ LevelChunk chunk = world.getChunk(i, j);
+
+ if (!chunk.loaded) {
+ chunk.loaded = true;
+ }
+ ChunkPos chunk = world.getChunk(i, j).getPos();
+ world.chunkSource.chunkMap.distanceManager.addTicketAtLevel(TicketType.PLAYER, chunk, 31, chunk);
+ }
+ }
+ }