Recipes only do one thing at a time

by matjojo

A factorio factory is very wide, single recipes can change items significantly, in reality factory lines are more often than not very long, with small changes at every machine. This mod tries to recreate that feeling by splitting most recipes in the game per ingredient. Thresholds and other settings available. See the mod portal for more info.

Tweaks
1 year, 8 months ago
1.1
129
Manufacturing

b Incompatiblitibility with K2 and BZ aluminum

1 year, 9 months ago

there is a circular Research dependency with k2s "basic tech card" and BZ aluminum, BZ would change the recipe of that tech card so that the "copper processing" technology which also gets added by BZ, but for some reason the "recipes only do one thing" mod seems to use the default recipe that still uses Copper.
another issue i encounterd was with AAI "electric motors" for which the Recipe should also be alterd by BZ but it dosent use the new inputs

1 year, 9 months ago

Thanks for the bug report, I am not experienced with any of the three (?) mods that you've named. Can you give me some more precise info? I especially need the versions for all the mods, the full names, the names of the items, and a little more explanation on what you expect to happen vs what is actually happening.

1 year, 8 months ago

I'm the author of BZ mods (but not Krastorio 2).

Aluminum ends up having to modify some recipes in the data-final-fixes stage, which is not quite ideal. You may be able to add a dependency on bz-dsr-bridge to force mod load order. You probably would want to do the same with Krastorio2, because I think that mod makes some late-stage changes as well.

I was not able to get it all working to confirm that this fixes the issue, though.

1 year, 8 months ago

When I install BZ Aluminium, krastorio 2, and their required dependencies, the recipe for the basic tech card is 5 wood and 1 aluminium cable. I'm not quite sure from the messages above if this is wrong or not.

@Maze0000 can you give me your whole mod list? This may only happen when some other mod is also installed.

To be completely clear. In the above scenario, my mod list is:
Aluminum 0.4.23,
Base Mod 1.1.76,
Factorio Library 0.12.4,
Foundry 0.2.10,
Krastorio 2 1.3.16,
Krastorio 2 Assets 1.2.1,
Rusy's Locale Utilities 1.0.16

These mods are all up to date as of now.

1 year, 8 months ago
(updated 1 year, 8 months ago)

mod combinations (all most recent versions) ive tried:
K2, BZ aluminum, Recipes only do one thing: no problem

k2, Space exploration, BZ aluminum, Recipes only do one thing: cycle in Technology tree detected

Space exploration, BZ aluminum, Recipes only do one thing: no problem

AAI industries(part of SE which I suspected to be the problem),BZ aluminum, Recipes only do one thing: no problem

K2, AAI industries,BZ aluminum, Recipes only do one thing: some other problem with k2 and AAI industries (not relevant here I believe)

it seems to be when using space exploration in conjunction with k2 (the compatibility is handled in the SE mod) is the cause of the research dependency when using BZ aluminum and "Recipes only do one thing". I probably need to contact the guy in charge of that

1 year, 8 months ago
(updated 1 year, 8 months ago)

I have reached out to the Person in charge of K2SE.

1 year, 8 months ago
(updated 1 year, 8 months ago)

The cycle in the technology tree thing is weird, I don't change the tech tree, so this must be some automatic tech tree fixers that one of those mods has that doesn't work correctly.

I have now tried to test your last case. I have personally switched on:
Aluminum, Base Mod, Krastorio 2, Space Exploration, and Recipes do one thing at a time.
(And a whole host of dependency mods are now also on of course.)
In this case I also see a tech tree cycle.

Can you tell me the mods you used for the original problem? And also describe what should happen, and what does happen? I'd be happy to help with that problem at least.

1 year, 8 months ago
(updated 1 year, 8 months ago)

so with either K2 or SE and Recipes/BZ, the recipes for the necessary techcard to unlock "copper processing" uses aluminum, which they should.
with both K2 and SE and BZ, no "recipes only do one thing" mod, the recipes all use aluminum which they should.

i suspect that with K2SE compatibility the Recipe for the techcards or a prerequisite gets changed back to copper, which cant be researched then. the thing weirding me out is that it only happens when "recipes only do one thing" is also enabled, otherwise the recipes are as they should, using aluminum.
the thing that leads me to that conclusion is the way that "recipes only do one thing" also dosent use the "aluminum cable" in the "small electric motor" recipe, when used with SE/BZ. even though with only SE/BZ it uses the "aluminum cable".

1 year, 8 months ago
(updated 1 year, 8 months ago)

so, it turns out the problem was the load order, i was able to fix the issue by adding optional dependencies for krastorio2 and bzaluminum in the info.json like this:
"dependencies" : [
"base >= 1.1.70",
"rusty-locale >= 1.0.16",
"(?) space-exploration",
"(?) krastorio2",
"(?) bzaluminum"
]
this is a pretty rugged solution, maybe there is some other way to make this mod be the last to load.
good luck on that ^^

1 year, 8 months ago

Glad that worked! Please add (?) bz-dsr-bridge also, to prevent similar issues with other BZ mods as well, including future ones.

And, FYI, that is the standard way to resolve mod load order issues.

1 year, 8 months ago

Whilst I really do appreciate your help, I still have not seen the list of mods that I need to use to see the problem that you two are reporting. I was also not able to figure out the mod list on my own.

I was able to fix the research dependency loop by adding a requirement to (?) bz-dsr-bridge, so that will be in the new update.

If that does not fix the recipe problem above I will need an explicit and clear mod list. So no abbreviations, version numbers for all mods, and includes all mods in the session that shows the issue.

1 year, 8 months ago
(updated 1 year, 8 months ago)

explicit modlist:
- Recipes only do one thing at a time ver.:1.0.5
- Space exploration ver.:0.6.101
- Krastorio 2 ver.: 1.3.16
- Aluminum ver.: 0.4.23
and the required dependencies of those mods.
the research loop still persists when not using the bz-dsr-bridge since its not a dependency of the mods above, with the bz-dsr-bridge enabled its working as intended.
I have found another fix to circumvent that: setting the dependency of Recipes only do one thing at a time
from "(?) space-exploration" to "(?) space-exploration-postprocess" fixed the research loop even without the "(?) bz-dsr-bridge" dependency

1 year, 8 months ago

Yeah, I'm not sure if I can do requirements only if other mods are loaded. In which case I would do that. I added a note to the front page of the mod about this, but I'm not sure if people will see it.
(Honestly, it seems to me that the bridge mod should be a dependency of the BZ mods since they are the ones that need it to work together, but brevven may have a good reason not to do that.)

With the mod list you show above (and GZ Mods Bridge 0.6.0) I did not get the research loop. As for the basic tech card. Its recipe is 1 aluminium cable, and 5 wood.

Do you still get the recipe problem? If so, please give me your mod list in that same format again, and I'll take a look at that as well.

1 year, 8 months ago

the "?" in the dependencies means its optional and "(?)" means its a hidden optional so you could add as many as you like for "precaution" and the issue is not only about bz but mods that affect other modded recipes.
afaik factorio determines the load order by amount of dependencies and ofc which mods depend on other enabled mods, so alot of (optional) dependencies mean that the mod gets loaded last, which is what you want with this mod

1 year, 8 months ago

Yeah, I know that, but in this case it's not optional if any of the BZ mods are installed. I need something like (?) bz-* -> bz_mods_bridge. Since I only depend on the bridge mod if the other BZ mods are loaded.

BTW, can you please confirm if the recipe issue still exists?

1 year, 8 months ago
(updated 1 year, 8 months ago)

as mentioned above without the bz_mods_brigde it still exists and i couldnt find a way to make sure that it dosent happen except by adding optional dependency for every mod on mod portal... which is not feasible,
but adding optional dependency for the big overhaul mods should prevent most of that.

maybe editing the column about the BZ compatibility to say that dependency for any recipe altering mod is needed
if multiple are used.

1 year, 8 months ago

Yeah, the main solution here is for BZ to add a dependency to their bridge mod in all their "content" mods. But again, they may have a good reason for not doing that.

1 year, 8 months ago

I will add a ~ dependency on bz-dsr-bridge to Aluminum. I don't generally want all the BZ content mods to have such any strict dependencies, especially the simpler ones, but Aluminum is one of the more complex ones and runs into more dependency issues, so it may be worth it.

New response