package net.minecraft.command;
import java.util.Iterator;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.scoreboard.ServerCommandScoreboard;
import net.minecraft.scoreboard.ServerCommandTestFor;
import net.minecraft.server.MinecraftServer;
import net.minecraft.tileentity.TileEntityCommandBlock;
import net.minecraft.util.EnumChatFormatting;
public class ServerCommandManager extends CommandHandler implements IAdminCommand
{
public ServerCommandManager()
{
this.registerCommand(new CommandTime());
this.registerCommand(new CommandGameMode());
this.registerCommand(new CommandDifficulty());
this.registerCommand(new CommandDefaultGameMode());
this.registerCommand(new CommandKill());
this.registerCommand(new CommandToggleDownfall());
this.registerCommand(new CommandWeather());
this.registerCommand(new CommandXP());
this.registerCommand(new CommandServerTp());
this.registerCommand(new CommandGive());
this.registerCommand(new CommandEffect());
this.registerCommand(new CommandEnchant());
this.registerCommand(new CommandServerEmote());
this.registerCommand(new CommandShowSeed());
this.registerCommand(new CommandHelp());
this.registerCommand(new CommandDebug());
this.registerCommand(new CommandServerMessage());
this.registerCommand(new CommandServerSay());
this.registerCommand(new CommandSetSpawnpoint());
this.registerCommand(new CommandGameRule());
this.registerCommand(new CommandClearInventory());
this.registerCommand(new ServerCommandTestFor());
this.registerCommand(new ServerCommandScoreboard());
if (MinecraftServer.getServer().isDedicatedServer())
{
this.registerCommand(new CommandServerOp());
this.registerCommand(new CommandServerDeop());
this.registerCommand(new CommandServerStop());
this.registerCommand(new CommandServerSaveAll());
this.registerCommand(new CommandServerSaveOff());
this.registerCommand(new CommandServerSaveOn());
this.registerCommand(new CommandServerBanIp());
this.registerCommand(new CommandServerPardonIp());
this.registerCommand(new CommandServerBan());
this.registerCommand(new CommandServerBanlist());
this.registerCommand(new CommandServerPardon());
this.registerCommand(new CommandServerKick());
this.registerCommand(new CommandServerList());
this.registerCommand(new CommandServerWhitelist());
}
else
{
this.registerCommand(new CommandServerPublishLocal());
}
CommandBase.setAdminCommander(this);
}
/**
* Sends a message to the admins of the server from a given CommandSender with the given resource string and given
* extra srings. If the int par2 is even or zero, the original sender is also notified.
*/
public void notifyAdmins(ICommandSender par1ICommandSender, int par2, String par3Str, Object ... par4ArrayOfObj)
{
boolean flag = true;
if (par1ICommandSender instanceof TileEntityCommandBlock && !MinecraftServer.getServer().worldServers[0].getGameRules().getGameRuleBooleanValue("commandBlockOutput"))
{
flag = false;
}
if (flag)
{
Iterator iterator = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator();
while (iterator.hasNext())
{
EntityPlayerMP entityplayermp = (EntityPlayerMP)iterator.next();
if (entityplayermp != par1ICommandSender && MinecraftServer.getServer().getConfigurationManager().areCommandsAllowed(entityplayermp.username))
{
entityplayermp.sendChatToPlayer("" + EnumChatFormatting.GRAY + "" + EnumChatFormatting.ITALIC + "[" + par1ICommandSender.getCommandSenderName() + ": " + entityplayermp.translateString(par3Str, par4ArrayOfObj) + "]");
}
}
}
if (par1ICommandSender != MinecraftServer.getServer())
{
MinecraftServer.getServer().getLogAgent().logInfo("[" + par1ICommandSender.getCommandSenderName() + ": " + MinecraftServer.getServer().translateString(par3Str, par4ArrayOfObj) + "]");
}
if ((par2 & 1) != 1)
{
par1ICommandSender.sendChatToPlayer(par1ICommandSender.translateString(par3Str, par4ArrayOfObj));
}
}
}