byproduct setting

This commit is contained in:
Brevven 2022-07-01 20:54:07 -07:00
parent 4d118ec869
commit 68a3fe1391
9 changed files with 46 additions and 20 deletions

View file

@ -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 Version: 1.2.2
Date: 2022-07-02 Date: 2022-07-02
Chnages: Changes:
- SE: Pyroflux tech compatibility - SE: Pyroflux tech compatibility
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Version: 1.2.1 Version: 1.2.1

View file

@ -1,6 +1,6 @@
{ {
"name": "bzlead", "name": "bzlead",
"version": "1.2.2", "version": "1.2.3",
"factorio_version": "1.1", "factorio_version": "1.1",
"title": "Lead", "title": "Lead",
"author": "Brevven", "author": "Brevven",

View file

@ -1,3 +1,4 @@
local util = require("data-util");
if simpleCompress then if simpleCompress then
if simpleCompress.ores then if simpleCompress.ores then
@ -21,10 +22,13 @@ if simpleCompress then
SimpleCompress_AddSmeltingRecipe("lead-ore", "lead-plate") SimpleCompress_AddSmeltingRecipe("lead-ore", "lead-plate")
SimpleCompress_UnlockOreSmeltingTech("lead-ore") SimpleCompress_UnlockOreSmeltingTech("lead-ore")
local leadRecipe = data.raw.recipe["smelt-compressed-lead-ore"] local leadRecipe = data.raw.recipe["smelt-compressed-lead-ore"]
leadRecipe.results = { leadRecipe.results =
{type="item", name = "lead-plate", amount=5/6*simpleCompress.CompressedSmeltAmount}, util.me.byproduct() and {
{type="item", name = "copper-ore", amount=1/6*simpleCompress.CompressedSmeltAmount}, {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.icons = {{ icon = "__bzlead__/graphics/icons/lead-plate.png", icon_size = 64 }}
leadRecipe.subgroup = "raw-material" leadRecipe.subgroup = "raw-material"
leadRecipe.order = "d[lead-plate]" leadRecipe.order = "d[lead-plate]"

View file

@ -40,9 +40,9 @@ data:extend(
}, },
results = results =
{ {
{type = "item", name = "enriched-lead", amount = 5}, {type = "item", name = "enriched-lead", amount = util.me.byproduct() and 5 or 6},
{type = "item", name = "copper-ore", amount = 2}, {type = "fluid", name = "dirty-water", amount = 25, catalyst_amount = 25},
{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 = crafting_machine_tint =
{ {
@ -108,7 +108,7 @@ data:extend(
{type = "fluid", name = "water", amount = 90, catalyst_amount = 90}, {type = "fluid", name = "water", amount = 90, catalyst_amount = 90},
{type = "item", name = "stone", probability = 0.30, amount = 1}, {type = "item", name = "stone", probability = 0.30, amount = 1},
{type = "item", name = "lead-ore", probability = 0.50, 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 = crafting_machine_tint =
{ {

View file

@ -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]" data.raw.recipe["enriched-lead-plate"].order= "d[lead-plate]"
se_delivery_cannon_recipes["enriched-lead"] = {name= "enriched-lead"} se_delivery_cannon_recipes["enriched-lead"] = {name= "enriched-lead"}
else else
util.add_product("molten-lead", {"copper-ore", 6}) if util.me.byproduct() then util.add_product("molten-lead", {"copper-ore", 6}) end
end end
else else
data.raw.item["lead-plate"].subgroup = "plates" data.raw.item["lead-plate"].subgroup = "plates"
@ -169,8 +169,7 @@ else
{name = "se-vulcanite-block", amount = 1}, {name = "se-vulcanite-block", amount = 1},
}, },
results = { results = {
{name = util.me.lead_plate, amount = 10}, {name = util.me.lead_plate, amount = util.me.byproduct() and 10 or 12},
{name = "copper-ore", amount=2},
}, },
icons = 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, table.insert(data.raw.technology["se-processing-vulcanite"].effects,
{type = "unlock-recipe", recipe= "lead-smelting-vulcanite"}) {type = "unlock-recipe", recipe= "lead-smelting-vulcanite"})
end end

View file

@ -23,29 +23,35 @@ data:extend({
enabled = true, enabled = true,
energy_required = 16, energy_required = 16,
ingredients = {{"lead-ore", 10}}, 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 = util.me.lead_plate, amount_min=4, amount_max=5},
{type="item", name = "copper-ore", amount_min=1, amount_max=2}, {type="item", name = "copper-ore", amount_min=1, amount_max=2},
} } or {
{type="item", name = util.me.lead_plate, amount=5},
},
} or } or
{ {
enabled = true, enabled = true,
energy_required = 6.4, energy_required = 6.4,
ingredients = {{"lead-ore", 2}}, 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 = util.me.lead_plate, amount=2, probability=5/6},
{type="item", name = "copper-ore", amount=1, probability=1/3}, {type="item", name = "copper-ore", amount=1, probability=1/3},
} } or {
{type="item", name = util.me.lead_plate, amount=2},
},
}), }),
expensive = expensive =
{ {
enabled = true, enabled = true,
energy_required = 12.8, energy_required = 12.8,
ingredients = {{"lead-ore", 4}}, 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 = 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},
},
} }
}, },
{ {

View file

@ -46,10 +46,12 @@ dirty-water-filtration-lead=Filter dirty water, giving lead ore [item=lead-ore],
[mod-setting-name] [mod-setting-name]
bzlead-recipe-bypass=Bypass recipes bzlead-recipe-bypass=Bypass recipes
bzlead-byproduct=Output byproducts
bzlead-more-entities=Lead entities bzlead-more-entities=Lead entities
bzlead-more-ammo=More recipes for ammunition. bzlead-more-ammo=More recipes for ammunition.
[mod-setting-description] [mod-setting-description]
bzlead-recipe-bypass=Skip modifying these recipes (comma-separated list). 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-entities=Adds lead entities (currently just a lead chest).
bzlead-more-ammo=Default is lead-only. This adds other options. bzlead-more-ammo=Default is lead-only. This adds other options.

3
me.lua
View file

@ -4,6 +4,9 @@ me.name = "bzlead"
me.lead_ore = "lead-ore" me.lead_ore = "lead-ore"
me.lead_plate = "lead-plate" me.lead_plate = "lead-plate"
function me.byproduct()
return me.get_setting("bzlead-byproduct")
end
function me.more_entities() function me.more_entities()
return me.get_setting("bzlead-more-entities") == "yes" return me.get_setting("bzlead-more-entities") == "yes"

View file

@ -6,6 +6,12 @@ data:extend({
default_value = "", default_value = "",
allow_blank = true, allow_blank = true,
}, },
{
type = "bool-setting",
name = "bzlead-byproduct",
setting_type = "startup",
default_value = true,
},
{ {
type = "string-setting", type = "string-setting",
name = "bzlead-more-entities", name = "bzlead-more-entities",