add PlayerVsPlayerListener

This commit is contained in:
EmrageGHC 2025-02-19 22:16:43 +01:00
parent bece2529bb
commit 286919ce6c
2 changed files with 34 additions and 0 deletions

View file

@ -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...");

View file

@ -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);
}
}
}
}