ClickCopyChat
PluginMIT

ClickCopyChat

Allows one click copy of any Paper server message in chat (Server-side only)

41
Downloads
1
Followers
8 months ago
Updated
📦
1
Versions

📖About ClickCopyChat

ClickCopyChat — make every chat line copyable, not just player messages.

Requirements / Dependencies

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).