diff --git a/nms-patches/WorldServer.patch b/nms-patches/WorldServer.patch index 394e4bab73..5acbfbdab9 100644 --- a/nms-patches/WorldServer.patch +++ b/nms-patches/WorldServer.patch @@ -507,7 +507,7 @@ Iterator iterator = arraylist.iterator(); while (iterator.hasNext()) { -@@ -695,12 +920,29 @@ +@@ -695,8 +920,12 @@ this.worldData.k(this.getWorldBorder().getWarningTime()); this.worldData.b(this.getWorldBorder().j()); this.worldData.e(this.getWorldBorder().i()); @@ -521,24 +521,7 @@ } protected void a(Entity entity) { - super.a(entity); -+ // CraftBukkit start -+ UUID uuid = entity.getUniqueID(); -+ -+ if (this.entitiesByUUID.containsKey(uuid)) { -+ Entity entity1 = (Entity) this.entitiesByUUID.get(uuid); -+ -+ if (this.g.contains(entity1)) { -+ WorldServer.a.warn("Tried to add entity " + EntityTypes.b(entity1) + " with pending removal and duplicate UUID " + uuid.toString()); -+ } else { -+ WorldServer.a.warn("Tried to add entity " + EntityTypes.b(entity1) + " that already exists with UUID " + uuid.toString()); -+ } -+ } -+ // CraftBukkit end - this.entitiesById.a(entity.getId(), entity); - this.entitiesByUUID.put(entity.getUniqueID(), entity); - Entity[] aentity = entity.aB(); -@@ -728,8 +970,16 @@ +@@ -728,8 +957,16 @@ } public boolean strikeLightning(Entity entity) { @@ -556,7 +539,7 @@ return true; } else { return false; -@@ -741,10 +991,20 @@ +@@ -741,10 +978,20 @@ } public Explosion createExplosion(Entity entity, double d0, double d1, double d2, float f, boolean flag, boolean flag1) { @@ -577,7 +560,7 @@ if (!flag1) { explosion.clearBlocks(); } -@@ -790,7 +1050,8 @@ +@@ -790,7 +1037,8 @@ BlockActionData blockactiondata = (BlockActionData) iterator.next(); if (this.a(blockactiondata)) { @@ -587,7 +570,7 @@ } } -@@ -813,6 +1074,7 @@ +@@ -813,6 +1061,7 @@ boolean flag = this.S(); super.p(); @@ -595,7 +578,7 @@ if (this.o != this.p) { this.server.getPlayerList().a(new PacketPlayOutGameStateChange(7, this.p), this.worldProvider.getDimension()); } -@@ -831,6 +1093,21 @@ +@@ -831,6 +1080,21 @@ this.server.getPlayerList().sendAll(new PacketPlayOutGameStateChange(7, this.p)); this.server.getPlayerList().sendAll(new PacketPlayOutGameStateChange(8, this.r)); } @@ -617,7 +600,7 @@ } -@@ -859,10 +1136,17 @@ +@@ -859,10 +1123,17 @@ } public void a(EnumParticle enumparticle, boolean flag, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6, int... aint) {