Skip to content

Update to Minecraft 26.3 - #44

Merged
rubensworks merged 7 commits into
master-26from
claude/minecraft-26-3-update-xr1cny
Sep 20, 2026
Merged

rubensworks merged 7 commits into
master-26from
claude/minecraft-26-3-update-xr1cny

Conversation

@rubensworks

@rubensworks rubensworks commented Sep 20, 2026

Copy link
Copy Markdown
Member

Updates IntegratedDynamics-Compat from 26.2 to 26.3. ./gradlew build passes, 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. LogicProgrammerGhostIngredientHandler reads leftPos / topPos directly 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.gradle already auto-enables src/main/resources/META-INF/accesstransformer.cfg when it exists, and the jar manifest already declares FMLAT. The file just never existed until now.

Verified in a client: with the Logic Programmer open, leftPos/topPos read 85/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:

from to
JEI 26.2-neoforge:30.1.0.9 26.3-neoforge:31.1.0.12
Jade 8281956 8892782
TerraBlender 26.2-26.2.0.0.2 26.3-26.3.0.0.0
Cloth Config 26.2.155 26.3.158

The 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:

  • The One Probe — refuses to load (requires minecraft 26.2). Moving it to compileOnly keeps 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 to implementation as soon as a 26.3 TOP exists.
  • REI — was already compileOnly. Cloth Config and architectury are only there to support it, and architectury 21.x calls LootTableLoadEvent#getRegistries, removed in 26.3, which crashed loading. Both now follow REI to compileOnly.

Build

Adds a commoncapabilities_version_local secrets 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_version at 1.30.0-1159, commoncapabilities_version at 2.11.8-398, and integrateddynamics_version at 1.33.4-2151, which CyclopsMC/IntegratedDynamics#1738 produced on merge. Verified by building with secrets.properties removed entirely, which is what CI does: all three resolve, build passes 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

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

Copy link
Copy Markdown
Member Author

CI is red on the expected blocker, and will stay red until CyclopsCore publishes for 26.3.

The Build job fails at Gradle configuration time after 32s, before anything compiles, on all three CyclopsMC dependencies at once:

> Could not resolve all files for configuration ':compileClasspath'.
   > Could not find org.cyclops.integrateddynamics:integrateddynamics-26.3-neoforge:1.33.4-1858.
   > Could not find org.cyclops.cyclopscore:cyclopscore-26.3-neoforge:1.30.0-1038.
   > Could not find org.cyclops.commoncapabilities:commoncapabilities-26.3-neoforge:2.11.8-360.

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: ./gradlew build passes, all 1001 game tests pass, and a 26.3 dev client loaded JEI, Jade and TerraBlender alongside the Logic Programmer.


Generated by Claude Code

rubensworks and others added 4 commits September 20, 2026 11:16
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
Comment thread build.gradle Outdated
Comment thread build.gradle Outdated
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V35MFZ7JSgoLe79J4d1uxf
@coveralls

coveralls commented Sep 20, 2026

Copy link
Copy Markdown

Coverage Report for CI Build 35512687473

Coverage decreased (-1.5%) to 8.184%

Details

  • Coverage decreased (-1.5%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 18 coverage regressions across 7 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

18 previously-covered lines in 7 files lost coverage.

File Lines Losing Coverage Coverage
org/cyclops/integrateddynamicscompat/modcompat/top/TheOneProbe.java 7 0.0%
org/cyclops/integrateddynamicscompat/modcompat/top/TopDryingBasinData.java 2 0.0%
org/cyclops/integrateddynamicscompat/modcompat/top/TopMechanicalMachineData.java 2 0.0%
org/cyclops/integrateddynamicscompat/modcompat/top/TopPartData.java 2 0.0%
org/cyclops/integrateddynamicscompat/modcompat/top/TopProxyData.java 2 0.0%
org/cyclops/integrateddynamicscompat/modcompat/top/TopSqueezerData.java 2 0.0%
org/cyclops/integrateddynamicscompat/modcompat/top/TopModCompat.java 1 40.0%

Coverage Stats

Coverage Status
Relevant Lines: 935
Covered Lines: 95
Line Coverage: 10.16%
Relevant Branches: 238
Covered Branches: 1
Branch Coverage: 0.42%
Branches in Coverage %: Yes
Coverage Strength: 0.37 hits per line

💛 - 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
@rubensworks
rubensworks merged commit ac1fa92 into master-26 Sep 20, 2026
3 checks passed
@rubensworks
rubensworks deleted the claude/minecraft-26-3-update-xr1cny branch September 20, 2026 13:12
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.

3 participants