diff options
author | EdGruberman <ed@rjump.com> | 2013-01-24 17:37:01 -0700 |
---|---|---|
committer | feildmaster <admin@feildmaster.com> | 2013-01-28 11:26:32 -0600 |
commit | 132fdbc4ac9bdbef5cf22715f55db886d3c21b8f (patch) | |
tree | 79595b25c945a39dd530587961aac9f0c3fb8221 /src/main/java/net/minecraft/server/Entity.java | |
parent | 50e74b3b49b790e5834f869c2d57c2afcfad83fa (diff) | |
download | craftbukkit-132fdbc4ac9bdbef5cf22715f55db886d3c21b8f.tar craftbukkit-132fdbc4ac9bdbef5cf22715f55db886d3c21b8f.tar.gz craftbukkit-132fdbc4ac9bdbef5cf22715f55db886d3c21b8f.tar.lz craftbukkit-132fdbc4ac9bdbef5cf22715f55db886d3c21b8f.tar.xz craftbukkit-132fdbc4ac9bdbef5cf22715f55db886d3c21b8f.zip |
Target default world when returning from The End; Fixes BUKKIT-3494
Due to the having to generate new logic to avoid using the customized
PlayerConnection.moveToWorld, entities returning from The End were not
properly calculating their exit target. This commit corrects that
logic.
Diffstat (limited to 'src/main/java/net/minecraft/server/Entity.java')
-rw-r--r-- | src/main/java/net/minecraft/server/Entity.java | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java index dffa97fb..26b7a1f3 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1762,9 +1762,11 @@ public abstract class Entity { Location enter = this.getBukkitEntity().getLocation(); Location exit = exitWorld != null ? minecraftserver.getPlayerList().calculateTarget(enter, minecraftserver.getWorldServer(i)) : null; + boolean useTravelAgent = exitWorld != null && !(this.dimension == 1 && exitWorld.dimension == 1); // don't use agent for custom worlds or return from THE_END TravelAgent agent = exit != null ? (TravelAgent) ((CraftWorld) exit.getWorld()).getHandle().s() : null; EntityPortalEvent event = new EntityPortalEvent(this.getBukkitEntity(), enter, exit, agent); + event.useTravelAgent(useTravelAgent); event.getEntity().getServer().getPluginManager().callEvent(event); if (event.isCancelled() || event.getTo() == null || !this.isAlive()) { return; |