diff --git a/src/main/java/org/ultramine/server/world/WorldDescriptor.java b/src/main/java/org/ultramine/server/world/WorldDescriptor.java index f1a66ba..d608971 100644 --- a/src/main/java/org/ultramine/server/world/WorldDescriptor.java +++ b/src/main/java/org/ultramine/server/world/WorldDescriptor.java @@ -324,6 +324,7 @@ for(Object o : world.loadedTileEntityList) ((TileEntity)o).setWorldObj(null); world.loadedTileEntityList.clear(); + dispose(); } @SideOnly(Side.SERVER) @@ -331,13 +332,8 @@ { if(state.isLoaded()) destroyWorld(); - - try - { - ThreadedFileIOBase.threadedIOInstance.waitForFinish(); - } catch (InterruptedException ignored){} - - RegionFileCache.clearRegionFileReferences(); + else + dispose(); try { @@ -349,6 +345,16 @@ } } + private void dispose() + { + try + { + ThreadedFileIOBase.threadedIOInstance.waitForFinish(); + } catch (InterruptedException ignored){} + + RegionFileCache.clearRegionFileReferences(); + } + private void movePlayersOut() { WarpLocation spawn = server.getConfigurationManager().getDataLoader().getWarp("spawn");