diff options
author | EvilSeph <evilseph@gmail.com> | 2012-02-08 10:55:15 -0500 |
---|---|---|
committer | EvilSeph <evilseph@gmail.com> | 2012-02-08 10:55:15 -0500 |
commit | 8e7e07352327667040137e027d3e88fa80276ac0 (patch) | |
tree | 5129e8d657e726bf6d84a79b54f782c5b292cb12 /src/main/java/net/minecraft/server/EntityEnderDragon.java | |
parent | 0a52fd372ab4f84c3f2d3f58416a1cdf0a6c22b2 (diff) | |
download | craftbukkit-8e7e07352327667040137e027d3e88fa80276ac0.tar craftbukkit-8e7e07352327667040137e027d3e88fa80276ac0.tar.gz craftbukkit-8e7e07352327667040137e027d3e88fa80276ac0.tar.lz craftbukkit-8e7e07352327667040137e027d3e88fa80276ac0.tar.xz craftbukkit-8e7e07352327667040137e027d3e88fa80276ac0.zip |
Made Ender Dragons fire EntityRegainHealth events when getting healed by Ender Crystals.
Diffstat (limited to 'src/main/java/net/minecraft/server/EntityEnderDragon.java')
-rw-r--r-- | src/main/java/net/minecraft/server/EntityEnderDragon.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java index 77416b8e..36e73f30 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -9,8 +9,8 @@ import org.bukkit.craftbukkit.CraftWorld; import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityExplodeEvent; -import org.bukkit.Location; import org.bukkit.event.entity.EntityCreatePortalEvent; +import org.bukkit.event.entity.EntityRegainHealthEvent; import java.util.ArrayList; import org.bukkit.PortalType; @@ -346,7 +346,14 @@ public class EntityEnderDragon extends EntityComplex { this.s = null; } else if (this.ticksLived % 10 == 0 && this.health < this.t) { - ++this.health; + // CraftBukkit start + EntityRegainHealthEvent event = new EntityRegainHealthEvent(this.getBukkitEntity(), 1, EntityRegainHealthEvent.RegainReason.ENDER_CRYSTAL); + this.world.getServer().getPluginManager().callEvent(event); + + if (!event.isCancelled()) { + this.health += event.getAmount(); + } + // CraftBukkit end } } @@ -589,7 +596,7 @@ public class EntityEnderDragon extends EntityComplex { BlockEnderPortal.a = true; byte b0 = 4; - + // CraftBukkit start - Replace any "this.world" in the following with just "world"! EntityCreatePortalEvent event = new EntityCreatePortalEvent(this.getBukkitEntity(), new ArrayList<BlockState>(), PortalType.ENDER); BlockStateListPopulator world = new BlockStateListPopulator(this.world.getWorld(), event.getBlocks()); |