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    }