Crafting Combinator


Includes combinators that allow you to set or read the recipe of any crafting machine, get ingredients or products of a recipe and more!

Content
2 years ago
0.14 - 1.1
19.0K
Manufacturing

i Various improvements

4 years ago

First of all, thank you for this mod, it's inspiring for new base ideas on whole new level. Currently working on a 0.17 angel+bob base and trying to build it in a way so that it can build any item by using single signal from global circuit network.
Here is couple of things that I've noticed:
- recipe combinator doesn't seem to do anything for fluid signals, most importantly no results for "Find recipes" - would be great if it could output at least some of recipes for chemical plant. Same for "molten" stuff, looks like it's a fluid too.
- would be nice to have a mode to convert between fluid and barelled version of that fluid and vise versa (and divide by barrel size? and keep other signals? (too much? :) )
- in angel+bob mods there are several ways to produce one item, eg. tin plate can be produced from bobmonium in a furnace, or can be produced from molten tin. Recipe combinator suggests only furnace recipe, would be great to have all of them
- might be wrong about this, but in case crafting combinator gets several recipes, it picks the one with most signal strength, and if it can't set it due to incorrect machine type - it doesn't do anything although it may try next recipe
- get fluid signal with plant port numbers, eg. top left is 1, bottom left is 2, etc. Sometimes recipe contain solid input/output and fluids are shifted in "vary signal strength" mode.

4 years ago

Hi, glad you enjoy the mod.

  • recipe combinator doesn't seem to do anything for fluid signals, most importantly no results for "Find recipes" - would be great if it could output at least some of recipes for chemical plant. Same for "molten" stuff, looks like it's a fluid too.

I checked and fluids work just fine, even the molten things... One thing that I did notice is that angel replaces some of the vanilla fluids with their own, while keeping the original in the game, so you can still feed it to the combinator which will tell you there are no recipes for it, which is indeed the case.

  • would be nice to have a mode to convert between fluid and barelled version of that fluid and vise versa (and divide by barrel size? and keep other signals? (too much? :) )

This is actually possible with the current version, although it does take some creativity. What you can do is have one recipe combinator find recipes that produce an empty barel, and another one that finds the recipes that produce the desired fluid. If you then merge the results to a wire, the only signal higher than 1 will be the unbarrel recipe for your fluid. You can then run that through a recipe combinator in ingredient mode and that'll give you the barreled version.

I'll think about adding this as a feature, but no promises.

  • in angel+bob mods there are several ways to produce one item, eg. tin plate can be produced from bobmonium in a furnace, or can be produced from molten tin. Recipe combinator suggests only furnace recipe, would be great to have all of them

Again, I checked and it works fine for me. If I feed a tin plate to a combinator in recipe mode, I get three recipes: smelting, bobmonium and molten tin versions.

  • might be wrong about this, but in case crafting combinator gets several recipes, it picks the one with most signal strength, and if it can't set it due to incorrect machine type - it doesn't do anything although it may try next recipe

You are correct, and it would make sense to skip the recipe in this case. The problem I have with this is that I'd have to sort the signals by strength. Doing that is not a great idea, because it runs every tick and sorting isn't exactly the fastest operation. Also the mod already does an uncomfortable amount of work every tick, so I'm hesitant to add anything to that.

  • get fluid signal with plant port numbers, eg. top left is 1, bottom left is 2, etc. Sometimes recipe contain solid input/output and fluids are shifted in "vary signal strength" mode.

Sounds like a good idea. I'll see if I can find a good way to implement this.

4 years ago

Ah, I guess 0.16 to 0.17 migration didn't go well for me. Nevermind, was going to start a new game anyway.
Fluid into barrelled version - makes sense now.
Thank you for looking into this.

4 years ago

FWIW, I found this while hunting for a pre-existing request to add an easy path to barrel fluids, so (a) thanks for documenting that, and (b) I'd kind of like a slightly less torturous route to get there, if we could...

4 years ago

Well, got it working: it isn't sufficient to send the barrel signal to the crafting combinator, as that doesn't set a recipe. The "barrel <fluid>" recipe is needed.

Sadly, the "ingredients of this unbarreling recipe" also emits a time counter, so I needed to route through a pair of arithmetic combinators -- <any> + 0 => any for delay, <crafting time> * -1 => <crafting time> on the second, and merge them so only the barrel signal remained, and then finally pass that into "find recipes" to get "barrel <fluid>" at the far end... which I can set into a machine.

So, uh, it'd definitely be nice to make that a wee bit simpler. :)

4 years ago
(updated 4 years ago)

You can get rid of the time signal by setting "time multiplier" to zero ;)

As for adding a feature for this, I'm still not sure about that. It takes two recipe combinators and one decider to do this, which isn't that difficult imo. I think a proper tutorial with examples for things like this would be more appropriate. I'm not sure what format to do that in tho. I was thinking I could either make a wiki for this on GitHub, or put the basics here on the info tab and have specific examples (like barrelling) in the FAQ. Having a video would be nice too, but that's probably not going to happen anytime soon...

Edit: Depending on what exactly you're doing, you may need three recipe combinators instead of what I said before, tho the complexity is still similar.

4 years ago
(updated 4 years ago)

heh. good trick, didn't think of setting the multiplier to zero. I'll edit my post in the forum thread to add that at the end. :)
I want to go from "fluid signal" to "barrel that fluid in an assembly machine". :)

edit: forum post is here, https://forums.factorio.com/viewtopic.php?f=190&t=34405&p=449254#p449254

New response