summaryrefslogtreecommitdiffstats
path: root/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 2c0065df..c6c7f23b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -564,8 +564,12 @@ public class CraftEventFactory {
return handleEntityDamageEvent(damagee, source, modifiers, modifierFunctions);
}
- // Non-Living Entities such as EntityEnderCrystal, EntityItemFrame, and EntityFireball need to call this
+ // Non-Living Entities such as EntityEnderCrystal and EntityFireball need to call this
public static boolean handleNonLivingEntityDamageEvent(Entity entity, DamageSource source, double damage) {
+ return handleNonLivingEntityDamageEvent(entity, source, damage, true);
+ }
+
+ public static boolean handleNonLivingEntityDamageEvent(Entity entity, DamageSource source, double damage, boolean cancelOnZeroDamage) {
if (entity instanceof EntityEnderCrystal && !(source instanceof EntityDamageSource)) {
return false;
}
@@ -580,7 +584,7 @@ public class CraftEventFactory {
if (event == null) {
return false;
}
- return event.isCancelled() || event.getDamage() == 0;
+ return event.isCancelled() || (cancelOnZeroDamage && event.getDamage() == 0);
}
public static PlayerLevelChangeEvent callPlayerLevelChangeEvent(Player player, int oldLevel, int newLevel) {