diff options
author | feildmaster <admin@feildmaster.com> | 2012-03-12 17:55:02 -0500 |
---|---|---|
committer | EvilSeph <evilseph@gmail.com> | 2012-03-15 05:11:48 -0400 |
commit | 45031672838e5686bb3dbb8909f2fdc5b40d6106 (patch) | |
tree | b055bc07ec76c08f9866fe6a14cb72955d921cf1 /src/main/java/net/minecraft/server/EntityHuman.java | |
parent | c625d00351f3c9c7042c8e391d76e333d57bd04a (diff) | |
download | craftbukkit-45031672838e5686bb3dbb8909f2fdc5b40d6106.tar craftbukkit-45031672838e5686bb3dbb8909f2fdc5b40d6106.tar.gz craftbukkit-45031672838e5686bb3dbb8909f2fdc5b40d6106.tar.lz craftbukkit-45031672838e5686bb3dbb8909f2fdc5b40d6106.tar.xz craftbukkit-45031672838e5686bb3dbb8909f2fdc5b40d6106.zip |
Fixed EntityDamageByEntityEvent to call for every attackable entity. Fixes BUKKIT-1129, Fixes BUKKIT-1054 and Fixes BUKKIT-147.
Diffstat (limited to 'src/main/java/net/minecraft/server/EntityHuman.java')
-rw-r--r-- | src/main/java/net/minecraft/server/EntityHuman.java | 44 |
1 files changed, 1 insertions, 43 deletions
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java index a5da800d..448c4f9f 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -9,15 +9,10 @@ import org.bukkit.craftbukkit.entity.CraftItem; import org.bukkit.craftbukkit.TrigMath; import org.bukkit.entity.HumanEntity; import org.bukkit.entity.Player; -import org.bukkit.entity.Projectile; import org.bukkit.event.entity.EntityCombustByEntityEvent; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.EntityDamageEvent; -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 { @@ -309,7 +304,7 @@ public abstract class EntityHuman extends EntityLiving { if (this.world.difficulty == 0 && this.getHealth() < this.getMaxHealth() && this.ticksLived % 20 * 12 == 0) { // CraftBukkit - added regain reason of "REGEN" for filtering purposes. - this.heal(1, RegainReason.REGEN); + this.heal(1, org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.REGEN); } this.inventory.i(); @@ -593,27 +588,6 @@ public abstract class EntityHuman extends EntityLiving { } if (entity1 instanceof EntityLiving) { - // CraftBukkit start - this is here instead of EntityMonster because EntityLiving(s) that aren't monsters - // also damage the player in this way. For example, EntitySlime. - - // We handle projectiles in their individual classes! - boolean isProjectile = damagesource instanceof EntityDamageSourceIndirect && ((EntityDamageSourceIndirect) damagesource).getProximateDamageSource().getBukkitEntity() instanceof Projectile; - - if (!isProjectile) { - org.bukkit.entity.Entity damager = ((Entity) entity1).getBukkitEntity(); - org.bukkit.entity.Entity damagee = this.getBukkitEntity(); - - EntityDamageByEntityEvent event = new EntityDamageByEntityEvent(damager, damagee, EntityDamageEvent.DamageCause.ENTITY_ATTACK, i); - Bukkit.getPluginManager().callEvent(event); - - if (event.isCancelled() || event.getDamage() == 0) { - return false; - } - - i = event.getDamage(); - } - // CraftBukkit end - this.a((EntityLiving) entity1, false); } @@ -771,22 +745,6 @@ public abstract class EntityHuman extends EntityLiving { i += this.random.nextInt(i / 2 + 2); } - // CraftBukkit start - Don't call the event when the entity is human since it will be called with damageEntity - if ((entity instanceof EntityLiving || entity instanceof EntityComplexPart || entity instanceof EntityEnderCrystal) && !(entity instanceof EntityHuman)) { - org.bukkit.entity.Entity damager = this.getBukkitEntity(); - org.bukkit.entity.Entity damagee = (entity == null) ? null : entity.getBukkitEntity(); - - EntityDamageByEntityEvent event = new EntityDamageByEntityEvent(damager, damagee, EntityDamageEvent.DamageCause.ENTITY_ATTACK, i); - Bukkit.getPluginManager().callEvent(event); - - if (event.isCancelled() || event.getDamage() == 0) { - return; - } - - i = event.getDamage(); - } - // CraftBukkit end - i += k; boolean flag1 = entity.damageEntity(DamageSource.playerAttack(this), i); |