Page 1 of 1
[2.0.77] Calling set_recipe() and writing to crafting_progress of an assembling causes a single craft to ignore quality
Posted: Tue May 26, 2026 5:02 am
by Thremtopod
Calling
set_recipe() on an assembling machine
LuaEntity, then writing (a non-zero value) to
crafting_progress to it, causes the next craft to always be
common quality, regardless of the recipe's actual quality. It's only for one craft, and the next one is always correct.
I've attached a scenario I made that demonstrates this:
Screenshots:

- After script sets recipe and progress
- Screenshot_20260526_005352.png (68.6 KiB) Viewed 254 times

- After finishing next craft
- Screenshot_20260526_005410.png (68.38 KiB) Viewed 254 times
Re: [2.0.77] Calling set_recipe() and writing to crafting_progress of an assembling causes a single craft to ignore qual
Posted: Tue May 26, 2026 6:15 am
by boskid
Thanks for the report. I remember changing this behavior some time ago for 2.1, so it is already fixed for 2.1. By force starting the recipe by write to crafting_progress there is a shortcut that was not rolling result quality and as such this product was always of normal quality. You can workaround this issue by writing recipe's quality to
https://lua-api.factorio.com/2.0.77/cla ... lt_quality after the crafting_progress was set. In 2.1 this workaround will not be needed because there will be a quality roll happening when crafting is force started this way even if no real ingredients were consumed.
Re: [2.0.77] Calling set_recipe() and writing to crafting_progress of an assembling causes a single craft to ignore qual
Posted: Tue May 26, 2026 12:45 pm
by Thremtopod
Awesome, and thanks for that workaround!