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