Hi! When I play Minecraft I find the chat stuck in 2011: extremely basic compared to the complexity of the game, and when I look for mods to fix that, I only find light and quite useless mods that force me to install 5 more and remove 7 from my modpack for incompatibility, or a few monstrously monolithic mods that require 2 hours to understand and configure, so I decided to develop this mod to add the features that I feel are missing in Minecraft Vanilla Chat, SAKChat is a modular, lightweight client-side Fabric mod built to filter, personalize and automate chat. It's fully configurable using the in-game GUI (using ModMenu or /sakchat gui) or by editing the JSON files directly. (Just a heads-up: if you break the JSON syntax, the mod will safely reset the file to default, so be careful!). Hope you like it! :D
Since it's 100% client-side, it works everywhere: singleplayer, multiplayer and Realms. Servers won't even know you're running it.
This mod never stores without permission or sends personal data to the developer or third parties. Fabric API and Cloth Config API are required
Modes and Modules
Triggers
Reactions to specific chat keywords or regular expressions.
Supports regex/text, case-sensitive/insensitive Actions:
- Sound alert
- message highlight
- hotbar HUD popups
- toast notifications blacklist Cooldowns to prevent chat spam Optional auto-run shortcuts on match
Shortcuts
Sends commands or text instantly. Supports keybinding and placeholders
Optional arguments positions are defined via % (extra arguments append to the end)
Translations
Automatically translates chat messages using an API Provider (google or custom one).
Placeholders
Gets data from the game in real time and injects it in messages or shortcuts.
Player Data: Health, hunger, armor, exact coordinates and facing direction Technical Info: Server IP, FPS, OS and RAM usage Shortcuts integration
Chat Recorder
Logs raw, unfiltered chat history by world/server into minecraft/sakchat/records/ in two formats: txt (for quick and easy use) and jsonl (here are saved the messages with their color and graphic details, you can open it in game with /sakchat display)
Anti-Doxxing & Anti-Leak
Blocks emails, IPs, phone numbers and coordinates in incoming/outgoing text
For outgoing texts you can one-time bypass it by beginning your message with #leak#
Streamer Mode
Username masking (does not prevent triggers with your username from being activated)
Mute Chat
Completely hide chat when enabled This does not prevent the other modules from working normally Sending messages (not commands) will be prevented
How are messages processed?
Incoming Text
Chat Packet -> Mute Chat -> Record Engine -> Streamer Mode -> Anti-Doxxing -> Trigger Engine -> Actions [Sound Alert -> HUD Popup -> Toast -> shortcut -> blacklist -> highlight] -> Chat
Outgoing Text
Chat -> Mute Chat* -> Anti-Leak -> Placeholder Engine -> Shortcut -> Chat Packet
*For outgoing texts, Mute chat prevents sending messages if enabled but allows sending commands
When incoming messages are modified you can still view the original messages by hovering the [⏎] prefix, reading the .txt record or the formatted .jsonl with
/sakchat display
Configuration Files
Everything lives inside .minecraft/config/sakchat/:
- triggers.json
- shortcuts.json
- config.json
The regex patterns compiling and the config loading/saving is executed asynchronously when the game loads or configs are edited, so you won't experience any gameplay stutters
Important Commands
/sakchat help— Shows the list of commands/sakchat gui— Opens the configuration settings directly/sakchat save— Forces the current settings to save to your disk/sakchat display [optional: path relative to minecraft/sakchat/records]— display a formatted record of in-game chat (if no path is provided it opens the last one), chat recorder has to be enabled!/sakchat reload— Forces the mod to re-import files from your disk (only available in dev mode)/sakchat modes <mode> toggle <true/false>— toggle modes on and off/sakchat modules <module> toggle <true/false>— toggle modules on and off/sc <id> [args...]— Runs a custom shortcut instantly