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 }