From e9bef65f710ba9cdafeec18a7b42a0b27b2a8b9d Mon Sep 17 00:00:00 2001 From: Angeschossen <24841122+Angeschossen@users.noreply.github.com> Date: Wed, 6 Nov 2024 17:35:29 +0100 Subject: [PATCH 1/2] lands API version that is compatible with Java 8 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 9f549f6..2e02ff0 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ repositories { dependencies { compileOnly 'com.github.InsightsPlugin:Insights:feature~addons-SNAPSHOT' compileOnly 'com.destroystokyo.paper:paper-api:1.16.5-R0.1-SNAPSHOT' - compileOnly 'com.github.angeschossen:LandsAPI:5.1.13' + compileOnly 'com.github.angeschossen:LandsAPI:7.1.12' } blossom { From 72cf396e0a40bf3ef4e85b33c41efcad70b0db13 Mon Sep 17 00:00:00 2001 From: Angeschossen <24841122+Angeschossen@users.noreply.github.com> Date: Wed, 6 Nov 2024 17:35:52 +0100 Subject: [PATCH 2/2] use new Lands API and adapt to changes --- .../insights/addons/lands/LandsAddon.java | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/main/java/dev/frankheijden/insights/addons/lands/LandsAddon.java b/src/main/java/dev/frankheijden/insights/addons/lands/LandsAddon.java index e0106ee..5d6102a 100644 --- a/src/main/java/dev/frankheijden/insights/addons/lands/LandsAddon.java +++ b/src/main/java/dev/frankheijden/insights/addons/lands/LandsAddon.java @@ -5,10 +5,11 @@ import dev.frankheijden.insights.api.addons.Region; import dev.frankheijden.insights.api.objects.chunk.ChunkLocation; import dev.frankheijden.insights.api.objects.chunk.ChunkPart; +import me.angeschossen.lands.api.LandsIntegration; import me.angeschossen.lands.api.events.ChunkDeleteEvent; import me.angeschossen.lands.api.events.ChunkPostClaimEvent; -import me.angeschossen.lands.api.integration.LandsIntegration; import me.angeschossen.lands.api.land.ChunkCoordinate; +import me.angeschossen.lands.api.land.Container; import me.angeschossen.lands.api.land.Land; import org.bukkit.Location; import org.bukkit.World; @@ -26,19 +27,23 @@ public class LandsAddon implements InsightsAddon, Listener { private final LandsIntegration integration; public LandsAddon() { - this.integration = new LandsIntegration(InsightsPlugin.getInstance()); + this.integration = LandsIntegration.of(InsightsPlugin.getInstance()); } public String getKey(Land land, World world) { - return land.getId() + "-" + world.getName(); + return land.getULID().toString() + "-" + world.getName(); } public Optional adapt(Land land, World world) { if (land == null) return Optional.empty(); - Collection coordinates = land.getChunks(world); - if (coordinates == null || coordinates.isEmpty()) return Optional.empty(); - return Optional.of(new LandsRegion(coordinates, getKey(land, world))); + Container container = land.getContainer(world); + if(container == null) return Optional.empty(); + + Collection coordinates = container.getChunks(); + if (coordinates.isEmpty()) return Optional.empty(); + + return Optional.of(new LandsRegion(world, coordinates, getKey(land, world))); } @Override @@ -58,7 +63,7 @@ public String getVersion() { @Override public Optional getRegion(Location location) { - return adapt(integration.getLand( + return adapt(integration.getLandByChunk( location.getWorld(), location.getBlockX() >> 4, location.getBlockZ() >> 4 @@ -81,10 +86,12 @@ private void clearLandCache(Land land, World world) { public class LandsRegion implements Region { - private final Collection coordinates; + private final World world; + private final Collection coordinates; private final String key; - public LandsRegion(Collection coordinates, String key) { + public LandsRegion(World world, Collection coordinates, String key) { + this.world = world; this.coordinates = coordinates; this.key = key; } @@ -103,7 +110,7 @@ public String getKey() { public List toChunkParts() { List parts = new ArrayList<>(coordinates.size()); for (ChunkCoordinate coordinate : coordinates) { - parts.add(new ChunkPart(new ChunkLocation(coordinate.getWorld(), coordinate.getX(), coordinate.getZ()))); + parts.add(new ChunkPart(new ChunkLocation(world, coordinate.getX(), coordinate.getZ()))); } return parts; }