diff options
author | craftycreeper <diagonalfish+craftycreeper@gmail.com> | 2012-02-07 23:49:07 -0500 |
---|---|---|
committer | EvilSeph <evilseph@gmail.com> | 2012-02-09 03:46:42 -0500 |
commit | ad6bab8c6f63e00755270906aa538816560c3f81 (patch) | |
tree | bc386d5bd4f3f14fde4654b0958d6d0bf3f261b2 /src/main/java/net/minecraft | |
parent | be0ecf467094812300220d50ceba42e69729a005 (diff) | |
download | craftbukkit-ad6bab8c6f63e00755270906aa538816560c3f81.tar craftbukkit-ad6bab8c6f63e00755270906aa538816560c3f81.tar.gz craftbukkit-ad6bab8c6f63e00755270906aa538816560c3f81.tar.lz craftbukkit-ad6bab8c6f63e00755270906aa538816560c3f81.tar.xz craftbukkit-ad6bab8c6f63e00755270906aa538816560c3f81.zip |
Implemented EntityTeleportEvent. Fixes BUKKIT-366
Diffstat (limited to 'src/main/java/net/minecraft')
-rw-r--r-- | src/main/java/net/minecraft/server/EntityEnderman.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java index b6e944d6..f4809d88 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -7,6 +7,7 @@ import org.bukkit.Location; import org.bukkit.craftbukkit.event.CraftEventFactory; import org.bukkit.event.entity.EndermanPickupEvent; import org.bukkit.event.entity.EndermanPlaceEvent; +import org.bukkit.event.entity.EntityTeleportEvent; // CraftBukkit end public class EntityEnderman extends EntityMonster { @@ -229,10 +230,19 @@ public class EntityEnderman extends EntityMonster { } if (flag1) { - this.setPosition(this.locX, this.locY, this.locZ); - if (this.world.a((Entity) this, this.boundingBox).size() == 0 && !this.world.c(this.boundingBox)) { - flag = true; + // CraftBukkit start - teleport event + EntityTeleportEvent teleport = new EntityTeleportEvent(this.getBukkitEntity(), new Location(this.world.getWorld(), d3, d4, d5), new Location(this.world.getWorld(), this.locX, this.locY, this.locZ)); + this.world.getServer().getPluginManager().callEvent(teleport); + if (!teleport.isCancelled()) { + Location to = teleport.getTo(); + this.setPosition(to.getX(), to.getY(), to.getZ()); + if (this.world.a((Entity) this, this.boundingBox).size() == 0 && !this.world.c(this.boundingBox)) { + flag = true; + } + } else { + return false; } + // CraftBukkit end } } |