Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
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}