From 6ad28a5d3b195da8f5bdf01d2e9015fd2c69b6f6 Mon Sep 17 00:00:00 2001 From: Brevven Date: Thu, 28 Jul 2022 04:07:06 -0700 Subject: [PATCH] pcb --- graphics/icons/pcb.png | Bin 0 -> 20622 bytes locale/en/salt.cfg | 4 +++- pcb.lua | 35 +++++++++++++++++++++++++++++++++-- 3 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 graphics/icons/pcb.png diff --git a/graphics/icons/pcb.png b/graphics/icons/pcb.png new file mode 100644 index 0000000000000000000000000000000000000000..3853b80d5467b59f3822ca9d84dfc71cebf8f63a GIT binary patch literal 20622 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 literal 0 HcmV?d00001 diff --git a/locale/en/salt.cfg b/locale/en/salt.cfg index 0d62f24..636e0f9 100644 --- a/locale/en/salt.cfg +++ b/locale/en/salt.cfg @@ -7,9 +7,11 @@ salt=[item=salt] __ENTITY__salt__ [item-name] salt=__ENTITY__salt__ ferric-chloride=Ferric chloride -pcb-substrate=PCB Substrate +pcb=PCB +pcb-substrate=__ITEM__pcb__ Substrate [item-description] +pcb=Printed circuit board [fluid-name] chlorine=Chlorine diff --git a/pcb.lua b/pcb.lua index 7c9d216..8e6d573 100644 --- a/pcb.lua +++ b/pcb.lua @@ -7,9 +7,19 @@ data:extend({ icon = "__bzchlorine__/graphics/icons/pcb-substrate.png", icon_size = 128, subgroup = "intermediate-product", - order = "b[pcb-s]", + order = "f[advanced-circuit][pcb-substrate]", stack_size = util.get_stack_size(200), }, + { + type = "item", + name = "pcb", + icon = "__bzchlorine__/graphics/icons/pcb.png", + icon_size = 128, + subgroup = "intermediate-product", + order = "f[advanced-circuit][pcb]", + stack_size = util.get_stack_size(200), + }, + }) data:extend({ { @@ -26,6 +36,27 @@ data:extend({ category = "chemistry", energy_requires = 3, }, + { + type = "recipe", + name = "pcb", + results = { + {"pcb", 1}, + }, + ingredients = { + {"pcb-substrate", 1}, + {"copper-plate", 1}, + {"ferric-chloride", 1}, + }, + enabled = false, + category = "chemistry", + energy_requires = 3, + }, }) + +util.add_unlock("advanced-electronics", "pcb-substrate") +util.add_unlock("advanced-electronics", "pcb") + +-- These updates should be in data phase util.replace_some_ingredient("pcb-substrate", "plastic-bar", 1, "silica", 3) -util.replace_some_ingredient("pcb-substrate", "plastic-bar", 1, "bakelite") +util.replace_some_ingredient("pcb-substrate", "plastic-bar", 1, "bakelite", 1) +util.replace_ingredient("advanced-circuit", "plastic-bar", "pcb", 1)