From 33dc113b366f4aa6131b975f30ee87e0246aefea Mon Sep 17 00:00:00 2001 From: Len <40720638+destro174@users.noreply.github.com> Date: Sat, 27 Jul 2024 16:05:15 +0200 Subject: [PATCH] Revert "Remove chat decorators" This reverts commit bd48c3f0cab27feaab0a901b46607b0c614c9020. --- .../alttd/chat/listeners/ChatListener.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) 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 5ef29ba..29aece6 100755 --- a/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java +++ b/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java @@ -11,6 +11,8 @@ import com.alttd.chat.util.GalaxyUtility; import com.alttd.chat.util.Utility; import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteStreams; +import io.papermc.paper.event.player.AsyncChatCommandDecorateEvent; +import io.papermc.paper.event.player.AsyncChatDecorateEvent; import io.papermc.paper.event.player.AsyncChatEvent; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.TextReplacementConfig; @@ -23,6 +25,7 @@ import org.bukkit.Bukkit; import org.bukkit.Sound; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.jetbrains.annotations.NotNull; @@ -35,6 +38,27 @@ public class ChatListener implements Listener { private final PlainTextComponentSerializer plainTextComponentSerializer = PlainTextComponentSerializer.plainText(); + + @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) + public void onChatCommandDecorate(AsyncChatCommandDecorateEvent event) { + if (event.player() == null) return; + + Component formatComponent = Component.text("%message%"); + Component message = parseMessageContent(event.player(), plainTextComponentSerializer.serialize(event.originalMessage())); + + event.result(formatComponent.replaceText(TextReplacementConfig.builder().match("%message%").replacement(message).build())); + } + + @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) + public void onChatDecorate(AsyncChatDecorateEvent event) { + if (event.player() == null) return; + + Component formatComponent = Component.text("%message%"); + Component message = parseMessageContent(event.player(), plainTextComponentSerializer.serialize(event.originalMessage())); + + event.result(formatComponent.replaceText(TextReplacementConfig.builder().match("%message%").replacement(message).build())); + } + private final Component mention = MiniMessage.miniMessage().deserialize(Config.MENTIONPLAYERTAG); @EventHandler(ignoreCancelled = true) public void onPlayerChat(AsyncChatEvent event) {