config.yml Reference
plugins/AstralChat/config.yml controls which servers are in scope, the global broadcast and private-message formats, the social-spy display, and the channel registry.
The other files in the data folder have their own pages: messages.yml, filters.yml, moderation.yml, tags.yml, and groups.yml (see %chat_prefix%).
Default file
Top-level fields
Field | Type | Description |
|---|---|---|
|
| Server group names where AstralChat is active. Servers in other groups load the plugin but do not handle chat. The check uses the |
| Object | Global MiniMessage formats — see below. |
| Object | Social-spy configuration — see below. |
|
| Channel registry. The map key is internal; the channel's runtime identifier is the |
| boolean | Absent/ |
formats
Field | Type | Description |
|---|---|---|
| MiniMessage | Output of |
| MiniMessage | Output of |
The private-message format is rendered for both sender and recipient — the same component is sent to each side. Use MiniMessage <hover> and <click> to expose actions (the shipped format suggests /m <sender> on click).
social-spy
Field | Type | Description |
|---|---|---|
| MiniMessage | Output for spy receivers. Variables: |
| String | Not read by the current code. |
| String | Players with this node are never spied on, regardless of their conversations. This one is read. |
channels
See Channels for the full schema and per-field behaviour.
disable-all-chat-channels
A kill switch for the channel system on this server. When on, AstralChat:
registers none of the per-channel commands (
/chatstaff,/chatcommerce, …);registers neither
DefaultChannelChatListener,ChannelListenernorFiltersListener, so vanilla chat is left completely alone;ignores incoming cross-server chat packets instead of printing them locally.
Everything else — private messages, ignores, tags, nicknames, mentions, the actions, the placeholders and the shared services — keeps working. Use it on a server that needs the plugin's API and its private messages but must not take over chat.
It is independent of enabled-groups: a server outside the enabled groups still registers the listeners, they just return early.
Reloading
/channel reload and /chat reload both call loadConfiguration(), re-reading config.yml, groups.yml, moderation.yml, filters.yml, tags.yml, messages.yml and the menus. Channel pause state survives — it lives in ChannelService and Redis, not in the YAML.
Two things a reload does not redo: the per-channel commands, which are registered once at enable, and the listener registration, so adding a channel with a command: or flipping disable-all-chat-channels needs a restart.