
Chat Mod
MOTD Ingame, Full custom info command setup, Timed Broadcasts, Broadcasts for events with the world clock for events and countdowns :)
Список изменений
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
📋 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 chat/title/actionbar/bossbar — send an ad-hoc broadcast to a single specific player (existing global bcnow commands unchanged)
📦 Items GUI — Paging
/cm items — 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)
