Hello! First of all, thank you for the incredible work on Flywheel and Vanillin.
I’ve encountered a JarJar version negotiation issue when my mod is installed alongside Vanillin. It appears that Vanillin’s metadata.json identifies the Flywheel artifact as neoforge, not flywheel-neoforge-1.21.1.
The Conflict
Because the Artifact IDs do not match, NeoForge treats them as two distinct libraries rather than two versions of the same library. This causes:
- JarJar to skip version negotiation.
- Both 1.0.4 (from Vanillin) and 1.0.6 (from my mod) to be present in the classpath.
- A loading crash because my mod explicitly requires
[1.0.6,) via mods.toml, but the loader defaults to the instance registered by Vanillin.
Current "Hack" Solution
To keep my mod functional for users, I have implemented a rather "dirty" workaround:
- I’ve manually renamed the Flywheel 1.0.6 JAR to
neoforge-1.0.6.jar in my local libs folder.
- I'm forcing my
jarJar configuration to use the neoforge artifact ID to match Vanillin’s metadata.
While this works, it is a very fragile "hack" and could lead to further confusion as more mods update to Flywheel 1.0.6+.
Suggestion
Would it be possible to align the Artifact ID in Vanillin's build script with the public Maven coordinate (flywheel-neoforge-1.21.1) in a future update? This would allow NeoForge to correctly negotiate the highest version when multiple mods bundle Flywheel.
Hello! First of all, thank you for the incredible work on Flywheel and Vanillin.
I’ve encountered a JarJar version negotiation issue when my mod is installed alongside Vanillin. It appears that Vanillin’s
metadata.jsonidentifies the Flywheel artifact asneoforge, notflywheel-neoforge-1.21.1.The Conflict
Because the Artifact IDs do not match, NeoForge treats them as two distinct libraries rather than two versions of the same library. This causes:
[1.0.6,)viamods.toml, but the loader defaults to the instance registered by Vanillin.Current "Hack" Solution
To keep my mod functional for users, I have implemented a rather "dirty" workaround:
neoforge-1.0.6.jarin my locallibsfolder.jarJarconfiguration to use theneoforgeartifact ID to match Vanillin’s metadata.While this works, it is a very fragile "hack" and could lead to further confusion as more mods update to Flywheel 1.0.6+.
Suggestion
Would it be possible to align the Artifact ID in Vanillin's build script with the public Maven coordinate (
flywheel-neoforge-1.21.1) in a future update? This would allow NeoForge to correctly negotiate the highest version when multiple mods bundle Flywheel.