Fixed blocked messages not highlighting what was blocked

This commit is contained in:
Teriuihi 2022-10-09 01:18:13 +02:00
parent 5e62786010
commit 87d5c1b264
2 changed files with 16 additions and 2 deletions

View File

@ -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
}

View File

@ -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("<red>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.</red>"));
}
public static void addAdditionalChatCompletions(Player player) {