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.inventorySlots.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 }