Skip to content

Update to Minecraft 26.3 - #43

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

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

Conversation

@rubensworks

@rubensworks rubensworks commented Sep 20, 2026

Copy link
Copy Markdown
Member

Updates all three loaders to Minecraft 26.3, alongside CyclopsMC/CyclopsCore#243. ./gradlew build and ./gradlew runGameTestServer both pass locally — 13 game tests green on Fabric, NeoForge and Forge — and the block was checked in a running 26.3 client.

Tooling

Same set as CyclopsCore:

  • Gradle wrapper 9.5.0 → 9.7.1. Fabric Loom 1.18 requires it, and Loom also requires the build JVM itself to be Java 25 (CI already provisions Java 25).
  • Fabric Loom 1.17-SNAPSHOT1.18.2, NeoForge ModDev 2.0.1412.0.147.
  • NeoForge 26.3.0.7-beta, Forge 26.3-66.0.2, Fabric API 0.161.0+26.3, Fabric Loader 0.19.5, NeoForm 26.3-1, Forge Config API Port 26.3.0.

Code

Only two vanilla changes touch this mod, and each hits all three loaders:

  • The block type MapCodec registry and Block#codec were removed entirely. The CODEC field and the codec() override are dropped from BlockFlopperFabric, BlockFlopperForge and BlockFlopperNeoForge, along with the imports that became unused.
  • PushReaction.DESTROY was renamed to POPPED, in each BlockEntityFlopper*'s piston-push check.

Verified in a 26.3 client

Dropping Block#codec touches registration, so beyond the game tests the block was exercised in a real client with clientdevbridge:

  • flopper:flopper registers as both a block and an item.
  • Placed, it keeps its blockstate properties: Block{flopper:flopper}[enabled=true,facing=down].
  • Its block entity serializes: {components:{},tank:{acceptedFluid:"minecraft:empty",capacity:5000,stacks:[{}]},transferCooldown:-1}.
  • With a water source above it, the tank filled to {amount:1000,id:"minecraft:water"} — so fluid pulling still works end to end.
  • The block model and the item model both render.

Also note: .gitignore gained an entry for .clientdevbridge/ session state, which the tooling appends on first use.

🤖 Generated with Claude Code

https://claude.ai/code/session_01V35MFZ7JSgoLe79J4d1uxf


Generated by Claude Code


Generated by Claude Code

Tooling, matching CyclopsCore:
- Gradle 9.7.1, needed by Fabric Loom 1.18 (which requires a Java 25 JVM
  for the build itself)
- Fabric Loom 1.18.2, NeoForge ModDev 2.0.147
- NeoForge 26.3.0.7-beta, Forge 26.3-66.0.2, Fabric API 0.161.0+26.3,
  Fabric Loader 0.19.5, NeoForm 26.3-1, Forge Config API Port 26.3.0

Code:
- The block type MapCodec registry and Block#codec were removed, so the
  CODEC fields and codec() overrides are dropped from all three
  BlockFlopper subclasses
- PushReaction.DESTROY was renamed to POPPED

cyclopscore_version still points at a 26.2 build, since no CyclopsCore
26.3 build is published yet. Building this needs
cyclopscore_version_local in secrets.properties until then.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V35MFZ7JSgoLe79J4d1uxf

Copy link
Copy Markdown
Member Author

Both Build checks fail, and it is the blocker described at the top of this PR rather than anything in the diff. Gradle stops at dependency resolution after 50s, before compiling anything:

Could not find org.cyclops.cyclopscore:cyclopscore-26.3-fabric:1.30.0-1038
Required by:
    project ':loader-fabric'

The artifact id embeds the Minecraft version, so bumping minecraft_version to 26.3 moved the coordinate to cyclopscore-26.3-*, and no CyclopsCore 26.3 build is published yet.

There is no fix to port into this PR: what is missing is a published artifact, not a code change. It clears once CyclopsMC/CyclopsCore#243 is merged and its CI publishes, at which point cyclopscore_version in gradle.properties needs bumping from 1.30.0-1038 to that build. I have left a TODO on the property.

Not re-running the checks: a missing artifact is deterministic, so a re-run would fail identically.

Locally this builds and passes — ./gradlew build plus 13 green game tests on all three loaders — against a publishToMavenLocal CyclopsCore through cyclopscore_version_local=1.30.0-DEV in secrets.properties.


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
@github-actions

Copy link
Copy Markdown

Coverage Report for CI Build 35507351572

Coverage increased (+0.05%) to 64.751%

Details

  • Coverage increased (+0.05%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 28 coverage regressions across 2 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

28 previously-covered lines in 2 files lost coverage.

File Lines Losing Coverage Coverage
org/cyclops/flopper/block/BlockFlopperNeoForge.java 15 41.33%
org/cyclops/flopper/block/BlockFlopperFabric.java 13 41.67%

Coverage Stats

Coverage Status
Relevant Lines: 816
Covered Lines: 600
Line Coverage: 73.53%
Relevant Branches: 350
Covered Branches: 155
Branch Coverage: 44.29%
Branches in Coverage %: Yes
Coverage Strength: 5.2 hits per line

💛 - Coveralls

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

1 participant