001 package net.minecraft.src; 002 003 import java.util.Arrays; 004 import java.util.List; 005 import net.minecraft.server.MinecraftServer; 006 007 public class CommandServerMessage extends CommandBase 008 { 009 /** 010 * Returns true if the given command sender is allowed to use this command. 011 */ 012 public boolean canCommandSenderUseCommand(ICommandSender par1ICommandSender) 013 { 014 return (!MinecraftServer.getServer().isSinglePlayer() || MinecraftServer.getServer().getPlayerListSize() > 1) && super.canCommandSenderUseCommand(par1ICommandSender); 015 } 016 017 public List getCommandAliases() 018 { 019 return Arrays.asList(new String[] {"w", "msg"}); 020 } 021 022 public String getCommandName() 023 { 024 return "tell"; 025 } 026 027 public void processCommand(ICommandSender par1ICommandSender, String[] par2ArrayOfStr) 028 { 029 if (par2ArrayOfStr.length < 2) 030 { 031 throw new WrongUsageException("commands.message.usage", new Object[0]); 032 } 033 else 034 { 035 EntityPlayerMP var3 = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(par2ArrayOfStr[0]); 036 037 if (var3 == null) 038 { 039 throw new PlayerNotFoundException(); 040 } 041 else if (var3 == par1ICommandSender) 042 { 043 throw new PlayerNotFoundException("commands.message.sameTarget", new Object[0]); 044 } 045 else 046 { 047 String var4 = joinString(par2ArrayOfStr, 1); 048 var3.sendChatToPlayer("\u00a77\u00a7o" + var3.translateString("commands.message.display.incoming", new Object[] {par1ICommandSender.getCommandSenderName(), var4})); 049 par1ICommandSender.sendChatToPlayer("\u00a77\u00a7o" + par1ICommandSender.translateString("commands.message.display.outgoing", new Object[] {var3.getCommandSenderName(), var4})); 050 } 051 } 052 } 053 054 /** 055 * Adds the strings available in this command to the given list of tab completion options. 056 */ 057 public List addTabCompletionOptions(ICommandSender par1ICommandSender, String[] par2ArrayOfStr) 058 { 059 return getListOfStringsMatchingLastWord(par2ArrayOfStr, MinecraftServer.getServer().getAllUsernames()); 060 } 061 }