Language

LPC Minimessage - Chat Formatter

LPC Minimessage - Chat Formatter

ModrinthSpigotMC

A chat formatting with Minimessage Support plugin for LuckPerms.

56.8k downloads 60 followers updated 3d ago
latest v4.1.0 Modrinth
Bukkit Folia Paper Purpur Spigot 1.20 – 26.1.2 DecorationSocial

LPC Banner

Available on Modrinth

Discord Build Status Latest Release

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


✅ 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 openUrl links 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 · unmute with 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

  1. Stop your server
  2. Drop LPC-<version>.jar into your /plugins folder
  3. Start the server to generate config.yml
  4. Edit the config to your liking
  5. Run /lpc reload to 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
Chatformat

[ITEM] Placeholder Example
Item Placeholder


🚀 Installation

  1. Stop your server
  2. Place the LPC.jar into your /plugins folder
  3. Start the server to generate configuration files
  4. Edit the config.yml to your liking
  5. Use /lpc reload to apply your changes ✅

Versions

Release
4.1.0
bukkit, folia, paper · 1.20, 1.20.1, 1.20.2 · 3d ago
![Banner](https://github.com/Ayont/LPC-with-minimessage/releases/download/4.1.0/banner-4.1.0.png) ## 4.1.0 — Folia Support **Minecraft:** 26.1.2 ·…
1.2k
Release
4.0.0
bukkit, paper, purpur · 1.20, 1.20.1, 1.20.2 · 5d ago
# Changelog ## 4.0.0 **Released:** 2026-06-15 **Minecraft:** 26.1.2 · **Java:** 25 · **API version:** 26.1.2 Major rewrite release with a new…
363
Release
3.7.0
bukkit, paper, purpur · 1.20, 1.20.1, 1.20.2 · 8mo ago
# 1.21.10 SUPPORT! >
36.7k
Release
3.6.9
bukkit, paper, purpur · 1.20, 1.20.1, 1.20.2 · 13mo ago
# SPIGOT SUPPORT (BETA) and **1.21.5** Support! - Updated to the newest Gradle #8 ### Important: Hoverevent with the **Spigot** is at the moment not…
12.1k
Release
3.6.8
paper, purpur · 1.20, 1.20.1, 1.20.2 · 17mo ago
# [3.6.8 UPDATE 1.21.4 SUPPORT](https://modrinth.com/plugin/lpc-minimessage-chat-formatter/changelog) ### - Some Fixes and 1.21.4 Supprot! **Support my New…
2.6k
Release
3.6.8
paper, purpur · 1.20, 1.20.1, 1.20.2 · 17mo ago
# [3.6.8 UPDATE 1.21.4 SUPPORT](https://modrinth.com/plugin/lpc-minimessage-chat-formatter/changelog) ### - Some Fixes and 1.21.4 Supprot! *Support my New…
354
Release
3.6.7
paper, purpur · 1.20, 1.20.1, 1.20.2 · 19mo ago
# Added 1.21.3 Support - Added Track Formatting.
784
Release
3.6.6
paper, purpur · 1.20, 1.20.1, 1.20.2 · 19mo ago
# 3.6.6 UPDATE ### - Fixed Group-formats null check error.
217
Release
3.6.5
paper, purpur · 1.20, 1.20.1, 1.20.2 · 24mo ago
# Added 1.21.1 Support! **Optimized Code.**
1.4k
Release
3.6.4
bukkit, paper, purpur · 1.20, 1.20.1, 1.20.2 · 25mo ago
# 3.6.4 UPDATE - Added a config option for the [item] placeholder - Added a permission for the [item] placeholder - Fix for the [item] placeholder triggering…
532
Release
3.6.3
bukkit, paper, purpur · 1.20, 1.20.1, 1.20.2 · 25mo ago
656

Comments 0

No comments yet. Be the first to share your thoughts.