|
|
|
|
@@ -12178,7 +12178,7 @@ index 44aa0c4ec6f0e4df2541c74fa7de852dae59bda5..a00627e0fa38632449042f59c053b4da
|
|
|
|
|
if (flag2) {
|
|
|
|
|
packet1 = new ClientboundMoveEntityPacket.Pos(this.entity.getId(), (short) ((int) k), (short) ((int) l), (short) ((int) i1), this.entity.isOnGround());
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
|
|
|
|
index 87b3eee23441717660aa6bb81248986cb7ef2fb4..a4546a80b0d1fde8c4f92fea575745b1352d95b0 100644
|
|
|
|
|
index 8154ca39ec7e2e8559cd125d73a59b8d2b00714c..07b0eae123e310809dc28506ebe2e0878dcaa224 100644
|
|
|
|
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
|
|
|
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
|
|
|
|
@@ -115,6 +115,7 @@ import net.minecraft.world.level.block.EntityBlock;
|
|
|
|
|
@@ -13173,7 +13173,7 @@ index 0f6b534a4c789a2f09f6c4624e5d58b99c7ed0e6..fea852674098fe411841d8e5ebeace7d
|
|
|
|
|
this.generatingStatus = chunkstatus;
|
|
|
|
|
this.writeRadiusCutoff = i;
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
|
|
|
index 8708eb173fbb17cf84a0c6d9a42623750472f650..9dc5c82ea1d497174d288000f9f1ccaabbcb4a18 100644
|
|
|
|
|
index 35fa416a8ce332e823ed5077a8fd3492683d7ad0..f78119970da27ef66a9d9093e2e42ce129d4cf31 100644
|
|
|
|
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
|
|
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
|
|
|
@@ -537,6 +537,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
|
|
|
|
@@ -14178,7 +14178,7 @@ index 325e244c46ec208a2e7e18d71ccbbfcc25fc1bce..6a4e44dd8935018d1b5283761dfb8e85
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
|
|
|
|
index 1c171599dbde44389013dc08ca8263742d58d721..862553e98a7237d39a26036c615b9cbd001bd3bf 100644
|
|
|
|
|
index 17281575ff83bbf1e720335619a78a6d0a0e5077..8196be52af4a5ea1bf280d646dc2db15d9ad6ea2 100644
|
|
|
|
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
|
|
|
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
|
|
|
|
@@ -166,6 +166,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
@@ -14190,7 +14190,7 @@ index 1c171599dbde44389013dc08ca8263742d58d721..862553e98a7237d39a26036c615b9cbd
|
|
|
|
|
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
|
|
|
|
public static BlockPos lastPhysicsProblem; // Spigot
|
|
|
|
|
private org.spigotmc.TickLimiter entityLimiter;
|
|
|
|
|
@@ -195,9 +197,117 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
@@ -202,9 +204,117 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
return this.typeKey;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -14308,7 +14308,7 @@ index 1c171599dbde44389013dc08ca8263742d58d721..862553e98a7237d39a26036c615b9cbd
|
|
|
|
|
this.generator = gen;
|
|
|
|
|
this.world = new CraftWorld((ServerLevel) this, gen, env);
|
|
|
|
|
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
|
|
|
|
@@ -271,6 +381,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
@@ -278,6 +388,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
this.chunkPacketBlockController = this.paperConfig.antiXray ?
|
|
|
|
|
new com.destroystokyo.paper.antixray.ChunkPacketBlockControllerAntiXray(this, executor)
|
|
|
|
|
: com.destroystokyo.paper.antixray.ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
|
|
|
|
|
@@ -14316,7 +14316,7 @@ index 1c171599dbde44389013dc08ca8263742d58d721..862553e98a7237d39a26036c615b9cbd
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Paper start
|
|
|
|
|
@@ -356,6 +467,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
@@ -363,6 +474,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public final LevelChunk getChunk(int chunkX, int chunkZ) { // Paper - final to help inline
|
|
|
|
|
@@ -14332,7 +14332,7 @@ index 1c171599dbde44389013dc08ca8263742d58d721..862553e98a7237d39a26036c615b9cbd
|
|
|
|
|
return (LevelChunk) this.getChunk(chunkX, chunkZ, ChunkStatus.FULL, true); // Paper - avoid a method jump
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -544,7 +664,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
@@ -551,7 +671,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
this.sendBlockUpdated(blockposition, iblockdata1, iblockdata, i);
|
|
|
|
|
// Paper start - per player view distance - allow block updates for non-ticking chunks in player view distance
|
|
|
|
|
// if copied from above
|
|
|
|
|
@@ -14341,7 +14341,7 @@ index 1c171599dbde44389013dc08ca8263742d58d721..862553e98a7237d39a26036c615b9cbd
|
|
|
|
|
((ServerLevel)this).getChunkSource().blockChanged(blockposition);
|
|
|
|
|
// Paper end - per player view distance
|
|
|
|
|
}
|
|
|
|
|
@@ -855,6 +975,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
@@ -862,6 +982,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
public <T extends Entity> void guardEntityTick(Consumer<T> tickConsumer, T entity) {
|
|
|
|
|
try {
|
|
|
|
|
tickConsumer.accept(entity);
|
|
|
|
|
@@ -14349,7 +14349,7 @@ index 1c171599dbde44389013dc08ca8263742d58d721..862553e98a7237d39a26036c615b9cbd
|
|
|
|
|
} catch (Throwable throwable) {
|
|
|
|
|
if (throwable instanceof ThreadDeath) throw throwable; // Paper
|
|
|
|
|
// Paper start - Prevent tile entity and entity crashes
|
|
|
|
|
@@ -984,26 +1105,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
@@ -991,26 +1112,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
|
|
|
|
|
this.getProfiler().incrementCounter("getEntities");
|
|
|
|
|
List<Entity> list = Lists.newArrayList();
|
|
|
|
|
@@ -14377,7 +14377,7 @@ index 1c171599dbde44389013dc08ca8263742d58d721..862553e98a7237d39a26036c615b9cbd
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -1012,26 +1114,22 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
@@ -1019,26 +1121,22 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
this.getProfiler().incrementCounter("getEntities");
|
|
|
|
|
List<T> list = Lists.newArrayList();
|
|
|
|
|
|
|
|
|
|
@@ -14419,7 +14419,7 @@ index 1c171599dbde44389013dc08ca8263742d58d721..862553e98a7237d39a26036c615b9cbd
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -1319,10 +1417,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
@@ -1326,10 +1424,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
|
|
|
|
public abstract TagContainer getTagManager();
|
|
|
|
|
|
|
|
|
|
public BlockPos getBlockRandomPos(int x, int y, int z, int l) {
|
|
|
|
|
@@ -17119,7 +17119,7 @@ index 3403b75c8311f1e52a0533363c5f0307442f8a15..92cb1fd2419eb3a3e64ebc0c5e699a79
|
|
|
|
|
// Spigot start
|
|
|
|
|
private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot()
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
|
|
|
index 32f82c60b680180b256edff127e5a6ded42fccf4..332c33c95cc450d76f512e58dd6d4b61ea2de431 100644
|
|
|
|
|
index c3c7b34ceb1b8f0ed042b29924c633fa7519dc30..c59deadcfbfd5afbf951a167979a4eceb0c63579 100644
|
|
|
|
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
|
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
|
|
|
@@ -146,6 +146,13 @@ public class Main {
|
|
|
|
|
@@ -17205,7 +17205,7 @@ index 8246ad7ebecdfc0b7519fe4412fef7b07407e850..c0a508295d2e68d92ec8d24e14f9b762
|
|
|
|
|
@Override
|
|
|
|
|
public boolean teleport(Location location) {
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
|
|
|
index 76e2ae09855e0efaaa0856d2f49e4968adbccbdc..fc8a8ccd4273ec5d44b216d96034ac048a2ac38e 100644
|
|
|
|
|
index 4e95bf2eb6434d8ca44d478262329c56b0b0a079..1da5b6f73e78a697031f7662e68c546543fb9d1a 100644
|
|
|
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
|
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
|
|
|
@@ -516,15 +516,70 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
|
|
|
|