Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
at develop 51 lines 1.6 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; 7 8public class SayCommand extends VanillaCommand { 9 public SayCommand() { 10 super("say"); 11 this.description = "Broadcasts the given message as the console"; 12 this.usageMessage = "/say <message>"; 13 this.setPermission("bukkit.command.say"); 14 } 15 16 @Override 17 public boolean execute(CommandSender sender, String currentAlias, String[] args) { 18 try { 19 if (!testPermission(sender)) return true; 20 if (args.length == 0) { 21 sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); 22 return false; 23 } 24 25 String message = ""; 26 27 for (int i = 0; i < args.length; i++) { 28 if (i > 0) message += " "; 29 message += args[i]; 30 } 31 32 if (!(sender instanceof ConsoleCommandSender)) { 33 Bukkit.getLogger().info("[" + sender.getName() + "] " + message); 34 } 35 36 Bukkit.broadcastMessage(ChatColor.LIGHT_PURPLE + "[Server] " + message); 37 38 return true; 39 } catch (Exception e) { 40 System.out.println("Exception occured: " + e.getMessage()); 41 sender.sendMessage(ChatColor.RED + "Please read console for an error message"); 42 return true; 43 } 44 45 } 46 47 @Override 48 public boolean matches(String input) { 49 return input.startsWith("say "); 50 } 51}