diff options
author | md_5 <git@md-5.net> | 2017-07-08 22:40:54 +1000 |
---|---|---|
committer | md_5 <git@md-5.net> | 2017-07-08 22:40:54 +1000 |
commit | 50b75cd65dd241a01d160d1a4e31de4e643be36e (patch) | |
tree | 35c55e75080247c9ee9e29c7dc0ed8e0c05605bc | |
parent | 14b597f0c8e19ea0f919ab5e1673fe62a50da45f (diff) | |
download | craftbukkit-50b75cd65dd241a01d160d1a4e31de4e643be36e.tar craftbukkit-50b75cd65dd241a01d160d1a4e31de4e643be36e.tar.gz craftbukkit-50b75cd65dd241a01d160d1a4e31de4e643be36e.tar.lz craftbukkit-50b75cd65dd241a01d160d1a4e31de4e643be36e.tar.xz craftbukkit-50b75cd65dd241a01d160d1a4e31de4e643be36e.zip |
SPIGOT-3407: Set damager for evoker fangs
-rw-r--r-- | nms-patches/EntityEvokerFangs.patch | 12 | ||||
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/nms-patches/EntityEvokerFangs.patch b/nms-patches/EntityEvokerFangs.patch new file mode 100644 index 00000000..0e392ed5 --- /dev/null +++ b/nms-patches/EntityEvokerFangs.patch @@ -0,0 +1,12 @@ +--- a/net/minecraft/server/EntityEvokerFangs.java ++++ b/net/minecraft/server/EntityEvokerFangs.java +@@ -108,7 +108,9 @@ + + if (entityliving.isAlive() && !entityliving.be() && entityliving != entityliving1) { + if (entityliving1 == null) { ++ org.bukkit.craftbukkit.event.CraftEventFactory.entityDamage = this; // CraftBukkit + entityliving.damageEntity(DamageSource.MAGIC, 6.0F); ++ org.bukkit.craftbukkit.event.CraftEventFactory.entityDamage = null; // CraftBukkit + } else { + if (entityliving1.r(entityliving)) { + return; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java index be0f46f9..33020b90 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -520,6 +520,8 @@ public class CraftEventFactory { cause = DamageCause.FALL; } else if (source == DamageSource.DRAGON_BREATH) { cause = DamageCause.DRAGON_BREATH; + } else if (source == DamageSource.MAGIC) { + cause = DamageCause.MAGIC; } else { throw new IllegalStateException(String.format("Unhandled damage of %s by %s from %s", entity, damager.getHandle(), source.translationIndex)); } |