3
0

Correctly handle cross world entity teleportation

Spigot patch: 0124-Cross-World-Entity-Teleportation.patch
This commit is contained in:
Prototik
2015-05-14 22:38:38 +07:00
parent 3fceb97d3a
commit a2e007c47a
3 changed files with 22 additions and 3 deletions

View File

@ -413,7 +413,13 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
return false;
}
entity.worldObj = ((CraftWorld) location.getWorld()).getHandle();
// Spigot start
net.minecraft.world.WorldServer newWorld = ((CraftWorld) location.getWorld()).getHandle();
if (newWorld != entity.worldObj) {
entity.teleportTo(location, cause.isPortal());
return true;
}
// Spigot
entity.setPositionAndRotation(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch());
// entity.setLocation() throws no event, and so cannot be cancelled
return true;