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