Skip to content

Commit dc3eca6

Browse files
authored
Merge pull request #37 from Garsooon/msg-All-match
Fixes /msg Bug, Simplify Logic
2 parents 36e8095 + eb345b4 commit dc3eca6

File tree

1 file changed

+14
-26
lines changed

1 file changed

+14
-26
lines changed

Essentials/src/main/java/com/earth2me/essentials/commands/Commandmsg.java

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@
77
import org.bukkit.Server;
88
import org.bukkit.command.CommandSender;
99
import org.bukkit.entity.Player;
10-
1110
import java.util.List;
1211

13-
1412
public class Commandmsg extends EssentialsCommand {
1513
public Commandmsg() {
1614
super("msg");
@@ -30,21 +28,17 @@ public void run(Server server, CommandSender sender, String commandLabel, String
3028
}
3129

3230
String message = getFinalArg(args, 1);
33-
3431
if (sender instanceof Player) {
3532
User user = ess.getUser(sender);
3633
if (user.isMuted()) {
3734
throw new Exception(Util.i18n("voiceSilenced"));
3835
}
39-
40-
if (user.isAuthorized("essentials.chat.color"))
41-
{
36+
if (user.isAuthorized("essentials.chat.color")) {
4237
message = (message.replaceAll("&([0-9a-f])", "§$1"));
4338
}
4439
}
45-
46-
String translatedMe = Util.i18n("me");
4740

41+
String translatedMe = Util.i18n("me");
4842
IReplyTo replyTo = sender instanceof Player ? ess.getUser(sender) : Console.getConsoleReplyTo();
4943
String senderName = sender instanceof Player ? ((Player) sender).getDisplayName() : Console.NAME;
5044

@@ -58,31 +52,25 @@ public void run(Server server, CommandSender sender, String commandLabel, String
5852
}
5953

6054
List<Player> matches = server.matchPlayer(args[0]);
61-
6255
if (matches.isEmpty()) {
6356
throw new Exception(Util.i18n("playerNotFound"));
6457
}
6558

66-
int i = 0;
67-
for (Player p : matches) {
68-
final User u = ess.getUser(p);
69-
if (u.isHidden()) {
70-
i++;
71-
}
72-
}
73-
if (i == matches.size()) {
59+
Player targetPlayer = matches.get(0);
60+
final User u = ess.getUser(targetPlayer);
61+
62+
if (u.isHidden()) {
7463
throw new Exception(Util.i18n("playerNotFound"));
7564
}
7665

77-
for (Player p : matches) {
78-
sender.sendMessage(Util.format("msgFormat", translatedMe, p.getDisplayName(), message));
79-
final User u = ess.getUser(p);
80-
if (sender instanceof Player && (u.isIgnoredPlayer(((Player) sender).getName()) || u.isHidden())) {
81-
continue;
82-
}
83-
p.sendMessage(Util.format("msgFormat", senderName, translatedMe, message));
84-
replyTo.setReplyTo(ess.getUser(p));
85-
ess.getUser(p).setReplyTo(sender);
66+
sender.sendMessage(Util.format("msgFormat", translatedMe, targetPlayer.getDisplayName(), message));
67+
68+
if (sender instanceof Player && (u.isIgnoredPlayer(((Player) sender).getName()))) {
69+
return;
8670
}
71+
72+
targetPlayer.sendMessage(Util.format("msgFormat", senderName, translatedMe, message));
73+
replyTo.setReplyTo(ess.getUser(targetPlayer));
74+
ess.getUser(targetPlayer).setReplyTo(sender);
8775
}
8876
}

0 commit comments

Comments
 (0)