| 7 | import org.bukkit.entity.Player; |
| 8 | |
| 9 | public 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) { |
| 28 | sender.sendMessage("There's no player by that name online."); |
| 29 | } else { |
| 30 | StringBuilder message = new StringBuilder(); |
| 31 | |
| 32 | for (int i = 1; i < args.length; i++) { |
| 33 | if (i > 1) message.append(" "); |
| 34 | message.append(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 ") || input.equalsIgnoreCase("tell"); |
| 53 | } |
| 54 | } |
nothing calls this directly
no outgoing calls
no test coverage detected