Closed rlnt closed 6 months ago
Apparently, it's already working fine with the current release although the loader is not listed here: https://github.com/Kir-Antipov/mc-publish/blob/v3.3/preview/src/loaders/loader-type.ts
I don't know if you've heard about the new NeoForge project, which is a fork of Forge.
Regrettably, I've not. At the moment, there's a lot of stuff happening around me, and since I lost my main source of news about the Minecraft community via Discord servers (my account was suspended as I tried to respond to people I messaged earlier (it seems this is now a crime), and I'm now being ghosted by their support), I'm not completely up to date with what's happening there. So, thank you for keeping me informed!
Based on my limited understanding of the topic after a quick investigation, Forge mods and NeoForge mods appear to be indistinguishable for now, since they are intercompatible:
At the present time, mods built by either system should be intercompatible between forks.
So, mc-publish
is able to publish NeoForge mods and read their metadata without any additional actions on my part. However, you would need to manually specify neoforge
loader in your configuration:
loaders: |
forge
neoforge
Or directly in your mods.toml
(mc-publish
v3.3+):
[mc-publish]
loaders=["forge", "neoforge"]
I won't switch the default from forge
to neoforge
, as, to the best of my understanding, NeoForge supports 1.20+ mods, while Forge has been around from the very beginning. Therefore, it's much more likely for someone to publish a Forge mod rather than a NeoForge mod.
However, I've initiated a discussion in the NeoForge repo (neoforged/NeoForge#58) to gather more information on how we might distinguish mods in the future. I will act accordingly to the feedback I receive there. Rest assured, when these two loaders fully diverge, mc-publish
will be capable of automatically detecting the type of mod you're uploading.
Apparently, it's already working fine with the current release although the loader is not listed here: https://github.com/Kir-Antipov/mc-publish/blob/v3.3/preview/src/loaders/loader-type.ts
mc-publish
can publish a txt
file if you want it to. The LoaderType
doesn't represent an exhaustive list of loaders for which mc-publish
can publish mods. Instead, it's an exhaustive list of loaders whose metadata formats mc-publish
can understand and read to automatically infer values such as version
, loaders
, dependencies
, and so on. And since NeoForge mods are essentially Forge mods right now, the ForgeMetadataReader
can handle them just fine.
Given all of the above, I don't think any action on my part is necessary at this time. However, if I missed something or if you're having troubles publishing NeoForge mods, please let me know!
my account was suspended
Ah, I was wondering what happened there. Also a Neo now has 1.20.2 builds, and in the toml they have as a Dependency the mod "neoforge", so that can be used to detect them, as its no longer forge compatible.
Thanks for the update! Did they make any other changes to the metadata format? Also, is there a wiki where I can read about it just to be absolutely sure?
I think an in-depth explanation will follow in the upcoming update primer. No wiki for now. Just the explanation from all the PRs.
https://github.com/neoforged/MDK/blob/main/src/main/resources/META-INF/mods.toml The current MDK is on Github, and that was the only difference sticking out to me.
@Kir-Antipov automatic neoforge
detection would be a nice thing since most mods in 1.20.2
and after will be for neoforge
.
Yes the modid changed from forge
to neoforge
so that can be used to determine the loader.
As for the mods.toml
format at the moment we have not made any major changes, just added a utility field to define mixin configs from the mods.toml
.
If you still have issues with discord and/or have any questions feel free to ask me as I am now a maintainer at neoforged.
I apologize that it took me a while. I'm currently working on lots of stuff :)
If you still have issues with discord and/or have any questions feel free to ask me as I am now a maintainer at neoforged.
Deeply appreciated! If the metadata format hasn't changed and the only difference is the modid, that's all I need to know at the moment.
we recently changed the format for requirement from the mandatory boolean to a type enum (you can read up on it here: https://github.com/neoforged/NeoForge/commit/8786a13b2191ece3265e3c4de9517a7c2f572d3d)
Doh, ok, reopening the issue xD
@Minecraftschurli, could you please take a quick look at this placeholder file I use for testing purposes, to confirm if I've got it right?
looks fine but those empty ranges are not needed since we now default to an all accepting version range
I don't know if you've heard about the new NeoForge project, which is a fork of Forge. If not, you can read more about that here.
Since the team of this loader consists of the entire Forge mod loader team except for one person, it's pretty clear that this will probably be the replacement for Forge in the future. So CurseForge and Modrinth have decided to support it as soon as possible. I know Modrinth's support is already done and CurseForge already supports it in their overlay, but I'm not sure about their API.
Whenever it is possible, it would be very useful if mc-publish would support this new loader.