From fad825fed83e3de95612fc148d445464a7dfae68 Mon Sep 17 00:00:00 2001 From: Brevven Date: Tue, 5 Jul 2022 03:59:32 -0700 Subject: [PATCH] zircaloy, tweaks --- changelog.txt | 7 ++++++ data-util.lua | 4 +-- info.json | 3 ++- locale/en/zirconium.cfg | 1 + zirconium-recipe-updates.lua | 48 ++++++++++++++++++++---------------- zirconium-recipe.lua | 37 ++++++++++++++++++++++++--- 6 files changed, 72 insertions(+), 28 deletions(-) diff --git a/changelog.txt b/changelog.txt index 2adfd3e..2c16429 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,4 +1,11 @@ --------------------------------------------------------------------------------------------------- +Version: 0.6.5 +Date: 2021-07-05 + Changes: + - With Tin enabled, use Zircaloy-4 in nuclear recipes + - Reduce amount of zirconium needed for explosives + - Some other minor recipe tweaks +--------------------------------------------------------------------------------------------------- Version: 0.6.4 Date: 2021-07-03 Fixes: diff --git a/data-util.lua b/data-util.lua index 0994028..8b49132 100644 --- a/data-util.lua +++ b/data-util.lua @@ -551,7 +551,7 @@ end -- Set recipe category function util.set_category(recipe_name, category) if me.bypass[recipe_name] then return end - if data.raw.recipe[recipe_name] then + if data.raw.recipe[recipe_name] and data.raw["recipe-category"][category] then me.add_modified(recipe_name) data.raw.recipe[recipe_name].category = category end @@ -601,7 +601,7 @@ end -- Add crafting category to an entity function util.add_crafting_category(entity_type, entity, category) - if data.raw[entity_type][entity] then + if data.raw[entity_type][entity] and data.raw["recipe-category"][category] then for i, existing in pairs(data.raw[entity_type][entity].crafting_categories) do if existing == category then log(entity.." not adding "..category.." -- duplicate") diff --git a/info.json b/info.json index da4152f..611b2ea 100644 --- a/info.json +++ b/info.json @@ -1,6 +1,6 @@ { "name": "bzzirconium", - "version": "0.6.4", + "version": "0.6.5", "factorio_version": "1.1", "title": "Zirconium", "author": "Brevven", @@ -9,6 +9,7 @@ "dependencies": [ "base >= 1.1.0", "? space-exploration", + "? aai-industry", "? Krastorio2", "? deadlock-beltboxes-loaders", "? DeadlockCrating", diff --git a/locale/en/zirconium.cfg b/locale/en/zirconium.cfg index 54af747..fe469d6 100644 --- a/locale/en/zirconium.cfg +++ b/locale/en/zirconium.cfg @@ -14,6 +14,7 @@ enriched-zircon=Enriched zircon compressed-zircon=Compressed zircon cermet=Cermet zirconium-tungstate=Zirconium tungstate +zircaloy-4=Zircaloy 4 [item-description] zircon=Can be smelted into zirconia diff --git a/zirconium-recipe-updates.lua b/zirconium-recipe-updates.lua index d74fa10..323253e 100644 --- a/zirconium-recipe-updates.lua +++ b/zirconium-recipe-updates.lua @@ -1,6 +1,7 @@ local util = require("__bzzirconium__.data-util"); local nuclear_plate = mods.bzlead and "lead-plate" or "iron-plate" +local nuclear_z = data.raw.item["zircaloy-4"] and "zircaloy-4" or "zirconium-plate" util.replace_some_ingredient("stone-furnace", "stone", 1, "zircon", 1) @@ -14,14 +15,15 @@ if mods["aai-industry"] then util.add_ingredient("concrete", "zircon", 1) end +util.multiply_recipe("explosives", 2) util.add_ingredient("explosives", "zirconium-plate", 1) -util.add_ingredient("nuclear-reactor", "zirconium-plate", 100) +util.add_ingredient("nuclear-reactor", nuclear_z, 100) local ufc_amt = mods["Krastorio2"] and 1 or 5 -util.replace_some_ingredient("uranium-fuel-cell", nuclear_plate, 5, "zirconium-plate", ufc_amt) +util.replace_some_ingredient("uranium-fuel-cell", nuclear_plate, 5, nuclear_z, ufc_amt) if not mods.bztungsten then - util.add_ingredient("nuclear-fuel", "zirconium-plate", 1) + util.add_ingredient("nuclear-fuel", nuclear_z, 1) end util.add_ingredient("rocket-engine-nozzle", "zirconia", 1) @@ -63,6 +65,8 @@ if mods["Krastorio2"] then util.add_ingredient("ai-core", "cermet", 2) util.add_ingredient("kr-matter-assembler", "cermet", 4) end + util.add_ingredient("kr-fusion-reactor", nuclear_z, 350) + util.add_ingredient("kr-antimatter-reactor", nuclear_z, 350) util.replace_some_ingredient("stone-brick", "stone", 5, "zircon", 5) if mods["space-exploration"] then @@ -93,6 +97,8 @@ if mods["space-exploration"] then util.add_to_product("se-experimental-alloys-data", "se-experimental-alloys-data", 1) util.add_to_product("se-experimental-alloys-data", "se-scrap", 1) util.add_to_ingredient("se-experimental-alloys-data", "se-empty-data", 1) + + util.add_ingredient("se-antimatter-reactor", nuclear_z, 350) end -- AAI util.add_ingredient("industrial-furnace", "zirconium-plate", 4) @@ -107,17 +113,17 @@ util.add_ingredient("aircraft-afterburner", "zirconia", 5) util.add_ingredient("mega-furnace", "zirconia", 5) util.add_ingredient("nuclear-furnace-4", "zirconia", 400) -util.add_ingredient("nuclear-furnace-5", "zirconium-plate", 400) +util.add_ingredient("nuclear-furnace-5", nuclear_z, 400) -util.replace_some_ingredient("breeder-fuel-cell", nuclear_plate, 5, "zirconium-plate", 5) -util.replace_some_ingredient("mox-fuel-cell", nuclear_plate, 5, "zirconium-plate", 5) -util.replace_some_ingredient("MOX-fuel", nuclear_plate, 5, "zirconium-plate", 5) +util.replace_some_ingredient("breeder-fuel-cell", nuclear_plate, 5, nuclear_z, 5) +util.replace_some_ingredient("mox-fuel-cell", nuclear_plate, 5, nuclear_z, 5) +util.replace_some_ingredient("MOX-fuel", nuclear_plate, 5, nuclear_z, 5) util.add_ingredient("advanced-electric-furnace-rampant-industry", "zirconia", 50) -- MadClown's Nuclear -util.replace_some_ingredient("mixed-oxide", nuclear_plate, 1, "zirconium-plate", 1) -util.add_ingredient("thermonuclear-bomb", "zirconium-plate", 100) +util.replace_some_ingredient("mixed-oxide", nuclear_plate, 1, nuclear_z, 1) +util.add_ingredient("thermonuclear-bomb", nuclear_z, 100) -- MadClown's Science util.add_ingredient("particle-accelerator-mk1", "zirconium-plate", 1000) @@ -125,20 +131,20 @@ util.add_ingredient("particle-accelerator-mk2", "zirconium-plate", 1000) -- Realistic Reactors -util.add_ingredient("realistic-reactor", "zirconium-plate", 100) -util.add_ingredient("breeder-reactor", "zirconium-plate", 100) +util.add_ingredient("realistic-reactor", nuclear_z, 100) +util.add_ingredient("breeder-reactor", nuclear_z, 100) -- Plutonium Energy -util.add_ingredient("MOX-reactor", "zirconium-plate", 400) +util.add_ingredient("MOX-reactor", nuclear_z, 400) -- Schall util.add_ingredient("Schall-radioactive-waste-incinerator", "zirconia", 25) -- RITEG -util.add_ingredient("RITEG-1", "zirconium-plate", 10) -util.add_ingredient("RITEG-cyan", "zirconium-plate", 10) -util.add_ingredient("RITEG-breeder", "zirconium-plate", 10) +util.add_ingredient("RITEG-1", nuclear_z, 10) +util.add_ingredient("RITEG-cyan", nuclear_z, 10) +util.add_ingredient("RITEG-breeder", nuclear_z, 10) -- Nixie tubes util.add_ingredient("nixie-tube", "zirconium-plate", 1) @@ -149,12 +155,12 @@ util.add_ingredient("SNTD-nixie-tube", "zirconium-plate", 1) util.add_ingredient("SNTD-nixie-tube-small", "zirconium-plate", 1) -- RFP -util.add_ingredient("rfp-reactor", "zirconium-plate", 1000) +util.add_ingredient("rfp-reactor", nuclear_z, 1000) util.add_ingredient("rfp-reactor", "zirconia", 1000) -util.add_ingredient("rfp-aneutronic-reactor", "zirconium-plate", 5000) +util.add_ingredient("rfp-aneutronic-reactor", nuclear_z, 5000) util.add_ingredient("rfp-particle-accelerator", "zirconium-plate", 1000) util.add_ingredient("rfp-particle-decelerator", "zirconium-plate", 1000) -util.replace_some_ingredient("rfp-matter-antimatter-fuel-cell-empty", "steel-plate", 10, "zirconium-plate", 10) +util.replace_some_ingredient("rfp-matter-antimatter-fuel-cell-empty", "steel-plate", 10, nuclear_z, 10) @@ -193,13 +199,13 @@ end -- Bob's - bobplates -util.replace_some_ingredient("plutonium-fuel-cell", nuclear_plate, 5, "zirconium-plate", 5) +util.replace_some_ingredient("plutonium-fuel-cell", nuclear_plate, 5, nuclear_z, 5) -- True nukes -util.replace_some_ingredient("tritium-breeder-fuel-cell", nuclear_plate, 5, "zirconium-plate", 5) +util.replace_some_ingredient("tritium-breeder-fuel-cell", nuclear_plate, 5, nuclear_z, 5) -- Hazmat suit -util.replace_some_ingredient("mil-grade-fuel-cell", nuclear_plate, 5, "zirconium-plate", 5) +util.replace_some_ingredient("mil-grade-fuel-cell", nuclear_plate, 5, nuclear_z, 5) -- Power Armor Mk3 util.add_ingredient("pamk3-battmk3", "zirconium-plate", 5) diff --git a/zirconium-recipe.lua b/zirconium-recipe.lua index 6f65182..b7c15ad 100644 --- a/zirconium-recipe.lua +++ b/zirconium-recipe.lua @@ -288,8 +288,37 @@ data:extend({ result_count = 2, }, }) -util.add_effect("zirconia-processing", { - type = "unlock-recipe", - recipe = "zirconium-tungstate" - }) +util.add_effect("zirconia-processing", { type = "unlock-recipe", recipe = "zirconium-tungstate" }) +end + +-- Zircaloy-4 only if needed +if mods.bztin then +local zircaloyi = { + {"zirconium-plate", 17}, + {"tin-plate", 2}, + {"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, + result = "zircaloy-4", + result_count = 20, + }, +}) +local zircaloyt = mods.bzaluminum and "basic-alloys" or "zirconia-processing" +util.add_effect(zircaloyt, { type = "unlock-recipe", recipe = "zircaloy-4" }) end