LPC Minimessage - Chat Formatter
4.4.0A chat formatting with Minimessage Support plugin for LuckPerms.

LPC – LuckPerms Chat Formatter 
A flexible chat formatting plugin with MiniMessage support for LuckPerms
Modern chat formatting powered by MiniMessage, full LuckPerms metadata support, group/track formats, and PlaceholderAPI.
🧩 Compatibility
| Minecraft | 26.1.2 |
| Server | Paper (recommended) or Spigot |
| Java | 25+ |
🔧 Requirements
- LuckPerms (Required) – Permissions plugin
- PlaceholderAPI (Optional) – Additional placeholders
✅ Features
Formatting
- Full MiniMessage support, with group- and track-specific formats
- Optional PlaceholderAPI integration and
[item]placeholder (hover tooltip on Paper) - Per-rank message styling and per-rank gradient names (
{gradient-name}) - Per-world toggle via
disabled-worlds
Social (on by default)
- @Mention pings – highlight online names + sound/action-bar ping (Paper)
- Emoji shortcuts – e.g.
:heart:→(fully configurable)
- Clickable links – URLs become
openUrllinks on Paper, coloured on Spigot
Moderation (off by default)
- Anti-spam cooldown, repeated-message blocker, caps filter, profanity mask, anti-advertising
- Per-player mute (
/lpc mute) + LuckPerms mute node for punishment plugins
Server messages (off by default)
- MiniMessage join / quit / first-join / death messages
Quality of life
/lpc reload · version · help · mute · unmutewith tab completion- Built-in Modrinth update checker
- Safe by design – player messages can never inject
click/hover/command components - Works on both Paper (Adventure rendering) and Spigot (legacy fallback)
⌨️ Commands
| Command | Permission | Description |
|---|---|---|
/lpc reload | lpc.reload | Reload the configuration |
/lpc version | – | Show the installed version |
/lpc help | – | List available commands |
/lpc mute <player> [duration] | lpc.mute | Mute a player (e.g. 10m, 2h; omit for permanent) |
/lpc unmute <player> | lpc.mute | Unmute a player |
🧑💼 Permissions
| Permission | Default | Description |
|---|---|---|
lpc.reload | op | Reload the configuration |
lpc.chatcolor | false | Use colour codes & cosmetic MiniMessage tags in chat |
lpc.itemplaceholder | false | Use the [item] placeholder in chat |
lpc.update | op | Receive an update notification on join |
lpc.emoji | true | Use emoji shortcuts (only enforced if emoji.require-permission) |
lpc.chatlinks | true | Have URLs turned into clickable links |
lpc.mention.exempt | false | Opt out of receiving mention pings |
lpc.mute | op | Use /lpc mute and /lpc unmute |
lpc.muted | false | Marks a player as muted (usually set by a punishment plugin) |
lpc.bypass.spam / .repeat / .caps / .profanity / .advert | op | Bypass the matching moderation filter |
Even with
lpc.chatcolor, only cosmetic tags (colours, decorations, and optionally gradients/rainbow) are honoured in player messages. Interactive tags (click,hover,insertion, …) are always stripped.
⚙️ Configuration (config.yml)
# Main chat format (MiniMessage!)
chat-format: "{prefix}{name}<dark_gray> »<reset> {message}"
# Per-group formats (optional)
group-formats:
# default: "<gray>[User]</gray> {name}<dark_gray> »<reset> {message}"
# admin: "<red>[Admin]</red> {name}<dark_gray> »<reset> {message}"
# Per-track formats (optional) – groups take priority over tracks
track-formats:
# staff_track: "<gold>[Staff]</gold> {name}<dark_gray> »<reset> {message}"
# Enable the [item] placeholder
use-item-placeholder: true
# Allow <gradient> / <rainbow> for players with lpc.chatcolor
allow-gradient-tags: true
# Worlds where LPC does NOT format chat
disabled-worlds: []
# Check Modrinth for updates on startup
update-checker: true
# Reload message
reload-message: "<green>Reloaded LPC configuration!"
🪄 Available Placeholders
| Placeholder | Description |
|---|---|
{message} | The chat message (inserted safely, never re-parsed) |
{name} | Player's name |
{displayname} | Display name / nickname |
{world} | Player's current world |
{prefix} / {suffix} | Highest priority prefix / suffix |
{prefixes} / {suffixes} | All prefixes / suffixes, highest priority first |
{username-color} / {message-color} | Colour values from LuckPerms meta |
All colour values (prefix, suffix, etc.) must be in MiniMessage format – no legacy codes (
&a,§b).
🚀 Installation
- Stop your server
- Drop
LPC-<version>.jarinto your/pluginsfolder - Start the server to generate
config.yml - Edit the config to your liking
- Run
/lpc reloadto apply changes
🛠️ Building
./gradlew shadowJar
# output: build/libs/LPC-<version>.jar
Requires JDK 25.
📌 Notes
- Not affiliated with LuckPerms – please do not contact the LuckPerms author for support.
- Legacy version available at: GitHub Legacy LPC
📸 Previews
Chat Format Example

[ITEM] Placeholder Example

🚀 Installation
- Stop your server
- Place the
LPC.jarinto your/pluginsfolder - Start the server to generate configuration files
- Edit the
config.ymlto your liking - Use
/lpc reloadto apply your changes
Similar projects
Plugin →Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Plasmo Voice
A proximity voice chat mod with audio positioning and lots of features
4.1MSueta