Some mixintos will simply fail with an error in the log, so in the game they simply won’t load and the player shouldn’t get affected.
You could try making a mixinto to your recipes index, and in the mixinto file having a mixin pointing to the recipes index from ACE.
Another way to check for existence is with the dependencies stuff (but doesn’t enforce anything, it will fail silently if the required mod is not present), or with a client / server init script (Lua).
Is this the opposite case? Or just like you only want -some- of the recipes and not all of them?
A bit more detailed then:
Ace’s blacksmith recipe file holds new forge-stuff like workbenches and recourses and stuff So those id like to load in-but only when ace is also around)
but the file also holds a bunch of weapons, which I don’t want my nordlings to be able to make. So those I don’t want to load in
But doesn’t the mixin remove throw a wobbler when you try to remove stuff that’s not there? It did some months ago at least, not sure if that’s still the case I’ll try tonight
Thanks dani! I found out that the mixintype: remove stuff has become robust enough to do this stuff without exploding, but this is always a usefull trick to remember (especially if you want to mix this Into another file for instance)
That can cause even more problems, as the recipes is a table ( { } ), not a string (" "). In the last version that would actually throw an error, but they patch it so old mods would not break the game from mixintos using strings into the items that are now all arrays. If you turn it into a string, then another mod tries to match it as a table, that can probably error.
now for a more complicated one: how do i make something in my own mod go away if another mod exists?
i know how to do it from the other mods point of view but is there a way to say “if ace is loaded up, remove my charcoal mound recipe from the carpenter?”
I think there are two options. You could make an init script to apply a manifest, or try a JSON hack.
Normally I wouldn’t recommend this (haven’t mentioned it in the guide), but at Discourse you can find a thread that says you can make a mixinto to another mod’s manifest (since it’s a JSON file and mixintos would silently fail with just a warning in the log if they can’t find the files). Not sure if it’ll work but like:
{
//rest of your manifest
"mixintos" : {
"path to ace manifest.json" : "a file located in your mod, containing another mixintos section"
}
}
The file pointed to above would be like
{
"mixintos" : {
"path to the carpenter recipes" : "path to mixinto file with mixintypes or whatever to remove the recipes"
}
}
Just suggestions that you can try, never attempted them so not sure if they work
for posterity: mixing additions to a manifest, that loads corrections to my own mods seems to work
so i made a file called manifest_ace, that i mix into the actual ace’s manifest, and then ace’s manifest calls for a file that handles the removal of my stuff. so it works! but it does seem to cause a hit to startup time. but that might just because of ACE in general (because its not a zipped file for me at this time…and its even larger than my own mod, which i also have unzipped because im working on it ofc.)