Better Animals Plus Conflicts w/ BYG by hiding Jankson from BYG.
CorgiTaco opened this issue ยท 6 comments
Describe what you were doing before the crash
Launching MC
To Reproduce
Steps to reproduce the behavior (if possible):
Use the following mods:
Crash Log (REQUIRED)
https://gist.github.com/CorgiTaco/116877593c65428d1746a8f555cde539
Versions
- Minecraft Version: 1.18.2
- Architectury API Version: 4.1.34
- Platform (Forge/Fabric): Fabric
- Fabric Loader Version: 0.13.3
- Fabric API Version: 0.48.0
- Mod Version: 11.0.5
Additional context
Better Animals Plus manages to causes the jankson jar in jar in BYG to not be valid on the class path:
Caused by: java.lang.NoSuchMethodError: 'blue.endless.jankson.Jankson$Builder blue.endless.jankson.Jankson$Builder.allowBareRootObject()'
I suspect there's a conflict with your addition of Jankson as you specify here in your README and BYG's addition of Jankson here
BYG can also resolve this issue by performing shadow relocation. It's the same thing we will do to fix this, but in the meantime just use the relocate clause.
Do you have an example of how to do this on fabric? Couldn't find it in your gradle files :P
shadowJar {
relocate "blue.endless.jankson" "potionstudios.byg.jankson"
}
https://imperceptiblethoughts.com/shadow/configuration/relocation/
I would suggest opening the jar file to search for additional conflicting packages.
Do note relocation requires a relatively new version of shadow plugin, I think 5.0 or higher? Most projects now use 7.0 so it shouldn't be a huge concern.
Example in my files here: https://maven.itsmeow.dev/scripts/imdlib.gradle
Yeah i use shadow on forge already, when i tried it on fabric yesterday I had no luck bc the jar wouldn't remap it, I'll try what you've given
Jankson has no Minecraft code, so no remapping should be needed. If you're saying the shadowJar is not being remapped, you need to tell loom to do that.
remapJar {
input.set shadowJar.archiveFile
}
This is architectury-loom, but it does a similar thing + some additional stuff with "fixJar" for my shadowed mod-type library.
https://github.com/itsmeow/betteranimalsplus/blob/1.16/fabric/build.gradle