@Override public boolean isOwnerOfAll(LocalPlayer player) { checkNotNull(player); for (ProtectedRegion region : applicable) { if (!region.isOwner(player)) { return false; } } return true; }
@Override default Association getAssociation(List<ProtectedRegion> regions) { boolean member = false; for (ProtectedRegion region : regions) { if (region.isOwner(this)) { return Association.OWNER; } else if (!member && region.isMember(this)) { member = true; } } return member ? Association.MEMBER : Association.NON_MEMBER; }
public static boolean isMember(ProtectedRegion region, RegionGroup group, @Nullable LocalPlayer player) { if (group == null || group == RegionGroup.ALL) { return true; } else if (group == RegionGroup.OWNERS) { if (player != null && region.isOwner(player)) { return true; } } else if (group == RegionGroup.MEMBERS) { if (player != null && region.isMember(player)) { return true; } } else if (group == RegionGroup.NON_OWNERS) { if (player == null || !region.isOwner(player)) { return true; } } else if (group == RegionGroup.NON_MEMBERS) { if (player == null || !region.isMember(player)) { return true; } } return false; }
/** * Checks whether a player is a member OR OWNER of the region * or any of its parents. * * @param playerName player name to check * @return whether an owner or member * @deprecated Names are deprecated */ @Deprecated public boolean isMember(String playerName) { checkNotNull(playerName); if (isOwner(playerName)) { return true; } if (members.contains(playerName)) { return true; } ProtectedRegion curParent = getParent(); while (curParent != null) { if (curParent.getMembers().contains(playerName)) { return true; } curParent = curParent.getParent(); } return false; }
/** * Checks whether a player is a member OR OWNER of the region * or any of its parents. * * @param player player to check * @return whether an owner or member */ public boolean isMember(LocalPlayer player) { checkNotNull(player); if (isOwner(player)) { return true; } if (members.contains(player)) { return true; } ProtectedRegion curParent = getParent(); while (curParent != null) { if (curParent.getMembers().contains(player)) { return true; } curParent = curParent.getParent(); } return false; }
/** * Checks to see if the given sender has permission to modify the given region * using the region permission pattern. * * @param perm the name of the node * @param region the region */ private boolean hasPatternPermission(String perm, ProtectedRegion region) { if (!(getSender() instanceof Player)) { return true; // Non-players (i.e. console, command blocks, etc.) have full power } String idLower = region.getId().toLowerCase(); String effectivePerm; if (region.isOwner((LocalPlayer) getSender())) { return hasPluginPermission("region." + perm + ".own." + idLower) || hasPluginPermission("region." + perm + ".member." + idLower); } else if (region.isMember((LocalPlayer) getSender())) { return hasPluginPermission("region." + perm + ".member." + idLower); } else { effectivePerm = "region." + perm + "." + idLower; } return hasPluginPermission(effectivePerm); }
if (region.isOwner(localPlayer)) { regionStr.append("+"); } else if (region.isMemberOnly(localPlayer)) {