Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Creators
Details
ChatMod - Advanced Server Messaging & Info
ChatMod transforms your server's communication! This powerful server-side Fabric mod provides administrators with robust tools to engage players, deliver announcements, and manage server information efficiently. Enhance server interaction through highly customizable broadcast messages, dynamic MOTD, user-definable info commands, interactive chat replacements, and more.
📧 Contact Me & Support Information
💬 Primary Support Channel (Preferred)
All general questions, feature requests, and non-urgent bug reports should be posted in the appropriate channels on our Discord Server. We actively monitor the server and will respond as soon as possible. This ensures that the whole community can benefit from the discussion and solutions.
🆘 Urgent Private Messaging (PM) Policy
While we prefer all issues to be handled via the Discord server first, you are welcome to PM me directly under specific urgent circumstances:
- Allowed Reason: Your server is crashing or experiencing critical, game-breaking errors directly related to one of my mods/plugins.
- Requirement: You must be the owner of the server.
- Time Zone: I am operating in the (CET/CEST) Time Zone.
- PM Hours: Please only send private messages between 10:00 AM and 10:00 PM (Brussels Time).
I will endeavor to answer your PM as soon as I can to be helpful and see what I can do to resolve your urgent issue. However, please understand that immediate responses are not guaranteed, and private messaging is a professional courtesy, not an entitlement. Thank you for your understanding and cooperation!
Features
Dynamic Message of the Day (MOTD)
- Greet players with personalized welcome messages upon joining.
- Utilize a rich set of placeholders (player name, playtime, last login, server stats).
- Fully customizable message content with Minecraft color codes (
&c), hex colors (&#RRGGBB), text formatting, and interactive elements (hover/click). - Enable or disable via
chatmod.json.
Scheduled & Ad-Hoc Global Broadcasts
- Multiple Broadcast Types: Send messages as standard
CHAT,ACTION_BAR, prominentTITLE(with subtitle), or dynamicBOSSBAR(with custom color/style). - Predefined Broadcasts: Create named templates (e.g.,
"vote_reminder","event_soon") inpredefined_broadcasts.jsonfor easy reuse. Control visibility with optional permission nodes per broadcast. - Ad-Hoc Broadcasts: Send one-off global messages directly with
/chatmod bcnow <message>. You can also specify types using scheduling arguments. - Advanced Scheduling (
/chatmod time ...):- Delayed Single Broadcast: Send a predefined or ad-hoc message once after a specified delay (e.g.,
/chatmod time 10m bc promo_event). - Repeating Broadcasts: Schedule broadcasts to repeat a set number of times over a total duration.
- Example:
/chatmod time 30m often 5 bc event_promo- sends "event_promo" globally immediately, then 4 more times spread over 30 minutes.
- Example:
- Supports time units:
s(seconds),m(minutes),h(hours),d(days).
- Delayed Single Broadcast: Send a predefined or ad-hoc message once after a specified delay (e.g.,
- Placeholder Support: Broadcasts can use placeholders like
%online_players%,%time%,%date%,%countdown%(for scheduled sequences), and more. - Legacy Cycling Broadcasts: Includes a traditional cycling broadcast system configurable in
chatmod.json(interval, messages, type).
Customizable Info Commands (e.g., /rules, /help)
- Create unlimited custom commands that display text from dedicated JSON files stored in
config/chatmod_info/. - Rich Content: Info files support multiple pages, full Minecraft text formatting, clickable actions (run command, suggest command, open URL, copy to clipboard), and hover text.
- Dynamic Management: Commands are generated automatically from files. Each generated command comes with subcommands to manage itself (e.g.,
/rules alias add /serverrules,/rules permission toggle). - Easy Creation: Use
/chatmod create <command_name>to generate a new file instantly.
Custom Placeholders & Chat Replacements
- Custom Triggers: Define custom keywords in
placeholders.json(e.g.,[spawn]) that automatically transform into formatted text, clickable links, or hoverable info when typed in chat. - Predefined Items:
[item]: Displays the item in a player's main hand (requireschatmod.chatitem).[item:#]: Displays a predefined item from the specified admin-configured slot (1-54) (requireschatmod.chatitem.number).
- GUI Management: Admins with
chatmod.items.editcan manage the 54 predefined item slots via an in-game GUI using/chatmod items.
Player Tagging & Mentions
- @PlayerName: Mention players using
@followed by their name.- Highlights the name and plays a ping sound for the target player.
- Requires
chatmod.player.tagpermission.
- @everyone: Notify all online players.
- Highlights "@everyone" and pings the entire server.
- Requires
chatmod.player.tag.everyonepermission.
- Dedicated Tag Command: Use
/tag <player> <message>to send a message that specifically highlights and notifies a target player.
Chat Color Permission
- Players with
chatmod.chat.colorspermission can use&style color codes (e.g.,&c,&#RRGGBB) in their regular chat messages.
Player Data Tracking
- Tracks player total playtime, first login time, and last login time for use in placeholders like
%playtime%or%last_play_time%. - Data is saved persistently per world in
chatmod_playerdata.json.
Comprehensive Configuration & Reloadable
chatmod.json: Main settings (MOTD, legacy broadcasts, server timezone).messages.json: Customizable system messages and info command headers/footers.placeholders.json: Configuration for custom text replacements and item formats.predefined_broadcasts.json: Define reusable named broadcast messages.scheduled_broadcasts.json: Persistent storage for active scheduled tasks.config/chatmod_info/*.json: Individual files for each custom info command.- Reloadable: Use
/chatmod reloadto refresh all configurations instantly.
Commands
/chatmod,/cm(Displays the main help interface)/chatmod reload(Reloads all ChatMod configs)/chatmod create <filename>(Creates a new custom info file/command)/chatmod list(Lists all active custom info commands)/chatmod testmotd(Tests the MOTD on yourself)/chatmod testbroadcast(Triggers the next legacy cycling broadcast)/tag <player> <message>(Sends a tagged message to a specific player)
Broadcast Commands (under /chatmod):
/chatmod bclist(Lists names of all predefined broadcasts)/chatmod bcshow <name>(Previews a predefined broadcast locally)/chatmod bc <name>(Sends a predefined broadcast immediately)/chatmod bcnow <message>(Sends an immediate ad-hoc broadcast)
Scheduling Commands (under /chatmod time ...):
/chatmod time <interval> [often <count>] bc <name>(Schedules a predefined broadcast)/chatmod time <interval> [often <count>] bcnow <message>(Schedules an ad-hoc broadcast)
Item Management:
/chatmod items(Opens the GUI for managing predefined items for[item:#])
Info File Management (Subcommands on your custom commands):
/<command> [page](Displays the info file)/<command> work(Toggles the command enabled/disabled)/<command> permission(Toggles permission requirement)/<command> permission set <node>(Sets the specific permission node)/<command> alias add <alias>(Adds an alias, e.g.,/rules->/serverrules)/<command> alias remove <alias>(Removes an alias)
Permissions
Click to view all permission nodes
chatmod.modinfo: Access to base/chatmodhelp.chatmod.reload: Access to/chatmod reload.chatmod.create: Access to/chatmod create.chatmod.list: Access to/chatmod list.chatmod.testmotd: Access to/chatmod testmotd.chatmod.testbroadcast: Access to/chatmod testbroadcast.chatmod.tag.command: Access to the/tagcommand.chatmod.bc.list: Access to/chatmod bclist.chatmod.bc.show: Access to/chatmod bcshow.chatmod.bc.sendnamed: Access to/chatmod bc.chatmod.bc.now: Access to/chatmod bcnow.chatmod.items: View-only access to/chatmod itemsGUI.chatmod.items.edit: Edit access to/chatmod itemsGUI.chatmod.name.modify: Access to modify info files (alias, permission, work toggles).chatmod.chatitem: Use[item]placeholder.chatmod.chatitem.number: Use[item:#]placeholder.chatmod.player.tag: Tag players with@Name.chatmod.player.tag.everyone: Tag everyone with@everyone.chatmod.chat.colors: Use color codes in chat.chatmod.info.<name>: Permission for specific custom info commands (if enabled).
Server Timezone Configuration (serverTimezone)
The serverTimezone setting in chatmod.json ensures accurate date/time placeholders (e.g., %time%, %date%, %datetime%). Use IANA timezone database names (e.g., Europe/Brussels, America/New_York, Asia/Tokyo).
Modpack Policy
- You ARE PERMITTED to include ChatMod in any modpack.
- Credit is appreciated but not strictly required.
- Please do not modify the mod's JAR file directly.
- The modpack itself, or access to this mod within the modpack, must not be sold.



