LuckPerms Folia fork with ekaii-folia-fix for SubscriptionMap zip-classloader crash on Folia 26.1.2
Find a file
ekaii ef09a68d97
Some checks failed
Build luckperms-folia-ekaii / build (push) Failing after 30s
ci: add upstream-watch + release-on-tag, remove dead CI
2026-07-15 12:12:11 +02:00
.forgejo/workflows ci: add upstream-watch + release-on-tag, remove dead CI 2026-07-15 12:12:11 +02:00
.github ci: add upstream-watch + release-on-tag, remove dead CI 2026-07-15 12:12:11 +02:00
.vscode Update Folia scheduler support 2026-04-25 01:38:18 +02:00
api build: upgrade to Gradle 9.5 + drop incompatible plugins for JDK 25 2026-05-19 03:18:59 +02:00
bukkit ekaii-folia-fix: route Bukkit-scheduler calls through Folia's AsyncScheduler 2026-05-19 03:31:52 +02:00
common Update Folia scheduler support 2026-04-25 01:38:18 +02:00
Docs/LuckPerms-master Update Folia scheduler support 2026-04-25 01:38:18 +02:00
gradle build: upgrade to Gradle 9.5 + drop incompatible plugins for JDK 25 2026-05-19 03:18:59 +02:00
velocity Update Folia scheduler support 2026-04-25 01:38:18 +02:00
.ekaii-upstream.env ci: add upstream-watch + release-on-tag, remove dead CI 2026-07-15 12:12:11 +02:00
.ekaii-upstream.sha ci: add upstream-watch + release-on-tag, remove dead CI 2026-07-15 12:12:11 +02:00
.gitignore Update Folia scheduler support 2026-04-25 01:38:18 +02:00
build.gradle build: upgrade to Gradle 9.5 + drop incompatible plugins for JDK 25 2026-05-19 03:18:59 +02:00
gradle.properties Add files via upload 2026-01-12 06:20:34 +01:00
gradlew build: upgrade to Gradle 9.5 + drop incompatible plugins for JDK 25 2026-05-19 03:18:59 +02:00
gradlew.bat Add files via upload 2026-01-12 06:20:34 +01:00
HEADER.txt misc tidying up 2018-11-10 20:21:08 +00:00
LICENSE.txt Update MIT license text to allow GitHub detection (#1400) 2019-01-28 10:46:05 +00:00
README.md Update Folia scheduler support 2026-04-25 01:38:18 +02:00
settings.gradle build: upgrade to Gradle 9.5 + drop incompatible plugins for JDK 25 2026-05-19 03:18:59 +02:00

LuckPerms-Folia

Java Version Build Status Target

LuckPerms-Folia is a high-performance, streamlined fork of LuckPerms, engineered specifically for BTC Studio infrastructure and the BTC-CORE server fork. It represents a modern approach to permission management, specifically optimized for BTC-CORE (Paper/Folia 26.1.2+) and Velocity 3.x by removing legacy baggage and focusing on native multi-threaded performance.

Warning

DEVELOPER COMPATIBILITY NOTICE LuckPerms-Folia introduces architectural changes to leverage Folia's regionized multithreading. Standard LuckPerms extensions or plugins that rely on synchronous API access may require auditing. This fork is tailored for environments where performance and Folia-native support are the highest priority.


🚀 Key Features in Detail

Concurrency & Architecture (Folia Integration)

  • Native Folia Support: Fully integrated with Folia's RegionScheduler and AsyncScheduler, ensuring thread-safe permission checks and data handling.
  • Regionized Logic: Permission contexts aware of Folia regions, allowing for granular control in multi-threaded environments.
  • BTC-CORE / ASPaper Optimization: Native compatibility with BTC-CORE's high-performance architecture, ensuring zero impact on the fork's optimized tick loops and async systems.
  • HikariCP 6.3.0: Upgraded connection pooling for ultra-fast, non-blocking database operations.

🎨 Modern Formatting (MiniMessage)

  • Deep MiniMessage Integration: Full support for <gradient>, <rainbow>, and other modern tags in prefixes, suffixes, and plugin messages.
  • Legacy Compatibility: Intelligent conversion layer to maintain compatibility with legacy formatting while favoring modern standards.
  • Metadata Parsing: Metadata (prefixes/suffixes) can be configured to parse MiniMessage tags natively.

🛠️ Performance & Optimizations

  • Async Tab Completion: Leverages Paper's AsyncTabCompleteEvent for non-blocking, lightning-fast command suggestions.
  • Native Paper APIs: Extensive use of Paper's Audience and Component APIs to reduce overhead and improve compatibility.
  • Stripped Legacy: Removed support for older Minecraft versions (pre-1.20) and non-Paper platforms to minimize the footprint and maximize speed.

⚙️ Configuration

LuckPerms-Folia introduces specific tuning options in config.yml.

High-Priority Settings

Key Default Description
use-minimessage true Enables MiniMessage parsing for all general plugin messages.
use-minimessage-for-metadata true Parses prefixes and suffixes via MiniMessage before sending to clients.
folia-context-enabled true Enables folia:region and folia:tps contexts.

🛠 Building & Deployment

Requires Java 21 and a strong understanding of Gradle.

# Clone the repository
git clone https://github.com/RenaudRl/LuckPerms-Paper-Folia-Velocity-26.1.2.git
cd LuckPerms-Paper-Folia-Velocity-26.1.2

# Build the project (skipping tests for faster cycles)
./gradlew clean build -x test

Artifact Locations:

  • Paper/Folia: bukkit/loader/build/libs/LuckPerms-Bukkit-5.5.24.jar
  • Velocity: velocity/build/libs/LuckPerms-Velocity-5.5.24.jar

🤝 Credits & Inspiration

This project is built upon the innovation of the broader Minecraft development community:

  • LuckPerms - The original, industry-standard permission plugin.
  • BTC Studio - Maintenance and specialized optimizations.

📜 License

Licensed under the MIT License. Original licenses apply to upstream components.