LPC Minimessage - Chat Formatter
4.4.0A chat formatting with Minimessage Support plugin for LuckPerms.
4.4.0latestLPC Minimessage - Chat Formatter 4.4.0Jul 5, 2026 LPC 4.4.0 — one jar for everything
No more picking the right build. LPC 4.4.0 ships a single universal jar that runs on Paper 1.21.x (incl. 1.21.11) AND Paper 26.2. Just downloadLPC-4.4.0.jarand it works on your server, whatever the version.Why one jar works
Compiled once against Paper 1.21 / Adventure 4 / Java 21 (api-version: 1.21): -api-version: 1.21is accepted by Paper 26.2 (forward-compatibility) - Java 21 bytecode runs on Java 25 - the Adventure APIs LPC uses stay binary-compatible across Adventure 4 → 5 A newcrossCompatTestCI task proves this every build by running the Adventure-4-compiled tests against an Adventure 5 runtime — the exact thing a Paper 26.2 server does. (It already caught and fixed one real incompatibility.)[item] permission fix
[item]needs thelpc.itemplaceholderpermission — which previously defaulted tofalse, tripping up users (even admins) who only enabled the config. Now: -lpc.itemplaceholderdefaults to `op` → ops can use[item]immediately - players who type[item]without the permission get a friendly in-chat hint - to enable[item]for everyone:/lp group default permission set lpc.itemplaceholder truePlatform detection
- startup log:Running on Paper (API 1.21-R0.1) on Java 21 [Paper/Adventure chat]-/lpc versionnow shows the build target and the live runtime (API + Java) — great for supportStill includes
- the 4.2.0 chat click/hover/insertion exploit fix (defence-in-depth sanitizer) - MiniMessage chat formatting, LuckPerms group/track formats, PlaceholderAPI, @mentions, emojis, clickable links, [item], moderation toolkitRequirements
- [LuckPerms](https://luckperms.net/) (required) · [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) (optional) - Paper 1.21.x – 26.2, Folia or Spigot · Java 21+ Full changelog: https://github.com/Ayont/LPC-with-minimessage/compare/4.3…4.3.0-legacyLPC Minimessage - Chat Formatter 4.3.0Jul 4, 2026 LPC 4.3.0 — Multi-version support (Paper 1.21.x and 26.2)
This release ships two jars so LPC runs on both old and new servers. Pick the one for your platform on the [Modrinth download page](https://modrinth.com/plugin/lpc-chat) (Modrinth's game-version filter shows the right one automatically): | Build | Minecraft | Java | Adventure | api-version | |---|---|---|---|---| | `LPC-4.3.0.jar` (default) | 26.2 | 25 | 5.2.0 | 26.2 | | `LPC-4.3.0-legacy.jar` | 1.21.x (incl. 1.21.11) | 21 | 4.23.0 | 1.21 |Why two jars?
Adventure 4 (bundled by Paper 1.21) and Adventure 5 (bundled by Paper 26.2) are binary-incompatible — a single jar cannot reliably run on both. The same LPC source now compiles + passes all tests against both Adventure versions; the Gradle-Ptarget=modern|legacyswitch selects the platform.
The defence-in-depthStill includes the 4.2.0 security fix
ComponentSanitizer(strips click/hover/insertion from player & item-name output) is in both builds.Bug fixes & UX
- Fixes the recurring \"Unsupported API version\" / \"plugin won't load on 1.21.11\" reports — use the-legacyjar on Paper 1.21.x / Java 21. -/lpc versionnow reports the build target (e.g.Build: Minecraft 1.21.x · Java 21 · Adventure 4.23.0 (legacy)) so support can tell which jar you installed. -build.ymlCI runs a modern + legacy matrix on every PR.Installation
- Paper 26.2 / Java 25 → downloadLPC-4.3.0.jar- Paper 1.21.x / Java 21 (incl. 1.21.11) → downloadLPC-4.3.0-legacy.jarRequires [LuckPerms](https://luckperms.net/). [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) optional. Full changelog: https://github.com/Ayont/LPC-with-minimessage/compare/4.2…4.3.0LPC Minimessage - Chat Formatter 4.3.0Jul 4, 2026 LPC 4.3.0 — Multi-version support (Paper 1.21.x and 26.2)
This release ships two jars so LPC runs on both old and new servers. Pick the one for your platform on the [Modrinth download page](https://modrinth.com/plugin/lpc-chat) (Modrinth's game-version filter shows the right one automatically): | Build | Minecraft | Java | Adventure | api-version | |---|---|---|---|---| | `LPC-4.3.0.jar` (default) | 26.2 | 25 | 5.2.0 | 26.2 | | `LPC-4.3.0-legacy.jar` | 1.21.x (incl. 1.21.11) | 21 | 4.23.0 | 1.21 |Why two jars?
Adventure 4 (bundled by Paper 1.21) and Adventure 5 (bundled by Paper 26.2) are binary-incompatible — a single jar cannot reliably run on both. The same LPC source now compiles + passes all tests against both Adventure versions; the Gradle-Ptarget=modern|legacyswitch selects the platform.
The defence-in-depthStill includes the 4.2.0 security fix
ComponentSanitizer(strips click/hover/insertion from player & item-name output) is in both builds.Bug fixes & UX
- Fixes the recurring \"Unsupported API version\" / \"plugin won't load on 1.21.11\" reports — use the-legacyjar on Paper 1.21.x / Java 21. -/lpc versionnow reports the build target (e.g.Build: Minecraft 1.21.x · Java 21 · Adventure 4.23.0 (legacy)) so support can tell which jar you installed. -build.ymlCI runs a modern + legacy matrix on every PR.Installation
- Paper 26.2 / Java 25 → downloadLPC-4.3.0.jar- Paper 1.21.x / Java 21 (incl. 1.21.11) → downloadLPC-4.3.0-legacy.jarRequires [LuckPerms](https://luckperms.net/). [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) optional. Full changelog: https://github.com/Ayont/LPC-with-minimessage/compare/4.2…4.2.0LPC 4.2.0 — Minecraft 26.2 / Adventure 5 / Veylor-DevelopmentJul 1, 2026 Security (important — fixes chat click-command exploit)
- Defence-in-depth sanitizer against chat click / hover / insertion exploits. A newComponentSanitizerrecursively stripsclickEvent/hoverEvent/insertionfrom player message and item-name output. - Closes the exploit reported on Discord where players could type<click:run_command:…>that executes when clicked. The restricted cosmetic parser already rejected these tags; the sanitizer is a belt-and-suspenders guarantee that no interactive event can ever reach chat — even via nested children or a crafted anvil-renamed item. - Cosmetic styling (colours, decorations) is preserved. Legacy/Spigot output is inherently safe (serializes to§-codes that cannot carry events). - Tests: 43 (incl. 7 new sanitizer cases), 0 failures.Platform
- Minecraft 26.2 (Paper 26.2),api-version: 26.2- Adventure 5.2.0 — the version Paper 26.2 bundles (Paper 26.1 shipped Adventure 4.x, so 4.2.0 requires Paper 26.2+) - Java 25If you get
Unsupported API version 26.2or the plugin won't load: update to Paper 26.2 + Java 25. Older servers (1.21.x / Java 21) cannot run this build.Dependency updates (folds in the open Renovate PRs)
- LuckPerms5.4 → 5.5, PlaceholderAPI2.11.6 → 2.12.2, Gson2.13.2 → 2.14.0, JUnit5.11.4 → 5.14.4, Gradle8.14 → 8.14.5,actions/setup-java v5,gradle/actions v6Build & CI
- New `build.yml` runsclean buildon every push/PR (there was no CI before). - Fixedpublish.yml: Gradle 8.14 cannot run on Java 25 (its Groovy rejects class file major 69), so Gradle now runs on Java 21 and compiles via the Java 25 toolchain (auto-provisioned by the newfoojay-resolver-convention).Branding & UX
- Author rebranded Varilx-Development → Veylor-Development (the team behind veylor.net — free plugins on Modrinth). -/lpc versionnow reports the detected platform + target (MC 26.2 · Java 25 · Adventure 5). - README: compatibility table + "Unsupported API version" guidance + a direct answer to "can players use MiniMessage in chat?".Issues closed
- #22 (PlaceholderAPI placeholder inchat-formatcrashing) — fixed by the 2.0 pipeline. - #26 (non-op parsing placeholders) — fixed; player messages are never passed through PlaceholderAPI. - #37 (/msg question) — answered; LPC is a chat formatter, pair it with EssentialsX/HuskChat. Full changelog: https://github.com/Ayont/LPC-with-minimessage/compare/4.1…4.1.0LPC Minimessage - Chat Formatter 4.1.0Jun 16, 2026 . - Folia detection inLPCwith dedicated log output. -onDisablecancels all scheduled tasks cleanly.Changed
-UpdateCheckernow schedules its network request viaplugin.getScheduler().runAsync(...). -MentionService.pingAllnow schedules per-target pings viaplugin.getScheduler().runOnEntity(...).Compatibility
- Verified on Folia 26.1.2 build 8. - Paper/Spigot fallback remains intact.Note: LPC itself is now Folia-compatible, but LuckPerms must also be a Folia-compatible build, otherwise Folia will refuse to load the dependency.
4.0.0LPC Minimessage - Chat Formatter 4.0.0Jun 15, 2026 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 MiniMessage chat formatter, an integrated moderation toolkit, and a much more flexible configuration.Added
- New MiniMessage chat formatter with a clear separation between trusted format strings and player messages. - Group & track formats per LuckPerms group or track (group-formats,track-formats). - `[item]` placeholder – shows the held item in chat (hover tooltip on Paper). - Placeholder support:{prefix},{suffix},{prefixes},{suffixes},{world},{displayname},{username-color},{message-color}, and{gradient-name}. - Optional PlaceholderAPI integration for formats. - @Mentions with highlighting, sound + action-bar ping on Paper (Spigot gets highlighting only). - Emoji replacement via configurable shortcuts like:heart:→. - Clickable links in chat (
openUrl, clickable on Paper, colored/underlined on Spigot). - Per-rank message styles – groups/tracks can get their own message coloring without needing MiniMessage permissions. - Gradient names via LuckPerms meta or per group ({gradient-name}). - Join / quit / first-join / death messages in MiniMessage format, individually toggleable. - Integrated moderation toolkit (all toggleable): - Anti-spam cooldown - Repeat-message filter - Caps filter (BLOCK or LOWERCASE) - Profanity filter (BLOCK or MASK) - Anti-advertising / anti-IP (BLOCK or REDACT) - Mute system with/lpc mute <player> [duration]and/lpc unmute <player>, plus support for external mute permission nodes. - Modrinth update checker with in-game notification for players withlpc.update. - Paper & Spigot compatibility with automatic fallback to legacy rendering. - Unit tests for emoji replacement, legacy colors, mentions, player messages, URL linkification, moderation text checks, and version comparison.Changed
- Complete rewrite of chat rendering: player messages are inserted as pre-built components and are never re-parsed. - Interactive tags (click,hover,insertion, …) in player messages are always stripped. - Default config bumped toconfig-version: 3.Security
- Player messages cannot inject MiniMessage tags or PlaceholderAPI placeholders. - Prefix/suffix values and format strings are parsed in a trusted context. - Gradient specifications are validated against an allowed character set.Permissions
-lpc.reload,lpc.chatcolor,lpc.itemplaceholder,lpc.update-lpc.emoji,lpc.chatlinks,lpc.mention.exempt-lpc.mute,lpc.muted-lpc.bypass.spam,lpc.bypass.repeat,lpc.bypass.caps,lpc.bypass.profanity,lpc.bypass.advertKnown Limitations
- Legacy color codes (&a,§b) in prefixes/suffixes are not supported – use MiniMessage.3.7.0LPC Minimessage - Chat Formatter 3.7.0Oct 17, 2025 1.21.10 SUPPORT!
3.6.9LPC Minimessage - Chat Formatter 3.6.9May 12, 2025 SPIGOT SUPPORT (BETA) and 1.21.5 Support!
- Updated to the newest Gradle #8Important: Hoverevent with the Spigot is at the moment not working!
![LPC CHAT Formatter](https://github.com/user-attachments/assets/dfff4e6f-75f9-…3.6.8LPC Minimessage - Chat Formatter 3.6.8Dec 30, 2024 [3.6.8 UPDATE 1.21.4 SUPPORT](https://modrinth.com/plugin/lpc-minimessage-chat-formatte…
- Some Fixes and 1.21.4 Supprot!
Support my New Project: https://dev.varilx.de/3.6.7LPC Minimessage - Chat Formatter 3.6.7Nov 21, 2024 Added 1.21.3 Support
- Added Track Formatting.3.6.6LPC Minimessage - Chat Formatter 3.6.6Nov 20, 2024 3.6.6 UPDATE
- Fixed Group-formats null check error.
3.6.5LPC Minimessage - Chat Formatter 3.6.5Jun 20, 2024 Added 1.21.1 Support!
Optimized Code.3.6.4LPC Minimessage - Chat Formatter 3.6.4May 20, 2024 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 for individual characters - e.g. sending a message with just "i" would also trigger the placeholder - Fix for the [item] placeholder adding the hoverevent to the entire message Thanks goto @nahtaan #1 - Added a config option for the reload Message.3.6.3LPC Minimessage - Chat Formatter 3.6.3May 15, 2024
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