diff --git a/src/main/java/com/gmail/bleedobsidian/itemcase/managers/ItemcaseManager.java b/src/main/java/com/gmail/bleedobsidian/itemcase/managers/ItemcaseManager.java index 185db9e..dc3b072 100644 --- a/src/main/java/com/gmail/bleedobsidian/itemcase/managers/ItemcaseManager.java +++ b/src/main/java/com/gmail/bleedobsidian/itemcase/managers/ItemcaseManager.java @@ -271,6 +271,9 @@ public final class ItemcaseManager { // Get world name. String worldName = event.getWorld().getName(); + // WorldFile. + WorldFile worldFile = null; + // For every entry. for(Entry entry : ItemcaseManager.this.worldFiles.entrySet()) { @@ -281,6 +284,9 @@ public final class ItemcaseManager { // Attempt to delete config. try { + // Set world file. + worldFile = entry.getValue(); + // Delete config. entry.getValue().deleteDirectory(); @@ -293,6 +299,29 @@ public final class ItemcaseManager { } } } + + // Remove world file. + ItemcaseManager.this.worldFiles.values().remove(worldFile); + + // List to store itemcases of this world. + ArrayList itemcases = new ArrayList(); + + // For every itemcase. + for(Itemcase itemcase : ItemcaseManager.this.itemcases) { + + // Check if itemcase was in deleted world. + if(itemcase.getLocation().getWorld().getName() == worldName) { + + // Despawn item. + itemcase.despawnItem(); + + // Add to list. + itemcases.add(itemcase); + } + } + + // Remove all itemcases that were in this world from list. + ItemcaseManager.this.itemcases.removeAll(itemcases); } }