001 package net.minecraft.command;
002
003 import net.minecraft.server.MinecraftServer;
004 import net.minecraft.util.IProgressUpdate;
005 import net.minecraft.world.MinecraftException;
006 import net.minecraft.world.WorldServer;
007
008 public class CommandServerSaveAll extends CommandBase
009 {
010 public String getCommandName()
011 {
012 return "save-all";
013 }
014
015 /**
016 * Return the required permission level for this command.
017 */
018 public int getRequiredPermissionLevel()
019 {
020 return 4;
021 }
022
023 public void processCommand(ICommandSender par1ICommandSender, String[] par2ArrayOfStr)
024 {
025 MinecraftServer var3 = MinecraftServer.getServer();
026 par1ICommandSender.sendChatToPlayer(par1ICommandSender.translateString("commands.save.start", new Object[0]));
027
028 if (var3.getConfigurationManager() != null)
029 {
030 var3.getConfigurationManager().saveAllPlayerData();
031 }
032
033 try
034 {
035 for (int var4 = 0; var4 < var3.worldServers.length; ++var4)
036 {
037 if (var3.worldServers[var4] != null)
038 {
039 WorldServer var5 = var3.worldServers[var4];
040 boolean var6 = var5.canNotSave;
041 var5.canNotSave = false;
042 var5.saveAllChunks(true, (IProgressUpdate)null);
043 var5.canNotSave = var6;
044 }
045 }
046 }
047 catch (MinecraftException var7)
048 {
049 notifyAdmins(par1ICommandSender, "commands.save.failed", new Object[] {var7.getMessage()});
050 return;
051 }
052
053 notifyAdmins(par1ICommandSender, "commands.save.success", new Object[0]);
054 }
055 }