From 87d5c1b264ed7914a40517d906bde390ad85461c Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Sun, 9 Oct 2022 01:18:13 +0200 Subject: [PATCH] Fixed blocked messages not highlighting what was blocked --- .../com/alttd/chat/listeners/ChatListener.java | 2 +- .../java/com/alttd/chat/util/GalaxyUtility.java | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java b/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java index 2d2c2cf..b8bdb62 100755 --- a/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java +++ b/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java @@ -87,7 +87,7 @@ public class ChatListener implements Listener { if(!RegexManager.filterText(player.getName(), player.getUniqueId(), modifiableString, "chat")) { event.setCancelled(true); GalaxyUtility.sendBlockedNotification("Language", player, - Utility.parseMiniMessage(Utility.parseColors(modifiableString.string())), + modifiableString.component(), ""); return; // the message was blocked } diff --git a/galaxy/src/main/java/com/alttd/chat/util/GalaxyUtility.java b/galaxy/src/main/java/com/alttd/chat/util/GalaxyUtility.java index f3949c1..31c9c49 100644 --- a/galaxy/src/main/java/com/alttd/chat/util/GalaxyUtility.java +++ b/galaxy/src/main/java/com/alttd/chat/util/GalaxyUtility.java @@ -35,7 +35,21 @@ public class GalaxyUtility { } public static void sendBlockedNotification(String prefix, Player player, Component input, String target) { - sendBlockedNotification(prefix, player, PlainTextComponentSerializer.plainText().serialize(input), target); + TagResolver placeholders = TagResolver.resolver( + Placeholder.parsed("prefix", prefix), + Placeholder.parsed("displayname", Utility.getDisplayName(player.getUniqueId(), player.getName())), + Placeholder.parsed("target", (target.isEmpty() ? " tried to say: " : " -> " + target + ": ")), + Placeholder.component("input", input) + ); + Component blockedNotification = Utility.parseMiniMessage(Config.NOTIFICATIONFORMAT, placeholders); + + Bukkit.getOnlinePlayers().forEach(a ->{ + if (a.hasPermission("chat.alert-blocked")) { + a.sendMessage(blockedNotification); + } + }); + player.sendMessage(Utility.parseMiniMessage("The language you used in your message is not allowed, " + + "this constitutes as your only warning. Any further attempts at bypassing the filter will result in staff intervention.")); } public static void addAdditionalChatCompletions(Player player) {