I'd like to be able make a machine that takes in 2 items, a catalyst and another ingredient, then outputs 2 more items, the catalyst back and another result. However, at least in my case, it doesn't make sense for the machine to "output" the catalyst, rather for it to just stay in the input slot without being consumed.
I won't ever need to take the catalyst out of the machine anyway, unlike with Kovarex Enrichment from the base game where the 40 Uranium-235 is the catalyst used to produce a bit of extra Uranium-235 from Uranium-238, which can then be used for other stuff.
My proposal? A new property for ItemIngredientPrototype and FluidIngredientPrototype, perhaps called ignored_by_consumption. What this would do, would be, instead of having the machine consume the input, it would leave it as-is. This could either be a boolean (applies to the entire amount or doesn't apply to any of it) or an integer, (applies to a set portion of the amount or none of it) though for my purposes, it doesn't really matter.
Of course, using this property stops items from being consumed, so it should also be ignored by stats.
[2.0] Non-consumption Inputs
- BraveCaperCat
- Filter Inserter

- Posts: 482
- Joined: Mon Jan 15, 2024 10:10 pm
- Contact:
- Stringweasel
- Filter Inserter

- Posts: 480
- Joined: Thu Apr 27, 2017 8:22 pm
- Contact:
Re: [2.0] Non-consumption Inputs
Can't you just reduce the amount of ingredients required? Basically, what's the difference between:
and
Code: Select all
{ inputs = { "catalyst" = 10, ignored_by_consumption=true},
outputs = { "catalyst" = 5} }
Code: Select all
{ inputs = { "catalyst" = 5},
outputs = { } }
Alt-F4 Author | Factorio Modder
Probably known for: (Configurable) Valves | Better Victory Screen | Space Spidertron | Fluidic Power
Official Contributor to Space Exploration
Probably known for: (Configurable) Valves | Better Victory Screen | Space Spidertron | Fluidic Power
Official Contributor to Space Exploration
Re: [2.0] Non-consumption Inputs
maybe take a look at pyanodons mods, production buildings like the moss farm or tree farm.
there are catalyst items but instead of being in the recipe, they are actually modules that increase the crafting speed of the building. without any "catalysts" the building will produce nothing because the crafting speed is effectively 0.
there are catalyst items but instead of being in the recipe, they are actually modules that increase the crafting speed of the building. without any "catalysts" the building will produce nothing because the crafting speed is effectively 0.
- protocol_1903
- Filter Inserter

- Posts: 444
- Joined: Fri Sep 09, 2022 4:33 pm
- Contact:
Re: [2.0] Non-consumption Inputs
While it is effectively zero, we also have scripts running that disable the entities when no modules are found.Brathahn wrote: Tue Jan 13, 2026 2:29 pm maybe take a look at pyanodons mods, production buildings like the moss farm or tree farm.
there are catalyst items but instead of being in the recipe, they are actually modules that increase the crafting speed of the building. without any "catalysts" the building will produce nothing because the crafting speed is effectively 0.
Py and PyBlock developer, wielder of LUA in arbitrary ways. I make mods. Check them out, maybe.
https://mods.factorio.com/user/protocol_1903
https://mods.factorio.com/user/protocol_1903
- BraveCaperCat
- Filter Inserter

- Posts: 482
- Joined: Mon Jan 15, 2024 10:10 pm
- Contact:
Re: [2.0] Non-consumption Inputs
I don't understand your argument... ignored_by_consumption would prevent an item from being consumed in a recipe when it's crafted, but the recipe couldn't be crafted without that item.Stringweasel wrote: Tue Jan 13, 2026 2:08 pm Can't you just reduce the amount of ingredients required? Basically, what's the difference between:andCode: Select all
{ inputs = { "catalyst" = 10, ignored_by_consumption=true}, outputs = { "catalyst" = 5} }Code: Select all
{ inputs = { "catalyst" = 5}, outputs = { } }
If you really want to know the difference, the top recipe runs if you put in at least 10 catalyst, does not take the 10 catalyst and gives you 5 catalyst over and over again, (until you take the input catalyst out) where-as the bottom recipe runs if you put in 5 catalyst, takes that 5 catalyst and gives you nothing at all.
You may want to be able to put multiple different catalysts into the same machine to do different things, though. You'd need to check if the catalyst is the correct one for the recipe at runtime.Brathahn wrote: Tue Jan 13, 2026 2:29 pm maybe take a look at pyanodons mods, production buildings like the moss farm or tree farm.
there are catalyst items but instead of being in the recipe, they are actually modules that increase the crafting speed of the building. without any "catalysts" the building will produce nothing because the crafting speed is effectively 0.
If you only have 1 catalyst per building, that would seem quite performance heavy. That might not be true, though.protocol_1903 wrote: Tue Jan 13, 2026 5:25 pmWhile it is effectively zero, we also have scripts running that disable the entities when no modules are found.Brathahn wrote: Tue Jan 13, 2026 2:29 pm maybe take a look at pyanodons mods, production buildings like the moss farm or tree farm.
there are catalyst items but instead of being in the recipe, they are actually modules that increase the crafting speed of the building. without any "catalysts" the building will produce nothing because the crafting speed is effectively 0.
