-- Aluminum smelting local util = require("data-util"); local futil = require("util"); local alumina_results = {} if mods.bzsilicon and util.me.byproduct() and not mods.Krastorio2 then alumina_results ={ {type="item", name = "alumina", amount=1, probability=0.95}, {type="item", name = "silica", amount=1, probability=0.05}, } elseif mods.bzsilicon and util.me.byproduct() and mods.Krastorio2 then alumina_results ={ {type="item", name = "alumina", amount=5, probability=0.95}, {type="item", name = "silica", amount=1, probability=0.25}, } elseif mods.Krastorio2 then alumina_results ={ {type="item", name = "alumina", amount=5}, } else alumina_results ={ {type="item", name = "alumina", amount=1}, } end if (not mods["pyrawores"] and not mods["bobplates"] and not mods["angelssmelting"] ) then data:extend({ { type = "recipe", name = "alumina", main_product = "alumina", category = "smelting", order = "d[alumina]", icons = (mods["Krastorio2"] and { { icon = "__bzaluminum__/graphics/icons/alumina.png", icon_size = 128}, { icon = "__bzaluminum__/graphics/icons/aluminum-ore.png", icon_size = 64, icon_mipmaps = 3, scale=0.25, shift= {-8, -8}}, } or { { icon = "__bzaluminum__/graphics/icons/alumina.png", icon_size = 128}, } ), enabled = true, energy_required = mods.Krastorio2 and 16 or 3.2, ingredients = {{type = "item", name = "aluminum-ore", amount = mods.Krastorio2 and 10 or 1}}, subgroup = "raw-material", results = alumina_results, }, { type = "recipe", name = "aluminum-plate", main_product = "aluminum-plate", category = "smelting", order = "d[aluminum-plate]", icons = (mods["Krastorio2"] and { { icon = "__bzaluminum__/graphics/icons/aluminum-plate.png", icon_size = 128}, { icon = "__bzaluminum__/graphics/icons/alumina.png", icon_size = 128, scale=0.125, shift= {-8, -8}}, } or { { icon = "__bzaluminum__/graphics/icons/aluminum-plate.png", icon_size = 128}, } ), enabled = true, energy_required = mods["Krastorio2"] and 16 or 3.2, ingredients = {{type="item", name="alumina", amount=mods["Krastorio2"] and 10 or 1}}, results = { {type="item", name = "aluminum-plate", amount=mods["Krastorio2"] and 10 or 1} }, }, { type = "item", name = "alumina", icon = "__bzaluminum__/graphics/icons/alumina.png", icon_size = 128, pictures = { {filename="__bzaluminum__/graphics/icons/alumina.png", size=128, scale=0.25}, {filename="__bzaluminum__/graphics/icons/alumina-1.png", size=128, scale=0.25}, {filename="__bzaluminum__/graphics/icons/alumina-2.png", size=128, scale=0.25}, {filename="__bzaluminum__/graphics/icons/alumina-3.png", size=128, scale=0.25}, }, subgroup = "raw-material", order = "b[alumina]", stack_size = 100 }, { type = "item", name = "aluminum-plate", icon = "__bzaluminum__/graphics/icons/aluminum-plate.png", icon_size = 128, subgroup = "raw-material", order = "b[aluminum-plate]", stack_size = 100 }, }) if mods.bzsilicon then landfill = futil.table.deepcopy(data.raw.recipe["landfill"]) landfill.name = "landfill-silica" data:extend({landfill}) util.replace_some_ingredient("landfill-silica", "stone", 10, "silica", mods["space-exploration"] and 100 or 20) util.remove_prerequisite("landfill", "logistic-science-pack") util.set_tech_recipe("landfill", {{"automation-science-pack", 1}}) util.add_effect("landfill", {type="unlock-recipe", recipe="landfill-silica"}) util.set_icons( "landfill-silica", { {icon=data.raw.item["landfill"].icon, icon_size=data.raw.item["landfill"].icon_size, icon_mipmaps=data.raw.item["landfill"].icon_mipmaps}, {icon=data.raw.item["silica"].icon, icon_size=data.raw.item["silica"].icon_size, icon_mipmaps=data.raw.item["silica"].icon_mipmaps, scale=0.25, shift={8,-8}}, }) end data:extend({ { type = "technology", name = "copper-processing", icons = { { icon = "__base__/graphics/icons/copper-plate.png", icon_size = 64, icon_mipmaps=4, }, }, effects = { { type = "unlock-recipe", recipe = "copper-plate" }, { type = "unlock-recipe", recipe = "copper-cable" }, }, unit = { count = 10, time = 15, ingredients = mods.Krastorio2 and {{"kr-basic-tech-card", 1}} or {{"automation-science-pack", 1}}, }, prerequisites = {}, ignore_tech_cost_multiplier = true, order = "b-b", }, }) if mods["aai-industry"] then util.add_prerequisite("copper-processing", "electricity") else util.add_prerequisite("copper-processing", "automation") end data:extend({ { type = "technology", name = "reinforced-cable", icon = "__bzaluminum__/graphics/technology/reinforced-cable.png", icon_size = 256, effects = { { type = "unlock-recipe", recipe = "acsr-cable" }, }, unit = { count = 60, time = 15, ingredients = {{"automation-science-pack", 1}, {"logistic-science-pack", 1}}, }, prerequisites = {"steel-processing"}, order = "b-b", }, }) util.add_prerequisite("electric-energy-distribution-1", "reinforced-cable") data:extend({ { type = "item", name = "aluminum-cable", icon = "__bzaluminum__/graphics/icons/aluminum-cable.png", icon_size = 64, icon_mipmaps = 4, subgroup = util.cablesg, order = "b[aaac-cable]", stack_size = 100, }, { type = "recipe", name = "aluminum-cable", category = "crafting", order = "d[aaac-cable]", enabled = true, energy_required = 0.5, ingredients = {{type="item", name="aluminum-plate", amount=2}}, results = {{type="item", name="aluminum-cable", amount=1}}, }, { type = "item", name = "acsr-cable", icon = "__bzaluminum__/graphics/icons/acsr-cable.png", icon_size = 128, subgroup = util.cablesg, order = "b[acsr-cable]", stack_size = 50, }, { type = "recipe", name = "acsr-cable", category = "crafting", order = "d[acsr-cable]", enabled = false, energy_required = 0.5, ingredients = {{type="item", name="aluminum-cable", amount=6}, {type="item", name="steel-plate", amount=1}}, results = {{type="item", name="acsr-cable", amount=3}}, } }) if mods.Krastorio2 then data:extend({ { type = "recipe", name = "aluminum-cable-s-c", category = "kr-smelting-crafting", subgroup = "kr-smelting-crafting", order = "d[aaac-cable]", enabled = false, energy_required = 0.5, hide_from_player_crafting = true, ingredients = {{type="item", name="aluminum-ore", amount=4}}, results = {{type="item", name="aluminum-cable", amount=1}}, icons = { {icon = "__bzaluminum__/graphics/icons/aluminum-cable.png", icon_size = 64, icon_mipmaps = 4}, {icon = "__bzaluminum__/graphics/icons/aluminum-ore.png", icon_size = 64, icon_mipmaps = 3, scale=0.25, shift= {-8, -8}}, }, }, { type = "recipe", name = "aluminum-cable-enriched-s-c", category = "kr-smelting-crafting", subgroup = "kr-smelting-crafting", order = "d[aaac-cable]", enabled = false, energy_required = 0.5, hide_from_player_crafting = true, ingredients = {{type="item", name="enriched-aluminum", amount=2}}, results = {{type="item", name="aluminum-cable", amount=1}}, icons = { {icon = "__bzaluminum__/graphics/icons/aluminum-cable.png", icon_size = 64, icon_mipmaps = 4}, {icon = "__bzaluminum__/graphics/icons/enriched-aluminum.png", icon_size = 128, scale=0.125, shift= {-8, -8}}, }, }, }) util.add_effect("kr-automation", { type = "unlock-recipe", recipe = "aluminum-cable-s-c" }) util.add_effect("kr-automation", { type = "unlock-recipe", recipe = "aluminum-cable-enriched-s-c" }) end local plug = { {type="item", name="alumina", amount=1}, {type="item", name="copper-plate", amount=1}, {type="item", name="iron-plate", amount=1}, -- replace with tungsten plate later } if mods.bzzirconium then table.insert(plug, {type="item", name="zirconia", amount=1}) end data:extend({ { type = "item", name = "spark-plug", icon = "__bzaluminum__/graphics/icons/spark-plug.png", icon_size = 128, subgroup = "intermediate-product", order = "b[spark-plug]", stack_size = 100, }, { type = "recipe", name = "spark-plug", category = "crafting", order = "d[spark-plug]", enabled = false, energy_required = 2, ingredients = plug, results = {{type = "item", name = "spark-plug", amount = #plug}}, } }) util.add_effect("engine", { type = "unlock-recipe", recipe = "spark-plug" }) util.replace_ingredient("spark-plug", "iron-plate", "tungsten-plate") if mods.bzzirconium then util.add_prerequisite("engine", "zirconia-processing") end local aluminum_6061 = {} aluminum_6061["aluminum-plate"] = 18 aluminum_6061["copper-plate"] = 1 aluminum_6061["iron-plate"] = 1 if mods.bzsilicon or mods.Krastorio2 then aluminum_6061[mods.Krastorio2 and "kr-silicon" or "silicon"] = 1 aluminum_6061["aluminum-plate"] = aluminum_6061["aluminum-plate"] - 1 end if mods.Krastorio2 then aluminum_6061["kr-rare-metals"] = 1 aluminum_6061["aluminum-plate"] = aluminum_6061["aluminum-plate"] - 1 end data:extend({ { type = "item", name = "aluminum-6061", icon = "__bzaluminum__/graphics/icons/aluminum-6061.png", icon_size = 128, subgroup = "raw-material", order = "zz[aluminum-6061]", stack_size = 100, }, { type = "recipe", name = "aluminum-6061", category = "founding", subgroup = "foundry-intermediate", order = "zz[aluminum-6061]", enabled = false, energy_required = 100, ingredients = {}, results = {{type="item", name="aluminum-6061", amount=20}}, }, { type = "technology", name = "basic-alloys", icon = "__bzaluminum__/graphics/icons/aluminum-6061.png", icon_size = 128, effects = { { type = "unlock-recipe", recipe = "aluminum-6061" }, }, unit = { count = 60, time = 30, ingredients = {{"automation-science-pack", 1}, {"logistic-science-pack", 1}}, }, prerequisites = {"advanced-material-processing"}, order = "b-b", }, }) for item, count in pairs(aluminum_6061) do util.add_ingredient("aluminum-6061", item, count, {force=true}) end util.add_prerequisite("basic-alloys", "silicon-processing") util.add_prerequisite("basic-alloys", "kr-silicon-processing") local aluminum_2219 = {} aluminum_2219["aluminum-plate"] = 16 aluminum_2219["copper-plate"] = 4 if mods.bztitanium then aluminum_2219["titanium-plate"] = 2 aluminum_2219["aluminum-plate"] = aluminum_2219["aluminum-plate"] - 1 aluminum_2219["copper-plate"] = aluminum_2219["copper-plate"] - 1 end if mods.bzzirconium then aluminum_2219["zirconium-plate"] = 1 aluminum_2219["aluminum-plate"] = aluminum_2219["aluminum-plate"] - 1 end if mods.Krastorio2 then aluminum_2219["kr-rare-metals"] = 1 aluminum_2219["aluminum-plate"] = aluminum_2219["aluminum-plate"] - 1 end data:extend({ { type = "item", name = "aluminum-2219", icon = "__bzaluminum__/graphics/icons/aluminum-2219.png", icon_size = 128, subgroup = "raw-material", order = "zz[aluminum-2219]", stack_size = 100, }, { type = "recipe", name = "aluminum-2219", category = "founding", subgroup = "foundry-intermediate", order = "zz[aluminum-2219]", enabled = false, energy_required = 100, ingredients = {}, results = {{type="item", name="aluminum-2219", amount=20}}, }, { type = "technology", name = "aerospace-alloys", icon = "__bzaluminum__/graphics/icons/aluminum-2219.png", icon_size = 128, effects = { { type = "unlock-recipe", recipe = "aluminum-2219" }, }, unit = { count = 60, time = 30, ingredients = {{"automation-science-pack", 1}, {"logistic-science-pack", 1}, {"chemical-science-pack", 1}}, }, prerequisites = {"basic-alloys"}, order = "b-b", }, }) for item, count in pairs(aluminum_2219) do util.add_ingredient("aluminum-2219", item, count, {force=true}) end util.add_prerequisite("aerospace-alloys", "titanium-processing") util.add_prerequisite("aerospace-alloys", "zirconia-processing") if mods.bztitanium then data:extend({ { type = "item", name = "ti-sapphire", icon = "__bzaluminum__/graphics/icons/ti-sapphire.png", icon_size = 128, subgroup = "intermediate-product", order = "zz[sapphire-ti]", stack_size = 50, }, { type = "recipe", name = "ti-sapphire", icon = "__bzaluminum__/graphics/icons/ti-sapphire.png", icon_size = 128, category = "chemistry", subgroup = "intermediate-product", order = "zz[sapphire-ti]", enabled = false, energy_required = 10, ingredients = { {type="item", name="alumina", amount=10}, {type="item", name=util.titanium_plate, amount=1}, {type="fluid", name=mods.Krastorio2 and "kr-ammonia" or "sulfuric-acid", amount=5}, }, results = {{type="item", name="ti-sapphire", amount=1}}, }, }) util.add_effect("laser", {type="unlock-recipe", recipe="ti-sapphire"}) util.add_prerequisite("laser", util.titanium_processing) if mods.bzcarbon then util.add_ingredient("ti-sapphire", "diamond", 1, {force=true}) util.add_product("ti-sapphire", {type="item", name="diamond", amount=1, probability=0.8, catalyst_amount=1}, {force=true}) end end if mods.DoubleFurnace then data:extend({ { type = "recipe", name = "double-aluminum", category = "double-smelting", enabled = false, energy_required = 3.2, ingredients = {{type="item", name="aluminum-ore", amount=1}}, results = {{type="item", name="aluminum-plate", amount=1}}, } }) util.add_effect("double-smelting-tech-steel", {type = "unlock-recipe", recipe = "double-aluminum"}) end end