Search in sources :

Example 1 with Clan

use of net.sacredlabyrinth.phaed.simpleclans.Clan in project MyPet by xXKeyleXx.

the class SimpleClansHook method canHurt.

@Override
public boolean canHurt(Player attacker, Player defender) {
    try {
        if (simpleClans.getSettingsManager().isBlacklistedWorld(defender.getLocation().getWorld().getName())) {
            return true;
        }
        ClanPlayer acp = simpleClans.getClanManager().getClanPlayer(attacker);
        ClanPlayer vcp = simpleClans.getClanManager().getClanPlayer(defender);
        Clan vclan = vcp == null ? null : vcp.getClan();
        Clan aclan = acp == null ? null : acp.getClan();
        if (simpleClans.getSettingsManager().isPvpOnlywhileInWar()) {
            if ((aclan == null) || (vclan == null)) {
                return false;
            }
            if (simpleClans.getPermissionsManager().has(defender, "simpleclans.mod.nopvpinwar")) {
                return false;
            }
            if (!aclan.isWarring(vclan)) {
                return false;
            }
        }
        if (vclan != null) {
            if (aclan != null) {
                if (vcp.isFriendlyFire()) {
                    return true;
                }
                if (vclan.isFriendlyFire()) {
                    return true;
                }
                if (simpleClans.getSettingsManager().isGlobalff()) {
                    return true;
                }
                if (vclan.equals(aclan)) {
                    return false;
                }
                if (vclan.isAlly(aclan.getTag())) {
                    return false;
                }
            } else if (simpleClans.getSettingsManager().getSafeCivilians()) {
                return false;
            }
        } else if (simpleClans.getSettingsManager().getSafeCivilians()) {
            return false;
        }
    } catch (Throwable ignored) {
    }
    return true;
}
Also used : Clan(net.sacredlabyrinth.phaed.simpleclans.Clan) ClanPlayer(net.sacredlabyrinth.phaed.simpleclans.ClanPlayer)

Example 2 with Clan

use of net.sacredlabyrinth.phaed.simpleclans.Clan in project Sentinel by mcmonkey4eva.

the class SentinelSimpleClans method isTarget.

@Override
public boolean isTarget(LivingEntity ent, String text) {
    try {
        if (text.startsWith("simpleclan:") && ent instanceof Player) {
            String clanName = text.substring("simpleclan:".length());
            Clan clan = SimpleClans.getInstance().getClanManager().getClanByPlayerUniqueId(ent.getUniqueId());
            if (clan.getName().equalsIgnoreCase(clanName)) {
                return true;
            } else {
                return false;
            }
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    return false;
}
Also used : Player(org.bukkit.entity.Player) Clan(net.sacredlabyrinth.phaed.simpleclans.Clan)

Example 3 with Clan

use of net.sacredlabyrinth.phaed.simpleclans.Clan in project RedProtect by FabioZumbi12.

the class RPCommands method handleFlag.

// TODO Flag Handler
private static void handleFlag(Player p, String flag, String value, Region r) {
    if (flag.equalsIgnoreCase("?")) {
        sendFlagHelp(p);
        return;
    }
    if (r == null) {
        sendNotInRegionMessage(p);
        return;
    }
    Object objflag = RPUtil.parseObject(value);
    if (RedProtect.get().ph.hasPerm(p, "redprotect.flag." + flag) || flag.equalsIgnoreCase("info")) {
        if (r.isAdmin(p) || r.isLeader(p) || RedProtect.get().ph.hasRegionPermAdmin(p, "redprotect.admin.flag." + flag, r)) {
            if (flag.equalsIgnoreCase("info") || flag.equalsIgnoreCase("i")) {
                p.sendMessage(RPLang.get("general.color") + "------------[" + RPLang.get("cmdmanager.region.flag.values") + "]------------");
                p.sendMessage(r.getFlagInfo());
                p.sendMessage(RPLang.get("general.color") + "------------------------------------");
                return;
            }
            if (value.equalsIgnoreCase("remove")) {
                if (RPConfig.AdminFlags.contains(flag) && r.flags.containsKey(flag)) {
                    r.removeFlag(flag);
                    RPLang.sendMessage(p, RPLang.get("cmdmanager.region.flag.removed").replace("{flag}", flag).replace("{region}", r.getName()));
                    RedProtect.get().logger.addLog("(World " + r.getWorld() + ") Player " + p.getName() + " REMOVED FLAG " + flag + " of region " + r.getName());
                    return;
                } else {
                    RPLang.sendMessage(p, RPLang.get("cmdmanager.region.flag.notset").replace("{flag}", flag));
                    return;
                }
            }
            if (r.flagExists("for-sale") && flag.equalsIgnoreCase("for-sale")) {
                RPLang.sendMessage(p, "cmdmanager.eco.changeflag");
                return;
            }
            /*
            	if (RPConfig.getDefFlagsValues().containsKey("clan") && !RedProtect.get().ph.hasPerm(p, "RedProtect.get().admin.flag.clan")){
            		RPLang.sendMessage(p,"cmdmanager.region.flag.clancommand");
            		return;
            	}
            	*/
            if (!value.equals("")) {
                if (RPConfig.getDefFlagsValues().containsKey(flag)) {
                    // flag clan
                    if (flag.equalsIgnoreCase("clan")) {
                        if (!RedProtect.get().SC || !RedProtect.get().ph.hasGenPerm(p, "redprotect.admin.flag.clan")) {
                            sendFlagHelp(p);
                            return;
                        }
                        if (!RedProtect.get().clanManager.isClan(value)) {
                            RPLang.sendMessage(p, RPLang.get("cmdmanager.region.flag.invalidclan").replace("{tag}", value));
                            return;
                        }
                        Clan clan = RedProtect.get().clanManager.getClan(value);
                        if (!clan.isLeader(p)) {
                            RPLang.sendMessage(p, "cmdmanager.region.flag.clancommand");
                            return;
                        }
                        r.setFlag(flag, value);
                        RPLang.sendMessage(p, RPLang.get("cmdmanager.region.flag.set").replace("{flag}", "'" + flag + "'") + " " + r.getFlagString(flag));
                        RedProtect.get().logger.addLog("(World " + r.getWorld() + ") Player " + p.getName() + " SET FLAG " + flag + " of region " + r.getName() + " to " + r.getFlagString(flag));
                        return;
                    }
                    if (objflag instanceof Boolean) {
                        r.setFlag(flag, objflag);
                        RPLang.sendMessage(p, RPLang.get("cmdmanager.region.flag.set").replace("{flag}", "'" + flag + "'") + " " + r.getFlagBool(flag));
                        RedProtect.get().logger.addLog("(World " + r.getWorld() + ") Player " + p.getName() + " SET FLAG " + flag + " of region " + r.getName() + " to " + r.getFlagString(flag));
                        return;
                    } else {
                        RPLang.sendMessage(p, RPLang.get("cmdmanager.region.flag.usage") + " <true/false>");
                        return;
                    }
                }
                if (RPConfig.AdminFlags.contains(flag)) {
                    if (!validate(flag, objflag)) {
                        SendFlagUsageMessage(p, flag);
                        return;
                    }
                    r.setFlag(flag, objflag);
                    RPLang.sendMessage(p, RPLang.get("cmdmanager.region.flag.set").replace("{flag}", "'" + flag + "'") + " " + r.getFlagString(flag));
                    RedProtect.get().logger.addLog("(World " + r.getWorld() + ") Player " + p.getName() + " SET FLAG " + flag + " of region " + r.getName() + " to " + r.getFlagString(flag));
                    return;
                }
                if (RPConfig.AdminFlags.contains(flag)) {
                    SendFlagUsageMessage(p, flag);
                } else {
                    RPLang.sendMessage(p, RPLang.get("cmdmanager.region.flag.usage") + " <true/false>");
                }
                sendFlagHelp(p);
            } else {
                // flag clan
                if (flag.equalsIgnoreCase("clan")) {
                    if (RedProtect.get().SC) {
                        ClanPlayer clan = RedProtect.get().clanManager.getClanPlayer(p);
                        if (clan == null) {
                            RPLang.sendMessage(p, "cmdmanager.region.flag.haveclan");
                            return;
                        }
                        if (!clan.isLeader()) {
                            RPLang.sendMessage(p, "cmdmanager.region.flag.clancommand");
                            return;
                        }
                        if (r.getFlagString(flag).equalsIgnoreCase("")) {
                            r.setFlag(flag, clan.getTag());
                            RPLang.sendMessage(p, RPLang.get("cmdmanager.region.flag.setclan").replace("{clan}", "'" + clan.getClan().getColorTag() + "'"));
                        } else {
                            RPLang.sendMessage(p, RPLang.get("cmdmanager.region.flag.denyclan").replace("{clan}", "'" + r.getFlagString(flag) + "'"));
                            r.setFlag(flag, "");
                        }
                        RedProtect.get().logger.addLog("(World " + r.getWorld() + ") Player " + p.getName() + " SET FLAG " + flag + " of region " + r.getName() + " to " + r.getFlagString(flag));
                        return;
                    } else {
                        sendFlagHelp(p);
                        return;
                    }
                }
                if (RPConfig.getDefFlagsValues().containsKey(flag)) {
                    r.setFlag(flag, !r.getFlagBool(flag));
                    RPLang.sendMessage(p, RPLang.get("cmdmanager.region.flag.set").replace("{flag}", "'" + flag + "'") + " " + r.getFlagBool(flag));
                    RedProtect.get().logger.addLog("(World " + r.getWorld() + ") Player " + p.getName() + " SET FLAG " + flag + " of region " + r.getName() + " to " + r.getFlagString(flag));
                } else {
                    if (RPConfig.AdminFlags.contains(flag)) {
                        SendFlagUsageMessage(p, flag);
                    } else {
                        RPLang.sendMessage(p, RPLang.get("cmdmanager.region.flag.usage") + " <true/false>");
                    }
                    sendFlagHelp(p);
                }
            }
        } else {
            RPLang.sendMessage(p, "cmdmanager.region.flag.nopermregion");
        }
    } else {
        RPLang.sendMessage(p, "cmdmanager.region.flag.noperm");
    }
}
Also used : Clan(net.sacredlabyrinth.phaed.simpleclans.Clan) ClanPlayer(net.sacredlabyrinth.phaed.simpleclans.ClanPlayer)

Aggregations

Clan (net.sacredlabyrinth.phaed.simpleclans.Clan)3 ClanPlayer (net.sacredlabyrinth.phaed.simpleclans.ClanPlayer)2 Player (org.bukkit.entity.Player)1