BeeChat
Chat and tab formatting plugin for Paper and its forks.
Features
- MiniMessage in config and chat
- Using placeholders from MiniPlaceholders and PlaceholderAPI in config
- Message formatting with permissions
- Chat channels with customizable formats and permissions
- Spy mode for monitoring chat channels
- Tab customization
Message formatting
Players with permission can use formatting with MiniMessage in chat.
Permissions
- beechat.format.all - all formatting tags
- beechat.format.color -
color,gradient,rainbow,prideandshadowtags - beechat.format.reset -
resettag - beechat.format.decorations -
bold,italic,underlined,strikethroughandobfuscateddecorations - beechat.format.insertion -
inserttag - beechat.format.click -
clicktag - beechat.format.hover -
hovertag - beechat.format.head -
headtag - beechat.format.sprite -
spritetag
Example
MiniMessage in chat messages"">
The MiniPlaceholders LuckPerms Expansion plugin is used here to display the prefix from LuckPerms
Chat channels
BeeChat supports multiple chat channels, each with its own format, distance and permission. Channels are identified by prefixes in the message.
Example

Spy mode
Spy mode allows players with permission to monitor all chat channels.
This is useful for administrators who need to oversee conversations for moderation purposes.
When enabled, all messages sent in any channel will be displayed to the spy, formatted according to the spy mode configuration.
Can be enabled or disabled using the /beechat spy command. Permission: beechat.spy
Tab customization
Tab header, footer and player name format can be customized in config.
Example

Configuration
The default config can be found here: https://github.com/KotQWERTY/bee-chat/blob/main/src/main/resources/config.yml.
The configuration file (config.yml) supports MiniMessage format.
Legacy (ampersand) formatting is also supported, but only as a compatibility feature for some PlaceholderAPI placeholders that use legacy formatting. It can be enabled by setting legacy-formatter.enable to true in the config.yml file.
You can use placeholders from MiniPlaceholders and PlaceholderAPI in the configuration.
Reloading
The configuration can be reloaded using the command /beechat reload.
Permission for the command: beechat.reload
Example configuration
check-for-updates: true
legacy-formatter:
enable: false
character: '&'
chat:
message-format: '<luckperms_prefix><reset> <name> <yellow>→ <gray><message>'
channels:
- identifier: '!'
format: '<message_format>'
- identifier: '#'
permission: chat.channel.staff
format: '<red>(Staff)</red> <message_format>'
- identifier: ''
distance: 40
format: '<yellow>(Local)</yellow> <message_format>'
spy:
format: '<aqua>Spy</aqua> <channel_message>'
disable-on-leave: true
tab-list:
enable: true
update-period: 200
header: '<br><gradient:yellow:gold>Example Server<br>'
footer: '<br>There are <green><server_online></green> players online<br>'
player-name: '<luckperms_prefix> <reset><name> <luckperms_suffix>'
messages:
reload: '<green>The <gradient:yellow:gold>BeeChat</gradient> configuration has been reloaded'
not-player: '<red>This command can only be executed by a player'
spy-mode-enabled: '<aqua>Spy</aqua> mode <green>enabled</green>. Enter the command again to <red>disable</red>'
spy-mode-disabled: '<aqua>Spy</aqua> mode <red>disabled</red>'