ChTR
Simple mod for Global and Local chat
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
ChTR
A chat mod with two modes: - Global chat by prefix (default: `!`) - Local chat by radius (default: `100` blocks)
If nobody is in range for a local message, the sender gets a warning.
Compatibility
- Minecraft: `1.21.1` - NeoForge: `21.1.222+` - Java: `21`
Clients do not need this mod installed: all chat logic runs on the server side.
How It Works
- A message starting with `globalPrefix` is sent to all players. - A regular message is sent only to players in the same dimension within `localChatRadius`. - If there are no listeners, an optional warning can be shown (`warnIfNoListeners`).
Configuration (`config/chatter-common.toml`)
Available settings:
- `globalPrefix` Global chat prefix. Default: `"!"`
- `localChatRadius` Local chat radius in blocks. Default: `100.0`
- `globalMessageFormat` Global message format. Default: `"&6[G] <{player}> {message}"`
- `localMessageFormat` Local message format. Default: `"&7[L] <{player}> {message}"`
- `emptyGlobalMessage` Message shown when `globalPrefix` is used without text. Default: `"&cYou must type message text after {prefix}."`
- `noListenersMessage` Warning shown when nobody heard a local message. Default: `"&cNobody heard you within {radius} blocks."`
- `echoLocalToSender` Whether to show local messages to the sender. Default: `true`
- `warnIfNoListeners` Whether to show warning when local message has no listeners. Default: `true`
Placeholders
Supported in formats and warning messages: - `{player}` - player name - `{message}` - message text - `{radius}` - current local chat radius - `{prefix}` - current global chat prefix - `{listeners}` - number of listeners
Colors and Styles
Supported `&` formatting codes: - Colors: `&0..&9`, `&a..&f` - Styles: `&l`, `&o`, `&n`, `&m`, `&k` - Reset: `&r` - Literal `&`: `&&`
Example Config
```toml globalPrefix = "!" localChatRadius = 120.0 globalMessageFormat = "&6[GLOBAL] &f<{player}> &e{message}" localMessageFormat = "&7[LOCAL {radius}] &f<{player}> {message}" emptyGlobalMessage = "&cYou must type text after {prefix}." noListenersMessage = "&cNobody heard you ({radius} blocks)." echoLocalToSender = true warnIfNoListeners = true ```