Skip to content

Port Turtlematic to Minecraft 1.21.1 - #36

Merged
SirEdvin merged 33 commits into
1.21from
migration/1.21.1
Jul 27, 2026
Merged

Port Turtlematic to Minecraft 1.21.1#36
SirEdvin merged 33 commits into
1.21from
migration/1.21.1

Conversation

@SirEdvin

@SirEdvin SirEdvin commented Jul 15, 2026

Copy link
Copy Markdown
Owner

Migration

  • Source branch: 1.20
  • Target branch: 1.21
  • Minecraft: 1.20.1 -> 1.21.1
  • Java: 17 -> 21
  • Loaders: Forge/Fabric -> NeoForge/Fabric

Major changes

  • Merged all maintained 1.20 functionality before completing the port, including inspection monocle, husbandry points, forged automata capabilities, turtle chatter colors, capture/chunk-vial/item-suck fixes, and precomposited automata models.
  • Migrated the build to Gradle 8.14, buildenv 0.9.0, NeoForge ModDevGradle, current Fabric Loom, and current 1.21.1 Broccolium/Tweakium/Peripheralium dependencies.
  • Replaced the legacy Forge entrypoints, metadata, lifecycle, registration, datagen, and access-transformer setup with NeoForge equivalents while retaining the forge artifact ID.
  • Regenerated Fabric and NeoForge resources using 1.21 singular paths and schemas.
  • Added isolated Testiarium testmods, an aggregate gameTest task, XML/HTML reports, and Java 21 pull-request CI.

Compatibility

  • Preserved mod IDs, item/entity/turtle-upgrade IDs, peripheral type names, config keys (including existing typo-bearing keys), saved-data names, Maven group, artifact IDs, and archive naming.
  • Preserved consumed_entity_compound inside the 1.21 custom-data component so migrated 1.20 soul-progress items remain readable.
  • Preserved turtlematic:* turtle upgrade type IDs on both loaders with a Turtlematic-owned NeoForge deferred registry.
  • Testiarium and fixture artifacts remain test-only and are absent from production runtime graphs, POMs, and packaged JARs.

Verification

  • ./gradlew :core:compileKotlin :core:compileJava
  • ./gradlew :fabric:runData and ./gradlew :forge:runData; generated diffs inspected
  • Fabric and NeoForge main/testmod compilation
  • ./gradlew clean build --no-daemon
  • timeout --foreground 600s ./gradlew gameTest --no-daemon: 2/2 tests passed on Fabric and 2/2 on NeoForge; fresh XML and HTML reports produced
  • Fabric dedicated server reached Done, accepted stop, and saved all dimensions cleanly
  • Fabric client initialized rendering and completed resource/atlas reload under xvfb-run; bounded timeout used
  • Production dependency graphs, generated POMs, and packaged JAR contents inspected

CI and limitations

  • Hosted GameTests run 29442394881 passed on the retry after an initial transient ModMenu Maven download truncation. The gametest-reports artifact (8354261171) was downloaded and verified to contain both loaders’ XML and HTML reports; each XML records 2/2 passing tests.
  • No automated client world join was performed; the client smoke reached the title-screen/resource-loaded state and was terminated by the external timeout.
  • No supported integration was intentionally removed or deferred.

MAGGen-hub and others added 30 commits March 10, 2025 20:42
New textures for all automata cores without usage of `layer1` texture in `item_models`. Fixes texture jitter that may appear on item sides.
A few fixes in textures related to transparency.
…ent. fixes #28

Co-authored-by: Alisa Sireneva <me@purplesyringa.moe>
Co-authored-by: Alisa Sireneva <me@purplesyringa.moe>
Texture jitter glitch fix. [fabric & forge]
fix: interpret chunkVialTimeLimit in milliseconds, as per config comment. fixes #28
fix: chunk vials now work correctly in all dimensions. fixes #27
fix sucking not returning accurate information
Use block center for sucking items and use same radius as scanning does
@SirEdvin
SirEdvin merged commit 1a746f4 into 1.21 Jul 27, 2026
1 of 2 checks passed
@SirEdvin
SirEdvin deleted the migration/1.21.1 branch July 27, 2026 09:33
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.

4 participants