diff --git a/src/main/java/fr/openmc/core/features/dream/listeners/dream/PlayerDamageListener.java b/src/main/java/fr/openmc/core/features/dream/listeners/dream/PlayerDamageListener.java index ddc990ffe..8308637e2 100644 --- a/src/main/java/fr/openmc/core/features/dream/listeners/dream/PlayerDamageListener.java +++ b/src/main/java/fr/openmc/core/features/dream/listeners/dream/PlayerDamageListener.java @@ -1,9 +1,11 @@ package fr.openmc.core.features.dream.listeners.dream; import fr.openmc.core.features.dream.DreamUtils; +import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityDamageEvent; public class PlayerDamageListener implements Listener { @@ -17,4 +19,15 @@ public void onFall(EntityDamageEvent event) { event.setCancelled(true); } } + + @EventHandler(ignoreCancelled = true) + public void onEntityDamageByEntity(EntityDamageByEntityEvent event) { + Entity victim = event.getEntity(); + Entity damager = event.getDamager(); + + if (victim instanceof Player victimPlayer && DreamUtils.isInDreamWorld(victimPlayer) + && damager instanceof Player damagerPlayer && DreamUtils.isInDreamWorld(damagerPlayer)) { + event.setCancelled(true); + } + } }