Chat & Messaging
Private messaging, ignore, broadcast, chat formatting, and Discord integration.
Overview
EssentialsC manages player chat with support for private messaging, an ignore system, server broadcasting, and advanced chat formatting via LuckPerms. The chat system supports MiniMessage formatting, legacy color codes, slow mode, caps filtering, link whitelisting, and player mentions.
Private Messaging
| Command | Description |
|---|---|
/msg <player> <message> |
Send a private message to a player. |
/reply <message> |
Reply to the last player who messaged you. |
Private messages support hover and click events. The message format is configurable.
Ignore
| Command | Description |
|---|---|
/ignore [player] |
List your ignore list, or toggle ignoring a player. Ignored players cannot send you private messages. |
Ignored players are stored persistently. Players on your ignore list cannot send you private messages. The ignore list applies across sessions.
Broadcast
| Command | Description |
|---|---|
/broadcast <message> |
Broadcast a message to all players, or to a specific world by putting the world name first: /broadcast <world> <message>. |
/discord |
Show the Discord invite link to the player. |
Broadcast messages use a configurable prefix from config.yml and support MiniMessage formatting. The /discord command simply sends a configurable URL to the player.
Chat Formatting
With LuckPerms installed, EssentialsC formats public chat messages using the player's LuckPerms prefix and suffix. The format is configured in config.yml under the luckperms section, with optional per-group overrides.
luckperms: chat-formatting: true chat-format: <DISPLAYNAME> &7» &f<MESSAGE> tab-formatting: true
The chat-format string supports the <PREFIX>, <SUFFIX>, <USERNAME>, <DISPLAYNAME>, <GROUP> and <MESSAGE> native placeholders, and is also passed through PlaceholderAPI if it is installed. Optional group-formats.<group> entries (not present by default) override the format for a specific LuckPerms group; the group keys must match LuckPerms group names exactly.
Chat Features
| Feature | Description |
|---|---|
| Slow Mode | Configurable delay between chat messages, toggled by chat.slow-mode.enabled. Players with the bypass permission are exempt. |
| Caps Filter | Messages with too many uppercase letters (above chat.capslock-threshold) are converted to lowercase. |
| Link Filtering | Players without essentialsc.chat.links get plain (unclickable) links; links not on the whitelist are replaced with the removal message instead. |
| Player Mentions | A message containing another player's username or nickname renders that name in the configured format and plays a note-block ping for the target, unless they hold the bypass permission. |
Configuration
Chat settings live under the chat section in config.yml.
| Key | Type | Default | Description |
|---|---|---|---|
chat.enabled |
Boolean | true |
Whether the EssentialsC chat system is enabled. |
chat.slow-mode.enabled |
Boolean | false |
Whether chat slow mode is enabled. |
chat.slow-mode.delay-seconds |
Integer | 3 |
Delay players must wait between sending messages. |
chat.capslock-threshold |
Double | 0.7 |
Ratio of uppercase letters that triggers the filter (0.0 to 1.0). 0 disables it. |
chat.link-whitelist |
List | youtube.com, modrinth.com |
Domains whose links are not replaced by the removal message. |
chat.link-removal-message |
String | <#F54927>[<#FF917D>link removed<#F54927>] |
Message shown instead of a non-whitelisted link. |
chat.mention.enabled |
Boolean | true |
Enable @playername mentions. |
chat.mention.format |
String | <#4BA8DE><player><reset> |
Format used when a player is mentioned. Supports MiniMessage and the <player> placeholder. |
Permissions
| Permission | Description | Default |
|---|---|---|
essentialsc.msg |
Send private messages. | Everyone |
essentialsc.reply |
Reply to private messages. | Everyone |
essentialsc.ignore |
Ignore other players. | Everyone |
essentialsc.broadcast |
Broadcast messages to all players. | Operators |
essentialsc.discord |
Use /discord. | Operators |
essentialsc.chat.slowmode.bypass |
Bypass slow-mode delays. | Operators |
essentialsc.chat.caps.bypass |
Bypass the caps filter. | Operators |
essentialsc.chat.links |
Send clickable links in chat without whitelist restrictions. | Nobody |
essentialsc.chat.color |
Use any colour or formatting in chat. | Nobody |
essentialsc.chat.minimessage |
Use MiniMessage tags in chat. | Nobody |
essentialsc.chat.legacycodes |
Use legacy colour codes in chat. | Operators |
essentialsc.chat.rgbcodes |
Use RGB colour codes (&#<RRGGBB>) in chat. |
Operators |
essentialsc.chat.format.* |
Use individual formats: .bold, .italic, .underline, .strikethrough, .obfuscated. |
Nobody |
essentialsc.chat.mention |
Mention/ping other players in chat. | Everyone |
essentialsc.chat.mention.bypass |
Prevent being pinged by others. | Nobody |
essentialsc.msg.spy |
See all private messages. | Operators |
essentialsc.ignore.exempt |
Cannot be ignored. | Operators |