Page 1 of 1

When is the p0_i1 parameter available in blueprint paramterization?

Posted: Wed Mar 05, 2025 12:03 am
by yankee42
Starting with the following blueprint:


(As parameter select an item with three ingredients, e.g. an assembling machine 1)

There is a variable p0_i1 which is working fine. It also has a tooltip explaining what it does:
p0_i1-available.jpg
p0_i1-available.jpg (658.07 KiB) Viewed 330 times

However I checked the wiki and there are no further information, like when is this variable available. I changed a wrong filter setting on an inserter and tried to update the blueprint. Here is the new blueprint:


The variable is not available anymore:
p0_i1-not-available.jpg
p0_i1-not-available.jpg (742.32 KiB) Viewed 330 times
The thing is, that the vanishing of the variable is unclear to me. Actually I just pasted the broken blueprint, copied everything in a new blueprint and then I could parameterize it again. So here is the fixed blueprint:


I haven't manged to reproduce this when exactly the blueprint brakes. Sometimes it seems to just happen. However what I can reproduce is pasting the broken blueprint import string (the second blueprint within this post) and I am unable to parameterize it.

What could be the issue? Is it a bug? Am I using it wrong?

Re: When is the p0_i1 parameter available in blueprint paramterization?

Posted: Wed Mar 05, 2025 4:37 am
by Muche
The difference is where the parameter is used in. That determines what the parameter represents.

A recipe parameter (a recipe inside a crafting machine) provides the ingredients variables pN_iM, it also filters the parameter selection dialog upon blueprint placing to recipes applicable to the crafting machine the parameter is in.
An item parameter (e.g. inserter's/splitter/storage chest's filter) doesn't provide the ingredients variable, but filters the parameter selection dialog to items only (i.e. no fluids or virtual signals).
A generic signal parameter offers the widest signal selection upon blueprint placing.

Also see Parameterized Ingredients - variables unavailable.

And if you use a parameter as both a recipe and an item filter, you'll get the item selection dialog, not the recipe selection, even though you might have wanted the recipe selection dialog. Which instigated topics such as Filter Parameter Choices for Shared Blueprint Parameters and Parameter "Output of" variable.

Re: When is the p0_i1 parameter available in blueprint paramterization?

Posted: Wed Mar 05, 2025 9:13 am
by yankee42
Thank you for your response: I think I understand: The assembling machine in my blueprint has it's recipe set by a circuit network. So sometimes it does not have a recipe set. If I copy the machine while a recipe is set it works, if I copy the machine while is does not have a recipe set, I cannot use the parameters.

That could be a really helpful hint in the wiki...

Re: When is the p0_i1 parameter available in blueprint paramterization?

Posted: Wed Mar 05, 2025 6:16 pm
by Muche
A partial workaround is to place a machine (a ghost works as well), set its recipe as static parameter 0 (enable Show parameters in selection lists in Interface Settings), include it in the blueprint selection, use its ingredient parameters as desired, then remove the machine/ghost from the finished blueprint (right click).
This will not offer the parameter selection filtered to applicable recipes, but if the selected item has a recipe, its ingredient amount will be used.