PaperMC/Spigot-Server-Patches/0213-Fix-a-duplicate-alive-entity-on-second-world.patch
2017-03-16 22:31:53 -05:00

30 lines
1.5 KiB
Diff

From f2f4e3a3406b40e13a7dc05cc5dbaeda8038043a Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Fri, 17 Mar 2017 01:45:15 +0000
Subject: [PATCH] Fix a duplicate alive entity on second world
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 0e1d9817..4cabdd7a 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -2359,6 +2359,7 @@ public abstract class Entity implements ICommandListener {
// CraftBukkit end */
// CraftBukkit start - Ensure chunks are loaded in case TravelAgent is not used which would initially cause chunks to load during find/create
// minecraftserver.getPlayerList().changeWorld(this, j, worldserver, worldserver1);
+ this.dead = true; // Paper - Mark entity as dead before we actually move it to the new world
worldserver1.getMinecraftServer().getPlayerList().repositionEntity(this, exit, portal);
// worldserver.entityJoinedWorld(this, false); // Handled in repositionEntity
// CraftBukkit end
@@ -2393,7 +2394,7 @@ public abstract class Entity implements ICommandListener {
// CraftBukkit end
}
- this.dead = true;
+ //this.dead = true; // Paper - Moved this up to ensure that the entity is dead when it's placed on the new world
this.world.methodProfiler.b();
worldserver.m();
worldserver1.m();
--
2.12.0.windows.1