diff --git a/pom.xml b/pom.xml index 1c3e530..7ed1ba8 100644 --- a/pom.xml +++ b/pom.xml @@ -54,7 +54,7 @@ 5.10.2 5.11.0 - v1.21-SNAPSHOT + 4.110.0 1.21.11-R0.1-SNAPSHOT 3.13.0 @@ -164,8 +164,8 @@ - com.github.MockBukkit - MockBukkit + org.mockbukkit.mockbukkit + mockbukkit-v1.21 ${mock-bukkit.version} test diff --git a/src/main/java/world/bentobox/boxed/listeners/AdvancementListener.java b/src/main/java/world/bentobox/boxed/listeners/AdvancementListener.java index dcdf779..930c9d0 100644 --- a/src/main/java/world/bentobox/boxed/listeners/AdvancementListener.java +++ b/src/main/java/world/bentobox/boxed/listeners/AdvancementListener.java @@ -285,6 +285,9 @@ public void onTeamLeaveTime(TeamLeaveEvent e) { @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onFirstTime(IslandNewIslandEvent e) { if (addon.getSettings().isIgnoreAdvancements()) return; + if (!addon.inWorld(e.getIsland().getWorld())) { + return; + } User user = User.getInstance(e.getPlayerUUID()); if (user != null) { clearAndSetAdv(user, addon.getSettings().isOnJoinResetAdvancements(), addon.getSettings().getOnJoinGrantAdvancements()); diff --git a/src/test/java/world/bentobox/boxed/listeners/AdvancementListenerTest.java b/src/test/java/world/bentobox/boxed/listeners/AdvancementListenerTest.java index aef32d3..5918ef6 100644 --- a/src/test/java/world/bentobox/boxed/listeners/AdvancementListenerTest.java +++ b/src/test/java/world/bentobox/boxed/listeners/AdvancementListenerTest.java @@ -332,6 +332,18 @@ public void testOnFirstTimeIgnoreAdvancements() { verify(e, never()).getPlayerUUID(); } + @Test + public void testOnFirstTimeNotInBoxedWorld() { + IslandNewIslandEvent e = mock(IslandNewIslandEvent.class); + when(e.getIsland()).thenReturn(island); + when(island.getWorld()).thenReturn(world); + when(addon.inWorld(world)).thenReturn(false); + + listener.onFirstTime(e); + + verify(e, never()).getPlayerUUID(); + } + // ---------- static helpers ---------- @Test