Disable quality chances per item in a recipes results

Place to ask discuss and request the modding support of Factorio. Don't request mods here.
User avatar
MrSmoothieHuman
Fast Inserter
Fast Inserter
Posts: 157
Joined: Sat Aug 05, 2023 1:20 am
Contact:

Disable quality chances per item in a recipes results

Post by MrSmoothieHuman »

I'd like to ask for a way to turn off the chance of getting a better quality item from a recipes outputs, because it can massively intefere with any item-based catalysts in mods.
09-27-2025, 10-54-42.png
09-27-2025, 10-54-42.png (56.66 KiB) Viewed 384 times
Using this recipe as an example - this is the only way to get barium nitrate (and by extension, barium) in my mod and as you can see, it takes a special catalyst item and has a chance to output the same catalyst or the container it uses. If someone puts quality modules in this recipe (for quality barium), they have a chance of getting unloopable quality catalysts; which either means they need to build a quality handler for the catalysts or just stuff them in a box until they start using an above common recipe that require catalysts.

This is why i'd like an `ignored_by_quality` parameter or something similar on the ItemProductPrototype that would force the item its on to only be produced as the same quality as the recipe itself. (so if its a common recipe, it can only output common products. if its a rare recipe, it can only output rare products, etc)
coder? i hardly know her!
meifray
Fast Inserter
Fast Inserter
Posts: 105
Joined: Sat May 29, 2021 6:12 pm
Contact:

Re: Disable quality chances per item in a recipes results

Post by meifray »

In currently version we can use "RecipePrototype::allow_quality" to disable it, tho I tend to agree it should also have a parameter in product entry...
I mean just like machine innative productivity is unaffected by "RecipePrototype::allow_productivity", machines with innative quality will be also unaffected thus create high quality trash version of catelyst.
computeraddict
Filter Inserter
Filter Inserter
Posts: 390
Joined: Sat Oct 07, 2023 6:44 am
Contact:

Re: Disable quality chances per item in a recipes results

Post by computeraddict »

https://lua-api.factorio.com/latest/typ ... otype.html

Seems like a ignored_by_quality property that defaults to the value set by ignored_by_productivity would solve this
User avatar
protocol_1903
Filter Inserter
Filter Inserter
Posts: 328
Joined: Fri Sep 09, 2022 4:33 pm
Contact:

Re: Disable quality chances per item in a recipes results

Post by protocol_1903 »

+1, this would be a good usecase for the ignored_by_quality flag on results
If you need to reach me, message me on discord.

I make qol mods. Check them out, maybe.
https://mods.factorio.com/user/protocol_1903
If you have a mod idea, I can look into it.
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 4211
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: Disable quality chances per item in a recipes results

Post by boskid »

Proposed solution of "ignored_by_quality" being an integer has a fundamental flaw that makes it impossible to add: if a recipe would finish, due to value of this field it coukd happen that X items of better quality and Y items of original quality would be given but they would have to be both given through a single item stack, and that is impossible.

At most what i could make is a quality_behavior on item product prototype with 3 options: "default" (for current behavior), "no_bump" for product not affected by quality but preserving input quality, and "set_normal" that would always give normal quality product regardless of ingredients quality.
User avatar
protocol_1903
Filter Inserter
Filter Inserter
Posts: 328
Joined: Fri Sep 09, 2022 4:33 pm
Contact:

Re: Disable quality chances per item in a recipes results

Post by protocol_1903 »

boskid wrote: Mon Sep 29, 2025 5:28 am Proposed solution of "ignored_by_quality" being an integer has a fundamental flaw that makes it impossible to add: if a recipe would finish, due to value of this field it coukd happen that X items of better quality and Y items of original quality would be given but they would have to be both given through a single item stack, and that is impossible.

At most what i could make is a quality_behavior on item product prototype with 3 options: "default" (for current behavior), "no_bump" for product not affected by quality but preserving input quality, and "set_normal" that would always give normal quality product regardless of ingredients quality.
That seems reasonable, tbh i thought the suggestion was a boolean for the "no_bump" you mentioned
If you need to reach me, message me on discord.

I make qol mods. Check them out, maybe.
https://mods.factorio.com/user/protocol_1903
If you have a mod idea, I can look into it.
User avatar
MrSmoothieHuman
Fast Inserter
Fast Inserter
Posts: 157
Joined: Sat Aug 05, 2023 1:20 am
Contact:

Re: Disable quality chances per item in a recipes results

Post by MrSmoothieHuman »

boskid wrote: Mon Sep 29, 2025 5:28 am Proposed solution of "ignored_by_quality" being an integer has a fundamental flaw that makes it impossible to add: if a recipe would finish, due to value of this field it coukd happen that X items of better quality and Y items of original quality would be given but they would have to be both given through a single item stack, and that is impossible.

At most what i could make is a quality_behavior on item product prototype with 3 options: "default" (for current behavior), "no_bump" for product not affected by quality but preserving input quality, and "set_normal" that would always give normal quality product regardless of ingredients quality.
My suggestion was for it to be a boolean (and act identical to “no_bump” :lol:
(however having those options would be very nice)
coder? i hardly know her!
User avatar
Osmo
Fast Inserter
Fast Inserter
Posts: 158
Joined: Wed Oct 23, 2024 12:08 pm
Contact:

Re: Disable quality chances per item in a recipes results

Post by Osmo »

boskid wrote: Mon Sep 29, 2025 5:28 am At most what i could make is a quality_behavior on item product prototype with 3 options: "default" (for current behavior), "no_bump" for product not affected by quality but preserving input quality, and "set_normal" that would always give normal quality product regardless of ingredients quality.
That would be great, "set_normal" too for some mods would be very useful to downgrade items (or "upgrade" them as is currently done by scripts in Inverted Quality)
curiosity
Filter Inserter
Filter Inserter
Posts: 693
Joined: Wed Sep 11, 2019 4:13 pm
Contact:

Re: Disable quality chances per item in a recipes results

Post by curiosity »

boskid wrote: Mon Sep 29, 2025 5:28 am At most what i could make is a quality_behavior on item product prototype with 3 options: "default" (for current behavior), "no_bump" for product not affected by quality but preserving input quality, and "set_normal" that would always give normal quality product regardless of ingredients quality.
Why only normal, not a specific quality? That would close another request too, IIRC.
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 4211
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: Disable quality chances per item in a recipes results

Post by boskid »

Because i do not want to allow other qualities to be specified. I was already attempting that and it always creates issues near crafting queue which is unable to handle quality. I would have to add a lot of safeguards such recipes never appear in the crafting queue, not even indirectly through recipe decomposition.
Post Reply

Return to “Modding interface requests”