Part of #96. Keep the shipping 1.21.1 NeoForge/Java 21 build intact while adding a separate Minecraft 26.3 NeoForge/Java 25 target. The 26.3 target must not declare the 1.21.1-only Dynamic Dimensions, bad packets, Create/Ponder, or Immersive Portals artifacts as mandatory.
Acceptance criteria:
Both targets can be selected and built independently with unambiguous Minecraft-versioned artifact names.
CI or repeatable local commands run the correct JDK, NeoForge, dependencies, and metadata for each target.
The 1.21.1 build and existing GameTests are not regressed by the build split.
Document how a change is applied and verified across both maintained lines.
Part of #96. Keep the shipping 1.21.1 NeoForge/Java 21 build intact while adding a separate Minecraft 26.3 NeoForge/Java 25 target. The 26.3 target must not declare the 1.21.1-only Dynamic Dimensions, bad packets, Create/Ponder, or Immersive Portals artifacts as mandatory.
Acceptance criteria:
- Both targets can be selected and built independently with unambiguous Minecraft-versioned artifact names.
- CI or repeatable local commands run the correct JDK, NeoForge, dependencies, and metadata for each target.
- The 1.21.1 build and existing GameTests are not regressed by the build split.
- Document how a change is applied and verified across both maintained lines.
dnorberg
added this to the Dual-version support milestone 2026-10-27 00:05:39 -04:00
Progress (2026-10-27): added an isolated ports/mc263 ModDevGradle 2.0.148 / NeoForge 26.3.0.99 / Java 25 toolchain probe. ./gradlew -p ports/mc263 build --offline and the root 1.21.1 ./gradlew build --offline both pass. The 26.3 JAR task is disabled and the target is non-playable; this is not a 26.3 release. Added a separate Java 25 CI probe job and documented the commands. Remaining for #97: replace the probe with the real port, establish versioned artifacts, and verify both build paths in CI.
Progress (2026-10-27): added an isolated `ports/mc263` ModDevGradle 2.0.148 / NeoForge 26.3.0.99 / Java 25 toolchain probe. `./gradlew -p ports/mc263 build --offline` and the root 1.21.1 `./gradlew build --offline` both pass. The 26.3 JAR task is disabled and the target is non-playable; this is not a 26.3 release. Added a separate Java 25 CI probe job and documented the commands. Remaining for #97: replace the probe with the real port, establish versioned artifacts, and verify both build paths in CI.
Closing the independent build-target setup issue. On 2026-11-01, both ./gradlew build (1.21.1/Java 21) and ./gradlew -p ports/mc263 build (26.3/Java 25) passed. The 1.21.1 GameTest server passed all 93 required tests, resolving the earlier one-off desk-test failure. The separate 26.3 JAR is Minecraft-versioned, and the port documentation describes the two build paths and cross-version verification. Per project decision, adding the Minecraft version to the 1.21.1 JAR filename is deferred until the next 1.21.1 release rather than changing an already-published artifact in place. Broader 26.3 parity remains tracked by #98–#104.
Closing the independent build-target setup issue. On 2026-11-01, both `./gradlew build` (1.21.1/Java 21) and `./gradlew -p ports/mc263 build` (26.3/Java 25) passed. The 1.21.1 GameTest server passed all 93 required tests, resolving the earlier one-off desk-test failure. The separate 26.3 JAR is Minecraft-versioned, and the port documentation describes the two build paths and cross-version verification. Per project decision, adding the Minecraft version to the 1.21.1 JAR filename is deferred until the next 1.21.1 release rather than changing an already-published artifact in place. Broader 26.3 parity remains tracked by #98–#104.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Part of #96. Keep the shipping 1.21.1 NeoForge/Java 21 build intact while adding a separate Minecraft 26.3 NeoForge/Java 25 target. The 26.3 target must not declare the 1.21.1-only Dynamic Dimensions, bad packets, Create/Ponder, or Immersive Portals artifacts as mandatory.
Acceptance criteria:
Progress (2026-10-27): added an isolated
ports/mc263ModDevGradle 2.0.148 / NeoForge 26.3.0.99 / Java 25 toolchain probe../gradlew -p ports/mc263 build --offlineand the root 1.21.1./gradlew build --offlineboth pass. The 26.3 JAR task is disabled and the target is non-playable; this is not a 26.3 release. Added a separate Java 25 CI probe job and documented the commands. Remaining for #97: replace the probe with the real port, establish versioned artifacts, and verify both build paths in CI.Closing the independent build-target setup issue. On 2026-11-01, both
./gradlew build(1.21.1/Java 21) and./gradlew -p ports/mc263 build(26.3/Java 25) passed. The 1.21.1 GameTest server passed all 93 required tests, resolving the earlier one-off desk-test failure. The separate 26.3 JAR is Minecraft-versioned, and the port documentation describes the two build paths and cross-version verification. Per project decision, adding the Minecraft version to the 1.21.1 JAR filename is deferred until the next 1.21.1 release rather than changing an already-published artifact in place. Broader 26.3 parity remains tracked by #98–#104.