summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/Entity.java
diff options
context:
space:
mode:
authorEdGruberman <ed@rjump.com>2013-01-24 17:37:01 -0700
committerfeildmaster <admin@feildmaster.com>2013-01-28 11:26:32 -0600
commit132fdbc4ac9bdbef5cf22715f55db886d3c21b8f (patch)
tree79595b25c945a39dd530587961aac9f0c3fb8221 /src/main/java/net/minecraft/server/Entity.java
parent50e74b3b49b790e5834f869c2d57c2afcfad83fa (diff)
downloadcraftbukkit-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.java2
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;