diff options
author | EvilSeph <evilseph@unaligned.org> | 2011-06-28 20:11:23 -0400 |
---|---|---|
committer | EvilSeph <evilseph@unaligned.org> | 2011-06-30 13:42:18 -0400 |
commit | 8a521ec629902255a56918d82bafb193ffa1ba54 (patch) | |
tree | f6ac244a091c3826b26d7ba72c122dd2794533b4 /src/main/java | |
parent | f518ced9adc7f2423e8bef4f3f2956709b934044 (diff) | |
download | craftbukkit-8a521ec629902255a56918d82bafb193ffa1ba54.tar craftbukkit-8a521ec629902255a56918d82bafb193ffa1ba54.tar.gz craftbukkit-8a521ec629902255a56918d82bafb193ffa1ba54.tar.lz craftbukkit-8a521ec629902255a56918d82bafb193ffa1ba54.tar.xz craftbukkit-8a521ec629902255a56918d82bafb193ffa1ba54.zip |
Added reasons for entities regaining health.
Diffstat (limited to 'src/main/java')
4 files changed, 13 insertions, 5 deletions
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java index 259eee24..f8e31db2 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -13,6 +13,7 @@ import org.bukkit.event.entity.EntityTargetEvent; import org.bukkit.event.player.PlayerBedEnterEvent; import org.bukkit.event.player.PlayerBedLeaveEvent; import org.bukkit.event.player.PlayerDropItemEvent; +import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason; // CraftBukkit end public abstract class EntityHuman extends EntityLiving { @@ -175,7 +176,7 @@ public abstract class EntityHuman extends EntityLiving { public void v() { // CraftBukkit - spawnMonsters -> allowMonsters if (!this.world.allowMonsters && this.health < 20 && this.ticksLived % 20 * 12 == 0) { - this.b(1); + this.b(1, RegainReason.REGEN); } this.inventory.f(); diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java index 48013af8..abe40d0e 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -9,6 +9,7 @@ import org.bukkit.event.entity.EntityDamageByBlockEvent; import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityDeathEvent; import org.bukkit.event.entity.EntityRegainHealthEvent; +import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason; // CraftBukkit end public abstract class EntityLiving extends Entity { @@ -313,10 +314,14 @@ public abstract class EntityLiving extends Entity { super.b(f, f1); } + // CraftBukkit start - delegate so we can handle providing a reason for health being regained public void b(int i) { - // CraftBukkit start - Added event + b(i, RegainReason.CUSTOM); + } + + public void b(int i, RegainReason regainReason) { if (this.health > 0) { - EntityRegainHealthEvent event = new EntityRegainHealthEvent(this.getBukkitEntity(), i); + EntityRegainHealthEvent event = new EntityRegainHealthEvent(this.getBukkitEntity(), i, regainReason); this.world.getServer().getPluginManager().callEvent(event); if (!event.isCancelled()) { diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java index 2b6cd71e..04628ddb 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -10,6 +10,7 @@ import org.bukkit.Bukkit; import org.bukkit.craftbukkit.CraftWorld; import org.bukkit.craftbukkit.inventory.CraftItemStack; import org.bukkit.event.entity.EntityDeathEvent; +import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason; // CraftBukkit end public class EntityPlayer extends EntityHuman implements ICrafting { @@ -184,7 +185,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } public void b(int i) { - super.b(i); + super.b(i, RegainReason.EATING); } public void a(boolean flag) { diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java index a9b8f552..61ae30a8 100644 --- a/src/main/java/net/minecraft/server/EntityWolf.java +++ b/src/main/java/net/minecraft/server/EntityWolf.java @@ -8,6 +8,7 @@ import org.bukkit.craftbukkit.entity.CraftEntity; import org.bukkit.craftbukkit.event.CraftEventFactory; import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityDamageEvent; +import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason; import org.bukkit.event.entity.EntityTargetEvent; // CraftBukkit end @@ -385,7 +386,7 @@ public class EntityWolf extends EntityAnimal { entityhuman.inventory.setItem(entityhuman.inventory.itemInHandIndex, (ItemStack) null); } - this.b(((ItemFood) Item.PORK).k()); + this.b(((ItemFood) Item.PORK).k(), RegainReason.EATING); return true; } } |