[๐]: Incompatibility crash with Numismatic Overhaul
mosharky opened this issue ยท 15 comments
Before Continuing:
- Always check you are using the latest version of the mods and its dependencies
- Remove known problematic rendering mods such as Optifine, Sodium and others. Do NOT report issues related to said mods
- If you are unsure which mod is the culprit.
Disable half your mods at time until you isolate the culprit - If you have a crash ALWAYS post LATEST.LOG below
- If the issue is about behaviors be sure to consult the WIKI first
Version-Loader
1.20.1-fabric
Supplementaries Version
1.20-2.7.30
Moonlight Lib Version
1.20-2.9.2
Issue Detail
Both Supplementaries and Numismatic Overhaul use a custom data driven system for villager trades, so they directly clash when trying to add their own trades. The crash happens when loading or creating a world.
Optional Attachment
To Produce
Use:
- Moonlight Lib
- Supplementaries
- Numismatic Overhaul
- owo lib
Try creating or loading into a singleplayer world to reproduce.
did we just use the same exact frealing name for data. ...
Yes, this is the case. Numismatic Overhaul has used this namespace for cross-mod trades since its inception back in January 2022. As shown in the following screenshot using Supplementaries 2.7.21, Numismatic works just fine with it.
Looking at commit history the functionality to add Villager trades via Moonlight Lib was added 4 days ago? Not sure if that is the first instance of it. The best solution in regards to compatibility would be for Moonlight Lib to use a different namespace. I am unsure how many mods have compatibility with Numismatic Overhaul's format, and this will keep breaking for every other mod which uses it. The crash itself is simply that our parser fails since the trade files have different structures.
well thing is i think they technically do use 2 diff namespaces since i dont look in that folder but only its subfolders
I don't understand what you mean, this is not true? Similar to recipes: all JSON files within the villager_trades
folder are searched, which does include subfolders. This is due to how an IdentifiableResourceLoader
works within Fabric API. Then for each trade we look up the name of the profession in the villager trade map based on the field in the file, e.g. profession:armorer
.
did we just use the same exact frealing name for data. lmao. I was aware that not using my own namespaced system could have resulted in clashes but thoguht that the chance of that happening with somebody elee using the same exact folder structure and substructure would have been slim
same crash i think https://mclo.gs/DHhjps8
I think you or them will have to do more fixing beyond this crash too since numismatic overhaul tries to patch modded trades to use their currency. I have a feeling that it wont be able to patch the trades now added by moonlight/supplementaries
maybe you or numismatic could add a mod_loaded condition for a compat version of supplementaries trades?
true. can be overridden via same data system tho. Either way direct integration would be needed
also crash comes from their mod not mine
should I report it to them or do you have a fix planned?
Sorry for reanimating. How is compat with Numismatic Overhaul done now? On my end the Wandering Trader still has flax_seeds for sale for emeralds.