diff --git a/build.gradle.kts b/build.gradle.kts index fceffae6e..a40009056 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -80,7 +80,14 @@ version = finalRevision val javaVersion = "21" val junitVersion = "5.10.2" val mockitoVersion = "5.11.0" -val mockBukkitVersion = "v1.21-SNAPSHOT" +// Pin to a concrete JitPack tag rather than the v1.21-SNAPSHOT pointer. +// SNAPSHOT resolution on JitPack is flaky — it sometimes advertises a +// timestamped version in maven-metadata.xml whose corresponding .pom 404s, +// breaking dependency resolution mid-build. Newer tags (>= v4.111) also +// currently fail to build on JitPack because the project requires a Java 25 +// toolchain that JitPack's default image doesn't have. v4.110.0 is the most +// recent tag with both POM and JAR available on JitPack. +val mockBukkitVersion = "v4.110.0" val mongodbVersion = "3.12.12" val mariadbVersion = "3.0.5" val mysqlVersion = "8.0.27" diff --git a/src/test/java/world/bentobox/bentobox/database/objects/IslandTest.java b/src/test/java/world/bentobox/bentobox/database/objects/IslandTest.java index 196ae410a..84df874f7 100644 --- a/src/test/java/world/bentobox/bentobox/database/objects/IslandTest.java +++ b/src/test/java/world/bentobox/bentobox/database/objects/IslandTest.java @@ -798,6 +798,15 @@ void testSetProtectionRange() { @Test void testSetRange() { + // setRange only allows values that disagree with the gamemode's configured + // distance-between-islands when the gamemode opts out via + // isEnforceEqualRanges()==false. That's the path StrangerRealms uses to grow + // claims with team size. Without the opt-out, setRange refuses mismatched + // values to prevent silent database corruption (see testSetRangeRefused...). + GameModeAddon optOutAddon = mock(GameModeAddon.class); + when(optOutAddon.isEnforceEqualRanges()).thenReturn(false); + when(iwm.getAddon(any())).thenReturn(Optional.of(optOutAddon)); + island.setRange(200); assertEquals(200, island.getRange()); }