From 12f05665c2b3db1cc471ae37385f02e9e854833d Mon Sep 17 00:00:00 2001 From: Garsooon Date: Wed, 4 Jun 2025 05:23:23 -0700 Subject: [PATCH] Fixes /msg sending messages to all users with a character in their name, Simplifies logic --- .../essentials/commands/Commandmsg.java | 40 +++++++------------ pom.xml | 2 +- 2 files changed, 15 insertions(+), 27 deletions(-) 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); } } diff --git a/pom.xml b/pom.xml index 5d88706ab..060381b03 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.earth2me.essentialss essentials-parent - 2.6.8-RETROMC-SNAPSHOT + 2.6.9-RETROMC-SNAPSHOT pom