001 package net.minecraft.command;
002
003 import java.util.List;
004 import net.minecraft.server.MinecraftServer;
005
006 public class CommandServerBanlist extends CommandBase
007 {
008 public String getCommandName()
009 {
010 return "banlist";
011 }
012
013 /**
014 * Return the required permission level for this command.
015 */
016 public int getRequiredPermissionLevel()
017 {
018 return 3;
019 }
020
021 /**
022 * Returns true if the given command sender is allowed to use this command.
023 */
024 public boolean canCommandSenderUseCommand(ICommandSender par1ICommandSender)
025 {
026 return (MinecraftServer.getServer().getConfigurationManager().getBannedIPs().isListActive() || MinecraftServer.getServer().getConfigurationManager().getBannedPlayers().isListActive()) && super.canCommandSenderUseCommand(par1ICommandSender);
027 }
028
029 public String getCommandUsage(ICommandSender par1ICommandSender)
030 {
031 return par1ICommandSender.translateString("commands.banlist.usage", new Object[0]);
032 }
033
034 public void processCommand(ICommandSender par1ICommandSender, String[] par2ArrayOfStr)
035 {
036 if (par2ArrayOfStr.length >= 1 && par2ArrayOfStr[0].equalsIgnoreCase("ips"))
037 {
038 par1ICommandSender.sendChatToPlayer(par1ICommandSender.translateString("commands.banlist.ips", new Object[] {Integer.valueOf(MinecraftServer.getServer().getConfigurationManager().getBannedIPs().getBannedList().size())}));
039 par1ICommandSender.sendChatToPlayer(joinNiceString(MinecraftServer.getServer().getConfigurationManager().getBannedIPs().getBannedList().keySet().toArray()));
040 }
041 else
042 {
043 par1ICommandSender.sendChatToPlayer(par1ICommandSender.translateString("commands.banlist.players", new Object[] {Integer.valueOf(MinecraftServer.getServer().getConfigurationManager().getBannedPlayers().getBannedList().size())}));
044 par1ICommandSender.sendChatToPlayer(joinNiceString(MinecraftServer.getServer().getConfigurationManager().getBannedPlayers().getBannedList().keySet().toArray()));
045 }
046 }
047
048 /**
049 * Adds the strings available in this command to the given list of tab completion options.
050 */
051 public List addTabCompletionOptions(ICommandSender par1ICommandSender, String[] par2ArrayOfStr)
052 {
053 return par2ArrayOfStr.length == 1 ? getListOfStringsMatchingLastWord(par2ArrayOfStr, new String[] {"players", "ips"}): null;
054 }
055 }