💬 Chat
Flexible, fully customizable chat with channels, auto-moderation, mentions, join/quit messages, death messages, and a lot more!
Commands & Permissions
Commands link.
Permissions link.
Features
✅ Event Priority. Change chat event priority to resolve possible compatibility issues.
✅ Text Components (aka JSON). Insert hover and click components at any part of chat messages.
✅ Disable Reports. Completely disable reports system from your server, including annoying verification nofitication.
✅ Join & Quit Messages. Display custom join and quit messages based on player ranks.
✅ Death Messages. Display custom death messages based on death cause, including mob/player and weapon names.
✅ Announcer. Broadcast custom messages with fixed intervals and based on player ranks.
✅ Channels. Create custom chat channels, such as local, global, trade, staff, etc.
✅ Message Format. Create custom message format based on player ranks.
✅ Private Messages. Send private messages to other players.
✅ Mentions. Ping a player or role in chat just like in discord.
✅ Spy Mode. See every chat messages in all channels, all executed commands, and private messages.
✅ AntiCaps. Force lower case a message if it contains too much upper case characters.
✅ AntiSpam. Prevent players from sending similar messages/commands in a short period of time.
✅ Chat Rules. Prevent, replace, or censor certain messages based on regex rules.
✅ Item Display. Display item in hand in chat.
Configuration
Text Components
When enabling Use_Components
option, all chat messages will be sent as components instead of a plain text.
While it's recommended to keep that option on true
for the best experience, it may cause compatibility issues with other plugins that uses chat events.
If you're experiencing issues, try to change the Event_Priority
setting.
Disable Reports
If you want to disable reports system introduced in 1.19, set Disable_Reports
option on true
.
Also you must have set enforce-secure-profile
on false
in server.properties.
You must have ProtocolLib or PacketEvents installed for this feature to work.
Format
In chat config file, there is Format
section. This is where you define format for the chat messages.
It consists of two sections: Components
and List
.
Components ones exist purely to help you organize elements of the chat format since they can be pretty long, especially when using hover and click tags.
List is simply a list of your custom formats based on player ranks.
One more important thing is Format
channel option in the channels.yml config file. This is where you use %format%
and %message%
placeholders to insert your custom name & message format.
Manual
Consider the following example:
There are 4 components: msg
, player_info
, rank_owner
and rank_member
. Every component has a placeholder that equals to their name: %msg% for msg
, %player_info% for player_info
and so on.
Note that msg
component contains the %message%
placeholder.
Now we can insert them in actual chat format:
As seen above, there are 2 different chat formats: the owner
one for players with permission groups owner and admin, and the default
one for players with any (*) rank.
Note that owner
format has greater priority than default
one. When multiple formats are available for a player, the one with the greatest priority is used. So players with owner and admin ranks will always use the owner
format and not the default
one, because default
one is also applicable to them (any rank).
When creating custom formats, make sure that Message
option always contains the %message% placeholder, either from a component placeholder or directly in that field.
And now we can insert our custom format in the Format
option of the channels.yml config file:
There are 2 format placeholders available to use:
%format% - Everything from the
Name
field.%message% - Everything from the
Message
field.
Don't be confused by two %message% placeholders. The one in channel's Format
will insert text from the Message
option, that should contain other %message% placeholder that will be replaced later with the original text sent by a player.
DiscordSRV
There is built-in support for the DiscordSRV plugin for chat messages and channels. All you need is to add all chat channels to the DiscordSRV configuration:
To allow users send chat messages from Discord -> Server while not logged in, they must have their game account linked with the discord account: /discord link
. This is required to simulate chat message using offline player data.
Last updated