Sueta

LPC Minimessage - Chat Formatter

4.4.0

A chat formatting with Minimessage Support plugin for LuckPerms.

·Plugin
  1. 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 download LPC-4.4.0.jar and 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.21 is 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 new crossCompatTest CI 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 the lpc.itemplaceholder permission — which previously defaulted to false, tripping up users (even admins) who only enabled the config. Now: - lpc.itemplaceholder defaults 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 true
    Platform detection
    - startup log: Running on Paper (API 1.21-R0.1) on Java 21 [Paper/Adventure chat] - /lpc version now shows the build target and the live runtime (API + Java) — great for support
    Still 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 toolkit
    Requirements
    - [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…
    20729 downloads
  2. 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|legacy switch selects the platform.
    🔒 Still includes the 4.2.0 security fix
    The defence-in-depth 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 -legacy jar on Paper 1.21.x / Java 21. - /lpc version now 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.yml CI runs a modern + legacy matrix on every PR.
    Installation
    - Paper 26.2 / Java 25 → download LPC-4.3.0.jar - Paper 1.21.x / Java 21 (incl. 1.21.11) → download LPC-4.3.0-legacy.jar Requires [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…
    526 downloads
  3. 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|legacy switch selects the platform.
    🔒 Still includes the 4.2.0 security fix
    The defence-in-depth 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 -legacy jar on Paper 1.21.x / Java 21. - /lpc version now 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.yml CI runs a modern + legacy matrix on every PR.
    Installation
    - Paper 26.2 / Java 25 → download LPC-4.3.0.jar - Paper 1.21.x / Java 21 (incl. 1.21.11) → download LPC-4.3.0-legacy.jar Requires [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…
    127 downloads
  4. 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 new ComponentSanitizer recursively strips clickEvent / hoverEvent / insertion from 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 25
    ⚠️ If you get Unsupported API version 26.2 or 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)
    - LuckPerms 5.4 → 5.5, PlaceholderAPI 2.11.6 → 2.12.2, Gson 2.13.2 → 2.14.0, JUnit 5.11.4 → 5.14.4, Gradle 8.14 → 8.14.5, actions/setup-java v5, gradle/actions v6
    Build & CI
    - New `build.yml` runs clean build on every push/PR (there was no CI before). - Fixed publish.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 new foojay-resolver-convention).
    Branding & UX
    - Author rebranded Varilx-Development → Veylor-Development (the team behind veylor.net — free plugins on Modrinth). - /lpc version now 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 in chat-format crashing) — 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…
    993 downloads
  5. 4.1.0LPC Minimessage - Chat Formatter 4.1.0Jun 16, 2026
    ![Banner](https://github.com/Ayont/LPC-with-minimessage/releases/do…

    4.1.0 — Folia Support

    Minecraft: 26.1.2 · Java: 25 · API version: 26.1.2 Native Folia support with region-aware scheduling while retaining full Paper/Spigot compatibility.
    Added
    - folia-supported: true in plugin.yml. - Cross-platform scheduler abstraction in de.ayont.lpc.scheduler: - Scheduler interface with run, runAsync, runDelayed and runOnEntity. - PaperSchedulerImpl using GlobalRegionScheduler, AsyncScheduler and EntityScheduler. - BukkitSchedulerImpl fallback for plain Spigot/Bukkit. - Runtime platform detection via Schedulers.create(...). - Folia detection in LPC with dedicated log output. - onDisable cancels all scheduled tasks cleanly.
    Changed
    - UpdateChecker now schedules its network request via plugin.getScheduler().runAsync(...). - MentionService.pingAll now schedules per-target pings via plugin.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.
    4599 downloads
  6. 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 with lpc.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 to config-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.advert
    Known Limitations
    - Legacy color codes (&a, §b) in prefixes/suffixes are not supported – use MiniMessage.
    624 downloads
  7. 3.7.0LPC Minimessage - Chat Formatter 3.7.0Oct 17, 2025

    1.21.10 SUPPORT!

    37154 downloads
  8. 3.6.9LPC Minimessage - Chat Formatter 3.6.9May 12, 2025

    SPIGOT SUPPORT (BETA) and 1.21.5 Support!

    - Updated to the newest Gradle #8
    Important: Hoverevent with the Spigot is at the moment not working!
    ![LPC CHAT Formatter](https://github.com/user-attachments/assets/dfff4e6f-75f9-…
    12404 downloads
  9. 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/
    397 downloads
  10. 3.6.7LPC Minimessage - Chat Formatter 3.6.7Nov 21, 2024

    Added 1.21.3 Support

    - Added Track Formatting.
    818 downloads
  11. 3.6.6LPC Minimessage - Chat Formatter 3.6.6Nov 20, 2024

    3.6.6 UPDATE

    - Fixed Group-formats null check error.
    265 downloads
  12. 3.6.5LPC Minimessage - Chat Formatter 3.6.5Jun 20, 2024

    Added 1.21.1 Support!

    Optimized Code.
    1469 downloads
  13. 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.
    584 downloads
  14. 3.6.3LPC Minimessage - Chat Formatter 3.6.3May 15, 2024
    769 downloads

Similar projects

Plugin →