ZealousChat
A modern, MiniMessage-powered chat formatter for PaperMC servers
ZealousChat replaces Vanilla chat with a fully–configurable system built on the Paper's high performance AsyncChatEvent and MiniMessage components. It ships with rank/world specific formats, private messaging, inventory placeholders and a granular permission model – all while remaining light-weight and production ready.
Features
- MiniMessage everywhere – gradients, hex colours, hover/click events
- Rank, world & permission based formats with priority system
- Private messaging (
/msg
,/reply
) with social-spy & cooldowns - Chat / Message toggles per-player (with staff bypass)
- Inventory placeholders
[inv]
,[ender]
,[armor]
,[hand]
,[pos]
,[health]
- URL auto-linking & @mentions (configurable)
- Command framework powered by Lamp with live
/zchat test
preview - PlaceholderAPI bridge (optional soft-depend)
- Hot-reloadable HOCON configuration (
/zchat reload
) - Customizable Messages for all messages used within the plugin.
Commands
Plugin Core
/zealouschat
(/chatplugin
,/chatformat
,/zchat
) — Base command for ZealousChat- Permission:
chatplugin.admin
- This command is not an actual command, but rather the base for all sub-commands.
- Permission:
Configuration Commands
/zealouschat reload
— Reload plugin configuration- Permission:
chatplugin.admin.reload
- Permission:
/zealouschat info
— Display current plugin settings and feature flags- Permission:
chatplugin.admin.info
- Permission:
/zealouschat test <message>
— Preview chat formatting- Permission:
chatplugin.admin.test
- Parameters:
<message>
: Text to format and display
- Permission:
Format Management
/zealouschat format set default <format>
— Set default chat format- Permission:
chatplugin.admin.format
- Parameters:
<format>
: MiniMessage format string
- Permission:
/zealouschat format set group <group> <format>
— Define group-specific format- Permission:
chatplugin.admin.format
- Parameters:
<group>
: Permission group name<format>
: MiniMessage format string
- Permission:
/zealouschat format set world <world> <format>
— Define world-specific format- Permission:
chatplugin.admin.format
- Parameters:
<world>
: World name<format>
: MiniMessage format string
- Permission:
/zealouschat format list
— List all current chat formats- Permission:
chatplugin.admin.format
- Permission:
Feature Toggles
/zealouschat toggle colors
— Enable/disable color codes in chat- Permission:
chatplugin.admin.toggle
- Permission:
/zealouschat toggle formatting
— Enable/disable text formatting- Permission:
chatplugin.admin.toggle
- Permission:
/zealouschat toggle mentions
— Enable/disable player @mentions- Permission:
chatplugin.admin.toggle
- Permission:
/zealouschat toggle cooldown
— Enable/disable chat cooldown- Permission:
chatplugin.admin.toggle
- Permission:
Private Messaging
/msg <player> <message>
— Send a private message (aliases:/message
,/tell
,/whisper
,/w
)- Permission:
chatplugin.message
- Parameters:
<player>
: Recipient player name<message>
: Message text
- Permission:
/reply <message>
— Reply to the last private message sender (aliases:/r
,/respond
)- Permission:
chatplugin.message
- Parameters:
<message>
: Reply text
- Permission:
Chat & Social Spy Toggles
/zealouschat toggle chat
— Toggle your public chat on/off- Permission:
chatplugin.toggle.chat
- Permission:
/zealouschat toggle messages
— Toggle your private messages on/off- Permission:
chatplugin.toggle.messages
- Permission:
/zealouschat toggle socialspy
— Enable/disable social spy for private messages- Permission:
chatplugin.socialspy
- Permission:
/zealouschat toggle status
— View your current chat & private message status- Permission:
chatplugin.status
- Permission:
Administrator Controls
/zealouschat admin clear <type>
— Clear various chat-related data- Permission:
chatplugin.admin
- Parameters:
<type>
: One of:toggles
(resets all chat toggles),socialspy
(resets all social spy states),cooldowns
(clears message cooldowns), orall
(clears all data)
- Permission:
/zealouschat admin toggle chat <player> <true|false>
— Force toggle public chat for a player- Permission:
chatplugin.admin
- Parameters:
<player>
: Target player name<true|false>
: Enable or disable chat
- Permission:
/zealouschat admin toggle messages <player> <true|false>
— Force toggle private messages for a player- Permission:
chatplugin.admin
- Parameters:
<player>
: Target player name<true|false>
: Enable or disable private messages
- Permission:
/zealouschat admin toggle all <player> <true|false>
— Force toggle both chat & private messages- Permission:
chatplugin.admin
- Parameters:
<player>
: Target player name<true|false>
: Enable or disable both
- Permission:
/zealouschat admin socialspy <player> <true|false>
— Force toggle social spy for a player- Permission:
chatplugin.admin
- Parameters:
<player>
: Target player name<true|false>
: Enable or disable social spy
- Permission:
/zealouschat admin stats
— Display server-wide chat and private message toggle statistics- Permission:
chatplugin.admin
- Permission:
Quick Start
- Drop the built jar into
plugins/
and restart. - Edit
plugins/ZealousChat/config.conf
– changes can be reloaded with/zealouschat reload
. - Grant players a format permission such as
chatplugin.format.vip
or allow colours withchatplugin.color
.
Placeholders
All Chat, PM and config strings support MiniMessage plus any PlaceholderAPI tags when the plugin is present.
Supported Versions / Dependencies
- PaperMC / Spigot 1.20.4+ (may work on older versions, mostly untested)
- Java 21+
- (Optional) PlaceholderAPI for external placeholders
Permissions
Click to view permission nodes
Node | Default | Description |
---|---|---|
chatplugin.* |
op | Grant everything |
chatplugin.admin |
op | Access root/admin commands |
chatplugin.admin.reload |
op | Reload configuration |
chatplugin.admin.info |
op | View plugin info |
chatplugin.admin.test |
op | Test formatting |
chatplugin.admin.format |
op | Manage chat formats |
chatplugin.admin.toggle |
op | Toggle plugin features |
chatplugin.color |
true | Use colour codes in chat |
chatplugin.formatting |
true | Use text formatting codes |
chatplugin.url |
true | Send clickable URLs |
chatplugin.mention |
true | Use @mentions |
chatplugin.bypass.cooldown |
op | Bypass chat/message cooldowns |
chatplugin.format.admin |
op | Use Admin chat format |
chatplugin.format.moderator |
false | Use Moderator chat format |
chatplugin.format.vip |
false | Use VIP chat format |
chatplugin.message |
true | Send & receive private messages |
chatplugin.toggle |
true | Parent of chat/message toggle perms |
chatplugin.toggle.chat |
true | Toggle public chat |
chatplugin.toggle.messages |
true | Toggle private messages |
chatplugin.status |
true | View own chat status |
chatplugin.socialspy |
op | Monitor private messages |
chatplugin.commandspy |
op | Monitor player commands |
chatplugin.bypass.chattoggle |
op | Chat even when disabled |
chatplugin.bypass.messagetoggle |
op | PM even when disabled |
chatplugin.viewinventory |
true | View shared inventories |
chatplugin.inventory.placeholders |
true | Use inventory placeholders |
Need help?
• Discord: Join Here
Details
Licensed ARR
Published a month ago
Updated 11 days ago