001 package net.minecraft.src;
002
003 import java.util.Iterator;
004 import net.minecraft.server.MinecraftServer;
005
006 public class ServerCommandManager extends CommandHandler implements IAdminCommand
007 {
008 public ServerCommandManager()
009 {
010 this.registerCommand(new CommandTime());
011 this.registerCommand(new CommandGameMode());
012 this.registerCommand(new CommandDefaultGameMode());
013 this.registerCommand(new CommandKill());
014 this.registerCommand(new CommandToggleDownfall());
015 this.registerCommand(new CommandXP());
016 this.registerCommand(new CommandServerTp());
017 this.registerCommand(new CommandGive());
018 this.registerCommand(new CommandServerEmote());
019 this.registerCommand(new CommandShowSeed());
020 this.registerCommand(new CommandHelp());
021 this.registerCommand(new CommandDebug());
022 this.registerCommand(new CommandServerMessage());
023
024 if (MinecraftServer.getServer().isDedicatedServer())
025 {
026 this.registerCommand(new CommandServerOp());
027 this.registerCommand(new CommandServerDeop());
028 this.registerCommand(new CommandServerStop());
029 this.registerCommand(new CommandServerSaveAll());
030 this.registerCommand(new CommandServerSaveOff());
031 this.registerCommand(new CommandServerSaveOn());
032 this.registerCommand(new CommandServerBanIp());
033 this.registerCommand(new CommandServerPardonIp());
034 this.registerCommand(new CommandServerBan());
035 this.registerCommand(new CommandServerBanlist());
036 this.registerCommand(new CommandServerPardon());
037 this.registerCommand(new CommandServerKick());
038 this.registerCommand(new CommandServerList());
039 this.registerCommand(new CommandServerSay());
040 this.registerCommand(new CommandServerWhitelist());
041 }
042 else
043 {
044 this.registerCommand(new CommandServerPublishLocal());
045 }
046
047 CommandBase.setAdminCommander(this);
048 }
049
050 /**
051 * Sends a message to the admins of the server from a given CommandSender with the given resource string and given
052 * extra srings. If the int par2 is even or zero, the original sender is also notified.
053 */
054 public void notifyAdmins(ICommandSender par1ICommandSender, int par2, String par3Str, Object ... par4ArrayOfObj)
055 {
056 Iterator var5 = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator();
057
058 while (var5.hasNext())
059 {
060 EntityPlayerMP var6 = (EntityPlayerMP)var5.next();
061
062 if (var6 != par1ICommandSender && MinecraftServer.getServer().getConfigurationManager().areCommandsAllowed(var6.username))
063 {
064 var6.sendChatToPlayer("\u00a77\u00a7o[" + par1ICommandSender.getCommandSenderName() + ": " + var6.translateString(par3Str, par4ArrayOfObj) + "]");
065 }
066 }
067
068 if (par1ICommandSender != MinecraftServer.getServer())
069 {
070 MinecraftServer.logger.info("[" + par1ICommandSender.getCommandSenderName() + ": " + MinecraftServer.getServer().translateString(par3Str, par4ArrayOfObj) + "]");
071 }
072
073 if ((par2 & 1) != 1)
074 {
075 par1ICommandSender.sendChatToPlayer(par1ICommandSender.translateString(par3Str, par4ArrayOfObj));
076 }
077 }
078 }