From 62bec06cd475c34b4bb3b005c45bfecb2e391b3e Mon Sep 17 00:00:00 2001 From: YuaZer <1109132@qq.com> Date: Tue, 9 Dec 2025 14:03:15 +0800 Subject: [PATCH] =?UTF-8?q?+=20TrChatEvent.kt=E6=96=B0=E5=A2=9EgetFullMess?= =?UTF-8?q?age()=E6=96=B9=E6=B3=95=E8=8E=B7=E5=8F=96=E5=85=A8=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E6=9C=80=E7=BB=88=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mc/trchat/api/event/TrChatEvent.kt | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/project/runtime-bukkit/src/main/kotlin/me/arasple/mc/trchat/api/event/TrChatEvent.kt b/project/runtime-bukkit/src/main/kotlin/me/arasple/mc/trchat/api/event/TrChatEvent.kt index 830b2fda..9dd19a43 100644 --- a/project/runtime-bukkit/src/main/kotlin/me/arasple/mc/trchat/api/event/TrChatEvent.kt +++ b/project/runtime-bukkit/src/main/kotlin/me/arasple/mc/trchat/api/event/TrChatEvent.kt @@ -3,6 +3,7 @@ package me.arasple.mc.trchat.api.event import me.arasple.mc.trchat.module.display.ChatSession import me.arasple.mc.trchat.module.display.channel.Channel import me.arasple.mc.trchat.module.display.channel.PrivateChannel +import me.arasple.mc.trchat.util.pass import taboolib.module.chat.ComponentText import taboolib.module.chat.Components import taboolib.platform.type.BukkitProxyEvent @@ -38,5 +39,28 @@ class TrChatEvent( this.component = event.component } } + fun getFullMessage() : String{ + // 获取符合条件的格式 + val format = channel.formats.firstOrNull { it.condition.pass(player) } + // 构建完整消息 + val fullComponent = Components.empty() + // 添加前缀 + format?.prefix?.forEach { prefix -> + prefix.value.firstOrNull { it.condition.pass(player) }?.content + ?.toTextComponent(player)?.let { fullComponent.append(it) } + } + + // 添加消息内容 + fullComponent.append(component) + + // 添加后缀 + format?.suffix?.forEach { suffix -> + suffix.value.firstOrNull { it.condition.pass(player) }?.content + ?.toTextComponent(player)?.let { fullComponent.append(it) } + } + + val fullMessage = fullComponent.toLegacyText() + return fullMessage + } } \ No newline at end of file