diff --git a/modern/src/main/java/net/islandearth/rpgregions/api/integrations/griefprevention/GriefPreventionIntegration.java b/modern/src/main/java/net/islandearth/rpgregions/api/integrations/griefprevention/GriefPreventionIntegration.java index b5fdd9a..599360a 100644 --- a/modern/src/main/java/net/islandearth/rpgregions/api/integrations/griefprevention/GriefPreventionIntegration.java +++ b/modern/src/main/java/net/islandearth/rpgregions/api/integrations/griefprevention/GriefPreventionIntegration.java @@ -70,6 +70,14 @@ public class GriefPreventionIntegration implements IntegrationManager { @Override public @NotNull List getBoundingBoxPoints(Location regionLocation, @Nullable String regionId) { - return null; + List points = new ArrayList<>(); + Claim claim = GriefPrevention.instance.dataStore.getClaimAt(regionLocation, false, null); + if (regionId != null && !String.valueOf(claim.getID()).equals(regionId)) { + return points; + } + + points.add(claim.getGreaterBoundaryCorner()); + points.add(claim.getLesserBoundaryCorner()); + return points; } } diff --git a/modern/src/main/java/net/islandearth/rpgregions/api/integrations/residence/ResidenceIntegration.java b/modern/src/main/java/net/islandearth/rpgregions/api/integrations/residence/ResidenceIntegration.java index e12a8c8..5d223ff 100644 --- a/modern/src/main/java/net/islandearth/rpgregions/api/integrations/residence/ResidenceIntegration.java +++ b/modern/src/main/java/net/islandearth/rpgregions/api/integrations/residence/ResidenceIntegration.java @@ -14,6 +14,7 @@ import org.bukkit.event.player.PlayerMoveEvent; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -61,6 +62,6 @@ public class ResidenceIntegration implements IntegrationManager { @Override public @NotNull List getBoundingBoxPoints(Location regionLocation, @Nullable String regionId) { - return null; + return new ArrayList<>(); } } diff --git a/modern/src/main/java/net/islandearth/rpgregions/api/integrations/rpgregions/RPGRegionsIntegration.java b/modern/src/main/java/net/islandearth/rpgregions/api/integrations/rpgregions/RPGRegionsIntegration.java index 8728c20..19a7a0a 100644 --- a/modern/src/main/java/net/islandearth/rpgregions/api/integrations/rpgregions/RPGRegionsIntegration.java +++ b/modern/src/main/java/net/islandearth/rpgregions/api/integrations/rpgregions/RPGRegionsIntegration.java @@ -8,6 +8,7 @@ import org.bukkit.event.player.PlayerMoveEvent; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -40,6 +41,6 @@ public class RPGRegionsIntegration implements IntegrationManager { @Override public @NotNull List getBoundingBoxPoints(Location regionLocation, @Nullable String regionId) { - return null; + return new ArrayList<>(); // TODO } } diff --git a/modern/src/main/java/net/islandearth/rpgregions/api/integrations/ultraregions/UltraRegionsIntegration.java b/modern/src/main/java/net/islandearth/rpgregions/api/integrations/ultraregions/UltraRegionsIntegration.java index 65a36fd..c96637b 100644 --- a/modern/src/main/java/net/islandearth/rpgregions/api/integrations/ultraregions/UltraRegionsIntegration.java +++ b/modern/src/main/java/net/islandearth/rpgregions/api/integrations/ultraregions/UltraRegionsIntegration.java @@ -90,7 +90,17 @@ public class UltraRegionsIntegration implements IntegrationManager { @Override public @NotNull List getBoundingBoxPoints(Location regionLocation, @Nullable String regionId) { - return null; + List points = new ArrayList<>(); + for (Region region : getProtectedRegions(regionLocation)) { + if (regionId != null && !region.getName().equals(regionId)) { + continue; + } + + for (XYZ point : region.getSelection().getTracePoints()) { + points.add(new Location(regionLocation.getWorld(), point.getX(), regionLocation.getY(), point.getZ())); + } + } + return points; } private List getProtectedRegions(Location location) {