Description
SChat
SChat is a lightweight and customizable chat enhancement mod for Minecraft Fabric.
It provides local and global chat channels, player chat bubbles, configurable formatting, player mentions, @user autocomplete, personalized highlight colors, prefix and suffix support, administrative controls, and automatic language support.
The goal is to improve multiplayer communication without unnecessarily replacing Minecraft's normal chat behavior.
Requirements
| Requirement | Version |
|---|---|
| Minecraft | 1.20.1 & 1.21.1 |
| Mod Loader | Fabric |
| Fabric Loader | 0.18.4 or newer |
| Fabric API | Required |
| Java | Java 17/21 |
| Installation | Client and Server |
SChat is designed to be installed on both the Minecraft client and the server.
The same mod JAR is used on both sides.
Main Features
Local Chat
SChat provides a proximity-based local chat system.
Messages sent through Local Chat are only received by players inside the configured range.
This makes conversations more natural on multiplayer servers and prevents nearby conversations from being sent to the entire server.
The local chat range can be configured by server administrators.
Global Chat
Global Chat allows messages to be sent to every player normally.
Servers can enable or disable Local and Global channels independently through the administrative interface.
Chat Bubbles
SChat can display messages above players using chat bubbles.
Chat bubbles provide a visual way to see who is speaking without constantly watching the normal Minecraft chat.
Players can customize the appearance of their own bubbles.
Available customization includes:
- Bubble background color
- Bubble border color
- Bubble text color
- Predefined color presets
Hexadecimal color fields are also available for manual customization.
Player Settings
Players can open their personal SChat settings using:
/chat
The player interface contains personal chat customization without exposing server administration options.
Available settings include:
- Chat highlight color
- Bubble background color
- Bubble border color
- Bubble text color
- Color presets
Highlight Color
Each player can select their own mention highlight color.
Available presets include:
- Blue
- Green
- Yellow
- Orange
- Red
- Purple
- Pink
- Brown
- Black
- Gray
- White
Custom hexadecimal colors are also supported.
The interface displays the color presets as compact color buttons next to the HEX field.
When additional colors no longer fit on the current row, they continue underneath while keeping the interface compact.
Player Mentions
Players can mention another online player using:
@PlayerName
Example:
Hello @Steve, how are you?
When a valid mention is received, SChat highlights the complete mention using the color selected by the mentioned player.
This includes both the @ symbol and the player name.
Mention Color Protection
Minecraft formatting codes used by the message sender cannot override the mentioned player's highlight color.
For example:
&6Hello @Steve how are you?
The normal message can remain gold while:
@Steve
uses Steve's configured highlight color.
Even if the sender tries:
&6Hello &1@Steve &6how are you?
the mention still uses Steve's own highlight color.
After the mention ends, SChat restores the formatting that was active before the mention.
Mention Visibility Rules
Mentions are only treated as real notifications when the mentioned player actually receives the corresponding chat message.
This prevents players from receiving mention sounds or notifications from conversations they could not normally see.
For example:
- Global messages can trigger mentions normally
- Local messages can trigger mentions only when the target player is inside the local chat range
- Messages displayed only as chat bubbles do not trigger mention notifications
When SChat is operating in a bubbles-only situation, @Player does not generate:
- Mention sounds
- Mention notifications
- Mention alerts
This prevents a player hundreds of blocks away from being notified about a nearby conversation they cannot read.
@User Autocomplete
SChat provides player autocomplete specifically for mentions.
Autocomplete activates only when the player types:
@
This means SChat does not replace Minecraft's normal player name TAB completion.
Typing a player name normally continues using vanilla Minecraft behavior.
Example:
@Ste
can suggest:
@Steve
while:
Ste
is left to Minecraft's normal autocomplete system.
Autocomplete Interface
Mention suggestions use a custom compact interface.
Each suggestion displays:
[Player Head] @PlayerName [TAB]
The player's Minecraft head is displayed instead of a generic arrow indicator.
The TAB indicator appears as a small button inside the suggestion instead of extending outside the autocomplete panel.
Chat Formatting
SChat supports configurable server-side chat formatting.
Formatting can include:
- Player names
- Prefixes
- Suffixes
- Message content
- Minecraft formatting codes
- Channel-specific formatting
Example format:
&b[G] {prefix}&f{player}{suffix}&7: &f{message}
Available formatting variables include:
{player}
{message}
{prefix}
{suffix}
Prefix Support
SChat supports a prefix value before the player's name.
Prefixes can be supplied by compatible external systems without requiring the external mod to be a mandatory dependency.
If no compatible prefix provider exists, the prefix remains empty.
Suffix Support
SChat also provides a suffix value that can be displayed after the player's name.
Example:
{suffix}
If no suffix provider is available, the value remains empty and chat continues working normally.
STags Compatibility
SChat includes compatibility preparation for the future STags mod.
STags can provide player tags to SChat through the prefix and suffix system.
The integration is optional.
SChat does not require STags to operate.
When STags is available, the integration can provide prioritized tags for chat formatting.
Tag Priority
If multiple tags are available for a player, STags can use their configured priority to determine which tag should appear.
The highest-priority applicable tag can be selected before being provided to SChat.
This keeps tag priority management inside STags while allowing SChat to display the final result.
SChat can also accept an already-resolved prefix or suffix from STags.
This avoids making SChat responsible for STags configuration rules.
Administrative Menu
Server administrators can access the SChat administration interface using:
/adminmenu
The main administration screen provides access to the server configuration sections without duplicating channel status information unnecessarily.
Channels & Formatting
Channel and formatting configuration is managed inside the dedicated:
Channels & Formatting
section.
This includes settings related to:
- Local Chat
- Global Chat
- Chat formatting
- Channel behavior
- Server formatting variables
Keeping these settings inside their own section makes the main administration menu cleaner.
Formatting Codes
SChat supports Minecraft-style formatting codes in configured chat messages.
Example:
&6Hello
can be displayed using the corresponding Minecraft color.
Mention formatting is handled separately so sender formatting cannot overwrite the mentioned player's configured highlight color.
Automatic Language Detection
SChat automatically uses the language selected by each player in Minecraft.
There is no separate language setting inside the mod.
Currently included languages:
| Language | Minecraft Code |
|---|---|
| English | en_us |
| Portuguese, Brazil | pt_br |
| Spanish | es_es |
| Japanese | ja_jp |
| Simplified Chinese | zh_cn |
| Hindi | hi_in |
| Arabic | ar_sa |
Different players connected to the same server can use different languages at the same time.
User Interface
SChat uses custom Minecraft menus designed to remain clean and easy to navigate.
The interface includes:
- Player chat settings
- Administrative settings
- Color selectors
- HEX color fields
- Compact color preset buttons
- Bubble customization
- Channel configuration
- Chat formatting configuration
- Mention autocomplete
- Player head previews
The interface is designed to remain compact even when several color options are available.
Server-Side Validation
Important chat behavior is controlled and validated by the server.
The client interface is not responsible for deciding which players should receive Local or Global messages.
Server-side logic determines:
- Message recipients
- Local chat distance
- Global message delivery
- Mention eligibility
- Mention notification eligibility
- Channel configuration
This prevents normal client-side manipulation from directly changing who receives server chat messages.
Player Configuration
SChat stores player-specific preferences so they remain available between sessions.
Stored settings can include:
- Mention highlight color
- Bubble background color
- Bubble border color
- Bubble text color
Server configuration is also persisted across restarts.
Vanilla Compatibility
SChat avoids replacing Minecraft functionality when it is unnecessary.
Normal TAB completion remains available for regular player names.
SChat's custom autocomplete is only activated for:
@Player
This allows normal Minecraft command and player autocomplete behavior to continue working.
Commands
/chat
Opens the player's SChat configuration menu.
/chat
Players can use this interface to customize their personal SChat settings.
/adminmenu
Opens the SChat administrative interface.
/adminmenu
Administrative access is intended for server operators.
Command Reference
| Command | Permission | Function |
|---|---|---|
/chat |
Player | Opens personal SChat settings |
/adminmenu |
Admin | Opens the SChat admin menu |
Installation
Client
- Install Minecraft 1.20.1 or 1.21.1.
- Install Fabric Loader.
- Install Fabric API.
- Place the SChat JAR inside the
modsfolder. - Start Minecraft.
Server
- Install a Fabric 1.20.1 or 1.21.1 server.
- Install Fabric API.
- Place the same SChat JAR inside the server
modsfolder. - Start the server.
- Configure SChat using the administrative menu.
SChat is designed to use the same mod installation on both client and server.
Optional Compatibility
SChat is designed so optional integrations do not become mandatory dependencies.
Current integration support includes preparation for:
STags
STags is not required to use SChat.
Without STags, prefix and suffix fields can remain empty or be supplied by another compatible integration.
Project Information
Mod: SChat
Author: Silas T.
Minecraft: 1.20.1 / 1.21.1
Loader: Fabric
Java: 17/21
License: All Rights Reserved




