Closed qixils closed 5 months ago
Much ado has recently been made about NeoForge, a fork of Forge created by most of the former Forge team that excludes one of the more toxic team members and supposedly sheds some of the project's negative feelings towards mods utilizing game code patches. I believe this project may make more mods and libraries willing to adopt (Neo)Forge if the new team plays their cards right and delivers on the expectations to better support game code patches, though I think it remains unlikely that many people will put in the effort to do the porting themselves.
Sponge has finally published stable builds of SpongeForge 1.16.5 to mark the end of active SF development on 1.16.5 and to hopefully mark the beginning of active SF development on 1.19.4+.
Recent-ish comment from a Sponge developer regarding the status of SpongeForge:
I suspect the next version will be 1.20.2 for SF we're sorta hoping to let the dust settle on the whole forge/neoforge situation too
Even better: on the most recent State of Sponge, the devs announced that SpongeForge 1.19.4 is in unstable alpha with plans to officially publish beta releases very soon.
Just recently, Sponge began shipping beta builds of SpongeForge for the latest version of the game, 1.20.6. The mod has successfully been updated to fully support this version with minor changes, and so, as promised in the original issue, this issue will now be closed.
adventure-platform-fabric, the biggest blocker in porting to Forge, has started working on support for NeoForge. The v3.6.1 release of CC will migrate away from the Cardinal Components library, leaving adventure-platform-fabric as the only library blocking support for NeoForge. We will continue to monitor the situation.
🤔
August 2024 Update
adventure-platform-fabric has just released for NeoForge, finally allowing us to support the platform. We already have alpha builds for 1.21.1, but will be unable to release them until 1.21.2. Stay tuned!
July 2024 Update
Coincidentally, adventure-platform-fabric, the biggest blocker in porting to Forge, has started working on support for NeoForge. The v3.6.1 release of CC will migrate away from the Cardinal Components library, leaving adventure-platform-fabric as the only library blocking support for NeoForge. We will continue to monitor the situation.
May 2024 Update
Just recently, Sponge began shipping beta builds of SpongeForge for the latest version of the game, 1.20.6. The mod has successfully been updated to fully support this version with minor changes, and so, as promised in the original issue down below, this issue will now be closed.
Original Issue
TL;DR
The Full Situation
The mod supports the Sponge API, and Sponge can run as a Forge mod, so the mod supports Forge, right? Well, yes, but only on the Minecraft versions supported by SpongeForge, which currently is just 1.12.2 and 1.16.5 (edit: and 1.19.4!). This is great for speedrunners of old versions (which honestly was my main goal) but also for some old modpacks. So, what about Forge for the latest version of the game? Well.
The Native Forge Port
Over a year ago when I began development of the Fabric mod, I planned to release a Forge version alongside it, but this quickly proved to be nonviable. I'd have to singlehandedly create Forge ports of several software libraries (listed below) that may or [likely] may not even want a Forge port created of them, meaning I'd likely have to maintain several of them in perpetuity. It's a lot to ask for just to support a modding platform that is increasingly disfavored by modders and players for its toxic management, slow updates, lack of support for snapshots and April 1st updates, disinterest in supporting game code patches (which this mod makes good use of), et cetera. I don't honestly anticipate a native Forge port coming to fruition for these reasons, but regardless, the theoretical path to native Forge support is laid out below.
EDIT: The newly released NeoForge appears to be tackling several of these issues and attracting new mod ports, but the majority of the libraries we use seem to remain uninterested in supporting it.
Libraries
First, the following libraries used by the Fabric mod would need to be ported to Forge.
Cardinal Components APIreplacedTo support older versions of the game, these theoretical Forge ports would also need to be backported to old versions of the game which is even less likely to happen.
Porting the Fabric Mod to Forge
Second, since the Forge and Fabric mods would mostly share the same code, the code base for the Fabric mod would have to be modularized to allow the development of the Forge mod. Finally, the Forge mod initializer would have to be created.
The Sponge Forge Port
There's a high chance that the native Forge port never comes to fruition. In this case, the next best hope would be for Sponge to finally bring Forge support to the latest version of the game, and fortunately they seem to be looking into doing just that in the near-ish future. If SpongeForge ever releases a build for the latest version of the game and this mod runs on it, I'll likely consider this issue resolved.
The Future
I'm always looking around the Minecraft development space for new platforms to support and that includes Forge. I'll be posting comments with updates as I have them so do feel free to subscribe to this issue if you'd like to hear about future developments.