Deepslate Studios
SlateChat

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.

RequirementVersion
ServerPaper 1.21.1+
PlaceholderAPIRequired
DiscordSRVOptional, enables Discord bridge
LuckPermsOptional, 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.

  1. Download the latest SlateChat.jar build (or build it yourself from the GitLab repository).
  2. Drop the jar into your server's plugins/ folder.
  3. Make sure PlaceholderAPI is installed alongside it.
  4. Start the server once to generate config.yml, channels.yml, color.yml, filter.yml and focus.yml.
  5. Edit the generated files to taste, then reload with /slatechat reload.

On this page