I suspect that qualities that come before Normal in the chain may be explicitly unsupported by the engine, but the docs aren't clear about this.
Content:
Code: Select all
local color = { r = 0.0, g = 0.8, b = 0.8 }
data:extend{{
type = "quality",
name = "poor",
next = "normal", -- This is the important part
level = 0,
localised_name = "Poor",
order = "0a", -- Normal is always ordered before other qualities
icons = {{
icon = data.raw.quality.normal.icon,
tint = color,
}},
color = color,
}}
data.raw.module["quality-module"].effect.quality = 1.0
- Download the reproduction mod above, load it together with the Quality mod.
- Enter a game world, place any assembling machine, set any recipe at Poor quality, and insert a Quality module 1 (guaranteed quality up).
- Run the crafting recipe. (This also works with furnaces.)
Quality module 1 has +100% quality effect. Crafting should always cause quality to go up with this module in the machine.
Actual result:
Crafting with Poor ingredients and the Quality module 1 causes the recipe products to always be Poor.
But the Normal quality is unlocked by the force.
If you set quality_change = 1 or higher on a recipe product, the result will be Normal or greater as expected.

