mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-28 11:29:12 +00:00
Make fakeplayer load more chunk
This commit is contained in:
@@ -99,10 +99,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..ff7c96e48e266813598e0bd06fe9fc50587aa181
|
||||
index 0000000000000000000000000000000000000000..ebea5607956b1328f928d905e4f35424e5c21546
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/top/leavesmc/leaves/bot/Bot.java
|
||||
@@ -0,0 +1,471 @@
|
||||
@@ -0,0 +1,473 @@
|
||||
+package top.leavesmc.leaves.bot;
|
||||
+
|
||||
+import com.mojang.authlib.GameProfile;
|
||||
@@ -120,6 +120,7 @@ index 0000000000000000000000000000000000000000..ff7c96e48e266813598e0bd06fe9fc50
|
||||
+import net.minecraft.network.syncher.EntityDataAccessor;
|
||||
+import net.minecraft.network.syncher.EntityDataSerializers;
|
||||
+import net.minecraft.server.MinecraftServer;
|
||||
+import net.minecraft.server.dedicated.DedicatedServer;
|
||||
+import net.minecraft.server.level.ServerLevel;
|
||||
+import net.minecraft.server.level.ServerPlayer;
|
||||
+import net.minecraft.server.level.TicketType;
|
||||
@@ -299,8 +300,9 @@ index 0000000000000000000000000000000000000000..ff7c96e48e266813598e0bd06fe9fc50
|
||||
+
|
||||
+ private void loadChunks() {
|
||||
+ 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++) {
|
||||
+ int view = ((DedicatedServer) server).settings.getProperties().viewDistance - 1;
|
||||
+ for (int i = chunkPosition().x - view; i <= chunkPosition().x + view; i++) {
|
||||
+ for (int j = chunkPosition().z - view; j <= chunkPosition().z + view; j++) {
|
||||
+ ChunkPos chunk = world.getChunk(i, j).getPos();
|
||||
+ world.chunkSource.chunkMap.distanceManager.addTicket(TicketType.PLAYER, chunk, 31, chunk);
|
||||
+ }
|
||||
|
||||
@@ -30,7 +30,7 @@ index 4b8d05838bd70a2932a36a5919436861b8e41c0b..def8ab8bf0537e648751b200de016071
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/top/leavesmc/leaves/bot/Bot.java b/src/main/java/top/leavesmc/leaves/bot/Bot.java
|
||||
index ff7c96e48e266813598e0bd06fe9fc50587aa181..13d3a24fc43e7f00d2c6cb0252a3ab955eb62202 100644
|
||||
index ebea5607956b1328f928d905e4f35424e5c21546..77713ce098be75aab5ebbeabc324298ded4392f5 100644
|
||||
--- a/src/main/java/top/leavesmc/leaves/bot/Bot.java
|
||||
+++ b/src/main/java/top/leavesmc/leaves/bot/Bot.java
|
||||
@@ -1,9 +1,12 @@
|
||||
@@ -54,7 +54,7 @@ index ff7c96e48e266813598e0bd06fe9fc50587aa181..13d3a24fc43e7f00d2c6cb0252a3ab95
|
||||
import net.minecraft.network.syncher.EntityDataAccessor;
|
||||
import net.minecraft.network.syncher.EntityDataSerializers;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
@@ -21,9 +25,13 @@ import net.minecraft.server.level.TicketType;
|
||||
@@ -22,9 +26,13 @@ import net.minecraft.server.level.TicketType;
|
||||
import net.minecraft.server.network.ServerGamePacketListenerImpl;
|
||||
import net.minecraft.server.network.ServerPlayerConnection;
|
||||
import net.minecraft.util.Mth;
|
||||
@@ -68,7 +68,7 @@ index ff7c96e48e266813598e0bd06fe9fc50587aa181..13d3a24fc43e7f00d2c6cb0252a3ab95
|
||||
import net.minecraft.world.level.ChunkPos;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.chunk.LevelChunk;
|
||||
@@ -37,14 +45,20 @@ import org.bukkit.World;
|
||||
@@ -38,14 +46,20 @@ import org.bukkit.World;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.craftbukkit.CraftWorld;
|
||||
import org.bukkit.craftbukkit.entity.CraftPlayer;
|
||||
@@ -89,7 +89,7 @@ index ff7c96e48e266813598e0bd06fe9fc50587aa181..13d3a24fc43e7f00d2c6cb0252a3ab95
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
@@ -53,12 +67,17 @@ public class Bot extends ServerPlayer {
|
||||
@@ -54,12 +68,17 @@ public class Bot extends ServerPlayer {
|
||||
|
||||
private Vector velocity;
|
||||
private Vector oldVelocity;
|
||||
@@ -111,7 +111,7 @@ index ff7c96e48e266813598e0bd06fe9fc50587aa181..13d3a24fc43e7f00d2c6cb0252a3ab95
|
||||
|
||||
private static final Set<Bot> bots = new HashSet<>();
|
||||
|
||||
@@ -67,9 +86,12 @@ public class Bot extends ServerPlayer {
|
||||
@@ -68,9 +87,12 @@ public class Bot extends ServerPlayer {
|
||||
this.entityData.set(new EntityDataAccessor<>(16, EntityDataSerializers.INT), 0xFF);
|
||||
|
||||
this.velocity = new Vector(0, 0, 0);
|
||||
@@ -124,7 +124,7 @@ index ff7c96e48e266813598e0bd06fe9fc50587aa181..13d3a24fc43e7f00d2c6cb0252a3ab95
|
||||
this.removeOnDeath = true;
|
||||
}
|
||||
|
||||
@@ -155,12 +177,17 @@ public class Bot extends ServerPlayer {
|
||||
@@ -156,12 +178,17 @@ public class Bot extends ServerPlayer {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ index ff7c96e48e266813598e0bd06fe9fc50587aa181..13d3a24fc43e7f00d2c6cb0252a3ab95
|
||||
// die check end
|
||||
|
||||
@Override
|
||||
@@ -168,10 +195,6 @@ public class Bot extends ServerPlayer {
|
||||
@@ -169,10 +196,6 @@ public class Bot extends ServerPlayer {
|
||||
return groundTicks != 0;
|
||||
}
|
||||
|
||||
@@ -153,7 +153,7 @@ index ff7c96e48e266813598e0bd06fe9fc50587aa181..13d3a24fc43e7f00d2c6cb0252a3ab95
|
||||
public static boolean solidAt(Location loc) {
|
||||
Block block = loc.getBlock();
|
||||
BoundingBox box = block.getBoundingBox();
|
||||
@@ -257,12 +280,24 @@ public class Bot extends ServerPlayer {
|
||||
@@ -259,12 +282,24 @@ public class Bot extends ServerPlayer {
|
||||
public void tick() {
|
||||
loadChunks(); // Load chunks
|
||||
super.tick();
|
||||
@@ -182,7 +182,7 @@ index ff7c96e48e266813598e0bd06fe9fc50587aa181..13d3a24fc43e7f00d2c6cb0252a3ab95
|
||||
|
||||
if (checkGround()) {
|
||||
if (groundTicks < 5) groundTicks++;
|
||||
@@ -290,7 +325,83 @@ public class Bot extends ServerPlayer {
|
||||
@@ -292,7 +327,83 @@ public class Bot extends ServerPlayer {
|
||||
|
||||
checkOutOfWorld();
|
||||
|
||||
@@ -266,7 +266,7 @@ index ff7c96e48e266813598e0bd06fe9fc50587aa181..13d3a24fc43e7f00d2c6cb0252a3ab95
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -323,21 +434,6 @@ public class Bot extends ServerPlayer {
|
||||
@@ -325,21 +436,6 @@ public class Bot extends ServerPlayer {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -288,7 +288,7 @@ index ff7c96e48e266813598e0bd06fe9fc50587aa181..13d3a24fc43e7f00d2c6cb0252a3ab95
|
||||
public Location getLocation() {
|
||||
return getBukkitPlayer().getLocation();
|
||||
}
|
||||
@@ -429,6 +525,68 @@ public class Bot extends ServerPlayer {
|
||||
@@ -431,6 +527,68 @@ public class Bot extends ServerPlayer {
|
||||
this.move(MoverType.SELF, new Vec3(velocity.getX(), y, velocity.getZ()));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user