Update to 2.0

This commit is contained in:
Simon Brodtmann 2025-10-05 10:19:11 +02:00
parent bed4d01744
commit ff675ca8d2
49 changed files with 1522 additions and 0 deletions

179
prototypes/MDrecipes.lua Normal file
View file

@ -0,0 +1,179 @@
--recycling doesnt detect recipe change, doing it manually
if mods["space-exploration"] then
if mods["Krastorio2"] then
bobmods.lib.recipe.remove_result("se-recycle-radar", "electronic-circuit")
bobmods.lib.recipe.add_result("se-recycle-radar", "automation-core")
else
bobmods.lib.recipe.remove_result("se-recycle-radar", "electronic-circuit")
bobmods.lib.recipe.add_result("se-recycle-radar", {type="item", name="basic-circuit-board", amount=6})
end
--fix for krastorio/spaceex radar recipe glitch
end
--insulated-cable
if mods["bzsilicon"] then
bobmods.lib.recipe.add_ingredient("optical-fiber", {type="item", name="insulated-cable", amount=1})
--seems that new version of bzsilicon adds this ingredient which interfears
if data.raw.item["silicon"] then
bobmods.lib.recipe.remove_ingredient("processing-unit", "silicon")
end
end
------------------------------------------------------------------------------------------------------------------------------------------------
if settings.startup["bobmods-recursive-circuitred"].value == true then
if mods["space-exploration"] and not mods["Krastorio2"] then
bobmods.lib.recipe.set_ingredient("advanced-circuit", {type="item", name="electronic-circuit", amount=2})
bobmods.lib.recipe.set_ingredient("processing-unit", {type="item", name="advanced-circuit", amount=2})
bobmods.lib.recipe.set_ingredient("processing-unit", {type="item", name="electronic-circuit", amount=20})
bobmods.lib.recipe.set_ingredient("se-processing-unit-holmium", {type="item", name="advanced-circuit", amount=1})
bobmods.lib.recipe.set_ingredient("se-processing-unit-holmium", {type="item", name="electronic-circuit", amount=10})
bobmods.lib.recipe.set_ingredient("advanced-processing-unit", {type="item", name="processing-unit", amount=1})
end
if mods["Krastorio2"] and not mods["space-exploration"] then
bobmods.lib.recipe.set_ingredient("advanced-circuit", {type="item", name="electronic-circuit", amount=4})
bobmods.lib.recipe.set_ingredient("processing-unit", {type="item", name="advanced-circuit", amount=6})
bobmods.lib.recipe.set_ingredient("advanced-processing-unit", {type="item", name="processing-unit", amount=1})
end
if mods["Krastorio2"] and mods["space-exploration"] then
bobmods.lib.recipe.set_ingredient("advanced-circuit", {type="item", name="electronic-circuit", amount=4})
bobmods.lib.recipe.set_ingredient("processing-unit", {type="item", name="advanced-circuit", amount=6})
bobmods.lib.recipe.set_ingredient("se-processing-unit-holmium", {type="item", name="advanced-circuit", amount=3})
bobmods.lib.recipe.set_ingredient("advanced-processing-unit", {type="item", name="processing-unit", amount=1})
end
if not mods["Krastorio2"] and not mods["space-exploration"] then
bobmods.lib.recipe.set_ingredient("advanced-circuit", {type="item", name="electronic-circuit", amount=2})
bobmods.lib.recipe.set_ingredient("processing-unit", {type="item", name="advanced-circuit", amount=2})
bobmods.lib.recipe.set_ingredient("processing-unit", {type="item", name="electronic-circuit", amount=20})
bobmods.lib.recipe.set_ingredient("advanced-processing-unit", {type="item", name="processing-unit", amount=1})
end
--change results
if mods["Krastorio2"] then
--bobmods.lib.recipe.set_result("electronic-circuit", {type="item", name="electronic-circuit", amount=1})
bobmods.lib.recipe.set_result("advanced-circuit", {type="item", name="advanced-circuit", amount=2})
bobmods.lib.recipe.set_result("processing-unit", {type="item", name="processing-unit", amount=2})
bobmods.lib.recipe.set_result("se-processing-unit-holmium", {type="item", name="processing-unit", amount=2})
end
--if not then make sure to remove
else
bobmods.lib.recipe.remove_ingredient("advanced-circuit", "electronic-circuit")
bobmods.lib.recipe.remove_ingredient("processing-unit", "advanced-circuit")
bobmods.lib.recipe.remove_ingredient("processing-unit", "electronic-circuit")
bobmods.lib.recipe.remove_ingredient("se-processing-unit-holmium", "advanced-circuit")
bobmods.lib.recipe.remove_ingredient("se-processing-unit-holmium", "electronic-circuit")
--just in case go back to 1 result
bobmods.lib.recipe.set_result("advanced-circuit", {type="item", name="advanced-circuit", amount=1})
bobmods.lib.recipe.set_result("processing-unit", {type="item", name="processing-unit", amount=1})
if mods["space-exploration"] and not mods["Krastorio2"] then bobmods.lib.recipe.set_result("se-processing-unit-holmium", {type="item", name="processing-unit", amount=2}) end
end
if mods["Krastorio2"] then
bobmods.lib.recipe.add_ingredient("advanced-circuit", {type="item", name="electronic-components", amount=2})
bobmods.lib.recipe.add_ingredient("advanced-processing-unit", {type="item", name="rare-metals", amount=5})
bobmods.lib.recipe.add_ingredient("advanced-processing-unit", {type="item", name="processing-electronics", amount=2})
bobmods.lib.recipe.add_ingredient("advanced-processing-unit", {type="fluid", name="nitric-acid", amount=10})
bobmods.lib.recipe.add_ingredient("kr-advanced-assembling-machine", {"advanced-processing-unit", amount=2})
bobmods.lib.recipe.add_ingredient("kr-advanced-furnace", {"advanced-processing-unit", amount=5})
end
------------------------------------------------------------------------------------------------------------------------------------------------
--add circuits to recipes
if mods["space-exploration"] then
bobmods.lib.recipe.add_ingredient("se-processing-unit-holmium", {type="item", name="basic-electronic-components", amount=1})
bobmods.lib.recipe.add_ingredient("se-processing-unit-holmium", {type="item", name="BOBMD-electronic-components", amount=2})
bobmods.lib.recipe.add_ingredient("se-processing-unit-holmium", {type="item", name="intergrated-electronics", amount=1})
bobmods.lib.recipe.add_ingredient("se-processing-unit-holmium", {type="item", name="superior-circuit-board", amount=1})
bobmods.lib.recipe.add_ingredient("processing-unit", {type="fluid", name="sulfuric-acid", amount=4})
bobmods.lib.recipe.add_ingredient("se-space-assembling-machine", {"advanced-processing-unit", amount=2})
bobmods.lib.recipe.replace_ingredient("se-spaceship-console", "processing-unit", "advanced-processing-unit")
bobmods.lib.recipe.add_ingredient("se-space-supercomputer-2", {"advanced-processing-unit", amount=150})
bobmods.lib.recipe.replace_ingredient("se-space-supercomputer-3", "processing-unit", "advanced-processing-unit")
--SE 0.6 it no longer makes sense
--[[
bobmods.lib.recipe.replace_ingredient("speed-module-6", "processing-unit", "advanced-processing-unit")
bobmods.lib.recipe.replace_ingredient("speed-module-7", "processing-unit", "advanced-processing-unit")
bobmods.lib.recipe.replace_ingredient("productivity-module-6", "processing-unit", "advanced-processing-unit")
bobmods.lib.recipe.replace_ingredient("productivity-module-7", "processing-unit", "advanced-processing-unit")
bobmods.lib.recipe.replace_ingredient("effectivity-module-6", "processing-unit", "advanced-processing-unit")
bobmods.lib.recipe.replace_ingredient("effectivity-module-7", "processing-unit", "advanced-processing-unit")
]]
--SE 0.6 force circuits back to my own tab
if data.raw.item["electronic-circuit"] then data.raw.item["electronic-circuit"].subgroup = "bob-electronic-boards" end
if data.raw.item["advanced-circuit"] then data.raw.item["advanced-circuit"].subgroup = "bob-electronic-boards" end
if data.raw.item["processing-unit"] then data.raw.item["processing-unit"].subgroup = "bob-electronic-boards" end
if data.raw.item["se-processing-unit-holmium"] then data.raw.item["se-processing-unit-holmium"].subgroup = "bob-electronic-boards" end
end
--progression fix for krastorio:
if data.raw.fluid["hydrogen-chloride"] then
bobmods.lib.tech.add_recipe_unlock("kr-fluids-chemistry", "hydrogen-chloride")
bobmods.lib.tech.remove_recipe_unlock("kr-advanced-chemistry", "hydrogen-chloride")
end
if data.raw.item["electronic-circuit"] then
bobmods.lib.recipe.set_ingredients("electronic-circuit", {{type="item", name="basic-circuit-board", 1}, {"basic-electronic-components", amount=5}})
end

57
prototypes/category.lua Normal file
View file

@ -0,0 +1,57 @@
data:extend(
{
{
type = "recipe-category",
name = "crafting-machine"
},
{
type = "recipe-category",
name = "electronics"
},
{
type = "recipe-category",
name = "electronics-machine"
},
{
type = "item-group",
name = "bob-intermediate-products",
order = "c-i",
inventory_order = "a-c",
icon = "__MDbobelectronics__/graphics/icons/technology/intermediates.png",
icon_size = 64,
},
---
{
type = "item-subgroup",
name = "bob-resource-chemical",
group = "bob-intermediate-products",
order = "e-a1"
},
{
type = "item-subgroup",
name = "bob-electronic-components",
group = "bob-intermediate-products",
order = "e-a2"
},
{
type = "item-subgroup",
name = "bob-boards",
group = "bob-intermediate-products",
order = "e-a3"
},
{
type = "item-subgroup",
name = "bob-electronic-boards",
group = "bob-intermediate-products",
order = "e-a4"
},
{
type = "item-subgroup",
name = "bob-resource",
group = "bob-intermediate-products",
order = "e-a5"
},
}
)

49
prototypes/chemicals.lua Normal file
View file

@ -0,0 +1,49 @@
data:extend(
{
{
type = "fluid",
name = "ferric-chloride-solution",
icon = "__MDbobelectronics__/graphics/icons/ferric-chloride-solution.png",
icon_size = 32,
default_temperature = 25,
heat_capacity = "1kJ",
base_color = {r=0.7, g=0.6, b=0.2},
flow_color = {r=0.5, g=0.5, b=0.5},
max_temperature = 100,
pressure_to_speed_ratio = 0.4,
flow_to_energy_ratio = 0.59,
order = "a[fluid]-g[ferric-chloride-solution]"
},
{
type = "recipe",
name = "ferric-chloride-solution",
icon = "__MDbobelectronics__/graphics/icons/ferric-chloride-solution.png",
icon_size = 32,
subgroup = "bob-resource-chemical",
order = "x[fluid-chemistry]-a[ferric-chloride-solution]",
category = "chemistry",
enabled = false,
energy_required = 2.5,
ingredients =
{
{type="item", name="iron-ore", amount=1},
{type="fluid", name="water", amount=30},
},
results=
{
{type="fluid", name="ferric-chloride-solution", amount=50}
},
crafting_machine_tint =
{
primary = {r = 0.7, g = 0.6, b = 0.2, a = 0.000},
secondary = {r = 0.2, g = 0.7, b = 0.0, a = 0.000},
tertiary = {r = 0.0, g = 0.7, b = 0.7, a = 0.000},
},
allow_decomposition = false
},
}
)

550
prototypes/electronics.lua Normal file
View file

@ -0,0 +1,550 @@
if data.raw.item["tin-plate"] then
data:extend(
{
{
type = "item",
name = "tinned-copper-cable",
icon = "__MDbobelectronics__/graphics/icons/tinned-copper-cable.png",
icon_size = 32,
subgroup = "bob-electronic-components",
order = "0-a1[tinned-copper-cable]",
stack_size = 200
},
{
type = "recipe",
name = "tinned-copper-cable",
category = "electronics",
enabled = false,
ingredients =
{
{type="item", name="copper-cable", amount=3},
{type="item", name="tin-plate", amount=1},
},
results = {{type="item", name="tinned-copper-cable", amount=3}},
allow_decomposition = false
},
}
)
end
data:extend(
{
{
type = "item",
name = "insulated-cable",
icon = "__MDbobelectronics__/graphics/icons/insulated-cable.png",
icon_size = 32,
subgroup = "bob-electronic-components",
order = "0-a2[insulated-cable]",
stack_size = 200
},
{
type = "recipe",
name = "insulated-cable",
category = "electronics",
enabled = false,
ingredients =
{
{type="item", name="copper-cable", amount=2},
{type="item", name="rubber", amount=1},
},
results = {{type="item", name="insulated-cable", amount=2}},
allow_decomposition = false
},
}
)
if data.raw.item["gold-plate"] then
data:extend(
{
{
type = "item",
name = "gilded-copper-cable",
icon = "__MDbobelectronics__/graphics/icons/gilded-copper-cable.png",
icon_size = 32,
subgroup = "bob-electronic-components",
order = "0-a3[gilded-copper-cable]",
stack_size = 200
},
{
type = "recipe",
name = "gilded-copper-cable",
category = "electronics",
enabled = false,
ingredients =
{
{type="item", name="copper-cable", amount=3},
{type="item", name="gold-plate", amount=1},
},
results = {{type="item", name="gilded-copper-cable", amount=3}},
allow_decomposition = false
},
}
)
end
if data.raw.item["solder-alloy"] then
data:extend(
{
{
type = "item",
name = "solder",
icon = "__MDbobelectronics__/graphics/icons/solder.png",
icon_size = 32,
subgroup = "bob-electronic-components",
order = "0-a4[solder]",
stack_size = 200
},
{
type = "recipe",
name = "solder",
category = "electronics",
energy_required = 2,
enabled = false,
ingredients =
{
{type="item", name="solder-alloy", amount=4},
{type="item", name="resin", amount=1},
},
results = {{type="item", name="solder", amount=8}},
allow_decomposition = false
},
}
)
end
data:extend(
{
{
type = "item",
name = "basic-electronic-components",
icon = "__MDbobelectronics__/graphics/icons/basic-electronic-components.png",
icon_size = 128,
subgroup = "bob-electronic-components",
order = "0-b1[basic-electronic-components]",
stack_size = 200
},
{
type = "recipe",
name = "basic-electronic-components",
category = "electronics-machine",
energy_required = 2,
enabled = false,
ingredients =
{
{type="item", name="copper-cable", amount=1},
{type="item", name="coal", amount=1},
},
results = {{type="item", name="basic-electronic-components", amount=5}},
allow_decomposition = false
},
}
)
data:extend(
{
{
type = "item",
name = "BOBMD-electronic-components",
icon = "__MDbobelectronics__/graphics/icons/electronic-components.png",
icon_size = 128,
subgroup = "bob-electronic-components",
order = "0-b2[electronic-components]",
stack_size = 200
},
{
type = "recipe",
name = "BOBMD-electronic-components",
category = "electronics-machine",
energy_required = 3.5,
enabled = false,
ingredients =
{
{type="item", name="copper-cable", amount=1},
{type="item", name="plastic-bar", amount=1},
},
results = {{type="item", name="BOBMD-electronic-components", amount=5}},
allow_decomposition = false
},
}
)
data:extend(
{
{
type = "item",
name = "intergrated-electronics",
icon = "__MDbobelectronics__/graphics/icons/integrated-electronics.png",
icon_size = 128,
subgroup = "bob-electronic-components",
order = "0-b3[integrated-electronics]",
stack_size = 200
},
{
type = "recipe",
name = "intergrated-electronics",
category = "electronics-machine",
energy_required = 5,
enabled = false,
ingredients =
{
{type="item", name="copper-cable", amount=1},
{type="item", name="plastic-bar", amount=1},
{type="fluid", name = "sulfuric-acid", amount = 5},
},
results = {{type="item", name="intergrated-electronics", amount=5}},
allow_decomposition = false
},
}
)
data:extend(
{
{
type = "item",
name = "processing-electronics",
icon = "__MDbobelectronics__/graphics/icons/cpu.png",
icon_size = 128,
subgroup = "bob-electronic-components",
order = "0-b4[cpu]",
stack_size = 200
},
{
type = "recipe",
name = "processing-electronics",
category = "electronics-machine",
energy_required = 7,
enabled = false,
ingredients =
{
{type="item", name="copper-cable", amount=2},
{type="item", name="plastic-bar", amount=1},
{type="fluid", name = "sulfuric-acid", amount = 5},
},
results = {{type="item", name="processing-electronics", amount=5}},
allow_decomposition = false
},
}
)
data:extend(
{
{
type = "item",
name = "phenolic-board",
icon = "__MDbobelectronics__/graphics/icons/phenolic-board.png",
icon_size = 128,
subgroup = "bob-boards",
order = "c-a2[phenolic-board]",
stack_size = 200
},
{
type = "recipe",
name = "phenolic-board",
category = "electronics-machine",
enabled = false,
ingredients =
{
{type="item", name="wood", amount=1},
{type="item", name="resin", amount=1},
},
results = {{type="item", name="phenolic-board", amount=1}}
},
}
)
data:extend(
{
{
type = "item",
name = "fibreglass-board",
icon = "__MDbobelectronics__/graphics/icons/fibreglass-board.png",
icon_size = 128,
subgroup = "bob-boards",
order = "c-a3[fibreglass-board]",
stack_size = 200
},
{
type = "recipe",
name = "fibreglass-board",
category = "electronics-machine",
enabled = false,
ingredients =
{
{type="item", name="plastic-bar", amount=1},
},
results = {{type="item", name="fibreglass-board", amount=1}}
},
}
)
data:extend(
{
{
type = "item",
name = "basic-circuit-board",
icon = "__MDbobelectronics__/graphics/icons/basic-circuit-board.png",
icon_size = 128,
subgroup = "bob-boards",
order = "c-b1[basic-circuit-board]",
stack_size = 200
},
{
type = "recipe",
name = "basic-circuit-board",
category = "electronics",
energy_required = 1,
ingredients =
{
{type="item", name="wood", amount=1},
{type="item", name="copper-cable", amount=3},
},
results = {{type="item", name="basic-circuit-board", amount=1}},
allow_decomposition = false
},
}
)
data:extend(
{
{
type = "item",
name = "circuit-board",
icon = "__MDbobelectronics__/graphics/icons/circuit-board.png",
icon_size = 128,
subgroup = "bob-boards",
order = "c-b2[circuit-board]",
stack_size = 200
},
{
type = "recipe",
name = "circuit-board",
category = "electronics-machine",
energy_required = 5,
enabled = false,
ingredients =
{
{type="item", name="phenolic-board", amount=1},
{type="item", name="copper-plate", amount=1},
{type="fluid", name="ferric-chloride-solution", amount=5}
},
results = {{type="item", name="circuit-board", amount=1}},
allow_decomposition = false
},
}
)
data:extend(
{
{
type = "item",
name = "superior-circuit-board",
icon = "__MDbobelectronics__/graphics/icons/superior-circuit-board.png",
icon_size = 128,
subgroup = "bob-boards",
order = "c-b2[superior-circuit-board]",
stack_size = 200
},
{
type = "recipe",
name = "superior-circuit-board",
category = "electronics-machine",
energy_required = 10,
enabled = false,
ingredients =
{
{type="item", name="fibreglass-board", amount=1},
{type="item", name="copper-plate", amount=1},
{type="fluid", name="ferric-chloride-solution", amount=5}
},
results = {{type="item", name="superior-circuit-board", amount=1}},
allow_decomposition = false
},
}
)
data:extend(
{
{
type = "item",
name = "multi-layer-circuit-board",
icon = "__MDbobelectronics__/graphics/icons/multi-layer-circuit-board.png",
icon_size = 128,
subgroup = "bob-boards",
order = "c-b3[multi-layer-circuit-board]",
stack_size = 200
},
{
type = "recipe",
name = "multi-layer-circuit-board",
category = "electronics-machine",
energy_required = 15,
enabled = false,
ingredients =
{
{type="item", name="fibreglass-board", amount=1},
{type="item", name="copper-plate", amount=2},
{type="fluid", name="ferric-chloride-solution", amount=10}
},
results = {{type="item", name="multi-layer-circuit-board", amount=1}},
allow_decomposition = false
},
}
)
data:extend(
{
{
type = "item",
name = "electronic-circuit",
icon = "__MDbobelectronics__/graphics/icons/basic-electronic-circuit-board.png",
icon_size = 128,
subgroup = "bob-electronic-boards",
order = "c-c1[basic-electronic-circuit-board]",
stack_size = 200
},
{
type = "recipe",
name = "electronic-circuit",
category = "electronics",
energy_required = 1,
enabled = false,
ingredients =
{
{type="item", name="basic-circuit-board", amount=1},
{type="item", name="basic-electronic-components", amount=5},
},
results = {{type="item", name="electronic-circuit", amount=1}},
allow_decomposition = false
},
}
)
data:extend(
{
{
type = "item",
name = "advanced-circuit",
icon = "__MDbobelectronics__/graphics/icons/electronic-circuit-board.png",
icon_size = 128,
subgroup = "bob-electronic-boards",
order = "c-c2[electronic-circuit-board]",
stack_size = 200
},
{
type = "recipe",
name = "advanced-circuit",
category = "electronics",
energy_required = 5,
enabled = false,
ingredients =
{
{type="item", name="circuit-board", amount=1},
{type="item", name="basic-electronic-components", amount=4},
{type="item", name="BOBMD-electronic-components", amount=4},
},
results = {{type="item", name="advanced-circuit", amount=1}},
allow_decomposition = false
},
}
)
data:extend(
{
{
type = "item",
name = "processing-unit",
icon = "__MDbobelectronics__/graphics/icons/electronic-logic-board.png",
icon_size = 128,
subgroup = "bob-electronic-boards",
order = "c-c3[electronic-logic-board]",
stack_size = 200
},
{
type = "recipe",
name = "processing-unit",
category = "electronics",
energy_required = 10,
enabled = false,
ingredients =
{
{type="item", name="superior-circuit-board", amount=1},
{type="item", name="basic-electronic-components", amount=2},
{type="item", name="BOBMD-electronic-components", amount=4},
{type="item", name="intergrated-electronics", amount=2},
},
results = {{type="item", name="processing-unit", amount=1}},
allow_decomposition = false
},
}
)
data:extend(
{
{
type = "item",
name = "advanced-processing-unit",
icon = "__MDbobelectronics__/graphics/icons/electronic-processing-board.png",
icon_size = 128,
subgroup = "bob-electronic-boards",
order = "c-c4[electronic-processing-board]",
stack_size = 200
},
{
type = "recipe",
name = "advanced-processing-unit",
category = "electronics",
energy_required = 15,
enabled = false,
ingredients =
{
{type="item", name="multi-layer-circuit-board", amount=1},
{type="item", name="basic-electronic-components", amount=1},
{type="item", name="BOBMD-electronic-components", amount=2},
{type="item", name="intergrated-electronics", amount=4},
{type="item", name="processing-electronics", amount=1},
},
results = {{type="item", name="advanced-processing-unit", amount=1}},
allow_decomposition = false
},
}
)

View file

@ -0,0 +1,54 @@
local chemicals = {
"ferric-chloride-solution",
}
local electronics = {
"insulated-cable",
"basic-electronic-components",
"BOBMD-electronic-components",
"intergrated-electronics",
"processing-electronics",
"wooden-board",
"phenolic-board",
"fibreglass-board",
"basic-circuit-board",
"circuit-board",
"superior-circuit-board",
"multi-layer-circuit-board",
"advanced-processing-unit"
}
if data.raw.recipe["solder"] then
table.insert(electronics, "solder")
end
if data.raw.recipe["tinned-copper-cable"] then
table.insert(electronics, "tinned-copper-cable")
end
if data.raw.recipe["gilded-copper-cable"] then
table.insert(electronics, "gilded-copper-cable")
end
local resource = {
"bob-resin-wood",
"bob-resin-oil",
"bob-rubber",
}
if data.raw.recipe["silicon-wafer"] then
table.insert(electronics, "silicon-wafer")
end
if data.raw.recipe["solder"] then
table.insert(electronics, "solder-alloy")
end
if data.raw.recipe["solder"] then
table.insert(electronics, "solder-alloy-lead")
end
--bobmods.lib.module.add_productivity_limitations(chemicals)
--bobmods.lib.module.add_productivity_limitations(electronics)
--bobmods.lib.module.add_productivity_limitations(resource)

View file

@ -0,0 +1,121 @@
for i, recipe in pairs(data.raw.recipe) do
if
recipe.name == "offshore-pump" or
recipe.name == "inserter" or
recipe.name == "electric-mining-drill" or
recipe.name == "lab" or
recipe.name == "radar" or
recipe.name == "repair-pack" or
recipe.name == "assembling-machine-1" or
recipe.name == "splitter" or
recipe.name == "small-lamp" or
recipe.name == "frame-1" --DyTech basic mining drill
then
bobmods.lib.recipe.replace_ingredient(recipe.name, "electronic-circuit", "basic-circuit-board")
end
end
if data.raw.fluid["hydrogen-chloride"] then
bobmods.lib.recipe.replace_ingredient("ferric-chloride-solution", "water", "hydrogen-chloride")
end
if data.raw.item["tinned-copper-cable"] then
bobmods.lib.recipe.replace_ingredient("insulated-cable", "copper-cable", "tinned-copper-cable")
bobmods.lib.recipe.replace_ingredient("basic-electronic-components", "copper-cable", "tinned-copper-cable")
bobmods.lib.recipe.replace_ingredient("BOBMD-electronic-components", "copper-cable", "tinned-copper-cable")
bobmods.lib.recipe.replace_ingredient("intergrated-electronics", "copper-cable", "tinned-copper-cable")
end
if data.raw.item["carbon"] then
bobmods.lib.recipe.replace_ingredient("basic-electronic-components", "coal", "carbon")
elseif data.raw.item["coke"] then
bobmods.lib.recipe.replace_ingredient("basic-electronic-components", "coal", "coke")
end
if data.raw.item["silicon-wafer"] then
bobmods.lib.recipe.add_ingredient("BOBMD-electronic-components", {type="item", name="silicon-wafer", amount=2})
bobmods.lib.recipe.add_ingredient("intergrated-electronics", {type="item", name="silicon-wafer", amount=4})
bobmods.lib.recipe.add_ingredient("processing-electronics", {type="item", name="silicon-wafer", amount=6})
else
if data.raw.item["silicon"] then
bobmods.lib.recipe.add_ingredient("BOBMD-electronic-components", {type="item", name="silicon", amount=1})
bobmods.lib.recipe.add_ingredient("intergrated-electronics", {type="item", name="silicon", amount=2})
bobmods.lib.recipe.add_ingredient("processing-electronics", {type="item", name="silicon", amount=3})
else
bobmods.lib.recipe.add_ingredient("BOBMD-electronic-components", {type="item", name="copper-plate", amount=1})
bobmods.lib.recipe.add_ingredient("intergrated-electronics", {type="item", name="copper-plate", amount=2})
bobmods.lib.recipe.add_ingredient("processing-electronics", {type="item", name="copper-plate", amount=3})
end
end
if data.raw.item["gilded-copper-cable"] then
bobmods.lib.recipe.replace_ingredient("processing-electronics", "copper-cable", "gilded-copper-cable")
elseif data.raw.item["optical-fiber"] then
bobmods.lib.recipe.replace_ingredient("processing-electronics", "copper-cable", "optical-fiber")
else
if data.raw.item["tinned-copper-cable"] then
bobmods.lib.recipe.replace_ingredient("processing-electronics", "copper-cable", "tinned-copper-cable")
end
end
if data.raw.item["silicon-nitride"] then
bobmods.lib.recipe.replace_ingredient("processing-electronics", "plastic-bar", "silicon-nitride")
end
if data.raw.item["glass"] then
bobmods.lib.recipe.add_ingredient("fibreglass-board", {type="item", name="glass", amount=1})
else
bobmods.lib.recipe.add_ingredient("fibreglass-board", {type="item", name="plastic-bar", amount=1})
end
if data.raw.item["tin-plate"] then
bobmods.lib.recipe.add_ingredient("circuit-board", {type="item", name="tin-plate", amount=1})
elseif data.raw.item["lead-plate"] then
bobmods.lib.recipe.add_ingredient("circuit-board", {type="item", name="lead-plate", amount=1})
else
bobmods.lib.recipe.add_ingredient("circuit-board", {type="item", name="copper-plate", amount=1})
end
if data.raw.item["gold-plate"] then
bobmods.lib.recipe.add_ingredient("superior-circuit-board", {type="item", name="gold-plate", amount=1})
bobmods.lib.recipe.add_ingredient("multi-layer-circuit-board", {type="item", name="gold-plate", amount=2})
else
if data.raw.item["tin-plate"] then
bobmods.lib.recipe.add_ingredient("superior-circuit-board", {type="item", name="tin-plate", amount=1})
bobmods.lib.recipe.add_ingredient("multi-layer-circuit-board", {type="item", name="tin-plate", amount=2})
elseif data.raw.item["titanium-plate"] then
bobmods.lib.recipe.add_ingredient("superior-circuit-board", {type="item", name="titanium-plate", amount=1})
bobmods.lib.recipe.add_ingredient("multi-layer-circuit-board", {type="item", name="titanium-plate", amount=2})
else
bobmods.lib.recipe.add_ingredient("superior-circuit-board", {type="item", name="copper-plate", amount=1})
bobmods.lib.recipe.add_ingredient("multi-layer-circuit-board", {type="item", name="copper-plate", amount=2})
end
end
if data.raw.item["solder"] then
bobmods.lib.recipe.add_ingredient("electronic-circuit", {type="item", name="solder", amount=1})
bobmods.lib.recipe.add_ingredient("advanced-circuit", {type="item", name="solder", amount=1})
bobmods.lib.recipe.add_ingredient("processing-unit", {type="item", name="solder", amount=2})
bobmods.lib.recipe.add_ingredient("advanced-processing-unit", {type="item", name="solder", amount=4})
end
if mods["aai-industry"] then
local greenrecipe2 = table.deepcopy(data.raw["recipe"]["basic-circuit-board"])
greenrecipe2.name = "basic-circuit-board-stone"
data:extend({greenrecipe2})
bobmods.lib.recipe.replace_ingredient("basic-circuit-board-stone", "wood", "stone-tablet")
---
local greyrecipe2 = table.deepcopy(data.raw["recipe"]["phenolic-board"])
greyrecipe2.name = "phenolic-board-stone"
data:extend({greyrecipe2})
bobmods.lib.recipe.replace_ingredient("phenolic-board-stone", "wood", "stone-tablet")
end

172
prototypes/resource.lua Normal file
View file

@ -0,0 +1,172 @@
data:extend(
{
{
type = "item",
name = "resin",
icon = "__MDbobelectronics__/graphics/icons/resin.png",
icon_size = 32,
subgroup = "bob-resource-chemical",
order = "f[resin]",
stack_size = 100
},
{
type = "recipe",
name = "bob-resin-wood",
category = "crafting-machine",
subgroup = "bob-resource-chemical",
energy_required = 1,
ingredients =
{
{ "wood", 1},
},
results = {{type="item", name="resin", amount=1}},
allow_decomposition = false
},
{
type = "recipe",
name = "bob-resin-oil",
category = "chemistry",
subgroup = "bob-resource-chemical",
energy_required = 1,
enabled = false,
ingredients =
{
{type="fluid", name="heavy-oil", amount=10},
},
results = {{type="item", name="resin", amount=1}},
crafting_machine_tint =
{
primary = {r = 0.5, g = 0.04, b = 0.0, a = 0.000},
secondary = {r = 0.85, g = 0.6, b = 0.3, a = 0.000},
tertiary = {r = 1, g = 0.6, b = 0.0, a = 0.000},
},
allow_decomposition = false
},
}
)
data:extend(
{
{
type = "item",
name = "rubber",
icon = "__MDbobelectronics__/graphics/icons/rubber.png",
icon_size = 32,
subgroup = "bob-resource-chemical",
order = "f[rubber]",
stack_size = 100
},
{
type = "recipe",
name = "bob-rubber",
subgroup = "bob-resource-chemical",
category = "smelting",
energy_required = 3.5,
ingredients =
{
{ "resin", 1},
},
results = {{type="item", name="rubber", amount=1}},
allow_decomposition = false
},
}
)
if not data.raw.item["silicon-wafer"] then
if data.raw.item["silicon"] or data.raw.item["silicon-plate"] then
data:extend(
{
{
type = "item",
name = "silicon-wafer",
icon = "__MDbobelectronics__/graphics/icons/silicon-wafer.png",
icon_size = 32,
subgroup = "bob-resource-chemical",
order = "f[silicon-wafer]",
stack_size = 200
},
{
type = "recipe",
name = "silicon-wafer",
category = "crafting-machine",
enabled = false,
energy_required = 5,
ingredients =
{
},
results = {{type="item", name="silicon-wafer", amount=1}},
result_count = 8
},
}
)
if data.raw.item["silicon"] then
table.insert(data.raw.recipe["silicon-wafer"].ingredients ,{type="item", name="silicon", amount=1})
else
table.insert(data.raw.recipe["silicon-wafer"].ingredients ,{type="item", name="silicon-plate", amount=1})
end
end
end
if data.raw.item["tin-plate"] then
data:extend(
{
{
type = "item",
name = "solder-alloy",
icon = "__MDbobelectronics__/graphics/icons/solder-plate.png",
icon_size = 32,
subgroup = "bob-alloy",
order = "c-b-h[solder]",
stack_size = 200
},
{
type = "recipe",
name = "solder-alloy",
energy_required = 7,
enabled = false,
category = "crafting-machine",
ingredients =
{
{type="item", name="tin-plate", amount=9},
{type="item", name="copper-plate", amount=1},
},
results = {{type="item", name="solder-alloy", amount=11}},
allow_decomposition = false
},
}
)
if data.raw.item["silver-plate"] then
table.insert(data.raw.recipe["solder-alloy"].ingredients,{type="item", name="silver-plate", amount=1})
end
if data.raw.item["lead-plate"] then
data:extend(
{
{
type = "recipe",
name = "solder-alloy-lead",
energy_required = 7,
enabled = false,
category = "crafting-machine",
ingredients =
{
{type="item", name="tin-plate", amount=4},
{type="item", name="lead-plate", amount=7},
},
results = {{type="item", name="solder-alloy", amount=11}},
allow_decomposition = false
},
}
)
end
end

View file

@ -0,0 +1,104 @@
bobmods.lib.tech.add_prerequisite("oil-processing", "electronics")
bobmods.lib.tech.add_prerequisite("gate", "electronics")
bobmods.lib.tech.add_prerequisite("advanced-circuit", "plastics")
bobmods.lib.tech.add_recipe_unlock("oil-processing", "bob-resin-oil")
--new in SE 0.6
if mods["space-exploration"] then
bobmods.lib.tech.add_prerequisite("se-space-assembling", "advanced-electronics-3")
bobmods.lib.tech.add_prerequisite("advanced-electronics-3", "se-rocket-launch-pad")
bobmods.lib.tech.add_science_pack("advanced-electronics-3", "se-rocket-science-pack", 1)
else
bobmods.lib.tech.add_science_pack("advanced-electronics-3", "production-science-pack", 1)
end
if data.raw.technology["chemical-processing-2"] then
bobmods.lib.tech.add_recipe_unlock("chemical-processing-2", "ferric-chloride-solution")
bobmods.lib.tech.add_prerequisite ("advanced-circuit", "chemical-processing-2")
else
bobmods.lib.tech.add_recipe_unlock("oil-processing", "ferric-chloride-solution")
bobmods.lib.tech.add_prerequisite ("advanced-circuit", "oil-processing")
end
if data.raw.recipe["silicon-wafer"] then
if data.raw.technology["silicon-processing"] or data.raw.technology["kr-silicon-processing"] then
bobmods.lib.tech.add_recipe_unlock("silicon-processing", "silicon-wafer")
bobmods.lib.tech.add_recipe_unlock("kr-silicon-processing", "silicon-wafer")
else
data.raw.recipe["silicon-wafer"].enabled = true
end
end
if data.raw.recipe["solder"] then
bobmods.lib.tech.add_recipe_unlock("electronics", "solder")
end
if data.raw.recipe["solder-alloy"] then
bobmods.lib.tech.add_recipe_unlock("electronics", "solder-alloy")
end
if data.raw.recipe["solder-alloy-lead"] then
bobmods.lib.tech.add_recipe_unlock("electronics", "solder-alloy-lead")
end
if data.raw.recipe["tinned-copper-cable"] then
bobmods.lib.tech.add_recipe_unlock("electronics", "tinned-copper-cable")
end
if data.raw.recipe["basic-circuit-board-stone"] then
bobmods.lib.tech.add_recipe_unlock("electronics", "basic-circuit-board-stone")
bobmods.lib.tech.add_recipe_unlock("advanced-circuit", "phenolic-board-stone")
end
bobmods.lib.tech.add_recipe_unlock("electronics", "insulated-cable")
bobmods.lib.tech.add_recipe_unlock("electronics", "basic-electronic-components")
bobmods.lib.tech.add_recipe_unlock("electronics", "electronic-circuit")
if data.raw.technology["chemical-processing-1"] and data.raw.technology["alloy-processing"] then
bobmods.lib.tech.add_prerequisite("electronics", "chemical-processing-1")
bobmods.lib.tech.add_prerequisite("electronics", "alloy-processing")
end
bobmods.lib.tech.add_recipe_unlock("advanced-circuit", "BOBMD-electronic-components")
bobmods.lib.tech.add_recipe_unlock("advanced-circuit", "phenolic-board")
bobmods.lib.tech.add_recipe_unlock("advanced-circuit", "circuit-board")
bobmods.lib.tech.add_recipe_unlock("advanced-circuit", "advanced-circuit") --to re-add if it was removed in previous mod
if data.raw.technology["silicon-processing"] then
bobmods.lib.tech.add_prerequisite("advanced-circuit", "silicon-processing")
end
bobmods.lib.tech.add_recipe_unlock("processing-unit", "integrated-electronics")
bobmods.lib.tech.add_recipe_unlock("processing-unit", "fibreglass-board")
bobmods.lib.tech.add_recipe_unlock("processing-unit", "superior-circuit-board")
bobmods.lib.tech.add_recipe_unlock("processing-unit", "processing-unit")
if data.raw.technology["gold-processing"] then
bobmods.lib.tech.add_prerequisite("processing-unit", "gold-processing")
end
if data.raw.recipe["gilded-copper-cable"] then
bobmods.lib.tech.add_recipe_unlock("advanced-electronics-3", "gilded-copper-cable")
end
bobmods.lib.tech.add_recipe_unlock("advanced-electronics-3", "processing-electronics")
bobmods.lib.tech.add_recipe_unlock("advanced-electronics-3", "multi-layer-circuit-board")
if data.raw.technology["ceramics"] then
bobmods.lib.tech.add_prerequisite("advanced-electronics-3", "ceramics")
end
data.raw.technology["electronics"].icon = "__MDbobelectronics__/graphics/icons/technology/electronics.png"
data.raw.technology["advanced-circuit"].icon = "__MDbobelectronics__/graphics/icons/technology/advanced-electronics.png"
data.raw.technology["processing-unit"].icon = "__MDbobelectronics__/graphics/icons/technology/advanced-electronics-2.png"
data.raw.technology["electronics"].icon_size = 128
data.raw.technology["advanced-circuit"].icon_size = 128
data.raw.technology["processing-unit"].icon_size = 128

35
prototypes/technology.lua Normal file
View file

@ -0,0 +1,35 @@
data:extend(
{
{
type = "technology",
name = "advanced-electronics-3",
icon = "__MDbobelectronics__/graphics/icons/technology/advanced-electronics-3.png",
icon_size = 128,
prerequisites =
{
--"processing-unit"
},
effects =
{
{
type = "unlock-recipe",
recipe = "advanced-processing-unit"
},
},
unit =
{
count = 250,
ingredients =
{
{"automation-science-pack", 1},
{"logistic-science-pack", 1},
{"chemical-science-pack", 1}
},
time = 30
},
order = "a-d-d",
},
}
)