Skip to content

Upgrade Minestom dependency to 2026.05.17-1.21.11#2

Open
TheMeinerLP wants to merge 36 commits into
masterfrom
claude/titan-minestom-deployment-XhoNO
Open

Upgrade Minestom dependency to 2026.05.17-1.21.11#2
TheMeinerLP wants to merge 36 commits into
masterfrom
claude/titan-minestom-deployment-XhoNO

Conversation

@TheMeinerLP
Copy link
Copy Markdown

Summary

Updates the Minestom dependency across the project to a newer version compatible with Minecraft 1.21.11.

Changes

  • Updated Minestom dependency from 2025.08.29-1.21.8 to 2026.05.17-1.21.11 in both minestom/build.gradle and minestom/loader/build.gradle
  • Added CI workflow trigger for the deployment branch claude/titan-minestom-deployment-XhoNO

Notes

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

lucko and others added 30 commits December 10, 2025 12:12
…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
claude added 6 commits May 18, 2026 15:20
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants