Optimized globalchat by checking only the ppl who have perms

This commit is contained in:
Teriuihi 2021-07-30 23:26:56 +02:00
parent fb594e6825
commit 899e363677

View File

@ -40,18 +40,18 @@ public class PluginMessage implements PluginMessageListener {
case "globalchat": { case "globalchat": {
if (ChatPlugin.getInstance().serverGlobalChatEnabled()) { if (ChatPlugin.getInstance().serverGlobalChatEnabled()) {
String uuidString = in.readUTF(); String uuidString = in.readUTF();
if (uuidString.matches("\\b[0-9a-f]{8}\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\b[0-9a-f]{12}\\b")) { if (!uuidString.matches("\\b[0-9a-f]{8}\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\b[0-9a-f]{12}\\b")) {
Bukkit.broadcast(GsonComponentSerializer.gson().deserialize(in.readUTF()), Config.GCPERMISSION); Bukkit.broadcast(GsonComponentSerializer.gson().deserialize(uuidString), Config.GCPERMISSION);
break; break;
} }
UUID uuid = UUID.fromString(uuidString); UUID uuid = UUID.fromString(uuidString);
String message = in.readUTF(); String message = in.readUTF();
Bukkit.getOnlinePlayers().forEach(a -> { Bukkit.getOnlinePlayers().stream().filter(p -> p.hasPermission(Config.GCPERMISSION)).forEach(p -> {
ChatUser chatUser = ChatUserManager.getChatUser(a.getUniqueId()); ChatUser chatUser = ChatUserManager.getChatUser(p.getUniqueId());
if (a.hasPermission(Config.GCPERMISSION) && chatUser.getIgnoredPlayers().contains(uuid)) { if (chatUser.getIgnoredPlayers().contains(uuid)) {
a.sendMessage(GsonComponentSerializer.gson().deserialize(message)); p.sendMessage(GsonComponentSerializer.gson().deserialize(message));
} }
}); });
} }