From 3528ca5475b8ef79c830366f325d9415b234b285 Mon Sep 17 00:00:00 2001 From: Kezz101 <1millionchances@gmail.com> Date: Wed, 3 Jul 2013 13:40:06 +0100 Subject: Update /say to vanilla behaviour. Fixes BUKKIT-4224 Prior to this commit all /say command output would be a generic "[Server]" prefixed line. This commit changes that by adding the source into the message, such as a player. By doing this Bukkit more closely matches vanilla behaviour and gives a more descriptive message to the client. --- .../org/bukkit/command/defaults/SayCommand.java | 23 +++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'src/main') diff --git a/src/main/java/org/bukkit/command/defaults/SayCommand.java b/src/main/java/org/bukkit/command/defaults/SayCommand.java index 427897ff..c48c5c30 100644 --- a/src/main/java/org/bukkit/command/defaults/SayCommand.java +++ b/src/main/java/org/bukkit/command/defaults/SayCommand.java @@ -6,6 +6,7 @@ import org.apache.commons.lang.Validate; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; +import org.bukkit.command.ConsoleCommandSender; import org.bukkit.entity.Player; import com.google.common.collect.ImmutableList; @@ -14,7 +15,7 @@ public class SayCommand extends VanillaCommand { public SayCommand() { super("say"); this.description = "Broadcasts the given message as the console"; - this.usageMessage = "/say "; + this.usageMessage = "/say "; this.setPermission("bukkit.command.say"); } @@ -27,20 +28,24 @@ public class SayCommand extends VanillaCommand { } StringBuilder message = new StringBuilder(); + message.append(ChatColor.LIGHT_PURPLE).append("["); + if (sender instanceof ConsoleCommandSender) { + message.append("Server"); + } else if (sender instanceof Player) { + message.append(((Player) sender).getDisplayName()); + } else { + message.append(sender.getName()); + } + message.append(ChatColor.LIGHT_PURPLE).append("] "); + if (args.length > 0) { message.append(args[0]); for (int i = 1; i < args.length; i++) { - message.append(" "); - message.append(args[i]); + message.append(" ").append(args[i]); } } - if (sender instanceof Player) { - Bukkit.getLogger().info("[" + sender.getName() + "] " + message); - } - - Bukkit.broadcastMessage(ChatColor.LIGHT_PURPLE + "[Server] " + message); - + Bukkit.broadcastMessage(message.toString()); return true; } -- cgit v1.2.3