ClickCopyChat
Allows one click copy of any Paper server message in chat (Server-side only)
ClickCopyChat
ClickCopyChat - make every chat line copyable, not just player messages.
Requirements / Dependencies
- _ProtocolLib (https://www.spigotmc.org/resources/protocollib.1997/) !Required!_ - Paper 1.21.x (not tested below 1.21.8) - Java 17+ runtime.
How it works:
For player chat, it wraps the rendered Adventure Component. For plugin/system chat, it uses ProtocolLib to intercept PLAY→SERVER chat packets (e.g., SYSTEM_CHAT, DISGUISED_CHAT, CHAT), decorates their payloads (Adventure, WrappedChatComponent, or raw JSON), and writes them back. If mutation isn’t possible, it cancels and resends a decorated copy-avoiding duplicates and action-bar overlays.
Highlights
- Click-to-copy on player chat and most plugin messages (Essentials, Skript broadcasts/errors, LuckPerms replies, etc.). - Deep application to child components—entire line is copyable. - Preserves formatting; adds hover hint; minimal overhead. - Built-in diagnostics: /cccdebug (toggle logs), /cccpackets (show hooked packet types). - Graceful degrade: without ProtocolLib, still enables copy-to-clipboard for player chat.
Limitations
- Client-side constraint: copy_to_clipboard is a Java client feature; Bedrock (via Geyser/floodgate) won’t copy.
- Non-chat UIs (titles/subtitles/action bar, boss bars) aren’t standard chat; optional mirroring can be added if desired.
Commands / Permissions
/cccdebug - toggle debug logs (permission: clickcopychat.debug).
/cccpackets - list hooked packet types (permission: clickcopychat.debug).