diff options
author | Taylor Kelly <tkelly910@gmail.com> | 2011-01-26 14:26:24 -0500 |
---|---|---|
committer | Taylor Kelly <tkelly910@gmail.com> | 2011-01-26 14:26:24 -0500 |
commit | c07e32c1de57898d5f7ad2fbfa0800d65fc20f5a (patch) | |
tree | 5bbc5a84094a38e0e098d5d1d4f9e21432e4d8f8 /src/main/java/net/minecraft/server/EntityCreature.java | |
parent | 0ba870434ea7ec6e75652cad0b3fb6b9d240bbb6 (diff) | |
download | craftbukkit-c07e32c1de57898d5f7ad2fbfa0800d65fc20f5a.tar craftbukkit-c07e32c1de57898d5f7ad2fbfa0800d65fc20f5a.tar.gz craftbukkit-c07e32c1de57898d5f7ad2fbfa0800d65fc20f5a.tar.lz craftbukkit-c07e32c1de57898d5f7ad2fbfa0800d65fc20f5a.tar.xz craftbukkit-c07e32c1de57898d5f7ad2fbfa0800d65fc20f5a.zip |
EntityTargetEvent
Diffstat (limited to 'src/main/java/net/minecraft/server/EntityCreature.java')
-rw-r--r-- | src/main/java/net/minecraft/server/EntityCreature.java | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/src/main/java/net/minecraft/server/EntityCreature.java b/src/main/java/net/minecraft/server/EntityCreature.java index 801b64ad..98afd9cd 100644 --- a/src/main/java/net/minecraft/server/EntityCreature.java +++ b/src/main/java/net/minecraft/server/EntityCreature.java @@ -5,6 +5,9 @@ import java.util.Random; // CraftBukkit start import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.entity.CraftCreature; +import org.bukkit.craftbukkit.entity.CraftEntity; +import org.bukkit.event.entity.EntityTargetEvent; +import org.bukkit.event.entity.EntityTargetEvent.TargetReason; // CraftBukkit end public class EntityCreature extends EntityLiving { @@ -27,12 +30,37 @@ public class EntityCreature extends EntityLiving { float f = 16F; if (d == null) { - d = l(); + // CraftBukkit start + Entity target = l(); + if(target != null) { + EntityTargetEvent event = new EntityTargetEvent(this.getBukkitEntity(), target.getBukkitEntity(), TargetReason.CLOSEST_PLAYER); + CraftServer server = ((WorldServer) this.l).getServer(); + server.getPluginManager().callEvent(event); + if(!event.isCancelled()) { + if(event.getTarget() == null) { + d = null; + } else { + d = ((CraftEntity) event.getTarget()).getHandle(); + } + } + } + // CraftBukkit end if (d != null) { a = l.a(((Entity) (this)), d, f); } } else if (!d.B()) { - d = null; + // CraftBukkit start + EntityTargetEvent event = new EntityTargetEvent(this.getBukkitEntity(), null, TargetReason.TARGET_DIED); + CraftServer server = ((WorldServer) this.l).getServer(); + server.getPluginManager().callEvent(event); + if(!event.isCancelled()) { + if(event.getTarget() == null) { + d = null; + } else { + d = ((CraftEntity) event.getTarget()).getHandle(); + } + } + // CraftBukkit end } else { float f1 = d.a(((Entity) (this))); |