Skip to content

Add 26.3 modpacks and retire 26.2 from CI - #89

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

rubensworks merged 3 commits into
masterfrom
claude/minecraft-26-3-update-xr1cny

Conversation

@rubensworks

Copy link
Copy Markdown
Member

Adds Minecraft 26.3 to the pack tests. 26.3 supersedes 26.2, so 26.2 is dropped from CI and from the Renovate rules; its pack pom.xml files stay in the repo for reference. 1.21.1 and 26.1.2 are untouched.

Modpacks

Five new packs, mirroring the 26.2 layout: cyclops-all on neoforge, forge and fabric, plus cyclops-all-deps and cyclops-id on neoforge. Mod versions are the current 26.3 releases:

Mod 26.3
cyclopscore 1.30.0-1162
commoncapabilities 2.11.8-401
flopper 1.1.9-256
structuredcrafting 0.2.14-245
capabilityproxy 2.2.3-244
everlastingabilities 2.5.10-409
energeticsheep 1.2.0-278
colossalchests 1.8.16-321
iconexporter 1.4.2-234
integrateddynamics 1.33.4-2169
integratedtunnels 1.9.6-798
integratedcrafting 1.4.7-803
integratedterminals 1.7.0-1013
integratedscripting 1.0.22-495
integratedrest 1.1.15-220
integratednbt 1.6.1-86
evilcraft 1.2.98-1114

Third-party dependencies in cyclops-all-deps: JEI 26.3-neoforge:31.1.0.13, TerraBlender 26.3-26.3.0.0.0, Jade 8892782 (Jade-mc26.3-NeoForge-26.3.1).

theoneprobe and Curios have no 26.3 build, so both are commented out with a note. theoneprobe's latest is 26.2_neo-15.0.1-2 and Curios' is 16.0.0+26.2. Leaving either at its 26.2 artifact would break the pack at load: that is exactly how Jade's 26.2 build behaved when EvilCraft-Compat was ported, dying with NoSuchMethodError: VanillaRegistries.createLookup() before any test ran.

CI

The mc matrix entry 26.2 becomes 26.3, and the Fabric include entry moves to fabric-api: 0.161.0 with fabric-gametest-api: 4.0.32+3434d6d95d. That pairing is not guesswork: it is the fabric-gametest-api-v1 version that fabric-api:0.161.0+26.3 itself depends on, read from its POM.

Renovate

The per-MC-line allowedVersions rules for TerraBlender, theoneprobe, Architectury and Refined Storage move from modpacks/**/26.2*/** to modpacks/**/26.3*/**. Architectury's major goes 2122, which is the major that declares minecraft [26.3,) in its neoforge.mods.toml.

Since the 26.2 packs are unmaintained, ignorePaths keeps Renovate away from them rather than having it keep opening auto-merging update PRs for packs nothing tests. Note this overrides the ignorePaths inherited from config:recommended, which is harmless here as the repo holds only POMs and workflows.

A pre-existing problem I did not touch

run/world/datapacks/cyclopsmc-gametests-26-1-2/pack.mcmeta declares min_format: 82, max_format: 88. Those are resource pack numbers (26.1.2 is 84, 26.2 is 88), not data pack formats: the data pack formats are 101 for 26.1.2 and 107 for 26.2. So that pack looks incompatible to both versions it is meant to serve, which would mean the two IntegratedCrafting recipes in it have not been loading. CI is green regardless, so either the recipes are no longer needed or incompatible world datapacks still load.

I did not change it, since it is outside this PR's scope and the answer decides whether it is a real bug or dead weight. The new cyclopsmc-gametests-26-3 pack declares 121, which is 26.3's actual data pack format, read from version.json in the 26.3 client jar and cross-checked against misode/mcmeta.

Validation

All five new packs resolve completely with the repo's own ./fetch.sh, against the same settings.xml CI uses:

modpacks/cyclops-all/26.3/neoforge       OK (17 jars)
modpacks/cyclops-all/26.3/forge          OK (8 jars)
modpacks/cyclops-all/26.3/fabric         OK (8 jars)
modpacks/cyclops-all-deps/26.3/neoforge  OK (28 jars)
modpacks/cyclops-id/26.3/neoforge        OK (9 jars)

renovate.json is still valid JSON.

🤖 Generated with Claude Code

https://claude.ai/code/session_01V35MFZ7JSgoLe79J4d1uxf


Generated by Claude Code

26.3 supersedes 26.2, so the CI matrix and the Renovate version rules
move over to it. The 26.2 packs stay in the repo for reference, but are
no longer tested and are excluded from automatic dependency updates.

theoneprobe and Curios have no 26.3 build yet, so they are commented out
in cyclops-all-deps with a note.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V35MFZ7JSgoLe79J4d1uxf
Two separate failures on the first run:

* The gametest datapack I added for 26.3 registers an IntegratedCrafting
  recipe serializer, but IntegratedCrafting is NeoForge-only, so the
  Fabric and Forge cyclops-all servers failed registry loading and
  refused to start. The sibling packs declare pack formats that no
  current Minecraft version accepts, so they never load and never hit
  this; dropping the 26.3 pack restores that same behaviour.
* mc-runtime-test 4.5.1 has no 26.3 build, so the client jobs die with
  "Asset with name mc-runtime-test-26.3-*-neoforge-release.jar not
  found!". Exclude them until it ships one, the same way 26.2 client
  tests were excluded until 4.5.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V35MFZ7JSgoLe79J4d1uxf
Correcting the previous commit: the packs were never inert. They load on
every version, and removing the 26.3 one only changed which pack the
error names, since all three define the same recipe id and the last one
wins.

The recipes are Integrated Crafting ones, and Integrated Crafting only
exists on NeoForge. Up to 26.2 an unknown recipe type in a datapack was
skipped, so the Fabric and Forge servers came up anyway; 26.3 fails
registry loading over it and refuses to start. Drop the datapacks on the
loaders that cannot use them.

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

Copy link
Copy Markdown
Member Author

Build (server, cyclops-all-deps, 26.1.2, neoforge) is failing on this PR, and I do not believe it belongs to it.

evilcraft:gametestsbloodinfuser_testbloodinfuseremptyfluidcontainercreativeblooddrop failed at 30, -60, 2071!
Expected Blood infuser tank contents to be 10000: was 0 on tick 202
1 required test(s) failed :(

Two reasons it is not this PR's:

  • git diff origin/master...HEAD -- modpacks/cyclops-all-deps/26.1.2 run/ is empty. This PR adds 26.3 packs, swaps 26.2 for 26.3 in the matrix and the Renovate rules, and adds a datapack-removal step gated on matrix.loader != 'neoforge', which is a no-op for this job. Its inputs are identical to master's.
  • That exact test is already called out as fragile in this repo, in the cyclops-all-deps POMs themselves: "While we have support, the gametest evilcraft:gametestsbloodinfuser_testbloodinfuseremptyfluidcontainercreativeblooddrop fails for some reason when architectury is present." Architectury is commented out here, so that specific trigger is absent, but the test is evidently environment-sensitive.

No fix exists for me to port, so I am not widening this PR with one. I will re-run the job once when the run finishes and report what comes back. If it fails again on an unchanged 26.1.2 pack, it is a real pre-existing failure on master and deserves its own issue rather than blocking this.

The 26.3 jobs are what this PR is responsible for, and those are covered by the two fixes already pushed.


Generated by Claude Code

@rubensworks
rubensworks merged commit e057ba9 into master Sep 20, 2026
53 of 55 checks passed
@rubensworks
rubensworks deleted the claude/minecraft-26-3-update-xr1cny branch September 20, 2026 18:07

Copy link
Copy Markdown
Member Author

Correction to my previous comment: I was wrong that no fix exists. One does, and it is already in flight here.

CyclopsMC/EvilCraft#1263, "Fix random failures of blood infuser game tests" (19 Sep), rewrote GameTestsBloodInfuser to re-fetch the block entity inside succeedWhen instead of holding a stale reference from before the block was placed. It is on both master-26 and master-26-lts.

The packs were simply pinned below it. I checked the published sources jars directly:

Build getInfuser(helper) present
evilcraft-26.1.2-neoforge:1.2.105-1085 (pinned) no
evilcraft-26.1.2-neoforge:1.2.105-1107 (latest) yes

That also explains why 26.3 was unaffected: it pins 1.2.98-1114, built from master-26 well after the fix.

#88 already bumps evilcraft-26.1.2-neoforge from 1.2.105-1085 to 1.2.105-1107 in both cyclops-all and cyclops-all-deps, and it has rebased onto this PR's merge. So the failure resolves when that automerges, and no separate change is needed. Apologies for the wrong call.


Generated by Claude Code

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.

2 participants