Upgrade Minestom dependency to 2026.05.17-1.21.11#2
Open
TheMeinerLP wants to merge 36 commits into
Open
Conversation
…ot from deployment branch Bumps the Minestom compileOnly dependency in the minestom and minestom:loader modules from 2025.08.29-1.21.8 to the current Maven Central release so the OneLiteFeather LuckPerms fork builds against the Minestom version Titan deploys with. Adds the deployment branch to the CI publish trigger so net.luckperms:*:5.6-SNAPSHOT is deployed to the OneLiteFeather repository for downstream Butterfly/Titan builds. https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP
Minestom 2026.05.17-1.21.11 requires a JVM 25+ runtime, so the
relocation-free minestom and minestom:loader modules can no longer be
built against Java 21 (':minestom:compileJava' failed to resolve the
dependency). Switch both modules to a Java 25 toolchain and install
JDK 25 alongside 21 in CI; JDK 21 stays the default JAVA_HOME so the
Forge/Fabric/NeoForge platform builds are unaffected and only the
Minestom modules use the 25 toolchain.
https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP
The 21/25 split did not work: Gradle's toolchain auto-detection does not pick up the JDK 25 that setup-java installs as a secondary version, so ':minestom:compileJava' still could not resolve the Java 25 Minestom dependency. Run the whole build on JDK 25, consistent with the Titan, Butterfly and shared OneLiteFeather workflows. https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP
Gradle 8.14.3 cannot run on JDK 25 ('Unsupported class file major
version 69'), so the full-JDK-25 runtime broke the build script
compilation. Keep the Gradle runtime on JDK 21 (last entry, so it is
the default JAVA_HOME) and additionally install JDK 25, exposing it to
Gradle toolchain detection via org.gradle.java.installations.fromEnv so
only the Java 25 Minestom modules use it.
https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP
…stom-deployment-XhoNO # Conflicts: # .github/workflows/ci.yml # api/src/main/java/net/luckperms/api/platform/Platform.java # build.gradle
Gradle 9 removed project-level sourceCompatibility/targetCompatibility, which broke ':minestom:app' evaluation after the upstream merge. Replace them with a Java 25 toolchain, consistent with the minestom and minestom:loader modules. https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP
The upstream merge brought net.kyori.blossom 2.2.0, whose DSL replaced
the top-level blossom { replaceTokenIn / replaceToken } block. Use the
sourceSets.main.blossom.javaSources.property form (matching upstream
common/build.gradle) and the {{ version }} placeholder in
LuckPermsApplication.
https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP
The root subprojects block forces options.release=11 on every module's JavaCompile tasks, which set the org.gradle.jvm.version attribute to 11 and made ':minestom:compileJava' reject Minestom 2026.05.17-1.21.11 (requires JVM 25+). Override release to 25 in the three minestom modules so the Java 25 toolchain compiler targets 25 and the dependency resolves. https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP
The upstream merge changed the common permission-calculator API. Port MinestomCalculatorFactory to the new CalculatorFactory.build signature (QueryOptions, Map<String,Node>, CacheMetadata), pass the source map to the now-parameterised processors, and return the concrete PermissionCalculatorMonitored instead of the now-abstract PermissionCalculator (mirrors StandaloneCalculatorFactory). Add the slf4j-api compile dependency that common no longer exposes transitively. https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP
The fork overrode project.group to net.luckperms, which made upstream's
loader shadowJars (include(dependency('me.lucko.luckperms:.*'))) drop
:common, :api and :loader-utils. That broke the standalone jar-in-jar
(NoClassDefFoundError: common.dependencies.DependencyManager during the
preloadDependencies Docker step) and would affect every upstream
platform loader.
Restore project.group to me.lucko.luckperms (matching root subprojects
so the shadow include filters match again) and set groupId =
net.luckperms explicitly on each MavenPublication, so the published
coordinates (net.luckperms:api/common/loader-utils/minestom/
minestom-app/minestom-loader) consumed by Butterfly and Titan stay
unchanged.
https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP
Adds a shared publishing convention so every remaining platform and loader module (bukkit/bungee/velocity/fabric/forge/neoforge/sponge/ nukkit/standalone/hytale + loaders, common:minecraft) is deployed to the OneLiteFeather repository as net.luckperms:<dashed-path>, publishing the shadowJar for loader modules and the java component otherwise. The six modules with bespoke publications (api, common, loader-utils, minestom, minestom-app, minestom-loader) are excluded and unchanged. https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Updates the Minestom dependency across the project to a newer version compatible with Minecraft 1.21.11.
Changes
2025.08.29-1.21.8to2026.05.17-1.21.11in bothminestom/build.gradleandminestom/loader/build.gradleclaude/titan-minestom-deployment-XhoNONotes
This upgrade brings support for a newer Minecraft version and includes any API changes or improvements from the Minestom project between these versions.
https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP