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