-- Zirconium smelting, etc local util = require("data-util"); -- data:extend({ -- -- }) data:extend({ { type = "item", name = "zirconia", icon = "__bzzirconium__/graphics/icons/zirconia.png", icon_size = 128, subgroup = "raw-material", order = "z[zirconia]", stack_size = util.get_stack_size(200) }, { type = "recipe", name = "zirconia", subgroup = "raw-material", category = "smelting", order = "z[zirconia]", icons = (mods["Krastorio2"] and { { icon = "__bzzirconium__/graphics/icons/zirconia.png", icon_size = 128 }, { icon = "__bzzirconium__/graphics/icons/zircon.png", icon_size = 64, scale=0.25, shift= {-8, -8}}, } or { { icon = "__bzzirconium__/graphics/icons/zirconia.png", icon_size = 128, }, } ), normal = (mods["Krastorio2"] and { main_product = "zirconia", enabled = false, energy_required = 8, ingredients = {util.item("zircon", 5)}, results = mods.bztitanium and util.me.byproduct() and { {name="zirconia", amount_min=4, amount_max=5}, {name="titanium-ore", amount=1, probability=.5} } or {util.item("zirconia", 5)} } or { main_product = "zirconia", enabled = false, energy_required = 3.2, ingredients = {util.item("zircon", 1)}, results = mods.bztitanium and util.me.byproduct() and { {name="zirconia", amount=2, probability=.95}, {name="titanium-ore", amount=1, probability=.1} } or {util.item("zirconia", 2)} }), expensive = { main_product = "zirconia", enabled = false, energy_required = 3.2, ingredients = {util.item("zircon", 1)}, results = mods.bztitanium and util.me.byproduct() and { util.item("zirconia", 1), {name="titanium-ore", amount=1, probability=.05} } or {util.item("zirconia", 2)} } }, { type = "item", name = "zirconium-plate", icon = "__bzzirconium__/graphics/icons/zirconium-plate.png", icon_size = 128, subgroup = "raw-material", order = "d[zirconium-plate]", stack_size = util.get_stack_size(100) }, { type = "recipe", name = "zirconium-plate", category = "smelting", subgroup = "raw-material", order = "d[zirconium-plate]", icons = (mods["Krastorio2"] and { { icon = "__bzzirconium__/graphics/icons/zirconium-plate.png", icon_size = 128 }, { icon = "__bzzirconium__/graphics/icons/zirconia.png", icon_size = 128, scale=0.125, shift= {-8, -8}}, } or { { icon = "__bzzirconium__/graphics/icons/zirconium-plate.png", icon_size = 128, }, } ), normal = (mods["Krastorio2"] and { enabled = false, energy_required = 8, ingredients = {util.item("zirconia", 15)}, results = {util.item("zirconium-plate", 5)}, } or { enabled = false, energy_required = 9.6, ingredients = {util.item("zirconia", 3)}, results = {util.item("zirconium-plate", 1)}, }), expensive = { enabled = false, energy_required = 9.6, ingredients = {util.item("zirconia", 6)}, result = "zirconium-plate", } }, { type = "technology", name = "zirconia-processing", icon_size = 340, icon = "__bzzirconium__/graphics/technology/zirconia-processing.png", effects = { { type = "unlock-recipe", recipe = "zirconia" }, { type = "unlock-recipe", recipe = "zirconium-plate", }, -- mods["TheBigFurnace"] and { -- type = "unlock-recipe", -- recipe = "big-zirconium-plate", -- } or nil, -- mods["TheBigFurnace"] and { -- type = "unlock-recipe", -- recipe = "big-zirconia", -- } or nil, }, unit = { count = 75, ingredients = { {"automation-science-pack", 1}, {"logistic-science-pack", 1}, }, time = 30, }, prerequisites = {"automation-2", (not mods.bzzirconium and "advanced-material-processing") or nil }, order = "z" }, }) -- cermet only if setting enabled if util.me.use_cermet() then local cermet_i = {util.item("zirconia", 2), util.item("copper-plate", 1)} if mods.bztitanium then local tme = require("__bztitanium__.me"); table.insert(cermet_i, util.item(tme.titanium_plate, 1)) end if mods.bzsilicon then table.insert(cermet_i, util.item("silica", 1)) end if mods.bzaluminum then table.insert(cermet_i, util.item("alumina", 1)) end data:extend({ { type = "item", name = "cermet", icon = "__bzzirconium__/graphics/icons/cermet.png", icon_size = 128, pictures = { {filename = "__bzzirconium__/graphics/icons/cermet.png", size=128, scale=0.125}, {filename = "__bzzirconium__/graphics/icons/cermet-1.png", size=128, scale=0.125}, {filename = "__bzzirconium__/graphics/icons/cermet-2.png", size=128, scale=0.125}, {filename = "__bzzirconium__/graphics/icons/cermet-3.png", size=128, scale=0.125}, {filename = "__bzzirconium__/graphics/icons/cermet-4.png", size=128, scale=0.125}, }, subgroup = "intermediate-product", order = "z[cermet]", stack_size = util.get_stack_size(200) }, { type = "recipe", name = "cermet", category = "crafting", subgroup = "intermediate-product", order = "z[zirconia]", icons = { { icon = "__bzzirconium__/graphics/icons/cermet.png", icon_size = 128, } }, enabled = false, energy_required = #cermet_i + 1, ingredients = cermet_i, results = {util.item("cermet", #cermet_i + 1)}, }, { type = "technology", name = "cermet", icon_size = 512, icon = "__bzzirconium__/graphics/technology/cermet.png", effects = { { type = "unlock-recipe", recipe = "cermet" }, }, unit = { count = 100, ingredients = { {"automation-science-pack", 1}, {"logistic-science-pack", 1}, {"chemical-science-pack", 1}, }, time = 30, }, prerequisites = {"zirconia-processing"}, order = "c" }, }) if mods.bztitanium then util.add_prerequisite("cermet", util.titanium_processing) end end -- sorting if util.me.enable_sorting() then data:extend({ { type = "recipe", name = "sort-stone-zircon", category = "crafting", subgroup = "raw-resource", order = "bzz", icons = { { icon = "__bzzirconium__/graphics/icons/zircon.png", icon_size = 64 }, { icon = "__base__/graphics/icons/stone.png", icon_size = 64, scale=0.25, shift= {-8, -8}}, }, enabled = true, energy_required = 1, ingredients = {util.item("stone", 2)}, results = { {type="item", name="zircon", amount=1, probability=.999999}, {type="item", name="stone", amount=1, probability=0.5}, } }, { type = "recipe", name = "sort-zircon-stone", category = "crafting", subgroup = "raw-resource", order = "bzz", icons = { { icon = "__base__/graphics/icons/stone.png", icon_size = 64 }, { icon = "__bzzirconium__/graphics/icons/zircon.png", icon_size = 64, scale=0.25, shift= {-8, -8}}, }, enabled = true, energy_required = 1, ingredients = {util.item("zircon", 2)}, results = { {type="item", name="stone", amount=1, probability=.999999}, {type="item", name="zircon", amount=1, probability=0.5}, } } }) end -- Zirconium Tungstate, only if needed if mods["space-age"] or (mods.bztungsten and (mods["Krastorio2"] or mods["space-exploration"])) then data:extend({ { type = "item", name = "zirconium-tungstate", icons = {{icon = "__bzzirconium__/graphics/icons/zircon-powder.png", icon_size = 64, tint = {a=1, r=.95, g=.75, b=0}}}, subgroup = "intermediate-product", order = "z[zz]", stack_size = util.get_stack_size(100) }, { type = "recipe", name = "zirconium-tungstate", category = "crafting", subgroup = "intermediate-product", order = "z[zz]", enabled = false, energy_required = 2, ingredients = {util.item("zirconium-plate", 1), util.item("tungsten-plate", 1),}, results = {util.item("zirconium-tungstate", 2)}, }, }) util.add_effect("zirconia-processing", { type = "unlock-recipe", recipe = "zirconium-tungstate" }) end -- Zircaloy-4 only if needed if mods.bztin then local zircaloyi = { util.item("zirconium-plate", 17), util.item("tin-plate", 2), util.item("iron-plate", 1), } data:extend({ { type = "item", name = "zircaloy-4", icons = {{icon = "__bzzirconium__/graphics/icons/zircaloy-4.png", icon_size = 128}}, subgroup = "intermediate-product", order = "z[zz]", stack_size = util.get_stack_size(100), }, { type = "recipe", name = "zircaloy-4", category = "crafting", order = "z[zz]", enabled = false, energy_required = 60, ingredients = zircaloyi, results = {util.item("zircaloy-4", 20)}, }, }) util.add_effect("zirconia-processing", { type = "unlock-recipe", recipe = "zircaloy-4" }) end if mods.DoubleFurnace then data:extend({ { type = "recipe", name = "double-zirconium", category = "double-smelting", enabled = false, energy_required = 19.2, ingredients = {util.item("zircon", 3)}, results = {util.item("zirconium-plate", 2)}, } }) util.add_effect("zirconia-processing", {type = "unlock-recipe", recipe = "double-zirconium"}) end