Skip to content

[1.21.1] Add the NeoForge backport - #417

Merged
Jukoz merged 22 commits into
Jukoz:dev-neoforgefrom
Campione01:1.0.2-1.21.1-neoforge-backport
Aug 19, 2026
Merged

[1.21.1] Add the NeoForge backport#417
Jukoz merged 22 commits into
Jukoz:dev-neoforgefrom
Campione01:1.0.2-1.21.1-neoforge-backport

Conversation

@Campione01

@Campione01 Campione01 commented Aug 18, 2026

Copy link
Copy Markdown

Target branch: this PR now targets dev-neoforge as requested. The ancestry bridge records the official 1.0.2 baseline while preserving the already validated NeoForge 1.21.1 source tree unchanged.

This adds the NeoForge 1.21.1 backport I mentioned on Discord. Middle-earth, Seven Stars API, and Of Beasts and Wild Things remain separate logical mods, while the two dependencies are packaged inside the player-facing Middle-earth jar with NeoForge Jar-in-Jar.

The branch follows the complete official upstream 1.0.2-1.21.8-beta tagged tree at fe655f713. Compatible changes are backported directly or adapted to Minecraft 1.21.1 and NeoForge APIs.

Main points

  • Minecraft 1.21.1, Java 21, and NeoForge 21.1.x.
  • Native NeoForge registration, networking, lifecycle, data generation, rendering, and optional JEI/EMI integration.
  • Preserved middle-earth:*, sevenstars_api, and wild_things IDs and resources.
  • Jar-in-Jar player artifact with Seven Stars API and Wild Things embedded.
  • Port-specific fixes for world generation, structures, NPC behavior/rendering, dimension travel, plates, animal variants, item/block models, and high-frequency runtime paths.
  • Clean-checkout data generation and artifact-boundary regression tests.

Version-specific adaptations

  • Fabric metadata and runtime hooks are replaced with NeoForge equivalents.
  • 1.21.8 item definitions are expressed through the 1.21.1 models/item format.
  • The upstream process-global wild-spawn cache/cap is replaced by the port's bounded, dimension-aware implementation.
  • The pre-1.21.8 saddle recipe is retained because vanilla 1.21.1 does not provide its 1.21.8 replacement.

Validation

  • ./gradlew clean build --console=plain passes.
  • 116 tests in 26 suites pass with no failures, errors, or skips.
  • A consecutive data-generation run writes zero files.
  • The player jar contains NeoForge metadata, 356 structures, and exactly two nested logical-mod jars, with no fabric.mod.json, net/fabricmc/** runtime classes, or duplicate ZIP entries.
  • Final resource contracts cover Wild Things animal items/spawn eggs, pale-oak compatibility models, inscription recipes/advancements, the 1.21.1 saddle recipe, and the tagged block-loot semantics.
  • Muted isolated-desktop client acceptance covers the 1.0.2 content, JEI+EMI and EMI-only recipe views, renderer states, and the starlight-phial return flow.
  • Push CI passed: https://github.com/Campione01/middle-earth/actions/runs/32262156398

The complete baseline and acceptance record is in docs/neo-1.21.1-backport-acceptance.md.

@SkullHunter

SkullHunter commented Aug 18, 2026

Copy link
Copy Markdown

Isn't it just better to go to 26.2 Neoforge or Fabric, this way you guys can keep the new features and we get the more updated mods

@krahab

krahab commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Hello there!
First of all, thank you for your hard work Campione!
We’ve created two brand-new branches for the NeoForge development. Please merge your changes into dev-neoforge instead of dev. This will allow us to keep the NeoForge and Fabric development branches separated.

If we want these changes to be included in both the main and dev branches, we would need to implement a dual-port system. We’re open to that approach as well, long term it might be a better solution.

We can continue the discussion in discord if you prefer 🙌
Have a nice day!

@Campione01
Campione01 changed the base branch from dev to dev-neoforge August 19, 2026 14:07
@Campione01

Copy link
Copy Markdown
Author

Thanks! I’ve retargeted the PR to dev-neoforge and connected the new branch baseline without changing the validated NeoForge 1.21.1 source tree. GitHub now reports the PR as mergeable, and the fresh exact-head CI/build passed:

https://github.com/Campione01/middle-earth/actions/runs/32262156398

Keeping Fabric and NeoForge development separate makes sense for this port. We can discuss a dual-port setup later if that becomes useful.

@Jukoz Jukoz left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Insane work! Thank you very much for the port 😄 ! Will be released alongside 1.0.3b & after playtesting it.

@Jukoz
Jukoz merged commit a3509ba into Jukoz:dev-neoforge Aug 19, 2026
1 check passed
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