diff --git a/src/main/java/net/citizensnpcs/EventListen.java b/src/main/java/net/citizensnpcs/EventListen.java index 68e867623..1a6a79174 100644 --- a/src/main/java/net/citizensnpcs/EventListen.java +++ b/src/main/java/net/citizensnpcs/EventListen.java @@ -160,7 +160,7 @@ public class EventListen implements Listener { npc = npcRegistry.getNPC(((EntityDamageByEntityEvent) event).getDamager()); if (npc == null) return; - event.setCancelled(npc.data().get(NPC.DAMAGE_OTHERS_METADATA, true)); + event.setCancelled(!npc.data().get(NPC.DAMAGE_OTHERS_METADATA, true)); NPCDamageEntityEvent damageEvent = new NPCDamageEntityEvent(npc, (EntityDamageByEntityEvent) event); Bukkit.getPluginManager().callEvent(damageEvent); } diff --git a/src/main/java/net/citizensnpcs/npc/ai/MCTargetStrategy.java b/src/main/java/net/citizensnpcs/npc/ai/MCTargetStrategy.java index 0b12f6bb5..21d626445 100644 --- a/src/main/java/net/citizensnpcs/npc/ai/MCTargetStrategy.java +++ b/src/main/java/net/citizensnpcs/npc/ai/MCTargetStrategy.java @@ -117,7 +117,6 @@ public class MCTargetStrategy implements PathStrategy, EntityTarget { if (cancelReason != null) { return true; } - setPath(); NMS.look(handle, target); if (aggro && canAttack()) { diff --git a/src/main/java/net/citizensnpcs/util/NMS.java b/src/main/java/net/citizensnpcs/util/NMS.java index 2f0d95b52..295eed014 100644 --- a/src/main/java/net/citizensnpcs/util/NMS.java +++ b/src/main/java/net/citizensnpcs/util/NMS.java @@ -87,9 +87,9 @@ public class NMS { } boolean success = target.damageEntity(DamageSource.mobAttack(handle), damage); - if (!success) return; + if (knockbackLevel > 0) { target.g(-Math.sin(handle.yaw * Math.PI / 180.0F) * knockbackLevel * 0.5F, 0.1D, Math.cos(handle.yaw * Math.PI / 180.0F) * knockbackLevel * 0.5F);