Skip to content

Chat Channels

Ayush Singh edited this page Oct 24, 2026 · 2 revisions

Chat Channels

ReinChat supports configurable chat channels, allowing server administrators to create separate spaces for different conversations, such as staff discussions, developer coordination, and building projects.

Each channel can have its own command, aliases, permissions, message format, and other settings.

How Channels Work

ReinChat supports two types of chat channels:

  • Global chat — The default public chat. Normal player messages are sent here unless the player has switched to another channel.
  • Custom channels — Separate channels configured through individual YAML files.

Players with access to a custom channel can either send a single message to it or switch their active chat to that channel.

Sending a Single Message

Use the channel's configured command followed by your message.

For example, if a channel's command is configured as staffchat:

/staffchat Need assistance with an issue.

This sends one message to that channel without changing your active chat channel.

Switching Active Channels

Run the channel command without a message:

/staffchat

This switches your active chat to that channel. Subsequent normal chat messages are routed there until you switch back to global chat or toggle the channel off.

The command shown above is only an example. Your server's configured command may differ.

Configuration Location

Channel configuration files are stored in:

plugins/ReinChat/channels/

Each YAML file represents one channel. The filename, without the .yml extension, becomes that channel's ID.

For example:

  • staff.yml defines the staff channel.
  • developer.yml defines the developer channel.
  • builder.yml defines the builder channel.

The special global.yml file configures public chat and its rank formatting.

Creating a Channel

You can create a custom channel by adding a YAML file to the channels/ directory.

The easiest approach is to copy an existing custom channel file and modify it to suit your needs.

For example, a basic channel configuration looks like this:

enabled: true

display-name: "<aqua><b>Support"

command: "supportchat"
aliases: ["support"]

permission: "reinchat.channel.support"
read-permission: "reinchat.channel.support"

format: "<dark_gray>[<channel>] <prefix> <name> <dark_gray>» <white><message>"

sound: ""

apply-filters: true
log-to-console: true
socialspy-detect: false

This example creates a channel with the command /supportchat and alias /support, subject to the permissions and settings configured above.

The example is illustrative; it is not automatically added to your server.

Channel Settings

enabled

Controls whether the channel is loaded.

enabled: true

Set this to false to disable the channel.

display-name

Defines the channel's display name wherever the <channel> placeholder is used.

display-name: "<red><b>Staff"

The value supports MiniMessage formatting.

command

Defines the main command used to access the channel.

command: "staffchat"

The command is registered dynamically when ReinChat loads the channel configuration.

aliases

Defines alternative commands for the channel.

aliases: ["sc"]

Aliases are configurable. Choose aliases that do not conflict with commands registered by ReinChat, Minecraft, or other plugins.

permission

Defines who can use the channel command and send messages to the channel.

permission: "reinchat.channel.staff"

Players without this permission cannot use the channel command.

read-permission

Defines who can receive and view messages sent to the channel.

read-permission: "reinchat.channel.staff"

If this setting is omitted, it defaults to the channel's permission value.

This allows administrators to separate sending access from reading access when needed.

format

Defines how channel messages are displayed.

format: "<dark_gray>[<channel>] <prefix> <name> <dark_gray>» <white><message>"

The following placeholders are available in channel formats:

Placeholder Description
<channel> The configured channel display name.
<prefix> The sender's configured rank prefix.
<tag> The sender's selected chat tag.
<name> The sender's player name.
<message> The message being sent.
<player> The sender's player name.
<world> The sender's current world name.
<server> The server name provided by ReinCore.

PlaceholderAPI placeholders can also be used where supported by the integration.

sound

Defines a sound played to recipients of channel messages, excluding the sender.

sound: ""

Leave it empty for silent messages. Otherwise, specify a valid Minecraft sound key, such as block.note_block.pling.

apply-filters

Controls whether messages in the channel are checked by the configured chat filters.

apply-filters: true

When enabled, the channel uses the filter system configured in filters.yml. Applicable filter bypass permissions still apply.

log-to-console

Controls whether channel messages are also sent to the server console.

log-to-console: true

Set this to false to disable console logging for the channel.

socialspy-detect

Controls whether channel messages are detected by ReinChat's SocialSpy system.

socialspy-detect: false

Enable this if you want channel messages to be included in SocialSpy detection.

Global Chat Configuration

The global.yml file is special: it configures public chat and rank formatting.

Public Chat Command

The command and aliases settings define the command used to send a one-off public message or return to public chat.

command: "global"
aliases: ["g"]

Running the configured command with a message sends that message to public chat, even if the player is currently switched to another channel.

Running it without a message returns the player to public chat.

Public Chat Permission

The talk-permission setting controls who can use the configured public chat command.

talk-permission: ""

An empty value allows everyone to use the command. Setting a permission restricts use of that command to players who have the specified permission.

Public Chat Filtering

The apply-filters setting controls whether public chat messages are checked by filters.yml.

apply-filters: true

Rank Prefixes and Formats

Global chat also contains default-group and groups sections.

The default-group section defines the fallback prefix and format used when a player does not match any configured group.

The group keys should correspond to the group names used by your permission plugin, such as LuckPerms.

By default, ReinChat checks for the permission group.<group-id> for each configured group. For example, if admin exists under groups, a player with the group.admin permission will match that group and receive its configured prefix and chat format.

In LuckPerms, you can grant the corresponding permission to a group so its members inherit it. ReinChat checks permissions rather than group membership directly. You can also override the permission ReinChat checks by adding a permission field to the group configuration:

groups:
  admin:
    permission: "rank.admin"
    prefix: "<dark_gray>[<red>Admin<dark_gray>]"
    format: "<prefix> <name> <dark_gray>» <message>"

With this example, ReinChat checks rank.admin instead of group.admin.

Groups are checked from top to bottom, and the first matching group is used. If a player has multiple matching group permissions, place the higher-priority group first.

Applying Changes

After creating or editing channel configuration files, run:

/reinchat reload

ReinChat reloads its channel configurations and registers the configured channel commands and aliases.

Check the server console for warnings or errors if a channel does not load as expected.

Troubleshooting

A channel command does not work

  • Check that the channel's YAML file exists in plugins/ReinChat/channels/.
  • Verify that enabled is not set to false.
  • Check the configured command and aliases.
  • Confirm that you have the required sending permission.
  • Check the console for command conflicts or configuration warnings.

Players cannot see channel messages

Check read-permission. Players need the configured permission to receive messages from that channel, except for the sender, who receives their own message.

A channel does not appear to apply filters

Verify that apply-filters is enabled and review the rules in filters.yml.

Rank prefixes or formats are incorrect

For public chat, check the default-group and groups sections of global.yml. For custom channels, check the channel's format setting.


For other customization options, see the Configuration and Permissions pages.

Clone this wiki locally