diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandmsg.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandmsg.java index 609d5628f..9a3c5f89d 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandmsg.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandmsg.java @@ -7,10 +7,8 @@ import org.bukkit.Server; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; - import java.util.List; - public class Commandmsg extends EssentialsCommand { public Commandmsg() { super("msg"); @@ -30,21 +28,17 @@ public void run(Server server, CommandSender sender, String commandLabel, String } String message = getFinalArg(args, 1); - if (sender instanceof Player) { User user = ess.getUser(sender); if (user.isMuted()) { throw new Exception(Util.i18n("voiceSilenced")); } - - if (user.isAuthorized("essentials.chat.color")) - { + if (user.isAuthorized("essentials.chat.color")) { message = (message.replaceAll("&([0-9a-f])", "ยง$1")); } } - - String translatedMe = Util.i18n("me"); + String translatedMe = Util.i18n("me"); IReplyTo replyTo = sender instanceof Player ? ess.getUser(sender) : Console.getConsoleReplyTo(); String senderName = sender instanceof Player ? ((Player) sender).getDisplayName() : Console.NAME; @@ -58,31 +52,25 @@ public void run(Server server, CommandSender sender, String commandLabel, String } List matches = server.matchPlayer(args[0]); - if (matches.isEmpty()) { throw new Exception(Util.i18n("playerNotFound")); } - int i = 0; - for (Player p : matches) { - final User u = ess.getUser(p); - if (u.isHidden()) { - i++; - } - } - if (i == matches.size()) { + Player targetPlayer = matches.get(0); + final User u = ess.getUser(targetPlayer); + + if (u.isHidden()) { throw new Exception(Util.i18n("playerNotFound")); } - for (Player p : matches) { - sender.sendMessage(Util.format("msgFormat", translatedMe, p.getDisplayName(), message)); - final User u = ess.getUser(p); - if (sender instanceof Player && (u.isIgnoredPlayer(((Player) sender).getName()) || u.isHidden())) { - continue; - } - p.sendMessage(Util.format("msgFormat", senderName, translatedMe, message)); - replyTo.setReplyTo(ess.getUser(p)); - ess.getUser(p).setReplyTo(sender); + sender.sendMessage(Util.format("msgFormat", translatedMe, targetPlayer.getDisplayName(), message)); + + if (sender instanceof Player && (u.isIgnoredPlayer(((Player) sender).getName()))) { + return; } + + targetPlayer.sendMessage(Util.format("msgFormat", senderName, translatedMe, message)); + replyTo.setReplyTo(ess.getUser(targetPlayer)); + ess.getUser(targetPlayer).setReplyTo(sender); } }