From 68a3fe139113c8be759ae48bb927d588ed548b93 Mon Sep 17 00:00:00 2001 From: Brevven Date: Fri, 1 Jul 2022 20:54:07 -0700 Subject: [PATCH] byproduct setting --- changelog.txt | 7 ++++++- info.json | 2 +- lead-compressed.lua | 12 ++++++++---- lead-enriched.lua | 8 ++++---- lead-recipe-se.lua | 6 +++--- lead-recipe.lua | 20 +++++++++++++------- locale/en/lead.cfg | 2 ++ me.lua | 3 +++ settings.lua | 6 ++++++ 9 files changed, 46 insertions(+), 20 deletions(-) diff --git a/changelog.txt b/changelog.txt index 8217a04..d44b7fb 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,7 +1,12 @@ --------------------------------------------------------------------------------------------------- +Version: 1.2.3 +Date: 2022-07-02 + Features: + - Setting to turn off copper byproduct in lead production +--------------------------------------------------------------------------------------------------- Version: 1.2.2 Date: 2022-07-02 - Chnages: + Changes: - SE: Pyroflux tech compatibility --------------------------------------------------------------------------------------------------- Version: 1.2.1 diff --git a/info.json b/info.json index e6b5ae3..2ad1874 100644 --- a/info.json +++ b/info.json @@ -1,6 +1,6 @@ { "name": "bzlead", - "version": "1.2.2", + "version": "1.2.3", "factorio_version": "1.1", "title": "Lead", "author": "Brevven", diff --git a/lead-compressed.lua b/lead-compressed.lua index 9cfa94a..05bbf7e 100644 --- a/lead-compressed.lua +++ b/lead-compressed.lua @@ -1,3 +1,4 @@ +local util = require("data-util"); if simpleCompress then if simpleCompress.ores then @@ -21,10 +22,13 @@ if simpleCompress then SimpleCompress_AddSmeltingRecipe("lead-ore", "lead-plate") SimpleCompress_UnlockOreSmeltingTech("lead-ore") local leadRecipe = data.raw.recipe["smelt-compressed-lead-ore"] - leadRecipe.results = { - {type="item", name = "lead-plate", amount=5/6*simpleCompress.CompressedSmeltAmount}, - {type="item", name = "copper-ore", amount=1/6*simpleCompress.CompressedSmeltAmount}, - } + leadRecipe.results = + util.me.byproduct() and { + {type="item", name = "lead-plate", amount=5/6*simpleCompress.CompressedSmeltAmount}, + {type="item", name = "copper-ore", amount=1/6*simpleCompress.CompressedSmeltAmount}, + } or { + {type="item", name = "lead-plate", amount=simpleCompress.CompressedSmeltAmount}, + } leadRecipe.icons = {{ icon = "__bzlead__/graphics/icons/lead-plate.png", icon_size = 64 }} leadRecipe.subgroup = "raw-material" leadRecipe.order = "d[lead-plate]" diff --git a/lead-enriched.lua b/lead-enriched.lua index 7716f59..02d6b39 100644 --- a/lead-enriched.lua +++ b/lead-enriched.lua @@ -40,9 +40,9 @@ data:extend( }, results = { - {type = "item", name = "enriched-lead", amount = 5}, - {type = "item", name = "copper-ore", amount = 2}, - {type = "fluid", name = "dirty-water", amount = 25, catalyst_amount = 25} + {type = "item", name = "enriched-lead", amount = util.me.byproduct() and 5 or 6}, + {type = "fluid", name = "dirty-water", amount = 25, catalyst_amount = 25}, + util.me.byproduct() and {type = "item", name = "copper-ore", amount = 2} or nil, }, crafting_machine_tint = { @@ -108,7 +108,7 @@ data:extend( {type = "fluid", name = "water", amount = 90, catalyst_amount = 90}, {type = "item", name = "stone", probability = 0.30, amount = 1}, {type = "item", name = "lead-ore", probability = 0.50, amount = 1}, - {type = "item", name = "copper-ore", probability = 0.05, amount = 1}, + util.me.byproduct() and {type = "item", name = "copper-ore", probability = 0.05, amount = 1} or nil, }, crafting_machine_tint = { diff --git a/lead-recipe-se.lua b/lead-recipe-se.lua index ee81d1c..2274ef6 100644 --- a/lead-recipe-se.lua +++ b/lead-recipe-se.lua @@ -118,7 +118,7 @@ if string.sub(mods["space-exploration"], 1, 3) == "0.6" then data.raw.recipe["enriched-lead-plate"].order= "d[lead-plate]" se_delivery_cannon_recipes["enriched-lead"] = {name= "enriched-lead"} else - util.add_product("molten-lead", {"copper-ore", 6}) + if util.me.byproduct() then util.add_product("molten-lead", {"copper-ore", 6}) end end else data.raw.item["lead-plate"].subgroup = "plates" @@ -169,8 +169,7 @@ else {name = "se-vulcanite-block", amount = 1}, }, results = { - {name = util.me.lead_plate, amount = 10}, - {name = "copper-ore", amount=2}, + {name = util.me.lead_plate, amount = util.me.byproduct() and 10 or 12}, }, icons = { @@ -181,6 +180,7 @@ else }, }) + if util.me.byproduct() then util.add_product("lead-smelting-vulcanite", {"copper-ore", 2}) end table.insert(data.raw.technology["se-processing-vulcanite"].effects, {type = "unlock-recipe", recipe= "lead-smelting-vulcanite"}) end diff --git a/lead-recipe.lua b/lead-recipe.lua index 34fed13..4de3e30 100644 --- a/lead-recipe.lua +++ b/lead-recipe.lua @@ -23,29 +23,35 @@ data:extend({ enabled = true, energy_required = 16, ingredients = {{"lead-ore", 10}}, - results = { + results = util.me.byproduct() and { {type="item", name = util.me.lead_plate, amount_min=4, amount_max=5}, {type="item", name = "copper-ore", amount_min=1, amount_max=2}, - } + } or { + {type="item", name = util.me.lead_plate, amount=5}, + }, } or { enabled = true, energy_required = 6.4, ingredients = {{"lead-ore", 2}}, - results = { + results = util.me.byproduct() and { {type="item", name = util.me.lead_plate, amount=2, probability=5/6}, {type="item", name = "copper-ore", amount=1, probability=1/3}, - } + } or { + {type="item", name = util.me.lead_plate, amount=2}, + }, }), expensive = { enabled = true, energy_required = 12.8, ingredients = {{"lead-ore", 4}}, - results = { + results = util.me.byproduct() and { {type="item", name = util.me.lead_plate, amount=2, probability=5/6}, - {type="item", name = "copper-ore", amount=2, probability=1/3}, - } + {type="item", name = "copper-ore", amount=1, probability=1/3}, + } or { + {type="item", name = util.me.lead_plate, amount=2}, + }, } }, { diff --git a/locale/en/lead.cfg b/locale/en/lead.cfg index 593b452..832c0a2 100644 --- a/locale/en/lead.cfg +++ b/locale/en/lead.cfg @@ -46,10 +46,12 @@ dirty-water-filtration-lead=Filter dirty water, giving lead ore [item=lead-ore], [mod-setting-name] bzlead-recipe-bypass=Bypass recipes +bzlead-byproduct=Output byproducts bzlead-more-entities=Lead entities bzlead-more-ammo=More recipes for ammunition. [mod-setting-description] bzlead-recipe-bypass=Skip modifying these recipes (comma-separated list). +bzlead-byproduct=If enabled, lead production will output copper as a byproduct. bzlead-more-entities=Adds lead entities (currently just a lead chest). bzlead-more-ammo=Default is lead-only. This adds other options. diff --git a/me.lua b/me.lua index 0741cf9..38c4900 100644 --- a/me.lua +++ b/me.lua @@ -4,6 +4,9 @@ me.name = "bzlead" me.lead_ore = "lead-ore" me.lead_plate = "lead-plate" +function me.byproduct() + return me.get_setting("bzlead-byproduct") +end function me.more_entities() return me.get_setting("bzlead-more-entities") == "yes" diff --git a/settings.lua b/settings.lua index 768c9b4..a975d57 100644 --- a/settings.lua +++ b/settings.lua @@ -6,6 +6,12 @@ data:extend({ default_value = "", allow_blank = true, }, + { + type = "bool-setting", + name = "bzlead-byproduct", + setting_type = "startup", + default_value = true, + }, { type = "string-setting", name = "bzlead-more-entities",