[2.0.72] Recipe output tooltip mismatches actual behavior under some configuration
Posted: Sun Nov 23, 2025 12:23 pm
I made a recipe to output iron plates with in range 0 ~ 100 but 50 are ignored by productivity
default energy_required is 0.5.
When crafting, it gives 0 ~ 100 iron plates every time the crafting progress finishes and it gives 0 ~ 50 iron plates at ~50% probability every productivity progress finishes, but the tooltip displays as if it thinks that 50 > 0 so no extra products can be produced.
So a assembler 3 crafts 125 iron plates per second. When inserting 4 legendary productivity modules, 0.4(speed multiplier) * 1.25 (base speed) *50 (average output per craft)/0.5(craft time)=50 (base output) + 0.4(speed_multiplier)*1.25(base speed)*1(productivity bonus)*25(average extra output)*0.5(extra output probability)/0.5(craft time)=12.5,total is 62.5 /s (Observed 3.7k / min), but the tooltip says 50 (49.9 due to rounding error)
(The productivity and crafting cycle are misaligned so there are no buffer problems)
Code: Select all
data:extend {
{
type = "recipe",
name = "test-tooltip-error",
results = {
{ type = "item", name = "iron-plate", amount_min = 0, amount_max = 100, ignored_by_productivity = 50 }
},
allow_productivity = true
}
}
When crafting, it gives 0 ~ 100 iron plates every time the crafting progress finishes and it gives 0 ~ 50 iron plates at ~50% probability every productivity progress finishes, but the tooltip displays as if it thinks that 50 > 0 so no extra products can be produced.
So a assembler 3 crafts 125 iron plates per second. When inserting 4 legendary productivity modules, 0.4(speed multiplier) * 1.25 (base speed) *50 (average output per craft)/0.5(craft time)=50 (base output) + 0.4(speed_multiplier)*1.25(base speed)*1(productivity bonus)*25(average extra output)*0.5(extra output probability)/0.5(craft time)=12.5,total is 62.5 /s (Observed 3.7k / min), but the tooltip says 50 (49.9 due to rounding error)
(The productivity and crafting cycle are misaligned so there are no buffer problems)