From 8a131926292404349a1f211d04cd160864b6f507 Mon Sep 17 00:00:00 2001 From: drXor <mcyoungsota@gmail.com> 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 d749175..b8c3cef 100644 --- a/src/main/java/net/minecraft/server/EntityWitherSkull.java +++ b/src/main/java/net/minecraft/server/EntityWitherSkull.java @@ -35,15 +35,19 @@ 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) && !movingobjectposition.entity.isAlive()) { + didDamage = movingobjectposition.entity.damageEntity(DamageSource.mobAttack(this.shooter), 8.0F); + if (didDamage && !movingobjectposition.entity.isAlive()) { this.shooter.heal(5.0F, org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.WITHER); // CraftBukkit } } 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.difficulty == EnumDifficulty.NORMAL) { -- 1.8.3.2