SlateChat
A modular, channel-based chat plugin for Paper 1.21.x.
SlateChat replaces vanilla chat with a channel-based system. Instead of one global chat, players talk in channels — local (radius or world based) or global broadcasts — each with its own format, permission and behavior. It's written in Kotlin and continues the work started by SimplexChat by Lucas Manoel Lopes.
Requirements
PlaceholderAPI is required
SlateChat depends on PlaceholderAPI and will not load without it.
| Requirement | Version |
|---|---|
| Server | Paper 1.21.1+ |
| PlaceholderAPI | Required |
| DiscordSRV | Optional, enables Discord bridge |
| LuckPerms | Optional, used for prefixes/suffixes in chat format |
Features
- Local (radius/world) and global channels, plus your own custom channels
- Per-player chat color with
/chatcolor, supporting hex and legacy codes - MiniMessage and MineDown formatting, so links and gradients work straight from the config
- Chat focus, letting players lock themselves to a default channel
- Word filtering, with censoring or word-for-word replacement
- Spam (repeated character) and flood (repeated message) protection
- Action bar read receipts, showing a sender how many players saw their message
- Optional one-way bridge to DiscordSRV
Installation
Build requirements
Building from source requires Java 21 and Maven.
- Download the latest
SlateChat.jarbuild (or build it yourself from the GitLab repository). - Drop the jar into your server's
plugins/folder. - Make sure PlaceholderAPI is installed alongside it.
- Start the server once to generate
config.yml,channels.yml,color.yml,filter.ymlandfocus.yml. - Edit the generated files to taste, then reload with
/slatechat reload.
Commands & permissions
Every command SlateChat registers, and the permission nodes that gate them.
MineDown formatting
The [Text](arguments) syntax for links, hover text, colors and gradients.
Configuration reference
What every option in config.yml, channels.yml and the other module configs does.
Source on GitLab
MIT licensed. Issues and merge requests are welcome.
