public boolean pvp(Player attacker, Player defender) { final UDSHashMap<UDSPlayer> udsPlayers = UDSPlugin.getPlayers(); final UDSPlayer udsDefender = udsPlayers.get(defender.getName()); final UDSPlayer udsAttacker = udsPlayers.get(attacker.getName()); if (udsDefender.hasChallenge() && udsAttacker.hasChallenge()) { return false; } else if (!RegionUtils.canPvp(defender.getLocation()) || !RegionUtils.canPvp(attacker.getLocation())) { attacker.sendMessage(UDSMessage.NO_PVP); return true; } else if (!udsDefender.isInClan()) { attacker.sendMessage(UDSMessage.PVP_PLAYER_NO_CLAN); return true; } else if (!udsAttacker.isInClan()) { attacker.sendMessage(UDSMessage.PVP_NO_CLAN); } else if (udsDefender.getClan().equals(udsAttacker.getClan())) { return true; } udsAttacker.newAttack(System.currentTimeMillis()); return false; }
public boolean pve(Player attacker, Entity defender) { if (defender instanceof Ocelot) { final Ocelot ocelot = (Ocelot) defender; if (ocelot.isTamed() && ocelot.getTarget().getUniqueId() != attacker.getUniqueId()) { return true; } } else if (defender instanceof Wolf) { final Wolf wolf = (Wolf) defender; if (wolf.isTamed() && wolf.getTarget().getUniqueId() != attacker.getUniqueId()) { return true; } } else if ((defender instanceof Animals || defender instanceof Villager || defender instanceof Golem) && RegionUtils.isSafe(defender.getLocation())) { return true; } return false; }