The implementation in 5.1.20 seems excellent, exactly what I expected.
EDIT 2: Overlay icons are always added and do not respect IR3's "ir-inserter-overlays" setting, it should occur only when value = "on".
EDIT: A really minor thing: Steam inserters are ordered before Burners when it should be the opposite. I'll happily ignore that.
Long Burner inserters are still unlocked by "Inserters 1", and based on our conversation, I assume this is intentional. When "Costless upgrades" is false, the Long Burner also requires iron components in the recipe, based off the Electric Long inserter.
You have an option to create a Bulk Burner and Stack Burner, which are each unlocked at the appropriate points in progression, so I assume the Long Burner is following that logic.
It would be my preference to have the Long Burner unlocked earlier and use copper-tier ingredients. If you're unwilling to change your generic Long Burner handler, I could write code for this in a "final-fixes-pre" stage before the Scrapping recipes are made. (EDIT: I've now written this code.)
But then we'll have a situation where our mods are grappling with each other, so I'll wait and see what your thoughts are.
EDIT 2: I gave Stack inserters their own unique overlay icon, here's the code I used:
local setting = settings.startup["ir-inserter-overlays"]
if setting and setting.value == "on" then
table.insert(data.raw.item["stack-inserter"].icons, {
icon = "__base__/graphics/icons/signal/signal-stack-size.png",
icon_size = 64,
icon_mipmaps = 4,
scale = 0.25,
shift = {-8, 8},
})
end
EDIT 3: Really splitting hairs here. The inserter entity has its own icon (which you can see in the Map Editor GUI) and they need to be reassigned as well (currently they look like vanilla-style hybrid inserters). I'm not really sure how icon "inheritance" works, when you need to assign item/recipe icons and when you don't...