Update to Minecraft 26.3 - #44
Conversation
Ports the mod from 26.2 to 26.3. The build and all 1001 game tests pass locally, and a dev client was driven on 26.3 to check the JEI integration. Tooling: NeoForge 26.3.0.7-beta. Code: - AbstractContainerScreen#getGuiLeft and #getGuiTop, NeoForge extension methods, were removed. LogicProgrammerGhostIngredientHandler reads leftPos and topPos instead, matching what IntegratedDynamics itself does. Those fields are protected, so this adds the mod's own access transformer, which the build already looks for and the jar manifest already declares. Dependencies: - JEI 26.2-neoforge:30.1.0.9 to 26.3-neoforge:31.1.0.12. - Jade to the 26.3 CurseForge build, TerraBlender to 26.3-26.3.0.0.0, and Cloth Config to 26.3.158. The old Jade crashed on load against 26.3. - The One Probe has no 26.3 build and a 26.2 one refuses to load, so it becomes compileOnly. The integration still compiles and ships, but it is not exercised in dev runs until a 26.3 build exists. - REI likewise has no 26.3 build. It was already compileOnly; Cloth Config and architectury exist only to support it, and architectury 21.x calls a NeoForge method removed in 26.3, so both become compileOnly too. Build: - Adds a commoncapabilities_version_local secrets hook, matching the ones that already exist for CyclopsCore and IntegratedDynamics, so the mod can be built before those three are published for 26.3. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V35MFZ7JSgoLe79J4d1uxf
|
CI is red on the expected blocker, and will stay red until CyclopsCore publishes for 26.3. The Nothing to port: none of those exist for 26.3 at any version yet. I also checked whether CyclopsMC/CyclopsCore#243's green build had already published something usable — its "Deploy to Maven" step is skipped on a PR branch, so there is no 26.3 build number to point at short of merging. Not re-running: a re-run cannot make missing artifacts appear. Everything else is verified locally against those three built from source: Generated by Claude Code |
CyclopsMC/CyclopsCore#243 is merged, and its master-26 run published cyclopscore 1.30.0-1159, so the placeholder version and the note about building locally are no longer needed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V35MFZ7JSgoLe79J4d1uxf
CyclopsMC/CommonCapabilities#50 is merged and its master-26 run published commoncapabilities 2.11.8-398. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V35MFZ7JSgoLe79J4d1uxf
NeoForge 26.3 deprecated logoFile in favour of bannerFile and iconFile, and warns about it on every dev client launch. The logo is square, so iconFile is the fitting replacement. Only the NeoForge manifest changes: Forge 26.3 still only understands logoFile, so its mods.toml is left as is. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V35MFZ7JSgoLe79J4d1uxf
CyclopsMC/IntegratedDynamics#1738 is merged, and its master-26 run published integrateddynamics 1.33.4-2151, so the placeholder version and the note about building locally are no longer needed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V35MFZ7JSgoLe79J4d1uxf
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V35MFZ7JSgoLe79J4d1uxf
Coverage Report for CI Build 35512687473Coverage decreased (-1.5%) to 8.184%Details
Uncovered ChangesNo uncovered changes found. Coverage Regressions18 previously-covered lines in 7 files lost coverage. Coverage Stats
💛 - Coveralls |
It is already compileOnly; what has to change once The One Probe has a 26.3 build is switching it back to implementation. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V35MFZ7JSgoLe79J4d1uxf
Updates IntegratedDynamics-Compat from 26.2 to 26.3.
./gradlew buildpasses, all 1001 game tests pass, and a 26.3 dev client was driven with clientdevbridge to check the JEI integration.Needed by CyclopsMC/IntegratedDynamics#1738, which cannot build at all until a 26.3 build of this exists: the compat jar is
shadowed into IntegratedDynamics but sits on its compile classpath, so that PR currently dies at Gradle configuration time. With this branch published locally, IntegratedDynamics#1738 builds clean against a real 26.3 compat jar.The only code change
AbstractContainerScreen#getGuiLeft/#getGuiTop, the NeoForge extension methods, were removed in 26.3.LogicProgrammerGhostIngredientHandlerreadsleftPos/topPosdirectly instead, which is what IntegratedDynamics itself already does in the same screen.Those fields are
protected, so this adds the mod's own access transformer. That is less of an addition than it looks:build.gradlealready auto-enablessrc/main/resources/META-INF/accesstransformer.cfgwhen it exists, and the jar manifest already declaresFMLAT. The file just never existed until now.Verified in a client: with the Logic Programmer open,
leftPos/topPosread85/0, matching the container's actual on-screen position, and the one input slot at(160, 53)yields a ghost-ingredient target at(244, 52)— the correct position with the usual 1px border inset.Dependencies
Four have 26.3 builds and are bumped:
26.2-neoforge:30.1.0.926.3-neoforge:31.1.0.128281956889278226.2-26.2.0.0.226.3-26.3.0.0.026.2.15526.3.158The old Jade was not merely stale: it crashed mod loading on 26.3 with
NoSuchMethodError: VanillaRegistries.createLookup().Two do not have 26.3 builds, and a 26.2 jar of either refuses to load or crashes on 26.3, so they become
compileOnly:requires minecraft 26.2). Moving it tocompileOnlykeeps the integration compiling and shipping; it simply stays dormant in dev runs. This does mean the TOP integration is no longer exercised by the game tests, which is worth knowing given Upmerge master-26-lts into master-26 #43 only recently re-enabled it. Worth flipping back toimplementationas soon as a 26.3 TOP exists.compileOnly. Cloth Config and architectury are only there to support it, and architectury 21.x callsLootTableLoadEvent#getRegistries, removed in 26.3, which crashed loading. Both now follow REI tocompileOnly.Build
Adds a
commoncapabilities_version_localsecrets hook, matching the ones that already exist for CyclopsCore and IntegratedDynamics. Without it there was no way to build this mod before CommonCapabilities publishes for 26.3, which is exactly the situation during this update.All three CyclopsMC dependencies now point at published 26.3 builds and resolve:
cyclopscore_versionat1.30.0-1159,commoncapabilities_versionat2.11.8-398, andintegrateddynamics_versionat1.33.4-2151, which CyclopsMC/IntegratedDynamics#1738 produced on merge. Verified by building withsecrets.propertiesremoved entirely, which is what CI does: all three resolve,buildpasses and the game tests pass.Not verified
The One Probe and REI integrations are compile-checked only, as above. The JEI integration is the one that was exercised in a running client.
🤖 Generated with Claude Code
https://claude.ai/code/session_01V35MFZ7JSgoLe79J4d1uxf
Generated by Claude Code
Generated by Claude Code