public boolean setGroupFlag( Player player, String group, String flag, String flagstate, boolean resadmin) { group = group.toLowerCase(); if (validFlagGroups.containsKey(flag)) return this.setFlagGroupOnGroup(player, flag, group, flagstate, resadmin); FlagState state = FlagPermissions.stringToFlagState(flagstate); if (checkCanSetFlag(player, flag, state, false, resadmin)) { if (Residence.getPermissionManager().hasGroup(group)) { ResidenceFlagChangeEvent fc = new ResidenceFlagChangeEvent( residence, player, flag, ResidenceFlagChangeEvent.FlagType.GROUP, state, group); Residence.getServ().getPluginManager().callEvent(fc); if (fc.isCancelled()) return false; if (super.setGroupFlag(group, flag, state)) { player.sendMessage( ChatColor.GREEN + Residence.getLanguage() .getPhrase("FlagSet", flag + "|" + residence.getName() + "|" + flagstate)); return true; } } else { player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("InvalidGroup")); return false; } } return false; }
public boolean setFlag(Player player, String flag, String flagstate, boolean resadmin) { if (validFlagGroups.containsKey(flag)) return this.setFlagGroup(player, flag, flagstate, resadmin); FlagState state = FlagPermissions.stringToFlagState(flagstate); if (Residence.getConfigManager().isPvPFlagPrevent()) { for (String oneFlag : Residence.getConfigManager().getProtectedFlagsList()) { if (!flag.equalsIgnoreCase(oneFlag)) continue; ArrayList<Player> players = this.residence.getPlayersInResidence(); if (!resadmin && (players.size() > 1 || players.size() == 1 && !players.get(0).getName().equals(this.getOwner()))) { int size = 0; for (Player one : players) { if (!one.getName().equals(this.getOwner())) size++; } player.sendMessage( ChatColor.RED + Residence.getLanguage().getPhrase("FlagChangeDeny", flag + "|" + size)); return false; } } } if (checkCanSetFlag(player, flag, state, true, resadmin)) { ResidenceFlagChangeEvent fc = new ResidenceFlagChangeEvent( residence, player, flag, ResidenceFlagChangeEvent.FlagType.RESIDENCE, state, null); Residence.getServ().getPluginManager().callEvent(fc); if (fc.isCancelled()) return false; if (super.setFlag(flag, state)) { player.sendMessage( ChatColor.GREEN + Residence.getLanguage() .getPhrase("FlagSet", flag + "|" + residence.getName() + "|" + flagstate)); return true; } } return false; }
public boolean hasResidencePermission(Player player, boolean requireOwner) { if (Residence.getConfigManager().enabledRentSystem()) { String resname = residence.getName(); if (Residence.getRentManager().isRented(resname)) { if (requireOwner) { return false; } String renter = Residence.getRentManager().getRentingPlayer(resname); if (player.getName().equalsIgnoreCase(renter)) { return true; } else { return (playerHas(player.getName(), "admin", false)); } } } if (requireOwner) { return (this.getOwner().equalsIgnoreCase(player.getName())); } return (playerHas(player.getName(), "admin", false) || this.getOwner().equalsIgnoreCase(player.getName())); }
public boolean setPlayerFlag( Player player, String targetPlayer, String flag, String flagstate, boolean resadmin, boolean Show) { if (Residence.getPlayerUUID(targetPlayer) == null) { player.sendMessage("no player by this name"); return false; } if (validFlagGroups.containsKey(flag)) return this.setFlagGroupOnPlayer(player, targetPlayer, flag, flagstate, resadmin); FlagState state = FlagPermissions.stringToFlagState(flagstate); if (checkCanSetFlag(player, flag, state, false, resadmin)) { ResidenceFlagChangeEvent fc = new ResidenceFlagChangeEvent( residence, player, flag, ResidenceFlagChangeEvent.FlagType.PLAYER, state, targetPlayer); Residence.getServ().getPluginManager().callEvent(fc); if (fc.isCancelled()) return false; if (super.setPlayerFlag(targetPlayer, flag, state)) { if (Show) player.sendMessage( ChatColor.GREEN + Residence.getLanguage() .getPhrase("FlagSet", flag + "|" + residence.getName() + "|" + flagstate)); return true; } } return false; }