Skip to content

Unofficial Port to NeoForge 1.21.1Β #3

Description

@baiyin1223

ArsArms - NeoForge 1.21.1 Port

Hi there! πŸ‘‹

First of all, thank you so much for creating ArsArms β€” it's a fantastic mod and a really creative idea to bridge TaCZ and Ars Nouveau together. I've been enjoying it a lot!

What I Did

I took the liberty of porting ArsArms to Minecraft 1.21.1 NeoForge. The port is fully functional β€” both building and in-game testing confirm that all features work as expected.

Major Changes

Here's a summary of the key modifications made during the port:

  • Build System: Migrated from ForgeGradle to NeoForge ModDevGradle 2.0.141 (Gradle 9.2.1)
  • Java Version: Updated from Java 17 to Java 21
  • NeoForge Version: Targeting NeoForge 21.1.66 for Minecraft 1.21.1
  • Networking: Replaced Forge's SimpleChannel with NeoForge's Payload API (CustomPacketPayload + StreamCodec)
  • Data Storage: Migrated from direct NBT tag access (getOrCreateTag()) to the new DataComponents system (CustomData)
  • Ars Nouveau API: Updated from ReactiveCaster to the new ReactiveCasterData (DataComponent-based caster system in AN 5.x)
  • Enchantment System: Adapted to 1.21's data-driven enchantment system using ResourceKey<Enchantment> and registry lookups
  • Event System: Updated all event subscribers to NeoForge's @EventBusSubscriber annotation
  • Mod Metadata: Migrated from META-INF/mods.toml to NeoForge's template-based neoforge.mods.toml
  • Lang Files: Fixed namespace from ironsarms to arsarms
  • Dependencies: TaCZ via Modrinth Maven (unofficial 1.21.1 port), Ars Nouveau via official Maven

Repository

The ported code is available here:
https://github.com/baiyin1223/ArsArms1_21_1

Question About Release

I wanted to ask how you'd prefer to handle this port:

  1. Merge into your repository β€” I can submit a PR, and you could publish it on your existing CurseForge/Modrinth pages as a new version branch. If you go with this option, I'd appreciate being credited (GitHub: baiyin1223).

  2. I publish it separately β€” If you'd prefer, I can release it as a standalone unofficial port under a separate project page, with full credit to you as the original author.

Either way works for me β€” just let me know what you're most comfortable with. Thank you again for the great work on this mod!

Best regards,
baiyin1223

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions