Community listing page, reviews here may not be monitored by the author.
ChatMod
No reviews yet
MOTD Ingame, Full custom info command setup, Timed Broadcasts, Broadcasts for events with the world clock for events and countdowns :)
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Community voices
Reviews
Filters
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
Install on the client or the server — either alone gives full functionality.
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
<h1><strong>ChatMod - Advanced Server Messaging & Info</strong></h1>
<p><strong>ChatMod</strong> 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.</p>
<details>
<summary>📧 Contact Me & Support Information (Click to expand)</summary>
<br>
<h3>💬 Primary Support Channel (Preferred)</h3>
<p><strong>All general questions, feature requests, and non-urgent bug reports should be posted in the appropriate channels on our <a href="https://discord.gg/48sZCbdHzJ">Discord Server</a>.</strong> 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.</p>
<h3>🆘 Urgent Private Messaging (PM) Policy</h3>
<p>While we prefer all issues to be handled via the Discord server first, you are welcome to PM me directly under <strong>specific urgent circumstances</strong>:</p>
<ul>
<li><strong>Allowed Reason:</strong> Your server is <strong>crashing</strong> or experiencing <strong>critical, game-breaking errors</strong> directly related to one of my mods/plugins.</li>
<li><strong>Requirement:</strong> You must be the <strong>owner</strong> of the server.</li>
<li><strong>Time Zone:</strong> I am operating in the <strong>(CET/CEST) Time Zone</strong>.</li>
<li><strong>PM Hours:</strong> Please only send private messages between <strong>10:00 AM and 10:00 PM (Brussels Time)</strong>.</li>
</ul>
<p>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 <strong>private messaging is a professional courtesy, not an entitlement.</strong> Thank you for your understanding and cooperation!</p>
</details>
<hr />
<h2>Features</h2>
<h3>Dynamic Message of the Day (MOTD)</h3>
<ul>
<li>Greet players with <strong>personalized welcome messages</strong> upon joining.</li>
<li>Utilize a rich set of <strong>placeholders</strong> (player name, playtime, last login, server stats).</li>
<li>Fully customizable message content with <strong>Minecraft color codes</strong> (&c), <strong>hex colors</strong> (&#RRGGBB), text formatting, and <strong>interactive elements</strong> (hover/click).</li>
<li>Enable or disable via <code>chatmod.json</code>.</li>
</ul>
<h3>Scheduled & Ad-Hoc Global Broadcasts</h3>
<ul>
<li><strong>Multiple Broadcast Types:</strong> Send messages as standard <code>CHAT</code>, <code>ACTION_BAR</code>, prominent <code>TITLE</code> (with subtitle), or dynamic <code>BOSSBAR</code> (with custom color/style).</li>
<li><strong>Predefined Broadcasts:</strong> Create named templates (e.g., "vote_reminder") in <code>predefined_broadcasts.json</code> for easy reuse.</li>
<li><strong>Ad-Hoc Broadcasts:</strong> Send one-off global messages directly with <code>/chatmod bcnow <message></code>.</li>
<li><strong>Advanced Scheduling:</strong>
<ul>
<li><strong>Delayed Single Broadcast:</strong> Send once after a delay (e.g., <code>/chatmod time 10m bc promo_event</code>).</li>
<li><strong>Repeating Broadcasts:</strong> Schedule broadcasts to repeat over a total duration. (Example: <code>/chatmod time 30m often 5 bc event_promo</code>).</li>
</ul>
</li>
<li><strong>Placeholder Support:</strong> Use <code>%online_players%</code>, <code>%time%</code>, <code>%date%</code>, <code>%countdown%</code>, and more.</li>
</ul>
<h3>Customizable Info Commands (e.g., /rules, /help)</h3>
<ul>
<li>Create <strong>unlimited custom commands</strong> that display text from dedicated JSON files.</li>
<li><strong>Rich Content:</strong> Supports multiple pages, full formatting, and <strong>clickable actions</strong> (run command, open URL, etc.).</li>
<li><strong>Dynamic Management:</strong> Commands are generated automatically. Includes subcommands for aliases and permissions.</li>
</ul>
<h3>Custom Placeholders & Chat Replacements</h3>
<ul>
<li><strong>Custom Triggers:</strong> Define keywords in <code>placeholders.json</code> (e.g., <code>[spawn]</code>) that transform into formatted text or links.</li>
<li><strong>Predefined Items:</strong>
<ul>
<li><code>[item]</code>: Displays the item in your main hand.</li>
<li><code>[item:#]</code>: Displays a predefined item from admin-configured slots (1-54).</li>
</ul>
</li>
</ul>
<h3>Player Tagging & Mentions</h3>
<ul>
<li><strong>@PlayerName:</strong> Highlights the name and plays a <strong>ping sound</strong> for the target.</li>
<li><strong>@everyone:</strong> Notify and ping all online players.</li>
<li><strong>Dedicated Tag Command:</strong> Use <code>/tag <player> <message></code> for specific notifications.</li>
</ul>
<hr />
<h2>Commands</h2>
<ul>
<li><code>/chatmod</code>, <code>/cm</code> - Main help interface</li>
<li><code>/chatmod reload</code> - Reloads all configurations</li>
<li><code>/chatmod create <filename></code> - Creates a new custom info file</li>
<li><code>/chatmod items</code> - Opens the GUI for managing predefined items</li>
<li><code>/tag <player> <message></code> - Sends a tagged message</li>
</ul>
<hr />
<h2>Permissions</h2>
<details>
<summary>Click to view all permission nodes</summary>
<ul>
<li><code>chatmod.modinfo</code>: Access to base /chatmod help.</li>
<li><code>chatmod.reload</code>: Access to /chatmod reload.</li>
<li><code>chatmod.create</code>: Access to /chatmod create.</li>
<li><code>chatmod.tag.command</code>: Access to the /tag command.</li>
<li><code>chatmod.items.edit</code>: Edit access to /chatmod items GUI.</li>
<li><code>chatmod.chatitem</code>: Use [item] placeholder.</li>
<li><code>chatmod.player.tag.everyone</code>: Tag everyone with @everyone.</li>
<li><code>chatmod.chat.colors</code>: Use color codes in chat.</li>
</ul>
</details>
<hr />
<h2>Modpack Policy</h2>
<ul>
<li>You <strong>ARE PERMITTED</strong> to include ChatMod in any modpack.</li>
<li>The modpack itself <strong>must not be sold</strong>.</li>
<li>Please do not modify the mod's JAR file directly.</li>
</ul>
ChatMod — Advanced Server Messaging & Chat
ChatMod is a server-side Fabric mod that gives administrators complete control over how the server communicates with players. Custom info commands, automated broadcasts, a rich MOTD, interactive chat with hover and click events, inline atlas sprite icons, player tagging with sound, persistent chat colours, predefined items, scheduled broadcasts — all configurable from YAML files with no restart required.
📧 Contact & Support
💬 Primary Support (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 it and will respond as soon as possible so the whole community benefits.
🆘 Urgent PM Policy
You may PM me directly only under specific urgent circumstances:
- Allowed reason: Your server is crashing or experiencing critical, game-breaking errors directly related to this mod.
- Requirement: You must be the server owner.
- Time zone: (CET/CEST) — Brussels Time
- PM hours: 10:00 AM – 10:00 PM Brussels Time only
Immediate responses are not guaranteed. Private messaging is a professional courtesy, not an entitlement. Thank you for your understanding!
⚠️ Version Note — Atlas Sprite Icons
Atlas sprite icon features (
[#SpriteName],[#item],[##item], custom placeholder icons, player head sprites) require Minecraft 1.21.9 or newer. Versions targeting 1.21.5 through 1.21.8 do not include these features. All other features are available on all supported versions.
Formatting — Used Everywhere
Every message in ChatMod — broadcasts, MOTD, info files, chat — supports the same rich formatting syntax.
| Syntax | Result |
|---|---|
&a, &b, &c … |
Minecraft colour codes |
&#RRGGBB |
Hex colour codes |
&l &o &n &m &k &r |
Bold, italic, underline, strikethrough, obfuscated, reset |
Text{Hover text} |
Hoverable text with a tooltip |
Text{Hover}<action:run_command,/cmd> |
Hover + click to run a command |
Text{Hover}<action:suggest_command,/cmd> |
Hover + click to suggest a command |
Text{Hover}<action:open_url,https://…> |
Hover + click to open a URL |
Text{Hover}<action:copy_to_clipboard,value> |
Hover + click to copy text |
&+ at line start |
Centre the line in chat |
&= inside a string |
Insert a newline |
%player% %online_players% %time% %date% … |
Built-in placeholders |
| PlaceholderAPI placeholders | Supported when PlaceholderAPI is installed |
📢 Broadcasts
Set up automated cycling messages in chatmod.yml. Every broadcast entry supports four display types.
| Type | Where it appears |
|---|---|
CHAT |
Server chat, all players |
ACTION_BAR |
Above the hotbar |
TITLE |
Centre screen, large text |
BOSSBAR |
Top of screen boss bar |
Action Bar
- Single line stays visible for
duration_seconds(re-sent automatically, vanilla clears it after ~3 s without this). - Add a second line to show subtitle text in the title area alongside the action bar.
- Add more lines to cycle through them in sequence, each held for
duration_seconds.
Title Supports up to 4 lines per set:
- Main title
- Subtitle
- Action bar text (optional)
- Replaces the subtitle while line 3 is active (optional)
Add lines1:, lines2: … to cycle through multiple title screens within one broadcast entry, each displayed for duration_seconds.
Boss Bar
Multiple lines are displayed one after another as separate boss bars, each held for duration_seconds.
Broadcast controls
broadcast_enabled: true
broadcast_interval_seconds: 300
randomize_broadcast: false # true = random order instead of sequential
Per-player-count intervals — automatically adjust the broadcast interval based on online players:
players_5_interval_seconds: 240
players_10_interval_seconds: 180
players_25_interval_seconds: 120
🌅 MOTD
Greet players with a personalized message when they join. Supports all formatting, placeholders, hover and click events, and atlas sprite tokens.
motd_enabled: true
motd_messages:
- lines:
- "&+&bWelcome, %player%!"
- "&7Playtime: &e%playtime% &7Last seen: &e%last_play_time%"
Use /cm testmotd to preview without rejoining.
📄 Custom Info Commands
Create unlimited custom text commands from YAML files — /rules, /help, /discord, /info, or any name you choose. ChatMod registers them as real server commands and supports multiple pages and named sections per file.
Create a new one:
/cm create rules
This generates config/chatmod_info/rules.yml which you edit freely, then /cm reload.
Managing your info commands:
| Command | What it does |
|---|---|
/rules |
Shows page 1 (or section named page1) |
/rules 2 |
Shows page 2 by number |
/rules section_name |
Shows a named section directly |
/rules work |
Toggles the command on or off |
/rules permission |
Toggles permission requirement on or off |
/rules permission set chatmod.rules |
Sets the required permission node |
/rules alias add r |
Adds /r as an alias |
/rules alias remove r |
Removes the alias |
/cm list |
Lists all registered info commands |
Pages can link to each other using click actions, making full multi-section help menus easy to build.
📡 Predefined & Scheduled Broadcasts
Define reusable named broadcasts in predefined_broadcasts.yml and send or schedule them from commands.
/cm bc event_soon — send immediately to all players
/cm bcshow event_soon — preview it yourself first
/cm bclist — see all available broadcasts
/cm time 20m often 5 bc event_soon — send 5 times spread over 20 minutes
/cm time 30m bcnow CHAT Hello everyone! — send ad-hoc text after 30 minutes
Each predefined broadcast supports all four display types (CHAT, ACTION_BAR, TITLE, BOSSBAR), permission gating, and full formatting.
For ad-hoc one-off messages without a predefined entry:
/cm bcnow CHAT &aServer event starting now!
/cm bcnow TITLE &6Event! | &eGet to spawn!
/cm bcnow <player> CHAT &eYou have been selected!
🎨 Atlas Sprite Icons (1.21.9+ only)
Render any Minecraft texture atlas sprite inline in any message — chat, MOTD, broadcasts, info files.
| Syntax | Result |
|---|---|
[#diamond] |
Diamond item sprite |
[#grass_block] |
Grass block sprite |
[#playerhead:Name] |
Named player's head sprite |
[#item] |
Sprite of the item you're holding |
[##item] |
Sprite only, no item name |
[#item:3] |
Sprite of predefined item slot 3 |
Sprite aliases and vanilla texture overrides are configured in sprites.yml. You can remap any token to a custom atlas path — for example, make [#chest] show a christmas chest texture.
Sprites work in every context: chat messages, MOTD, broadcasts, info files, hover tooltips, and as persistent chat colour prefixes.
👤 Player Identity Tokens
Reference any online player as an interactive inline element anywhere ChatMod formatting is supported.
| Syntax | Displays |
|---|---|
[@Name] |
Formatted player name with hover profile and click action |
[#@Name] |
Player head sprite + formatted name |
[##@Name] |
Player head sprite only |
[@%player%] |
Dynamic — resolves to the player viewing the message |
Hover profiles in placeholders.yml let you define different tooltips per permission group. Admins can see UUID, ping, world and balance; regular players see rank and balance. Profiles are selected based on the named player's permissions and support full ChatMod formatting including sprites.
🏷️ Player Tagging & Mentions
Type @PlayerName or PlayerName@ in chat to tag someone. They hear a distinct ping sound and see their name highlighted. Use @everyone or everyone@ to notify the whole server (different sound, separate permission).
Tag formats are configured in placeholders.yml under player_tag_format and everyone_tag_format.
💬 Chat Features
Colour & formatting control — Two separate permissions:
chatmod.chat.color— allows&0–&fand&#RRGGBBhex in chatchatmod.chat.format— allows&l,&o,&n,&m,&k,&rin chat
Grant both, one, or neither independently.
Persistent chat colour — Players set a permanent colour for all their chat messages:
/cm chatcolor aqua
/cm chatcolor #FF5500
/cm chatcolor b ← legacy code shorthand
Admins can set it for other players too with the chatmod.chatcolor.others permission.
Sprite prefixes — Set an atlas sprite as your chat colour prefix (1.21.9+):
/cm chatcolor [#dirt]
/cm chatcolor [#diamond]
/cm chatcolor player ← uses your own player head
Inline item display — Players can show their held item in chat using [item], [#item] (with icon), or [##item] (icon only). Each has its own permission node.
Inline sprite icons — Type [#SpriteName] anywhere in chat to embed a sprite icon. Gated by chatmod.chaticon.
Custom placeholders — Typed shortcuts in chat that expand to formatted, interactive text with hover and click events. Defined in placeholders.yml.
📦 Predefined Items & GUI
Store up to 54 items per page (unlimited pages) as shared references, displayed in chat via [item:N], [#item:N], or [##item:N].
Manage items through a visual chest GUI:
/cm items ← opens page 1
/cm items 2 ← opens page 2
Items are stored with full NBT data so custom names, lore, enchantments, and all other properties are preserved exactly.
🔧 Custom Placeholders
Define your own typed shortcuts in placeholders.yml that players type in chat and ChatMod expands into formatted, interactive output.
custom_placeholders:
spawn:
typed: '[spawn]'
chatmod: '&bSpawn&r'
hover: '&bClick to teleport to spawn.'
icon: grass_block
runcommand: /spawn
Each placeholder supports a display text, hover tooltip, click action (run command / suggest command / open URL), and an optional sprite icon. A permission node can be required to use it.
⚙️ Configuration
All configuration is in YAML files under config/chatmod/. No restart needed — use /cm reload after any edit.
| File | Contains |
|---|---|
chatmod.yml |
MOTD, cycling broadcasts, intervals, randomize |
predefined_broadcasts.yml |
Named reusable broadcast entries |
placeholders.yml |
Item formats, tag formats, hover profiles, custom placeholders |
messages.yml |
All player-facing system messages |
sprites.yml |
Sprite aliases and vanilla texture overrides |
config/chatmod_info/*.yml |
One file per custom info command |
PlaceholderAPI placeholders (e.g. %luckperms:prefix%) are resolved in all contexts when PlaceholderAPI is installed. ChatMod skips the API call when a message contains none, so there is no performance overhead for plain messages.
Commands
| Command | Description | Permission |
|---|---|---|
/cm reload |
Reload all configs without restart | chatmod.reload |
/cm create <name> |
Create a new info command | chatmod.create |
/cm list |
List all info commands | chatmod.list |
/cm testmotd |
Preview the MOTD | chatmod.testmotd |
/cm testbroadcast |
Trigger next cycling broadcast | chatmod.testbroadcast |
/cm bc <name> |
Send a predefined broadcast | chatmod.bc.sendnamed |
/cm bcnow <type> <text> |
Send an ad-hoc broadcast | chatmod.bc.now |
/cm bcnow <player> <type> <text> |
Send broadcast to one player | chatmod.bc.now |
/cm bclist |
List predefined broadcasts | chatmod.bc.list |
/cm bcshow <name> |
Preview a predefined broadcast | chatmod.bc.show |
/cm time <duration> [often <n>] bc <name> |
Schedule a predefined broadcast | chatmod.bc.sendnamed |
/cm time <duration> [often <n>] bcnow <text> |
Schedule an ad-hoc broadcast | chatmod.bc.now |
/cm chatcolor <value> |
Set your persistent chat colour | chatmod.chatcolor.self |
/cm chatcolor <value> <player> |
Set another player's chat colour | chatmod.chatcolor.others |
/cm items [page] |
Open predefined items GUI | chatmod.items |
/tag <player> [message] |
Tag a player with an optional message | chatmod.tag.command |
Permissions
Click to expand all permission nodes
Chat
| Node | Grants |
|---|---|
chatmod.chat.color |
Colour codes in chat (&0–&f, hex) |
chatmod.chat.format |
Formatting codes in chat (&l, &o, &n, &m, &k, &r) |
chatmod.chatitem |
[item] held item name in chat |
chatmod.chatitem.number |
[item:N] predefined item name |
chatmod.chatitem.icon |
[#item] sprite + name |
chatmod.chatitem.icon_only |
[##item] sprite only |
chatmod.chaticon |
[#SpriteName] sprite icons in chat |
chatmod.player.tag |
Tag players with @Name |
chatmod.player.tag.everyone |
Tag @everyone |
Chat Colour
| Node | Grants |
|---|---|
chatmod.chatcolor.self |
Set own chat colour |
chatmod.chatcolor.others |
Set other players' chat colour |
chatmod.chatcolors |
All named and hex colours (wildcard) |
chatmod.chatcolor.<name> |
Specific colour (e.g. chatmod.chatcolor.aqua) |
chatmod.chatcolor.RRGGBB |
Specific hex colour (e.g. chatmod.chatcolor.ff5500) |
chatmod.chatcolor.sprites |
Any sprite as chat colour prefix |
chatmod.chatcolor.sprite.<name> |
Specific sprite prefix (e.g. chatmod.chatcolor.sprite.dirt) |
chatmod.chatcolor.sprite.player |
Own player head as chat colour prefix |
Broadcasts
| Node | Grants |
|---|---|
chatmod.bc.now |
Send and schedule ad-hoc broadcasts |
chatmod.bc.sendnamed |
Send and schedule predefined broadcasts |
chatmod.bc.list |
List predefined broadcasts |
chatmod.bc.show |
Preview predefined broadcasts |
chatmod.broadcast.<name> |
Use a specific permission-gated broadcast |
Admin
| Node | Grants |
|---|---|
chatmod.reload |
Reload all configs |
chatmod.testmotd |
Test the MOTD |
chatmod.testbroadcast |
Trigger cycling broadcast |
chatmod.create |
Create info files |
chatmod.list |
List info commands |
chatmod.items |
Open predefined items GUI (read-only) |
chatmod.items.edit |
Edit predefined items via GUI |
chatmod.items.format |
Edit chat name prefix/suffix format |
chatmod.name.modify |
Manage info file settings (work, alias, permission) |
chatmod.tag.command |
Use the /tag command |
chatmod.modinfo |
Access /cm help pages |
Info Commands
| Node | Grants |
|---|---|
chatmod.info.<name> |
Access a specific permission-gated info command |
Internal (do not grant manually)
| Node | Grants |
|---|---|
chatmod.internal.page |
Navigate /cm help pages |
chatmod.internal.display |
Display info file content via click actions |
Modpack Policy
- ✅ You may include ChatMod in any modpack.
- ❌ The modpack must not be sold.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources