@Override public ApplicableRegionSet getApplicableRegions(ProtectedRegion checkRegion) { List<ProtectedRegion> appRegions = new ArrayList<ProtectedRegion>(); appRegions.addAll(regions.values()); List<ProtectedRegion> intersectRegions; try { intersectRegions = checkRegion.getIntersectingRegions(appRegions); } catch (Exception e) { intersectRegions = new ArrayList<ProtectedRegion>(); } return new ApplicableRegionSet(intersectRegions, regions.get("__global__")); }
@Override public boolean overlapsUnownedRegion(ProtectedRegion checkRegion, LocalPlayer player) { List<ProtectedRegion> appRegions = new ArrayList<ProtectedRegion>(); for (ProtectedRegion other : regions.values()) { if (other.getOwners().contains(player)) { continue; } appRegions.add(other); } List<ProtectedRegion> intersectRegions; try { intersectRegions = checkRegion.getIntersectingRegions(appRegions); } catch (UnsupportedIntersectionException e) { intersectRegions = new ArrayList<ProtectedRegion>(); } return intersectRegions.size() > 0; }