diff --git a/nms/v1_19_R1/src/main/java/com/volmit/iris/core/nms/v1_19_R1/MemoryWorld.java b/nms/v1_19_R1/src/main/java/com/volmit/iris/core/nms/v1_19_R1/MemoryWorld.java index 124afa8eb..20ac7f44f 100644 --- a/nms/v1_19_R1/src/main/java/com/volmit/iris/core/nms/v1_19_R1/MemoryWorld.java +++ b/nms/v1_19_R1/src/main/java/com/volmit/iris/core/nms/v1_19_R1/MemoryWorld.java @@ -40,6 +40,7 @@ import org.bukkit.craftbukkit.v1_19_R1.generator.CraftWorldInfo; import org.bukkit.craftbukkit.v1_19_R1.util.CraftMagicNumbers; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; +import org.bukkit.event.HandlerList; import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.generator.ChunkGenerator; import org.bukkit.material.MaterialData; @@ -165,6 +166,7 @@ public class MemoryWorld implements IMemoryWorld { var map = (Map) WORLDS_FIELD.get(Bukkit.getServer()); map.remove(level.dimension().location().getPath()); getServer().removeLevel(level); + HandlerList.unregisterAll(this); } private static MinecraftServer getServer() { diff --git a/nms/v1_19_R2/src/main/java/com/volmit/iris/core/nms/v1_19_R2/MemoryWorld.java b/nms/v1_19_R2/src/main/java/com/volmit/iris/core/nms/v1_19_R2/MemoryWorld.java index 554cb4274..394965eae 100644 --- a/nms/v1_19_R2/src/main/java/com/volmit/iris/core/nms/v1_19_R2/MemoryWorld.java +++ b/nms/v1_19_R2/src/main/java/com/volmit/iris/core/nms/v1_19_R2/MemoryWorld.java @@ -44,6 +44,7 @@ import org.bukkit.craftbukkit.v1_19_R2.generator.CraftWorldInfo; import org.bukkit.craftbukkit.v1_19_R2.util.CraftMagicNumbers; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; +import org.bukkit.event.HandlerList; import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.generator.ChunkGenerator; import org.bukkit.material.MaterialData; @@ -173,6 +174,7 @@ public class MemoryWorld implements IMemoryWorld { var map = (Map) WORLDS_FIELD.get(Bukkit.getServer()); map.remove(level.dimension().location().getPath()); getServer().removeLevel(level); + HandlerList.unregisterAll(this); } private static MinecraftServer getServer() { diff --git a/nms/v1_19_R3/src/main/java/com/volmit/iris/core/nms/v1_19_R3/MemoryWorld.java b/nms/v1_19_R3/src/main/java/com/volmit/iris/core/nms/v1_19_R3/MemoryWorld.java index 32e0d00ad..f3d59a64b 100644 --- a/nms/v1_19_R3/src/main/java/com/volmit/iris/core/nms/v1_19_R3/MemoryWorld.java +++ b/nms/v1_19_R3/src/main/java/com/volmit/iris/core/nms/v1_19_R3/MemoryWorld.java @@ -44,6 +44,7 @@ import org.bukkit.craftbukkit.v1_19_R3.generator.CraftWorldInfo; import org.bukkit.craftbukkit.v1_19_R3.util.CraftMagicNumbers; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; +import org.bukkit.event.HandlerList; import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.generator.ChunkGenerator; import org.bukkit.material.MaterialData; @@ -173,6 +174,7 @@ public class MemoryWorld implements IMemoryWorld { var map = (Map) WORLDS_FIELD.get(Bukkit.getServer()); map.remove(level.dimension().location().getPath()); getServer().removeLevel(level); + HandlerList.unregisterAll(this); } private static MinecraftServer getServer() { diff --git a/nms/v1_20_R1/src/main/java/com/volmit/iris/core/nms/v1_20_R1/MemoryWorld.java b/nms/v1_20_R1/src/main/java/com/volmit/iris/core/nms/v1_20_R1/MemoryWorld.java index ee77a6d76..0bf76e41e 100644 --- a/nms/v1_20_R1/src/main/java/com/volmit/iris/core/nms/v1_20_R1/MemoryWorld.java +++ b/nms/v1_20_R1/src/main/java/com/volmit/iris/core/nms/v1_20_R1/MemoryWorld.java @@ -44,6 +44,7 @@ import org.bukkit.craftbukkit.v1_20_R1.generator.CraftWorldInfo; import org.bukkit.craftbukkit.v1_20_R1.util.CraftMagicNumbers; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; +import org.bukkit.event.HandlerList; import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.generator.ChunkGenerator; import org.bukkit.material.MaterialData; @@ -174,6 +175,7 @@ public class MemoryWorld implements IMemoryWorld { var map = (Map) WORLDS_FIELD.get(Bukkit.getServer()); map.remove(level.dimension().location().getPath()); getServer().removeLevel(level); + HandlerList.unregisterAll(this); } private static MinecraftServer getServer() { diff --git a/nms/v1_20_R2/src/main/java/com/volmit/iris/core/nms/v1_20_R2/MemoryWorld.java b/nms/v1_20_R2/src/main/java/com/volmit/iris/core/nms/v1_20_R2/MemoryWorld.java index a893fa6ce..56e730e07 100644 --- a/nms/v1_20_R2/src/main/java/com/volmit/iris/core/nms/v1_20_R2/MemoryWorld.java +++ b/nms/v1_20_R2/src/main/java/com/volmit/iris/core/nms/v1_20_R2/MemoryWorld.java @@ -44,6 +44,7 @@ import org.bukkit.craftbukkit.v1_20_R2.generator.CraftWorldInfo; import org.bukkit.craftbukkit.v1_20_R2.util.CraftMagicNumbers; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; +import org.bukkit.event.HandlerList; import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.generator.ChunkGenerator; import org.bukkit.material.MaterialData; @@ -174,6 +175,7 @@ public class MemoryWorld implements IMemoryWorld { var map = (Map) WORLDS_FIELD.get(Bukkit.getServer()); map.remove(level.dimension().location().getPath()); getServer().removeLevel(level); + HandlerList.unregisterAll(this); } private static MinecraftServer getServer() { diff --git a/nms/v1_20_R3/src/main/java/com/volmit/iris/core/nms/v1_20_R3/MemoryWorld.java b/nms/v1_20_R3/src/main/java/com/volmit/iris/core/nms/v1_20_R3/MemoryWorld.java index 4eafe7af6..77c56e5d5 100644 --- a/nms/v1_20_R3/src/main/java/com/volmit/iris/core/nms/v1_20_R3/MemoryWorld.java +++ b/nms/v1_20_R3/src/main/java/com/volmit/iris/core/nms/v1_20_R3/MemoryWorld.java @@ -46,6 +46,7 @@ import org.bukkit.craftbukkit.v1_20_R3.generator.CraftWorldInfo; import org.bukkit.craftbukkit.v1_20_R3.util.CraftMagicNumbers; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; +import org.bukkit.event.HandlerList; import org.bukkit.event.Listener; import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.generator.ChunkGenerator; @@ -178,6 +179,7 @@ public class MemoryWorld implements IMemoryWorld { var map = (Map) WORLDS_FIELD.get(Bukkit.getServer()); map.remove(level.dimension().location().getPath()); getServer().removeLevel(level); + HandlerList.unregisterAll(this); } private static MinecraftServer getServer() { diff --git a/nms/v1_20_R4/src/main/java/com/volmit/iris/core/nms/v1_20_R4/MemoryWorld.java b/nms/v1_20_R4/src/main/java/com/volmit/iris/core/nms/v1_20_R4/MemoryWorld.java index 94d3068fb..575f7b05c 100644 --- a/nms/v1_20_R4/src/main/java/com/volmit/iris/core/nms/v1_20_R4/MemoryWorld.java +++ b/nms/v1_20_R4/src/main/java/com/volmit/iris/core/nms/v1_20_R4/MemoryWorld.java @@ -45,6 +45,7 @@ import org.bukkit.craftbukkit.v1_20_R4.generator.CraftWorldInfo; import org.bukkit.craftbukkit.v1_20_R4.util.CraftMagicNumbers; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; +import org.bukkit.event.HandlerList; import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.generator.ChunkGenerator; import org.bukkit.material.MaterialData; @@ -175,6 +176,7 @@ public class MemoryWorld implements IMemoryWorld { var map = (Map) WORLDS_FIELD.get(Bukkit.getServer()); map.remove(level.dimension().location().getPath()); getServer().removeLevel(level); + HandlerList.unregisterAll(this); } private static MinecraftServer getServer() { diff --git a/nms/v1_21_R1/src/main/java/com/volmit/iris/core/nms/v1_21_R1/MemoryWorld.java b/nms/v1_21_R1/src/main/java/com/volmit/iris/core/nms/v1_21_R1/MemoryWorld.java index 11297a1b9..0298912c2 100644 --- a/nms/v1_21_R1/src/main/java/com/volmit/iris/core/nms/v1_21_R1/MemoryWorld.java +++ b/nms/v1_21_R1/src/main/java/com/volmit/iris/core/nms/v1_21_R1/MemoryWorld.java @@ -45,6 +45,7 @@ import org.bukkit.craftbukkit.v1_21_R1.generator.CraftWorldInfo; import org.bukkit.craftbukkit.v1_21_R1.util.CraftMagicNumbers; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; +import org.bukkit.event.HandlerList; import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.generator.ChunkGenerator; import org.bukkit.material.MaterialData; @@ -175,6 +176,7 @@ public class MemoryWorld implements IMemoryWorld { var map = (Map) WORLDS_FIELD.get(Bukkit.getServer()); map.remove(level.dimension().location().getPath()); getServer().removeLevel(level); + HandlerList.unregisterAll(this); } private static MinecraftServer getServer() {