From 2362fe994a5f504935c703a3b9f287430a3af2eb Mon Sep 17 00:00:00 2001 From: Jok <7284033+Elioby@users.noreply.github.com> Date: Fri, 10 Feb 2023 02:11:30 +0000 Subject: [PATCH] Don't call EntityDamageByEntityEvent with null damager (#4863) Co-authored-by: Elioby --- .../com/gmail/nossr50/util/skills/CombatUtils.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java index bf4a3a4ee..ac9cc6388 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java @@ -8,6 +8,7 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.events.fake.FakeEntityDamageByEntityEvent; +import com.gmail.nossr50.events.fake.FakeEntityDamageEvent; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.metadata.MobMetaFlagType; import com.gmail.nossr50.metadata.MobMetadataService; @@ -885,8 +886,14 @@ public final class CombatUtils { return false; } - public static boolean canDamage(@NotNull Entity attacker, @NotNull Entity target, @NotNull DamageCause damageCause, double damage) { - EntityDamageEvent damageEvent = new FakeEntityDamageByEntityEvent(attacker, target, damageCause, damage); + public static boolean canDamage(@Nullable Entity attacker, @NotNull Entity target, @NotNull DamageCause damageCause, double damage) { + EntityDamageEvent damageEvent; + if (attacker != null) { + damageEvent = new FakeEntityDamageByEntityEvent(attacker, target, damageCause, damage); + } else { + damageEvent = new FakeEntityDamageEvent(target, damageCause, damage); + } + mcMMO.p.getServer().getPluginManager().callEvent(damageEvent); return !damageEvent.isCancelled();