SlateChat
Permissions
Every permission node SlateChat checks, in one place.
The canonical list — every other page links back here instead of repeating it. Grouped by what they gate, not by which command/tag happens to check them.
Chat color & formatting
| Permission | Grants |
|---|---|
chat.colored | Colors, HEX, gradient, rainbow, shadow, transition and pride — both MineDown args and raw MiniMessage tags typed directly in chat. Without it, all of the above are stripped from what a player types. |
chat.cosmetic | The key, insert, font, lang/lang_or, head, and sprite advanced tags — no server-state risk, just not everyday syntax. head/sprite also need Paper 1.21.10+ regardless of permission — see the note on that page. |
chat.advanced | The selector, score, and nbt advanced tags — these read live server state, so this node is OP-only by default (not declared in plugin.yml, same as chat.reload/chat.update below). Grant deliberately. Resolving to actual values (not just the raw pattern) also needs Paper 1.21.4+ — see the note on that page. |
chat.hover.bypass | Custom hover text on MineDown links/commands. Without it, hover shows the link/command itself automatically. |
chat.setcolor | Using /chatcolor at all, including clearing. Still needs chat.colored to set an actual color, not just clear one. |
Commands
| Permission | Grants |
|---|---|
chat.reload | Running /slatechat reload. Not declared in plugin.yml — OP-only by default. |
chat.update | Getting notified in chat on join if a newer version is out (console is always notified regardless). Not declared in plugin.yml — OP-only by default. |
Channels & misc
| Permission | Grants |
|---|---|
chat.local | Speaking in the default local channel (only enforced if it's restrict: true) |
chat.global | Speaking in the default global channel (only enforced if it's restrict: true) |
| custom | Whatever permission node you set on a custom restrict: true channel |
chat.count.bypass | Excluded from the actionbar read-receipt count — useful for vanished admins |
OP-only by default, on purpose
SlateChat's plugin.yml doesn't declare a permissions: block. On Bukkit,
an undeclared permission node falls back to OP-only until a permission
plugin (LuckPerms, etc.) explicitly grants it — that's every node above
except the channel ones, which channel authors opt into via restrict +
permission in channels.yml.
