CurseForge · Hytale mod
ChatStack
Finds which chat mod is silencing the others, and hands the chat line back to the one you want
Quick answer
Which ChatStack release should I use?
ChatStack-1.0.0.jar targets 0.6. Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer. No required dependencies listed for this file.
Where it goes
Where should ChatStack be installed in Hytale?
Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer.
Put Hytale mods on the world host or dedicated server. Singleplayer runs a local server too; Hytale does not use separate client mods.
What else does ChatStack-1.0.0.jar need?
ChatStack-1.0.0.jar. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional project dependencies. Check the creator notes before changing an existing world.
Before you install it
Add ChatStack without breaking your instance.
Built for ChatStack-1.0.0.jar. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use ChatStack-1.0.0.jar. It targets 0.6; another release may target a different game build or dependency set.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Enable it on the world host
Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer.
- 04
Pick the file you checked
Use the “Get this file” button beside ChatStack-1.0.0.jar. It opens that exact file at the source.
About this project
What does ChatStack add?
ChatStack
Find out which chat mod is silencing the others — and give the line back
Install two chat mods on a Hytale server and sometimes both work, sometimes only one does. No error, no warning, nothing in the log — the ranks prefix simply stops appearing, or the level badge does, and there is no way to tell which mod took the chat or why
ChatStack is the reason that stops happening
The problem, precisely
Hytale gives every chat message one formatter slot:
public class PlayerChatEvent {
private PlayerChatEvent.Formatter formatter; // one slot
public void setFormatter(Formatter f) { ... } // last writer replaces
}
Every chat mod has to claim that slot to do its job — and what happens with two of them depends entirely on how each was written:
- A mod that captures the formatter it finds and calls it leaves the others intact. Both show up
- A mod that ignores it silently erases everything beneath. One of them is dead weight
Nothing in the API distinguishes the two. From the outside, a working stack and a broken one look identical: one mod is on top, and you cannot see whether it kept the rest. There are more than ten published Hytale chat mods, and no way to know which pairs survive together
What ChatStack does
1. It tells you who is fighting, and who actually reaches players
/chatstack status lists every mod that claimed the chat formatter this session, named by its jar file, and says whether each one keeps what it found or replaces it:
ChatStack - 12 chat message(s) seen
[outermost] Azeys:PrefixesPlus claimed 12, keeps what it found
[nested] com.hytale:HyChat claimed 12, replaces what it found
All 2 mods reach players: each one calls the formatter below it
and when one of them is eating the others, it says so by name:
[outermost] SomeChatMod claimed 12, replaces what it found
[nested] Azeys:PrefixesPlus claimed 12, never runs
Azeys:PrefixesPlus never reaches players: SomeChatMod discards the formatter
it finds instead of calling it
Use /chatstack owner Azeys:PrefixesPlus to give it the chat line instead.
That information does not exist anywhere else today — not in the log, not in game
2. It lets you choose
/chatstack owner <mod> decides which mod owns the chat line, per server, in game or in config. No more "whichever loaded last". auto hands it back
How it works, honestly
ChatStack registers the same observation at six points across the chat dispatch, so a mod that claims the slot between two of them is caught by the later one. Between every pair of claims it leaves a marker that renders exactly what the formatter beneath it renders and notes that it was called. A marker being reached means precisely one thing — that mod called what it found — and that single fact is what the whole report is built from
It adds no calls to anyone's code. Each marker delegates exactly once, so every mod's formatter runs exactly as often as it would if ChatStack were not installed. Nothing is called with test input; nothing is invoked twice
It cannot break chat. Every probe is wrapped: a failure logs once and leaves the event untouched. A mod that only watches has no business taking a server's chat down with it
Its one honest limit: two mods that claim the slot between the same two probes are reported as one, because nothing of ChatStack's ran in between. In practice mods register at the named priorities, which is exactly where the probes sit
Install
Drop the jar in [GameFolder]/UserData/Mods/ (singleplayer) or [ServerFolder]/Mods/ (dedicated server). That is all
One jar. No dependencies. No early plugin, no bytecode patching, no launcher replacement. ChatStack uses nothing but Hytale's public plugin API
Requirements
Hytale 0.6.3 or later. Server-side only — players install nothing
Compatibility
ChatStack does not replace your chat mods, and it does not ask you to. It sits behind them and reports. Remove it and every mod behaves exactly as it did before
It works with mods released before it existed, and with mods released after it that never hear of it
What comes next
Reporting the conflict is the half that can be done with certainty. The other half — merging two mods' decorations into one line so both appear at once — is designed and prototyped, and will ship once it can be done without ever guessing. Taking a formatter apart means calling another mod's code with test input, and that is not something to switch on casually or by default
If you want it, say so on this page: it moves up the list
Project description from CurseForge.
Pick your setup
ChatStack releases for each Hytale build.
Choose the version and loader you play, then open the matching release.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
ChatStack releases and Hytale builds
ChatStack-1.0.0.jar
13 Sept 2026
Looking for an older file? The official CurseForge project page is in Resources.