ClickCopyChat

允许一键复制聊天中的任何Paper服务器消息(仅限服务器端)。

资源图片
**ClickCopyChat — 让每一行聊天都可以复制,而不仅仅是玩家消息。** **需求 / 依赖** - **_ProtocolLib (https://www.spigotmc.org/resources/protocollib.1997/) !必需!_** - Paper 1.21.x (未在 1.21.8 以下版本中测试) - Java 17+ 运行时。 **工作原理:** 对于玩家聊天,它会包装渲染的 Adventure 组件。 对于插件/系统聊天,它使用 ProtocolLib 拦截 PLAY→SERVER 聊天数据包(例如,SYSTEM_CHAT、DISGUISED_CHAT、CHAT),装饰其有效负载(Adventure、WrappedChatComponent 或原始 JSON),然后将其写回。 如果无法修改,它将取消并重新发送一个装饰过的副本——避免重复和动作条叠加。 **亮点** - 玩家聊天和大多数插件消息(Essentials、Skript 广播/错误、LuckPerms 回复等)上的点击复制。 - 深度应用到子组件——整行都是可复制的。 - 保留格式;添加悬停提示;最小开销。 - 内置诊断:/cccdebug (切换日志),/cccpackets (显示已挂钩的数据包类型)。 - 平滑降级:如果没有 ProtocolLib,仍然启用玩家聊天的复制到剪贴板。 **局限性** - 客户端约束:copy_to_clipboard 是 Java 客户端功能;基岩(通过 Geyser/floodgate)无法复制。 - 非聊天 UI(标题/副标题/动作条、boss 条)不是标准的聊天;如果需要,可以添加可选的镜像。 **命令 / 权限** /cccdebug — 切换调试日志 (权限:clickcopychat.debug)。 /cccpackets — 列出已挂钩的数据包类型 (权限:clickcopychat.debug)。