Crafting machines output needed ingredients.

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Alfonse215
Fast Inserter
Fast Inserter
Posts: 165
Joined: Mon Dec 23, 2024 6:53 pm
Contact:

Crafting machines output needed ingredients.

Post by Alfonse215 »

TL;DR
Crafting machines should be able to output how much of which ingredients the machine is lacking to start a new crafting cycle.
What?
Crafting machines can currently output how many ingredients are consumed in one craft of the current recipe, but they cannot output how many ingredients this particular machine needs to start a craft.
Why?
It would be useful to request precisely one craft worth of ingredients, for things like rocket silos and similar recipes that consume lots of resources.

This is one of the most common use-cases for more fine-grained red/green input/output splitting. You use one wire to get the ingredients needed for one craft, and the other wire to get the current ingredients. Do some subtraction, and you have the value above.

But since more fine-grained wire splitting is unlikely to happen, I suggest simply giving us the value(s) outright.
mmmPI
Smart Inserter
Smart Inserter
Posts: 5387
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Crafting machines output needed ingredients.

Post by mmmPI »

If you want to request precisely "one craft" worth of ressources, you can read the machine receipe and request that as a one time thing, you don't really need to know the currently loaded amount.

But for things like rocket silo, that need a lot of ressources, that's typically where you wouldn't imo request the whole silo worth of ressources, instead you would request a bit of every material and stop loading the machine when its content is above the amount required for the receipe of that particular material. You can do that by either storing the receipe in a combinator when it is set in the machine if you are using dynamic mall, or you can hardcode the receipe in a constant combinator otherwise.

The problem i see with the suggestion is that there's only 2 color of wires, you can use them for "read content" and "set receipe" already. The only way i see you could use the new tickbox being suggested would then be as a replacement of one of those two.
Alfonse215 wrote: Mon Oct 05, 2026 3:11 am You use one wire to get the ingredients needed for one craft, and the other wire to get the current ingredients. Do some subtraction, and you have the value above.
If you do that then you can't use a wire to set receipe anymore, you are trying to read 2 different things on 2 different wire, but one of them, the ingredient needed for one craft is either hardcoded and thus don't strictly need reading via wire. Or is set dynamically, for which you need a wire , and you can use this for the purpose of comparing with the "current ingredient" in the machine to have the information about the missing ingredients to avoid loading too much in case of a assembly that makes rocket Silo.
Check out my latest mod ! It's noisy !
Alfonse215
Fast Inserter
Fast Inserter
Posts: 165
Joined: Mon Dec 23, 2024 6:53 pm
Contact:

Re: Crafting machines output needed ingredients.

Post by Alfonse215 »

mmmPI wrote: Mon Oct 05, 2026 7:45 am But for things like rocket silo, that need a lot of ressources, that's typically where you wouldn't imo request the whole silo worth of ressources, instead you would request a bit of every material and stop loading the machine when its content is above the amount required for the receipe of that particular material. You can do that by either storing the receipe in a combinator when it is set in the machine if you are using dynamic mall, or you can hardcode the receipe in a constant combinator otherwise.
You wouldn't use a memory cell for the ingredients; those don't change until you change the recipe (since you're not reading the contents). And that's when you'd reset the memory cell anyway. You'd use a memory cell to track how many of which items you've inserted, subtracting that from the ingredient amount to determine how much of what to insert.
mmmPI wrote: Mon Oct 05, 2026 7:45 am The problem i see with the suggestion is that there's only 2 color of wires, you can use them for "read content" and "set receipe" already. The only way i see you could use the new tickbox being suggested would then be as a replacement of one of those two.
... right. You'd just read the contents needed for the next craft instead of reading the contents. That's the goal here.
mmmPI
Smart Inserter
Smart Inserter
Posts: 5387
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Crafting machines output needed ingredients.

Post by mmmPI »

Alfonse215 wrote: Mon Oct 05, 2026 1:47 pm You wouldn't use a memory cell for the ingredients; those don't change until you change the recipe (since you're not reading the contents). And that's when you'd reset the memory cell anyway. You'd use a memory cell to track how many of which items you've inserted, subtracting that from the ingredient amount to determine how much of what to insert.
Why would you not read the content ? and use the memory cell to keep track of the number of ingredient that are required ? so that you can solve the use case you mention ?
Check out my latest mod ! It's noisy !
Alfonse215
Fast Inserter
Fast Inserter
Posts: 165
Joined: Mon Dec 23, 2024 6:53 pm
Contact:

Re: Crafting machines output needed ingredients.

Post by Alfonse215 »

mmmPI wrote: Mon Oct 05, 2026 3:40 pm
Alfonse215 wrote: Mon Oct 05, 2026 1:47 pm You wouldn't use a memory cell for the ingredients; those don't change until you change the recipe (since you're not reading the contents). And that's when you'd reset the memory cell anyway. You'd use a memory cell to track how many of which items you've inserted, subtracting that from the ingredient amount to determine how much of what to insert.
Why would you not read the content ? and use the memory cell to keep track of the number of ingredient that are required ? so that you can solve the use case you mention ?
How would the memory cell get the number of ingredients without asking the assembler for it? And if you're asking the assembler for the number of ingredients, it cannot also give you an accurate count of the current contents.

That's the whole issue: you cannot read both to do the subtraction, so you have to get the other information in another way.
mmmPI
Smart Inserter
Smart Inserter
Posts: 5387
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Crafting machines output needed ingredients.

Post by mmmPI »



This machine is a Turbine maker, you put a turbine in the steel chest you flip the inserter and it causes the assembly machine to read the item "turbine" to set that as receipe, to read the ingredients, then store the amount of ingredient in a memory cell, then whenever material is added in the assembly it's removed from that memory cell, this way there is 1 turbine built, with not too much excess material put in the assembly, and when it's over, it reset.



This is the same but with the infinity chest hardcoded to make "silo" , it's just kinda boring to watch as a test that's why i took turbine.

You can trigger the machine with pulse of any material. But then you should replace the infinity chest with a blue requester chest which would even be better because that's a really weird use case you are mentionning here imo when you try to not overfeed the machine, as mentionned earlier it's probably better to not request more than 1 craft at the requester chest level.

NONETHELESS it is possible to fine control precisely currently the amount of material you insert in an assembly to not overload too much doing this way imo.
Alfonse215 wrote: Mon Oct 05, 2026 4:07 pm How would the memory cell get the number of ingredients without asking the assembler for it? And if you're asking the assembler for the number of ingredients, it cannot also give you an accurate count of the current contents.
I used blueprint to answer the question and demonstrate i believe that the second statement is incorrect.
Check out my latest mod ! It's noisy !
Alfonse215
Fast Inserter
Fast Inserter
Posts: 165
Joined: Mon Dec 23, 2024 6:53 pm
Contact:

Re: Crafting machines output needed ingredients.

Post by Alfonse215 »

mmmPI wrote: Mon Oct 05, 2026 8:26 pm This machine is a Turbine maker, you put a turbine in the steel chest you flip the inserter and it causes the assembly machine to read the item "turbine" to set that as receipe, to read the ingredients, then store the amount of ingredient in a memory cell, then whenever material is added in the assembly it's removed from that memory cell, this way there is 1 turbine built, with not too much excess material put in the assembly, and when it's over, it reset.
... that's just another way to do the thing I described. The way I described it, you store the amount you have inserted already in the memory cell. The way you implement it, you store the amount you have yet to insert into the memory cell. But it's fundamentally the same thing either way: you're keeping track of how much is in the machine without asking the machine how much is in it.

It should be noted that you can use memory cells to just remember the entire contents of a machine, thus making "read contents" as a feature unnecessary. Well, spoilage aside. Though... once you introduce spoilage into the mix, external memory cells of any kind become unreliable.
mmmPI wrote: Mon Oct 05, 2026 8:26 pm Alfonse215 wrote: Mon Oct 05, 2026 12:07 pm
How would the memory cell get the number of ingredients without asking the assembler for it? And if you're asking the assembler for the number of ingredients, it cannot also give you an accurate count of the current contents.
I used blueprint to answer the question and demonstrate i believe that the second statement is incorrect.
When I said "it cannot also give you...", the "it" is referring to "the assembler", not "a memory cell beside the assembler".
mmmPI
Smart Inserter
Smart Inserter
Posts: 5387
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Crafting machines output needed ingredients.

Post by mmmPI »

Alfonse215 wrote: Mon Oct 05, 2026 8:39 pm ... that's just another way to do the thing I described. The way I described it, you store the amount you have inserted already in the memory cell. The way you implement it, you store the amount you have yet to insert into the memory cell. But it's fundamentally the same thing either way: you're keeping track of how much is in the machine without asking the machine how much is in it.
That's why i described it differently i guess x) So why don't you use that ? what the point of the suggestion and why were you saying it's not possible or something ?
Check out my latest mod ! It's noisy !
Alfonse215
Fast Inserter
Fast Inserter
Posts: 165
Joined: Mon Dec 23, 2024 6:53 pm
Contact:

Re: Crafting machines output needed ingredients.

Post by Alfonse215 »

mmmPI wrote: Mon Oct 05, 2026 8:44 pm what the point of the suggestion
If we have the ability to just remember what we've already inserted into a machine, why do we have the ability to read its contents at all?

Because it makes it easier to get the information and therefore more viable for less skilled players to engage with. With the ability to directly read the amount to insert, you can implement a simple case of "don't insert more than one craft at a time" with zero combinators (you'll get up to a hand-size of excess, but it works). Just wire up the inserter and set its filters from that wire.

And being able to directly read the amount to insert also handles edge cases like spoiling, which no memory cell can handle.
mmmPI wrote: Mon Oct 05, 2026 8:44 pm and why were you saying it's not possible or something ?
I never said that it was impossible to implement it yourself with combinator machinery. I said that you can't get those values from the assembler directly.

This is all just a corner case; it's overall not that important. But it is a use case that everyone who asks for more fine-grained control over output/input wires brings up as a justification for said control.
mmmPI
Smart Inserter
Smart Inserter
Posts: 5387
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Crafting machines output needed ingredients.

Post by mmmPI »

Alfonse215 wrote: Mon Oct 05, 2026 9:07 pm Because it makes it easier to get the information and therefore more viable for less skilled players to engage with.
But you can already control the requester chest to make a precise request and trash the excess !
Check out my latest mod ! It's noisy !
Post Reply

Return to “Ideas and Suggestions”