diff --git a/Spigot-Server-Patches/0261-Prevent-Saving-Bad-entities-to-chunks.patch b/Spigot-Server-Patches/0261-Prevent-Saving-Bad-entities-to-chunks.patch index 4011da113..a7f54da2f 100644 --- a/Spigot-Server-Patches/0261-Prevent-Saving-Bad-entities-to-chunks.patch +++ b/Spigot-Server-Patches/0261-Prevent-Saving-Bad-entities-to-chunks.patch @@ -1,4 +1,4 @@ -From 0e1e8bae2d4aa584614af1937310c93dd0384a88 Mon Sep 17 00:00:00 2001 +From 3c6d8305c8007d43baa346e7509fa87793f59c1d Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 26 Jul 2018 00:11:12 -0400 Subject: [PATCH] Prevent Saving Bad entities to chunks @@ -79,6 +79,47 @@ index 4af5a230b..83bcef7e6 100644 public static ChunkStatus.Type a(@Nullable NBTTagCompound nbttagcompound) { if (nbttagcompound != null) { +diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java +index 6ce7f77a5..1adabb751 100644 +--- a/src/main/java/net/minecraft/server/WorldServer.java ++++ b/src/main/java/net/minecraft/server/WorldServer.java +@@ -1085,6 +1085,7 @@ public class WorldServer extends World { + List[] aentityslice = chunk.getEntitySlices(); // Spigot + int i = aentityslice.length; + ++ java.util.List toMoveChunks = new java.util.ArrayList<>(); // Paper + for (int j = 0; j < i; ++j) { + List entityslice = aentityslice[j]; // Spigot + Iterator iterator = entityslice.iterator(); +@@ -1109,11 +1110,28 @@ public class WorldServer extends World { + throw (IllegalStateException) SystemUtils.c(new IllegalStateException("Removing entity while ticking!")); + } + ++ // Paper start - move out entities that shouldn't be in this chunk before it unloads ++ if (!entity.dead && (int) Math.floor(entity.locX()) >> 4 != chunk.getPos().x || (int) Math.floor(entity.locZ()) >> 4 != chunk.getPos().z) { ++ toMoveChunks.add(entity); ++ entity.inChunk = false; ++ entity.entitySlice = null; ++ iterator.remove(); ++ continue; ++ } ++ // Paper end ++ + this.entitiesById.remove(entity.getId()); + this.unregisterEntity(entity); ++ ++ if (entity.dead) iterator.remove(); // Paper - don't save dead entities during unload + } + } + } ++ // Paper start - move out entities that shouldn't be in this chunk before it unloads ++ for (Entity entity : toMoveChunks) { ++ this.chunkCheck(entity); ++ } ++ // Paper end + + } + -- 2.25.1 diff --git a/Spigot-Server-Patches/0263-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0263-Ignore-Dead-Entities-in-entityList-iteration.patch index 18b1c468a..c746afce6 100644 --- a/Spigot-Server-Patches/0263-Ignore-Dead-Entities-in-entityList-iteration.patch +++ b/Spigot-Server-Patches/0263-Ignore-Dead-Entities-in-entityList-iteration.patch @@ -1,4 +1,4 @@ -From 43c1459292e3c2c7f57b4c716b84346ea7f4b757 Mon Sep 17 00:00:00 2001 +From d74308ea9718ce70c654463ae2cbc74e8dbad111 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 28 Jul 2018 12:18:27 -0400 Subject: [PATCH] Ignore Dead Entities in entityList iteration @@ -11,7 +11,7 @@ This will ensure that dead entities are skipped from iteration since they shouldn't of been in the list in the first place. diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java -index b839769cea..5acad8e44f 100644 +index b839769ce..5acad8e44 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java @@ -179,6 +179,7 @@ public class PaperCommand extends Command { @@ -23,7 +23,7 @@ index b839769cea..5acad8e44f 100644 MutablePair> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap())); ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ()); diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 3267e87259..a51de83cf5 100644 +index 3267e8725..a51de83cf 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -682,6 +682,7 @@ public class Chunk implements IChunkAccess { @@ -51,7 +51,7 @@ index 3267e87259..a51de83cf5 100644 if (oclass.isInstance(t0) && t0.getBoundingBox().c(axisalignedbb) && (predicate == null || predicate.test(t0))) { // Spigot - instance check list.add(t0); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 356de07dad..33cd7f7b40 100644 +index 356de07da..33cd7f7b4 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -195,6 +195,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -63,7 +63,7 @@ index 356de07dad..33cd7f7b40 100644 public float getBukkitYaw() { return this.yaw; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 6ce7f77a5e..c13aefff94 100644 +index 1adabb751..56de91008 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -908,7 +908,7 @@ public class WorldServer extends World { @@ -75,7 +75,7 @@ index 6ce7f77a5e..c13aefff94 100644 if (entity instanceof EntityInsentient) { EntityInsentient entityinsentient = (EntityInsentient) entity; -@@ -1229,6 +1229,7 @@ public class WorldServer extends World { +@@ -1247,6 +1247,7 @@ public class WorldServer extends World { entity.origin = entity.getBukkitEntity().getLocation(); } // Paper end @@ -83,7 +83,7 @@ index 6ce7f77a5e..c13aefff94 100644 new com.destroystokyo.paper.event.entity.EntityAddToWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid } -@@ -1241,6 +1242,7 @@ public class WorldServer extends World { +@@ -1259,6 +1260,7 @@ public class WorldServer extends World { this.removeEntityFromChunk(entity); this.entitiesById.remove(entity.getId()); this.unregisterEntity(entity); @@ -92,7 +92,7 @@ index 6ce7f77a5e..c13aefff94 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 588c87119f..e94ac028df 100644 +index 588c87119..e94ac028d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1025,6 +1025,7 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0278-Send-nearby-packets-from-world-player-list-not-serve.patch b/Spigot-Server-Patches/0278-Send-nearby-packets-from-world-player-list-not-serve.patch index da18ff43c..b8526d42c 100644 --- a/Spigot-Server-Patches/0278-Send-nearby-packets-from-world-player-list-not-serve.patch +++ b/Spigot-Server-Patches/0278-Send-nearby-packets-from-world-player-list-not-serve.patch @@ -1,11 +1,11 @@ -From 46abe17c2e2707fc80b5d0625708b27a48c0b396 Mon Sep 17 00:00:00 2001 +From 902e2759616eb41c26ad90bc2efd0358719e4338 Mon Sep 17 00:00:00 2001 From: Mystiflow Date: Fri, 6 Jul 2018 13:21:30 +0100 Subject: [PATCH] Send nearby packets from world player list not server list diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 442673b13f..36d31d271c 100644 +index 442673b13..36d31d271 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -923,8 +923,25 @@ public abstract class PlayerList { @@ -46,10 +46,10 @@ index 442673b13f..36d31d271c 100644 double d5 = d1 - entityplayer.locY(); double d6 = d2 - entityplayer.locZ(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index c13aefff94..2b2b547034 100644 +index 56de91008..3f74a34d8 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1275,7 +1275,7 @@ public class WorldServer extends World { +@@ -1293,7 +1293,7 @@ public class WorldServer extends World { } // CraftBukkit end this.globalEntityList.add(entitylightning); @@ -58,7 +58,7 @@ index c13aefff94..2b2b547034 100644 } @Override -@@ -1407,7 +1407,7 @@ public class WorldServer extends World { +@@ -1425,7 +1425,7 @@ public class WorldServer extends World { BlockActionData blockactiondata = (BlockActionData) this.I.removeFirst(); if (this.a(blockactiondata)) { @@ -68,7 +68,7 @@ index c13aefff94..2b2b547034 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index e94ac028df..d61769b4f2 100644 +index e94ac028d..d61769b4f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -2120,7 +2120,7 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0313-Limit-lightning-strike-effect-distance.patch b/Spigot-Server-Patches/0313-Limit-lightning-strike-effect-distance.patch index 9261167e0..9d8932a61 100644 --- a/Spigot-Server-Patches/0313-Limit-lightning-strike-effect-distance.patch +++ b/Spigot-Server-Patches/0313-Limit-lightning-strike-effect-distance.patch @@ -1,11 +1,11 @@ -From 1c9e14d9d0bbcce702c47f2efc1e186569d91553 Mon Sep 17 00:00:00 2001 +From 04983f017e812190f1de29ef50612ee72715fe65 Mon Sep 17 00:00:00 2001 From: Trigary Date: Fri, 14 Sep 2018 17:42:08 +0200 Subject: [PATCH] Limit lightning strike effect distance diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 487b0d5cd6..b8789c8ecc 100644 +index 487b0d5cd..b8789c8ec 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -242,6 +242,28 @@ public class PaperWorldConfig { @@ -38,7 +38,7 @@ index 487b0d5cd6..b8789c8ecc 100644 private void fixedInhabitedTime() { if (PaperConfig.version < 16) { diff --git a/src/main/java/net/minecraft/server/EntityLightning.java b/src/main/java/net/minecraft/server/EntityLightning.java -index 7c518983a9..bdb534deb4 100644 +index 7c518983a..bdb534deb 100644 --- a/src/main/java/net/minecraft/server/EntityLightning.java +++ b/src/main/java/net/minecraft/server/EntityLightning.java @@ -64,6 +64,17 @@ public class EntityLightning extends Entity { @@ -69,10 +69,10 @@ index 7c518983a9..bdb534deb4 100644 --this.lifeTicks; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 2b2b547034..7364f48210 100644 +index 3f74a34d8..577043c74 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1275,7 +1275,7 @@ public class WorldServer extends World { +@@ -1293,7 +1293,7 @@ public class WorldServer extends World { } // CraftBukkit end this.globalEntityList.add(entitylightning); diff --git a/Spigot-Server-Patches/0373-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0373-Configurable-Keep-Spawn-Loaded-range-per-world.patch index e90a94cbf..6ad130f95 100644 --- a/Spigot-Server-Patches/0373-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0373-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From da4c5cfa55eba970207231a87c45c13846d89a17 Mon Sep 17 00:00:00 2001 +From 3d4c6a9cd4766057fcd6db19f504cba07be956f2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 13 Sep 2014 23:14:43 -0400 Subject: [PATCH] Configurable Keep Spawn Loaded range per world @@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world This lets you disable it for some worlds and lower it for others. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 572679e4d1..071e5e7f72 100644 +index 572679e4d..071e5e7f7 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -481,4 +481,10 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index 572679e4d1..071e5e7f72 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3ede5ce2a6..eaa26e1a50 100644 +index 3ede5ce2a..eaa26e1a5 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -586,6 +586,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sun, 28 Jul 2019 00:51:11 +0100 Subject: [PATCH] Mark entities as being ticked when notifying navigation diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 4b65a232ff..df7503a5ec 100644 +index 2287453b7..4ddd8fd04 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1397,6 +1397,7 @@ public class WorldServer extends World { +@@ -1415,6 +1415,7 @@ public class WorldServer extends World { VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition); if (VoxelShapes.c(voxelshape, voxelshape1, OperatorBoolean.NOT_SAME)) { @@ -16,7 +16,7 @@ index 4b65a232ff..df7503a5ec 100644 Iterator iterator = this.navigators.iterator(); while (iterator.hasNext()) { -@@ -1407,6 +1408,7 @@ public class WorldServer extends World { +@@ -1425,6 +1426,7 @@ public class WorldServer extends World { } } diff --git a/Spigot-Server-Patches/0391-Asynchronous-chunk-IO-and-loading.patch b/Spigot-Server-Patches/0391-Asynchronous-chunk-IO-and-loading.patch index 8a2acc8eb..534a1995e 100644 --- a/Spigot-Server-Patches/0391-Asynchronous-chunk-IO-and-loading.patch +++ b/Spigot-Server-Patches/0391-Asynchronous-chunk-IO-and-loading.patch @@ -1,4 +1,4 @@ -From 141395a5db93ca1716ceeff875c0c807636d9c06 Mon Sep 17 00:00:00 2001 +From b11c11c4f13fe9c13a941bb25693801f935a5d69 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sat, 13 Jul 2019 09:23:10 -0700 Subject: [PATCH] Asynchronous chunk IO and loading @@ -2569,7 +2569,7 @@ index b582171c5..03d7ce829 100644 } finally { playerChunkMap.callbackExecutor.run(); diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 8816c90e2..0b61ee3ba 100644 +index 8816c90e2..1298a07dc 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -6,6 +6,7 @@ import it.unimi.dsi.fastutil.longs.LongOpenHashSet; @@ -2785,24 +2785,16 @@ index 8816c90e2..0b61ee3ba 100644 if (chunksection != Chunk.a || nibblearray != null || nibblearray1 != null) { nbttagcompound2 = new NBTTagCompound(); nbttagcompound2.setByte("Y", (byte) (i & 255)); -@@ -329,9 +448,13 @@ public class ChunkRegionLoader { - } - - // Paper start - move entities to the correct chunk -- for (Entity entity : toUpdate) { -- worldserver.chunkCheck(entity); -- } -+ worldserver.getMinecraftServer().execute(() -> { -+ for (Entity entity : toUpdate) { -+ if (!entity.dead) { -+ worldserver.chunkCheck(entity); -+ } -+ } -+ }); - // Paper end - - } else { -@@ -353,24 +476,32 @@ public class ChunkRegionLoader { +@@ -313,7 +432,7 @@ public class ChunkRegionLoader { + Entity entity = (Entity) iterator1.next(); + NBTTagCompound nbttagcompound4 = new NBTTagCompound(); + // Paper start +- if ((int) Math.floor(entity.locX()) >> 4 != chunk.getPos().x || (int) Math.floor(entity.locZ()) >> 4 != chunk.getPos().z) { ++ if (asyncsavedata == null && !entity.dead && (int) Math.floor(entity.locX()) >> 4 != chunk.getPos().x || (int) Math.floor(entity.locZ()) >> 4 != chunk.getPos().z) { + toUpdate.add(entity); + continue; + } +@@ -353,24 +472,32 @@ public class ChunkRegionLoader { } nbttagcompound1.set("Entities", nbttaglist2); @@ -3991,7 +3983,7 @@ index c999f8c9b..b59ef1a63 100644 HAS_SPACE(VillagePlaceRecord::d), IS_OCCUPIED(VillagePlaceRecord::e), ANY((villageplacerecord) -> { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index df7503a5e..d4ef2403d 100644 +index 4ddd8fd04..b5daebe51 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -82,6 +82,79 @@ public class WorldServer extends World { diff --git a/Spigot-Server-Patches/0450-Ensure-Entity-is-never-double-registered.patch b/Spigot-Server-Patches/0450-Ensure-Entity-is-never-double-registered.patch index 9263b8d6a..b4fb8240c 100644 --- a/Spigot-Server-Patches/0450-Ensure-Entity-is-never-double-registered.patch +++ b/Spigot-Server-Patches/0450-Ensure-Entity-is-never-double-registered.patch @@ -1,4 +1,4 @@ -From 1c031ccb73652467d8913abedaebe704625644f1 Mon Sep 17 00:00:00 2001 +From c28915808450a2ec9173915f0f47a0cebcbbe6a5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 29 Mar 2020 18:26:14 -0400 Subject: [PATCH] Ensure Entity is never double registered @@ -11,7 +11,7 @@ Vs behavior of non ticking of just overwriting state. We will now simply log a warning when this happens instead of crashing the server. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 65457c89ad..6571cf1eee 100644 +index 16f2e32d2..9cb4e5a1e 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -59,6 +59,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -23,7 +23,7 @@ index 65457c89ad..6571cf1eee 100644 private boolean locked = false; @Override diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 5ba46fca55..23527809ce 100644 +index 5b644db97..ed6599ca1 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -520,6 +520,7 @@ public class WorldServer extends World { @@ -34,7 +34,7 @@ index 5ba46fca55..23527809ce 100644 this.registerEntity(entity); } } // Paper - timings -@@ -1329,6 +1330,19 @@ public class WorldServer extends World { +@@ -1347,6 +1348,19 @@ public class WorldServer extends World { public void unregisterEntity(Entity entity) { org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot @@ -54,7 +54,7 @@ index 5ba46fca55..23527809ce 100644 // Spigot start if ( entity instanceof EntityHuman ) { -@@ -1390,9 +1404,21 @@ public class WorldServer extends World { +@@ -1408,9 +1422,21 @@ public class WorldServer extends World { private void registerEntity(Entity entity) { org.spigotmc.AsyncCatcher.catchOp("entity register"); // Spigot diff --git a/Spigot-Server-Patches/0451-Fix-unregistering-entities-from-unloading-chunks.patch b/Spigot-Server-Patches/0451-Fix-unregistering-entities-from-unloading-chunks.patch index 35db2bd07..f20cbe53f 100644 --- a/Spigot-Server-Patches/0451-Fix-unregistering-entities-from-unloading-chunks.patch +++ b/Spigot-Server-Patches/0451-Fix-unregistering-entities-from-unloading-chunks.patch @@ -1,4 +1,4 @@ -From 220db8b8d7cd74b1bff9fe451108c20ffe9d01ac Mon Sep 17 00:00:00 2001 +From 276cdbbff63e0ee0671b2f0a53178fca15e81647 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 31 Mar 2020 03:01:45 -0400 Subject: [PATCH] Fix unregistering entities from unloading chunks @@ -15,10 +15,10 @@ Combine that with a buggy detail of the previous implementation of the Dupe UUID patch, then this was the likely source of the "Ghost entities" diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 23527809ce..941eee838b 100644 +index ed6599ca1..ce1075e5a 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1483,9 +1483,9 @@ public class WorldServer extends World { +@@ -1501,9 +1501,9 @@ public class WorldServer extends World { } private void removeEntityFromChunk(Entity entity) { diff --git a/Spigot-Server-Patches/0454-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch b/Spigot-Server-Patches/0454-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch index 0eb15416d..35345560a 100644 --- a/Spigot-Server-Patches/0454-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch +++ b/Spigot-Server-Patches/0454-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch @@ -1,4 +1,4 @@ -From 90fd57417baaed7e89b69b50d566f1c709867214 Mon Sep 17 00:00:00 2001 +From 27cdad7a9321efaa5dc7ee8897bbf22086106b2d Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 2 Apr 2020 01:42:39 -0400 Subject: [PATCH] Prevent Double PlayerChunkMap adds crashing server @@ -7,7 +7,7 @@ Suspected case would be around the technique used in .stopRiding Stack will identify any causer of this and warn instead of crashing. diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 0186ab9e40..e1e4ea793a 100644 +index 0186ab9e4..e1e4ea793 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -1484,6 +1484,14 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -26,10 +26,10 @@ index 0186ab9e40..e1e4ea793a 100644 if (!(entity instanceof EntityLightning)) { EntityTypes entitytypes = entity.getEntityType(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 941eee838b..c7ec8cbc11 100644 +index ce1075e5a..6a5520ee2 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1449,7 +1449,7 @@ public class WorldServer extends World { +@@ -1467,7 +1467,7 @@ public class WorldServer extends World { } } @@ -38,7 +38,7 @@ index 941eee838b..c7ec8cbc11 100644 // CraftBukkit start - SPIGOT-5278 if (entity instanceof EntityDrowned) { this.navigators.add(((EntityDrowned) entity).navigationWater); -@@ -1460,6 +1460,7 @@ public class WorldServer extends World { +@@ -1478,6 +1478,7 @@ public class WorldServer extends World { this.navigators.add(((EntityInsentient) entity).getNavigation()); } entity.valid = true; // CraftBukkit