001 package net.minecraft.src; 002 003 import java.util.List; 004 import net.minecraft.server.MinecraftServer; 005 006 public class CommandXP extends CommandBase 007 { 008 public String getCommandName() 009 { 010 return "xp"; 011 } 012 013 public String getCommandUsage(ICommandSender par1ICommandSender) 014 { 015 return par1ICommandSender.translateString("commands.xp.usage", new Object[0]); 016 } 017 018 public void processCommand(ICommandSender par1ICommandSender, String[] par2ArrayOfStr) 019 { 020 if (par2ArrayOfStr.length > 0) 021 { 022 int var4 = parseIntBounded(par1ICommandSender, par2ArrayOfStr[0], 0, 5000); 023 EntityPlayer var3; 024 025 if (par2ArrayOfStr.length > 1) 026 { 027 var3 = this.getPlayer(par2ArrayOfStr[1]); 028 } 029 else 030 { 031 var3 = getCommandSenderAsPlayer(par1ICommandSender); 032 } 033 034 var3.addExperience(var4); 035 notifyAdmins(par1ICommandSender, "commands.xp.success", new Object[] {Integer.valueOf(var4), var3.getEntityName()}); 036 } 037 else 038 { 039 throw new WrongUsageException("commands.xp.usage", new Object[0]); 040 } 041 } 042 043 /** 044 * Adds the strings available in this command to the given list of tab completion options. 045 */ 046 public List addTabCompletionOptions(ICommandSender par1ICommandSender, String[] par2ArrayOfStr) 047 { 048 return par2ArrayOfStr.length == 2 ? getListOfStringsMatchingLastWord(par2ArrayOfStr, this.getAllUsernames()) : null; 049 } 050 051 protected EntityPlayer getPlayer(String par1Str) 052 { 053 EntityPlayerMP var2 = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(par1Str); 054 055 if (var2 == null) 056 { 057 throw new PlayerNotFoundException(); 058 } 059 else 060 { 061 return var2; 062 } 063 } 064 065 protected String[] getAllUsernames() 066 { 067 return MinecraftServer.getServer().getAllUsernames(); 068 } 069 }