diff --git a/src/main/java/me/freezy/plugins/papermc/blazesmp/BlazeSMP.java b/src/main/java/me/freezy/plugins/papermc/blazesmp/BlazeSMP.java index f8d189b..b5fdf41 100644 --- a/src/main/java/me/freezy/plugins/papermc/blazesmp/BlazeSMP.java +++ b/src/main/java/me/freezy/plugins/papermc/blazesmp/BlazeSMP.java @@ -6,6 +6,7 @@ import me.freezy.plugins.papermc.blazesmp.command.ClanCommand; import me.freezy.plugins.papermc.blazesmp.command.HomeCommand; import me.freezy.plugins.papermc.blazesmp.command.ReportCommand; import me.freezy.plugins.papermc.blazesmp.listener.*; +import me.freezy.plugins.papermc.blazesmp.module.Clan; import me.freezy.plugins.papermc.blazesmp.module.manager.Clans; import me.freezy.plugins.papermc.blazesmp.module.manager.Homes; import me.freezy.plugins.papermc.blazesmp.module.manager.L4M4; @@ -81,6 +82,7 @@ public final class BlazeSMP extends JavaPlugin { pm.registerEvents(new PlayerClaimListener(), this); pm.registerEvents(new ChunkInventoryManager(), this); pm.registerEvents(new PressurePlateListener(), this); + pm.registerEvents(new PlayerVsPlayerListener(clans), this); this.log.info("Registered EventListeners!"); this.log.info("Starting Timer tasks..."); diff --git a/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PlayerVsPlayerListener.java b/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PlayerVsPlayerListener.java new file mode 100644 index 0000000..a67a4b6 --- /dev/null +++ b/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PlayerVsPlayerListener.java @@ -0,0 +1,32 @@ +package me.freezy.plugins.papermc.blazesmp.listener; + +import me.freezy.plugins.papermc.blazesmp.module.manager.Clans; +import me.freezy.plugins.papermc.blazesmp.module.Clan; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityDamageByEntityEvent; + +public class PlayerVsPlayerListener implements Listener { + + private final Clans clanManager; + + public PlayerVsPlayerListener(Clans clanManager) { + this.clanManager = clanManager; + } + + @EventHandler + public void onPVP(EntityDamageByEntityEvent event) { + if (event.getDamager() instanceof Player && event.getEntity() instanceof Player) { + Player damager = (Player) event.getDamager(); + Player victim = (Player) event.getEntity(); + + Clan damagerClan = clanManager.getClanByMember(damager.getUniqueId()); + Clan victimClan = clanManager.getClanByMember(victim.getUniqueId()); + + if (damagerClan != null && damagerClan.equals(victimClan)) { + event.setCancelled(true); + } + } + } +} \ No newline at end of file