EssentialsC / Chat & Messaging

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.

Private messages only reach online players. If the target is ignoring you, or you are ignoring the target, the message is blocked and the sender is told why.

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.

config.yml
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