Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
at develop 54 lines 1.7 kB view raw
1package org.bukkit.command.defaults; 2 3import org.bukkit.Bukkit; 4import org.bukkit.ChatColor; 5import org.bukkit.command.CommandSender; 6import org.bukkit.command.ConsoleCommandSender; 7import org.bukkit.entity.Player; 8 9public class TellCommand extends VanillaCommand { 10 public TellCommand() { 11 super("tell"); 12 this.description = "Sends a private message to the given player"; 13 this.usageMessage = "/tell <player> <message>"; 14 this.setPermission("bukkit.command.tell"); 15 } 16 17 @Override 18 public boolean execute(CommandSender sender, String currentAlias, String[] args) { 19 if (!testPermission(sender)) return true; 20 if (args.length < 2) { 21 sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); 22 return false; 23 } 24 25 Player player = Bukkit.getPlayerExact(args[0]); 26 27 if (player == null || (sender instanceof Player && !((Player) sender).canSee(player))) { 28 sender.sendMessage("There's no player by that name online."); 29 } else { 30 String message = ""; 31 32 for (int i = 1; i < args.length; i++) { 33 if (i > 1) message += " "; 34 message += args[i]; 35 } 36 37 String result = ChatColor.GRAY + sender.getName() + " whispers " + message; 38 39 if (sender instanceof ConsoleCommandSender) { 40 Bukkit.getLogger().info("[" + sender.getName() + "->" + player.getName() + "] " + message); 41 Bukkit.getLogger().info(result); 42 } 43 44 player.sendMessage(result); 45 } 46 47 return true; 48 } 49 50 @Override 51 public boolean matches(String input) { 52 return input.startsWith("tell "); 53 } 54}