/** * Grab all the player names from all the regions in the given collection. * * @param regions a collection of regions * @return a set of names */ private static Set<String> getNames(Collection<ProtectedRegion> regions) { Set<String> names = new HashSet<>(); for (ProtectedRegion region : regions) { // Names are already lower case names.addAll(region.getOwners().getPlayers()); names.addAll(region.getMembers().getPlayers()); } return names; }
public void updateRegionProperties(ProtectedRegion region) { if (region.getParent() != null) { parentsToSet.add(region); } flagsToReplace.add(region); domainsToReplace.add(region); addDomain(region.getOwners()); addDomain(region.getMembers()); }
/** * Add information about members. */ public void appendDomain() { builder.append(Style.BLUE); builder.append("Owners: "); addDomainString(region.getOwners()); newLine(); builder.append(Style.BLUE); builder.append("Members: "); addDomainString(region.getMembers()); newLine(); }
/** * Convert all the names to UUIDs. * * @param regions a collection of regions */ private void convert(Collection<ProtectedRegion> regions) { for (ProtectedRegion region : regions) { convert(region.getOwners()); convert(region.getMembers()); } }
@Override public ProtectedRegion call() throws Exception { if (ownersInput != null) { DomainInputResolver resolver = new DomainInputResolver(WorldGuard.getInstance().getProfileService(), ownersInput); resolver.setLocatorPolicy(locatorPolicy); DefaultDomain domain = resolver.call(); region.getOwners().addAll(domain); } manager.addRegion(region); return region; }
/** * Copy attributes from another region. * * @param other the other region */ public void copyFrom(ProtectedRegion other) { checkNotNull(other); setMembers(other.getMembers()); setOwners(other.getOwners()); setFlags(other.getFlags()); setPriority(other.getPriority()); try { setParent(other.getParent()); } catch (CircularInheritanceException ignore) { // This should not be thrown } }
public RegionReport(ProtectedRegion region) { super("Region: " + region.getId()); append("Type", region.getType()); append("Priority", region.getPriority()); append("Owners", region.getOwners()); append("Members", region.getMembers()); append("FlagUtil", region.getFlags()); }
@Test public void testBuildRegionPriorities() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer upperMember = mock.createPlayer(); LocalPlayer lowerMember = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.add(0); region.getOwners().addPlayer(lowerMember); region = mock.add(1); region.getOwners().addPlayer(upperMember); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(upperMember, Flags.BUILD)); assertFalse(set.testState(lowerMember, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testGlobalRegionHavingOwnershipBuildFlagUnset() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.global(); region.getOwners().addPlayer(member); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testBuildAccess() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.add(0); region.getOwners().addPlayer(member); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testGlobalRegionHavingOwnershipBuildFlagDeny() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.global(); region.setFlag(Flags.BUILD, StateFlag.State.DENY); region.getOwners().addPlayer(member); ApplicableRegionSet set = mock.getApplicableSet(); assertFalse(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testGlobalRegionHavingOwnershipBuildFlagAllow() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.global(); region.setFlag(Flags.BUILD, StateFlag.State.ALLOW); region.getOwners().addPlayer(member); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testBuildDenyFlag() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.add(0); region.getOwners().addPlayer(member); region.setFlag(Flags.BUILD, StateFlag.State.DENY); ApplicableRegionSet set = mock.getApplicableSet(); assertFalse(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testBuildAllowFlag() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.add(0); region.getOwners().addPlayer(member); region.setFlag(Flags.BUILD, StateFlag.State.ALLOW); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(member, Flags.BUILD)); assertTrue(set.testState(nonMember, Flags.BUILD)); }
@Test public void testGlobalRegionBuildFlagDenyWithRegion() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.global(); region.setFlag(Flags.BUILD, StateFlag.State.DENY); region = mock.add(0); region.getOwners().addPlayer(member); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testPriorityDisjointBuildDenyFlagAndMembership() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.add(0); region.setFlag(Flags.BUILD, StateFlag.State.DENY); region = mock.add(1); region.getOwners().addPlayer(member); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testHigherPriorityUnsetBuildDenyFlag() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.add(0); region.getOwners().addPlayer(member); region.setFlag(Flags.BUILD, StateFlag.State.DENY); region = mock.add(1); ApplicableRegionSet set = mock.getApplicableSet(); assertFalse(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testGlobalRegionBuildFlagAllowWithRegion() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.global(); region.setFlag(Flags.BUILD, StateFlag.State.ALLOW); region = mock.add(0); region.getOwners().addPlayer(member); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testPriorityDisjointMembershipAndBuildDenyFlag() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.add(0); region.getOwners().addPlayer(member); region = mock.add(1); region.setFlag(Flags.BUILD, StateFlag.State.DENY); ApplicableRegionSet set = mock.getApplicableSet(); assertFalse(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testHigherPriorityOverrideBuildDenyFlag() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.add(0); region.getOwners().addPlayer(member); region.setFlag(Flags.BUILD, StateFlag.State.DENY); region = mock.add(1); region.setFlag(Flags.BUILD, StateFlag.State.ALLOW); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(member, Flags.BUILD)); assertTrue(set.testState(nonMember, Flags.BUILD)); }