/** par1 indicates if a log message should be output. */ protected void saveAllWorlds(boolean dontLog) { if (!this.worldIsBeingDeleted) { WorldServer[] var2 = this.worldServers; int var3 = var2.length; for (int var4 = 0; var4 < var3; ++var4) { WorldServer var5 = var2[var4]; if (var5 != null) { if (!dontLog) { logger.info( "Saving chunks for level \'" + var5.getWorldInfo().getWorldName() + "\'/" + var5.provider.getDimensionName()); } try { var5.saveAllChunks(true, (IProgressUpdate) null); } catch (MinecraftException var7) { logger.warn(var7.getMessage()); } } } } }
/** par1 indicates if a log message should be output. */ protected void saveAllWorlds(boolean par1) { if (!this.worldIsBeingDeleted) { WorldServer[] aworldserver = this.worldServers; int i = aworldserver.length; for (int j = 0; j < i; ++j) { WorldServer worldserver = aworldserver[j]; if (worldserver != null) { if (!par1) { this.func_98033_al() .func_98233_a( "Saving chunks for level \'" + worldserver.getWorldInfo().getWorldName() + "\'/" + worldserver.provider.getDimensionName()); } try { worldserver.saveAllChunks(true, (IProgressUpdate) null); } catch (MinecraftException minecraftexception) { this.func_98033_al().func_98236_b(minecraftexception.getMessage()); } } } } }
/* * To be called by the server at the appropriate time, do not call from mod code. */ public static void unloadWorlds(Hashtable<Integer, long[]> worldTickTimes) { for (int id : unloadQueue) { WorldServer w = worlds.get(id); try { if (w != null) { w.saveAllChunks(true, null); } else { FMLLog.warning("Unexpected world unload - world %d is already unloaded", id); } } catch (MinecraftException e) { e.printStackTrace(); } finally { if (w != null) { MinecraftForge.EVENT_BUS.post(new WorldEvent.Unload(w)); w.flush(); setWorld(id, null); } } } unloadQueue.clear(); }