@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onEntityDamageByEntityHighest(EntityDamageByEntityEvent event) { Player attacker = getPlayer(event.getDamager()); if (attacker == null) return; Player defender = getPlayer(event.getEntity()); if (defender == null) return; ArenaPlayer ap = plugin.getArenaPlayer(attacker); if (ap != null) { ArenaPlayer dp = plugin.getArenaPlayer(defender); if (dp != null) { Arena arena = ap.getArena(); if (arena.isInLobby()) { // Prevent lobby PvP ap.sendMessage("&cYou cannot PvP in the lobby!"); event.setCancelled(true); return; } // Prevent team killing if (!arena.isAllowTeamKilling()) { if (dp.getTeam() == ap.getTeam()) { ap.sendMessage("&cYou cannot hurt your team mate!"); event.setCancelled(true); return; } } } else { ap.sendMessage("&cYou cannot hurt players not in the arena!"); event.setCancelled(true); return; } } else { if (plugin.isInArena(defender)) { attacker.sendMessage( plugin.getPrefix() + FormatUtil.format("&cYou cannot hurt players while they are in an arena!")); event.setCancelled(true); return; } } }