This commit is contained in:
Julian Krings 2024-10-01 19:31:31 +02:00
parent 093d77bf8a
commit a61787ecfe
8 changed files with 16 additions and 0 deletions

View File

@ -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.craftbukkit.v1_19_R1.util.CraftMagicNumbers;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.HandlerList;
import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.event.world.WorldUnloadEvent;
import org.bukkit.generator.ChunkGenerator; import org.bukkit.generator.ChunkGenerator;
import org.bukkit.material.MaterialData; import org.bukkit.material.MaterialData;
@ -165,6 +166,7 @@ public class MemoryWorld implements IMemoryWorld {
var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer()); var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer());
map.remove(level.dimension().location().getPath()); map.remove(level.dimension().location().getPath());
getServer().removeLevel(level); getServer().removeLevel(level);
HandlerList.unregisterAll(this);
} }
private static MinecraftServer getServer() { private static MinecraftServer getServer() {

View File

@ -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.craftbukkit.v1_19_R2.util.CraftMagicNumbers;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.HandlerList;
import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.event.world.WorldUnloadEvent;
import org.bukkit.generator.ChunkGenerator; import org.bukkit.generator.ChunkGenerator;
import org.bukkit.material.MaterialData; import org.bukkit.material.MaterialData;
@ -173,6 +174,7 @@ public class MemoryWorld implements IMemoryWorld {
var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer()); var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer());
map.remove(level.dimension().location().getPath()); map.remove(level.dimension().location().getPath());
getServer().removeLevel(level); getServer().removeLevel(level);
HandlerList.unregisterAll(this);
} }
private static MinecraftServer getServer() { private static MinecraftServer getServer() {

View File

@ -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.craftbukkit.v1_19_R3.util.CraftMagicNumbers;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.HandlerList;
import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.event.world.WorldUnloadEvent;
import org.bukkit.generator.ChunkGenerator; import org.bukkit.generator.ChunkGenerator;
import org.bukkit.material.MaterialData; import org.bukkit.material.MaterialData;
@ -173,6 +174,7 @@ public class MemoryWorld implements IMemoryWorld {
var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer()); var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer());
map.remove(level.dimension().location().getPath()); map.remove(level.dimension().location().getPath());
getServer().removeLevel(level); getServer().removeLevel(level);
HandlerList.unregisterAll(this);
} }
private static MinecraftServer getServer() { private static MinecraftServer getServer() {

View File

@ -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.craftbukkit.v1_20_R1.util.CraftMagicNumbers;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.HandlerList;
import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.event.world.WorldUnloadEvent;
import org.bukkit.generator.ChunkGenerator; import org.bukkit.generator.ChunkGenerator;
import org.bukkit.material.MaterialData; import org.bukkit.material.MaterialData;
@ -174,6 +175,7 @@ public class MemoryWorld implements IMemoryWorld {
var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer()); var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer());
map.remove(level.dimension().location().getPath()); map.remove(level.dimension().location().getPath());
getServer().removeLevel(level); getServer().removeLevel(level);
HandlerList.unregisterAll(this);
} }
private static MinecraftServer getServer() { private static MinecraftServer getServer() {

View File

@ -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.craftbukkit.v1_20_R2.util.CraftMagicNumbers;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.HandlerList;
import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.event.world.WorldUnloadEvent;
import org.bukkit.generator.ChunkGenerator; import org.bukkit.generator.ChunkGenerator;
import org.bukkit.material.MaterialData; import org.bukkit.material.MaterialData;
@ -174,6 +175,7 @@ public class MemoryWorld implements IMemoryWorld {
var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer()); var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer());
map.remove(level.dimension().location().getPath()); map.remove(level.dimension().location().getPath());
getServer().removeLevel(level); getServer().removeLevel(level);
HandlerList.unregisterAll(this);
} }
private static MinecraftServer getServer() { private static MinecraftServer getServer() {

View File

@ -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.craftbukkit.v1_20_R3.util.CraftMagicNumbers;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.event.world.WorldUnloadEvent;
import org.bukkit.generator.ChunkGenerator; import org.bukkit.generator.ChunkGenerator;
@ -178,6 +179,7 @@ public class MemoryWorld implements IMemoryWorld {
var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer()); var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer());
map.remove(level.dimension().location().getPath()); map.remove(level.dimension().location().getPath());
getServer().removeLevel(level); getServer().removeLevel(level);
HandlerList.unregisterAll(this);
} }
private static MinecraftServer getServer() { private static MinecraftServer getServer() {

View File

@ -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.craftbukkit.v1_20_R4.util.CraftMagicNumbers;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.HandlerList;
import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.event.world.WorldUnloadEvent;
import org.bukkit.generator.ChunkGenerator; import org.bukkit.generator.ChunkGenerator;
import org.bukkit.material.MaterialData; import org.bukkit.material.MaterialData;
@ -175,6 +176,7 @@ public class MemoryWorld implements IMemoryWorld {
var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer()); var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer());
map.remove(level.dimension().location().getPath()); map.remove(level.dimension().location().getPath());
getServer().removeLevel(level); getServer().removeLevel(level);
HandlerList.unregisterAll(this);
} }
private static MinecraftServer getServer() { private static MinecraftServer getServer() {

View File

@ -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.craftbukkit.v1_21_R1.util.CraftMagicNumbers;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.HandlerList;
import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.event.world.WorldUnloadEvent;
import org.bukkit.generator.ChunkGenerator; import org.bukkit.generator.ChunkGenerator;
import org.bukkit.material.MaterialData; import org.bukkit.material.MaterialData;
@ -175,6 +176,7 @@ public class MemoryWorld implements IMemoryWorld {
var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer()); var map = (Map<String, World>) WORLDS_FIELD.get(Bukkit.getServer());
map.remove(level.dimension().location().getPath()); map.remove(level.dimension().location().getPath());
getServer().removeLevel(level); getServer().removeLevel(level);
HandlerList.unregisterAll(this);
} }
private static MinecraftServer getServer() { private static MinecraftServer getServer() {