From b90a8671d89d40f9d99598465225b1efdfc43d63 Mon Sep 17 00:00:00 2001 From: drXor Date: Tue, 25 Feb 2014 15:15:26 -0400 Subject: [PATCH] Cancellable WitherSkull potion effect diff --git a/src/main/java/net/minecraft/server/EntityWitherSkull.java b/src/main/java/net/minecraft/server/EntityWitherSkull.java index a4df9a1..b809e1b 100644 --- a/src/main/java/net/minecraft/server/EntityWitherSkull.java +++ b/src/main/java/net/minecraft/server/EntityWitherSkull.java @@ -35,8 +35,11 @@ public class EntityWitherSkull extends EntityFireball { protected void a(MovingObjectPosition movingobjectposition) { if (!this.world.isStatic) { if (movingobjectposition.entity != null) { + // Spigot start + boolean didDamage = false; if (this.shooter != null) { - if (movingobjectposition.entity.damageEntity(DamageSource.mobAttack(this.shooter), 8.0F)) { + didDamage = movingobjectposition.entity.damageEntity(DamageSource.mobAttack(this.shooter), 8.0F); + if (didDamage) { if (!movingobjectposition.entity.isAlive()) { this.shooter.heal(5.0F, org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.WITHER); // CraftBukkit } else { @@ -44,10 +47,11 @@ public class EntityWitherSkull extends EntityFireball { } } } else { - movingobjectposition.entity.damageEntity(DamageSource.MAGIC, 5.0F); + didDamage = movingobjectposition.entity.damageEntity(DamageSource.MAGIC, 5.0F); } - if (movingobjectposition.entity instanceof EntityLiving) { + if (didDamage && movingobjectposition.entity instanceof EntityLiving) { + // Spigot end byte b0 = 0; if (this.world.getDifficulty() == EnumDifficulty.NORMAL) { -- 2.1.0