You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Due to NeoForge renaming packages from net.minecraftforge to net.neoforged.neoforge in the 1.20.2 update, the main mod class is not recognized when loaded on NeoForge as the @Mod annotation is not the one NeoForge is looking for. There are two ways to alleviate this issue:
Provide two main mod classes, one with the MCForge annotation and one with the NeoForge annotation. This would of course require compiling against both in some way
Remove the main mod class (it seems to serve little to no purpose anyway, considering the Fabric side doesn't have one at all since it doesn't enforce the presence of any mod entrypoint) and use lowcodefml instead of javafml in the modLoader field of the mods.toml. This signals to MCForge and NeoForge that the mod is effectively "just" a datapack and/or resourcepack packaged as a mod, i.e. for ease of use (which is as far as I can tell the whole point of shipping Terralith as a mod anyway). The lowcode loader has existed for this purpose in MCForge since some time in 1.18.
I noticed this issue when I attempted to reproduced the issue reported in neoforged/NeoForge#381.
Additional context
No response
The text was updated successfully, but these errors were encountered:
Yeah, we were debating for a bit on our end "does anything actually break on Neoforge, or can we just add a reference to it in the mods.toml?", and looks like we were wrong. For now, I'll remove the Neoforge classification on CF/MR. The reason the mod class exists, is because I'm stubborn :) I'll find a workaround for it when I have time later in the month.
A little sad to see a modloader breaking change like this in 1.20.x, as I was kind of hoping it would wait until 1.21 so we could cleanly transition to Neoforge then. But I understand why.
You should be able to just set the loader to lowcodefml version [1,), and remove the mod main class entirely (as it doesn't do anything you actually need), and it'll work on both loaders just fine
What Minecraft version(s) does this apply to?
1.20
Project version
v2.4.10
Mod or datapack version?
Mod (Forge)
Describe the bug
Due to NeoForge renaming packages from
net.minecraftforge
tonet.neoforged.neoforge
in the 1.20.2 update, the main mod class is not recognized when loaded on NeoForge as the@Mod
annotation is not the one NeoForge is looking for. There are two ways to alleviate this issue:lowcodefml
instead ofjavafml
in themodLoader
field of themods.toml
. This signals to MCForge and NeoForge that the mod is effectively "just" a datapack and/or resourcepack packaged as a mod, i.e. for ease of use (which is as far as I can tell the whole point of shipping Terralith as a mod anyway). The lowcode loader has existed for this purpose in MCForge since some time in 1.18.I noticed this issue when I attempted to reproduced the issue reported in neoforged/NeoForge#381.
Additional context
No response
The text was updated successfully, but these errors were encountered: