001    package net.minecraft.src;
002    
003    import java.util.List;
004    import net.minecraft.server.MinecraftServer;
005    
006    public class CommandClearInventory extends CommandBase
007    {
008        public String getCommandName()
009        {
010            return "clear";
011        }
012    
013        public String getCommandUsage(ICommandSender par1ICommandSender)
014        {
015            return par1ICommandSender.translateString("commands.clear.usage", new Object[0]);
016        }
017    
018        /**
019         * Return the required permission level for this command.
020         */
021        public int getRequiredPermissionLevel()
022        {
023            return 2;
024        }
025    
026        public void processCommand(ICommandSender par1ICommandSender, String[] par2ArrayOfStr)
027        {
028            EntityPlayerMP var3 = par2ArrayOfStr.length == 0 ? getCommandSenderAsPlayer(par1ICommandSender) : func_82359_c(par1ICommandSender, par2ArrayOfStr[0]);
029            int var4 = par2ArrayOfStr.length >= 2 ? parseIntWithMin(par1ICommandSender, par2ArrayOfStr[1], 1) : -1;
030            int var5 = par2ArrayOfStr.length >= 3 ? parseIntWithMin(par1ICommandSender, par2ArrayOfStr[2], 0) : -1;
031            int var6 = var3.inventory.clearInventory(var4, var5);
032            var3.inventoryContainer.updateCraftingResults();
033            notifyAdmins(par1ICommandSender, "commands.clear.success", new Object[] {var3.getEntityName(), Integer.valueOf(var6)});
034        }
035    
036        /**
037         * Adds the strings available in this command to the given list of tab completion options.
038         */
039        public List addTabCompletionOptions(ICommandSender par1ICommandSender, String[] par2ArrayOfStr)
040        {
041            return par2ArrayOfStr.length == 1 ? getListOfStringsMatchingLastWord(par2ArrayOfStr, this.getAllOnlineUsernames()) : null;
042        }
043    
044        /**
045         * Return all usernames currently connected to the server.
046         */
047        protected String[] getAllOnlineUsernames()
048        {
049            return MinecraftServer.getServer().getAllUsernames();
050        }
051    
052        /**
053         * Return whether the specified command parameter index is a username parameter.
054         */
055        public boolean isUsernameIndex(int par1)
056        {
057            return par1 == 0;
058        }
059    }