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 }