COWMODSКаталог модов

Chat Mod

MOTD Ingame, Full custom info command setup, Timed Broadcasts, Broadcasts for events with the world clock for events and countdowns :)

Автор: official.andy3,7 тыс.22обновлён 18 окт. 2026 г.
ДекорМеханики игрыУправление

Описание

ChatMod Logo

ChatMod — Advanced Server Messaging & Chat

Chat Mod Sprites Texture Pack

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.

SyntaxResult
&a, &b, &c …Minecraft colour codes
&#RRGGBBHex colour codes
&l &o &n &m &k &rBold, 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 startCentre the line in chat
&= inside a stringInsert a newline
%player% %online_players% %time% %date% …Built-in placeholders
PlaceholderAPI placeholdersSupported when PlaceholderAPI is installed

📢 Broadcasts

Set up automated cycling messages in chatmod.yml. Every broadcast entry supports four display types.

TypeWhere it appears
CHATServer chat, all players
ACTION_BARAbove the hotbar
TITLECentre screen, large text
BOSSBARTop 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:

  1. Main title
  2. Subtitle
  3. Action bar text (optional)
  4. 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:

CommandWhat it does
/rulesShows page 1 (or section named page1)
/rules 2Shows page 2 by number
/rules section_nameShows a named section directly
/rules workToggles the command on or off
/rules permissionToggles permission requirement on or off
/rules permission set chatmod.rulesSets the required permission node
/rules alias add rAdds /r as an alias
/rules alias remove rRemoves the alias
/cm listLists 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.

SyntaxResult
[#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.

SyntaxDisplays
[@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–&f and &#RRGGBB hex in chat
  • chatmod.chat.format — allows &l, &o, &n, &m, &k, &r in 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.

FileContains
chatmod.ymlMOTD, cycling broadcasts, intervals, randomize
predefined_broadcasts.ymlNamed reusable broadcast entries
placeholders.ymlItem formats, tag formats, hover profiles, custom placeholders
messages.ymlAll player-facing system messages
sprites.ymlSprite aliases and vanilla texture overrides
config/chatmod_info/*.ymlOne 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

CommandDescriptionPermission
/cm reloadReload all configs without restartchatmod.reload
/cm create <name>Create a new info commandchatmod.create
/cm listList all info commandschatmod.list
/cm testmotdPreview the MOTDchatmod.testmotd
/cm testbroadcastTrigger next cycling broadcastchatmod.testbroadcast
/cm bc <name>Send a predefined broadcastchatmod.bc.sendnamed
/cm bcnow <type> <text>Send an ad-hoc broadcastchatmod.bc.now
/cm bcnow <player> <type> <text>Send broadcast to one playerchatmod.bc.now
/cm bclistList predefined broadcastschatmod.bc.list
/cm bcshow <name>Preview a predefined broadcastchatmod.bc.show
/cm time <duration> [often <n>] bc <name>Schedule a predefined broadcastchatmod.bc.sendnamed
/cm time <duration> [often <n>] bcnow <text>Schedule an ad-hoc broadcastchatmod.bc.now
/cm chatcolor <value>Set your persistent chat colourchatmod.chatcolor.self
/cm chatcolor <value> <player>Set another player's chat colourchatmod.chatcolor.others
/cm items [page]Open predefined items GUIchatmod.items
/tag <player> [message]Tag a player with an optional messagechatmod.tag.command

Permissions

Click to expand all permission nodes

Chat

NodeGrants
chatmod.chat.colorColour codes in chat (&0–&f, hex)
chatmod.chat.formatFormatting 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.tagTag players with @Name
chatmod.player.tag.everyoneTag @everyone

Chat Colour

NodeGrants
chatmod.chatcolor.selfSet own chat colour
chatmod.chatcolor.othersSet other players' chat colour
chatmod.chatcolorsAll named and hex colours (wildcard)
chatmod.chatcolor.<name>Specific colour (e.g. chatmod.chatcolor.aqua)
chatmod.chatcolor.RRGGBBSpecific hex colour (e.g. chatmod.chatcolor.ff5500)
chatmod.chatcolor.spritesAny sprite as chat colour prefix
chatmod.chatcolor.sprite.<name>Specific sprite prefix (e.g. chatmod.chatcolor.sprite.dirt)
chatmod.chatcolor.sprite.playerOwn player head as chat colour prefix

Broadcasts

NodeGrants
chatmod.bc.nowSend and schedule ad-hoc broadcasts
chatmod.bc.sendnamedSend and schedule predefined broadcasts
chatmod.bc.listList predefined broadcasts
chatmod.bc.showPreview predefined broadcasts
chatmod.broadcast.<name>Use a specific permission-gated broadcast

Admin

NodeGrants
chatmod.reloadReload all configs
chatmod.testmotdTest the MOTD
chatmod.testbroadcastTrigger cycling broadcast
chatmod.createCreate info files
chatmod.listList info commands
chatmod.itemsOpen predefined items GUI (read-only)
chatmod.items.editEdit predefined items via GUI
chatmod.items.formatEdit chat name prefix/suffix format
chatmod.name.modifyManage info file settings (work, alias, permission)
chatmod.tag.commandUse the /tag command
chatmod.modinfoAccess /cm help pages

Info Commands

NodeGrants
chatmod.info.<name>Access a specific permission-gated info command

Internal (do not grant manually)

NodeGrants
chatmod.internal.pageNavigate /cm help pages
chatmod.internal.displayDisplay info file content via click actions

Modpack Policy

  • ✅ You may include ChatMod in any modpack.
  • ❌ The modpack must not be sold.

Последние версии

Все версии →
release

Chat Mod 2.1.6

2.1.6
18 окт. 2026 г.104Minecraft: 26.3fabric
Скачать
release

Chat Mod 2.1.6

2.1.6
18 окт. 2026 г.32Minecraft: 26.2fabric
Скачать
release

Chat Mod 2.1.6

2.1.6
18 окт. 2026 г.26Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
New key added to Chatmod.yml: chat_name_format: "<%name%> " Previously we relied on ChatFormatMod or StyledChat to handle the vanilla <> symbols around the players name now you dont need either. Disclaimer this key does not work when either ChatFormatMod or StyledChat is installed, they will take over this format.
release

Chat Mod 2.1.5

2.1.5
15 сент. 2026 г.169Minecraft: 26.3fabric
Скачать
release

Chat Mod 2.1.5

2.1.5
16 июн. 2026 г.457Minecraft: 26.2fabric
Скачать
release

Chat Mod 2.1.5

2.1.5
14 июн. 2026 г.145Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
A hand full of changes in the background of the mod Compatibility with a soon to be accepted mod (under review) Chat Format Mod https://modrinth.com/mod/chatformatmod A handfull of Atlas Sprites being fixed mostly plant seeds / items related
release

Chat Mod 2.1.1

2.1.1
23 мая 2026 г.81Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
## What's new ### 🐛 Bug fixes - **Server lag & elytra resets on broadcast** — Broadcasts no longer cause a main-thread freeze when PlaceholderAPI is installed but the message doesn't use any of its placeholders. This was causing players to lose momentum and elytra to cut out mid-flight. - **Action bar duration ignored** — Action bar messages now stay visible for the full `duration_seconds` instead of disappearing after ~3 seconds. - **TITLE line 4 not showing** — The fourth line (subtitle override) now displays correctly alongside the action bar line. --- ### ✨ New features **`randomize_broadcast`** — Set to `true` to play broadcasts in random order instead of looping them in sequence. ```yaml randomize_broadcast: false ``` **Per-player-count intervals** — Automatically speed up or slow down broadcasts based on how many players are online. ```yaml players_5_interval_seconds: 240 players_10_interval_seconds: 180 players_25_interval_seconds: 120 ``` **ACTION_BAR upgrades** - Messages now hold for the full `duration_seconds` - 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 for `duration_seconds` **BOSSBAR multi-line** — Add multiple lines to a bossbar broadcast and they will appear one after another, each for `duration_seconds`. **TITLE upgrades** - Now supports up to 4 lines: title / subtitle / action bar / subtitle override - Add `lines1:`, `lines2:` etc. to cycle through multiple title screens in sequence within a single broadcast entry
release

Chat Mod 2.1.0

2.1.0
16 мая 2026 г.35Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
Restoring the Console messages logging with an off toggle in config
release

Chat Mod 2.1.0

2.1.0
16 мая 2026 г.25Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
ChatMod — Major Update 🧱 Atlas Sprite System — Overhaul [#blockname] sprite tokens now work in every config context — MOTD, interval broadcasts, predefined broadcasts, info files, and chat — no longer restricted to OP-level players sprites.yml vanilla_replacements section now takes highest priority over all built-in sprite logic, including for [#chest]-style tokens (previously vanilla replacements only applied to held-item display, not typed tokens) [#chest] and any [#blockname] token now uses the same custom replacement as holding that item 👤 Player Head & Player Reference System — New Feature [#playerhead:Name] — renders an inline player head sprite glyph in any context [@Name] — renders a formatted player name (text only) with hover and click [#@Name] — renders player head sprite + formatted name with hover and click [##@Name] — renders player head sprite only with hover and click All three accept %player% variants for dynamic contexts: [@%player%], [#@%player%], [##@%player%] Bare forms [@], [#@], [##@] resolve to the current player context (self) All work in every config: chat, MOTD, broadcasts, predefined broadcasts, info files Player head uses the correct MC 26.1.x PlayerSprite component format ({"type":"object","player":{"name":"..."},"hat":true}) @name and name@ trailing form both accepted; [@name], [#@name], [##@name] now correctly excluded from the chat @-tag interceptor 💬 Player Name Hover — New Feature Hovering any player name in chat now shows a fully customisable tooltip instead of the vanilla "Name / Type: Player / UUID" popup Applies to chat display names, advancements, and all [@] / [#@] / [##@] tokens Permission-based hover profiles — define different tooltips for different ranks (e.g. admins see ping, UUID, world; regular players see rank and balance) Each profile has two independent sections: player_lines / player_command — shown when hovering the sender's name in chat chat_lines / chat_command — shown when hovering an inline [@Name] token Clicking a player name can trigger a command (suggest:/msg %player% by default) EcobalAPI support — %ecobal_balance% and %ecobal_balance_formatted% available in hover lines (soft dependency, no crash if not installed) TextPlaceholderAPI placeholders supported in hover lines (e.g. %luckperms:primary_group_name%) Hover styles no longer bleed into the chat message body (isolated to the name component leaf nodes only) 🏷️ @Tag System — Improvements @PlayerName and PlayerName@ both accepted as tag forms @everyone and everyone@ both accepted; output always renders as @everyone at the front Tag formats (player_tag_format, everyone_tag_format) moved from messages.yml to placeholders.yml alongside all other formatting configuration 🎨 Chat Colour — New Feature (/cm chatcolor) /cm chatcolor blue — set a persistent colour that prepends every chat message /cm chatcolor b or /cm chatcolor &b or /cm chatcolor 14568f — all input forms accepted /cm chatcolor [#dirt] — use an atlas sprite as a chat prefix /cm chatcolor player — use your own player head sprite as a chat prefix /cm chatcolor (bare command, no argument) — clears your colour /cm chatcolor <code> <player> — admins can set/clear other players' colours Permission nodes: chatmod.chatcolor.self, chatmod.chatcolor.others, chatmod.chatcolor.<colorname>, chatmod.chatcolor.RRGGBB (hex), chatmod.chatcolor.sprites (all sprites), chatmod.chatcolor.sprite.<name>, chatmod.chatcolors (all colours wildcard) 📋 Permission Split — chatmod.chat.colors chatmod.chat.colors replaced by two separate nodes: chatmod.chat.color — allows colour codes (&0–&f, &#RRGGBB) in chat chatmod.chat.format — allows formatting codes (&l, &o, &n, &m, &k, &r) in chat 📢 Broadcast System — Improvements broadcast_randomize: true — broadcasts picked randomly instead of in order Per-player-count intervals — broadcast_player_count_intervals list: configure shorter intervals at higher player counts, evaluated dynamically every tick /cm bcnow <player> chat/title/actionbar/bossbar <message> — send an ad-hoc broadcast to a single specific player (existing global bcnow commands unchanged) 📦 Items GUI — Paging /cm items <page> — GUI now supports unlimited item pages (54 items per page) [item:N] placeholder slot numbers are now unbounded (page 2 = slots 55–108, etc.) /cm items 2, /cm items 3, etc. — open subsequent pages Items on other pages are preserved when editing any single page ⚙️ Config — placeholders.yml Expanded All player-name and tag formatting now centralised in placeholders.yml New fields: player_tag_format, everyone_tag_format, player_name_format, player_icon_name_format, player_icon_only_format New player_hover_profiles map replacing the old single hover format — supports named profiles with permissions, separate player/chat sections, and independent click commands All player_* format strings support full ChatMod syntax including sprite tokens and [##@%player%] ⚙️ Config — chatmod.yml New Fields broadcast_randomize: true/false broadcast_player_count_intervals: list of min_players + interval_seconds entries 🔧 Fixes &+ centering now correctly counts atlas sprite tokens as 1 character wide instead of ignoring them [#@Name] / [##@Name] / [@Name] tokens no longer intercepted by the @-tag pattern in chat processing Hover styles on player display names no longer propagate into the appended message body Player head sprite purple/black box fixed — correct MC 26.1.x JSON codec format used ({"type":"object",...} not {"type":"minecraft:object",...}) vanilla_replacements in sprites.yml now evaluated before aliases and built-in overrides (correct priority order)
release

Chat Mod 2.0.3

2.0.3
8 мая 2026 г.35Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать