From d95ed353498a1fc96b3013804df33e1be475ba10 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Wed, 1 Apr 2026 20:18:55 -0700 Subject: [PATCH 01/59] Update functions.lua --- bobenemies/prototypes/functions.lua | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/bobenemies/prototypes/functions.lua b/bobenemies/prototypes/functions.lua index 74b9c8fdb..45013ce55 100644 --- a/bobenemies/prototypes/functions.lua +++ b/bobenemies/prototypes/functions.lua @@ -693,6 +693,11 @@ function bobmods.enemies.new_biter(inputs) flags = { "placeable-neutral", "placeable-off-grid", "building-direction-8-way", "not-on-map" }, }) + table.remove(corpse_prototype.animation.layers) + corpse_prototype.animation_render_layer = "corpse" + corpse_prototype.final_render_layer = "corpse" + corpse_prototype.use_decay_layer = false + data:extend({ biter_prototype, corpse_prototype }) end @@ -1342,6 +1347,11 @@ function bobmods.enemies.new_spitter(inputs) flags = { "placeable-neutral", "placeable-off-grid", "building-direction-8-way", "not-on-map" }, }) + table.remove(corpse_prototype.animation.layers) + corpse_prototype.animation_render_layer = "corpse" + corpse_prototype.final_render_layer = "corpse" + corpse_prototype.use_decay_layer = false + if not inputs.no_acid_stream == true then bobmods.enemies.acid_stream(inputs, final_scale) end @@ -2815,6 +2825,10 @@ function bobmods.enemies.new_worm(inputs) worm_corpse_2.icon = "__base__/graphics/icons/big-worm-corpse.png" worm_corpse_1.localised_name = { "entity-name.bob-enemies-corpse" } worm_corpse_2.localised_name = { "entity-name.bob-enemies-corpse" } + worm_corpse_1.animation_render_layer = "corpse" + worm_corpse_2.animation_render_layer = "corpse" + worm_corpse_1.final_render_layer = "corpse" + worm_corpse_2.final_render_layer = "corpse" if inputs.tint2 then table.insert( @@ -3170,9 +3184,19 @@ function bobmods.enemies.new_spawner(inputs) spawner_decay_animation(3, inputs.tint), }, decay_frame_transition_duration = 360, - final_render_layer = "lower-object-above-shadow", + animation_render_layer = "corpse", + final_render_layer = "corpse", } + table.remove(spawner_corpse.animation[1].layers) + table.remove(spawner_corpse.animation[2].layers) + table.remove(spawner_corpse.animation[3].layers) + table.remove(spawner_corpse.animation[4].layers) + table.remove(spawner_corpse.decay_animation[1].layers) + table.remove(spawner_corpse.decay_animation[2].layers) + table.remove(spawner_corpse.decay_animation[3].layers) + table.remove(spawner_corpse.decay_animation[4].layers) + if inputs.tint2 then table.insert( spawner_prototype.graphics_set.animations[1].layers, From 9d479102326efc8cad104d59731a754f3121c150 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 5 Apr 2026 11:48:46 -0700 Subject: [PATCH 02/59] Update functions.lua --- bobenemies/prototypes/functions.lua | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/bobenemies/prototypes/functions.lua b/bobenemies/prototypes/functions.lua index 45013ce55..74b9c8fdb 100644 --- a/bobenemies/prototypes/functions.lua +++ b/bobenemies/prototypes/functions.lua @@ -693,11 +693,6 @@ function bobmods.enemies.new_biter(inputs) flags = { "placeable-neutral", "placeable-off-grid", "building-direction-8-way", "not-on-map" }, }) - table.remove(corpse_prototype.animation.layers) - corpse_prototype.animation_render_layer = "corpse" - corpse_prototype.final_render_layer = "corpse" - corpse_prototype.use_decay_layer = false - data:extend({ biter_prototype, corpse_prototype }) end @@ -1347,11 +1342,6 @@ function bobmods.enemies.new_spitter(inputs) flags = { "placeable-neutral", "placeable-off-grid", "building-direction-8-way", "not-on-map" }, }) - table.remove(corpse_prototype.animation.layers) - corpse_prototype.animation_render_layer = "corpse" - corpse_prototype.final_render_layer = "corpse" - corpse_prototype.use_decay_layer = false - if not inputs.no_acid_stream == true then bobmods.enemies.acid_stream(inputs, final_scale) end @@ -2825,10 +2815,6 @@ function bobmods.enemies.new_worm(inputs) worm_corpse_2.icon = "__base__/graphics/icons/big-worm-corpse.png" worm_corpse_1.localised_name = { "entity-name.bob-enemies-corpse" } worm_corpse_2.localised_name = { "entity-name.bob-enemies-corpse" } - worm_corpse_1.animation_render_layer = "corpse" - worm_corpse_2.animation_render_layer = "corpse" - worm_corpse_1.final_render_layer = "corpse" - worm_corpse_2.final_render_layer = "corpse" if inputs.tint2 then table.insert( @@ -3184,19 +3170,9 @@ function bobmods.enemies.new_spawner(inputs) spawner_decay_animation(3, inputs.tint), }, decay_frame_transition_duration = 360, - animation_render_layer = "corpse", - final_render_layer = "corpse", + final_render_layer = "lower-object-above-shadow", } - table.remove(spawner_corpse.animation[1].layers) - table.remove(spawner_corpse.animation[2].layers) - table.remove(spawner_corpse.animation[3].layers) - table.remove(spawner_corpse.animation[4].layers) - table.remove(spawner_corpse.decay_animation[1].layers) - table.remove(spawner_corpse.decay_animation[2].layers) - table.remove(spawner_corpse.decay_animation[3].layers) - table.remove(spawner_corpse.decay_animation[4].layers) - if inputs.tint2 then table.insert( spawner_prototype.graphics_set.animations[1].layers, From 3e58e429d6d7aaa2d7aef0cbf755415dad8ca6d9 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 19:24:21 -0700 Subject: [PATCH 03/59] Update plates.lua --- bobplates/prototypes/item/plates.lua | 50 +++++++++++++++++++++------- 1 file changed, 38 insertions(+), 12 deletions(-) diff --git a/bobplates/prototypes/item/plates.lua b/bobplates/prototypes/item/plates.lua index 7f5e0246f..1dfa90f14 100644 --- a/bobplates/prototypes/item/plates.lua +++ b/bobplates/prototypes/item/plates.lua @@ -128,18 +128,6 @@ data:extend({ volume = 0.6, }, }, - { - type = "item", - name = "bob-lithium", - icon = "__bobplates__/graphics/icons/plate/lithium-plate.png", - icon_size = 64, - subgroup = "bob-material", - order = "c-a-e[bob-lithium-plate]", - stack_size = 200, - drop_sound = plate_drop_move, - inventory_move_sound = plate_drop_move, - pick_sound = plate_pick, - }, { type = "item", name = "bob-cobalt-plate", @@ -153,3 +141,41 @@ data:extend({ pick_sound = plate_pick, }, }) + +if not data.raw.item.lithium then + data:extend({ + { + type = "item", + name = "lithium", + localised_name = { "item-name.bob-lithium" }, + icon = "__bobplates__/graphics/icons/plate/lithium-plate.png", + icon_size = 64, + subgroup = "bob-material", + order = "c-a-e[bob-lithium-plate]", + stack_size = 200, + drop_sound = plate_drop_move, + inventory_move_sound = plate_drop_move, + pick_sound = plate_pick, + weight = 500, + auto_recycle = true, + }, + }) +end + +if mods["space-age"] then + data:extend({ + { + type = "item", + name = "bob-chromium-plate", + icon = "__space-age__/graphics/icons/tungsten-carbide.png", + subgroup = "bob-material", + order = "f[bob-chromium-plate]", + stack_size = 200, + drop_sound = plate_drop_move, + inventory_move_sound = plate_drop_move, + pick_sound = plate_pick, + weight = 1000, + auto_recycle = true, + }, + }) +end From 0de1af07f089e2595a5d2694b77729f77bd193c5 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 19:27:47 -0700 Subject: [PATCH 04/59] Update alloys.lua --- bobplates/prototypes/item/alloys.lua | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/bobplates/prototypes/item/alloys.lua b/bobplates/prototypes/item/alloys.lua index 0f5e9b170..e42662068 100644 --- a/bobplates/prototypes/item/alloys.lua +++ b/bobplates/prototypes/item/alloys.lua @@ -35,6 +35,7 @@ data:extend({ { type = "item", name = "bob-copper-tungsten-alloy", + localised_name = { "item-name.bob-copper-tungsten-alloy" }, icon = "__bobplates__/graphics/icons/plate/copper-tungsten-plate.png", icon_size = 32, subgroup = "bob-alloy", @@ -43,10 +44,13 @@ data:extend({ drop_sound = plate_drop_move, inventory_move_sound = plate_drop_move, pick_sound = plate_pick, + weight = 2500, + auto_recycle = true, }, { type = "item", - name = "bob-tungsten-carbide", + name = "tungsten-carbide", + localised_name = { "item-name.bob-tungsten-carbide" }, icon = "__bobplates__/graphics/icons/plate/tungsten-carbide-plate.png", icon_size = 64, subgroup = "bob-alloy", @@ -55,6 +59,8 @@ data:extend({ drop_sound = plate_drop_move, inventory_move_sound = plate_drop_move, pick_sound = plate_pick, + weight = 1250, + auto_recycle = true, }, { type = "item", @@ -106,3 +112,21 @@ data:extend({ pick_sound = plate_pick, }, }) + +if mods["space-age"] then + data:extend({ + { + type = "item", + name = "bob-stainless-steel-alloy", + icon = "__space-age__/graphics/icons/tungsten-plate.png", + subgroup = "bob-alloy", + order = "c-b-c[bob-stainless-steel]", + stack_size = 200, + drop_sound = plate_drop_move, + inventory_move_sound = plate_drop_move, + pick_sound = plate_pick, + weight = 2500, + auto_recycle = true, + }, + }) +end From f9145157b6f90b048cd32e1bf57e7dcee14956ac Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 19:29:45 -0700 Subject: [PATCH 05/59] Update bobplates_2.0.6.json --- bobplates/migrations/bobplates_2.0.6.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bobplates/migrations/bobplates_2.0.6.json b/bobplates/migrations/bobplates_2.0.6.json index fc3848149..b9270b366 100644 --- a/bobplates/migrations/bobplates_2.0.6.json +++ b/bobplates/migrations/bobplates_2.0.6.json @@ -1,6 +1,14 @@ { + "item": + [ + ["bob-tungsten-carbide", "tungsten-carbide"], + ["bob-tungsten-plate", "tungsten-plate"] + ], "recipe": [ ["bob-heavy-water-electrolysis", "bob-deuterium"] + ["bob-tungsten-carbide", "tungsten-carbide"], + ["bob-tungsten-carbide-2", "tungsten-carbide-2"], + ["bob-tungsten-plate", "tungsten-plate"] ] } From 11a582d37a8c2d01fe83f8f496181940ec03fc70 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 19:33:52 -0700 Subject: [PATCH 06/59] Update bobplates_2.0.0.json --- bobplates/migrations/bobplates_2.0.0.json | 6 ------ 1 file changed, 6 deletions(-) diff --git a/bobplates/migrations/bobplates_2.0.0.json b/bobplates/migrations/bobplates_2.0.0.json index 9be430568..a2fb01eae 100644 --- a/bobplates/migrations/bobplates_2.0.0.json +++ b/bobplates/migrations/bobplates_2.0.0.json @@ -188,11 +188,8 @@ ["topaz-3", "bob-topaz-3"], ["topaz-4", "bob-topaz-4"], ["topaz-5", "bob-topaz-5"], - ["tungsten-carbide", "bob-tungsten-carbide"], ["tungsten-gear-wheel", "bob-tungsten-gear-wheel"], - ["tungsten-ore", "bob-tungsten-ore"], ["tungsten-oxide", "bob-tungsten-oxide"], - ["tungsten-plate", "bob-tungsten-plate"], ["tungstic-acid-barrel", "bob-tungstic-acid-barrel"], ["used-up-deuterium-fuel-cell", "bob-depleted-deuterium-fuel-cell"], ["used-up-thorium-fuel-cell", "bob-depleted-thorium-fuel-cell"], @@ -386,11 +383,8 @@ ["topaz-3", "bob-topaz-3"], ["topaz-4", "bob-topaz-4"], ["topaz-5", "bob-topaz-5"], - ["tungsten-carbide", "bob-tungsten-carbide"], - ["tungsten-carbide-2", "bob-tungsten-carbide-2"], ["tungsten-gear-wheel", "bob-tungsten-gear-wheel"], ["tungsten-oxide", "bob-tungsten-oxide"], - ["tungsten-plate", "bob-tungsten-plate"], ["tungstic-acid", "bob-tungstic-acid"], ["void-chlorine", "void-bob-chlorine"], ["void-deuterium", "void-bob-deuterium"], From 7b3168ba79ff5c247346827011920b837ce01eba Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 19:38:39 -0700 Subject: [PATCH 07/59] Update data-updates.lua --- bobplates/data-updates.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/bobplates/data-updates.lua b/bobplates/data-updates.lua index d05c5bef9..8a11ce6a6 100644 --- a/bobplates/data-updates.lua +++ b/bobplates/data-updates.lua @@ -459,4 +459,15 @@ end if mods["space-age"] then data.raw.recipe["bob-lithium-ion-battery"].category = "chemistry-or-cryogenics" data.raw.recipe["bob-silver-zinc-battery"].category = "chemistry-or-cryogenics" + + if data.raw.item["bob-sodium-carbonate"] then + bobmods.lib.recipe.replace_ingredient("bob-chromium-plate", "stone", "bob-sodium-carbonate") + elseif data.raw.item["bob-limestone"] then + bobmods.lib.recipe.replace_ingredient("bob-chromium-plate", "stone", "bob-limestone") + end + + data.raw["autoplace-control"].calcite.order = "b-e-vulcanus-calcite" + data.raw["autoplace-control"].vulcanus_coal.order = "b-e-vulcanus-coal" + data.raw["autoplace-control"].sulfuric_acid_geyser.order = "b-e-vulcanus-sulfuric-acid" + data.raw["autoplace-control"].tungsten_ore.order = "b-e-vulcanus-tungsten-ore" end From 37088abedfc8b501bbbde55b88ce53149d3bc881 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 19:42:25 -0700 Subject: [PATCH 08/59] Update parts.lua --- bobplates/prototypes/item/parts.lua | 65 +++++++++++++++++++++++++---- 1 file changed, 56 insertions(+), 9 deletions(-) diff --git a/bobplates/prototypes/item/parts.lua b/bobplates/prototypes/item/parts.lua index 9a38033cf..e229696ea 100644 --- a/bobplates/prototypes/item/parts.lua +++ b/bobplates/prototypes/item/parts.lua @@ -125,7 +125,7 @@ data:extend({ icon = "__bobplates__/graphics/icons/titanium-gear-wheel.png", icon_size = 32, subgroup = "bob-gears", - order = "bd[bob-titanium-gear-wheel]", + order = "be[bob-titanium-gear-wheel]", stack_size = 100, drop_sound = plate_drop_move, inventory_move_sound = plate_drop_move, @@ -138,7 +138,7 @@ data:extend({ icon = "__bobplates__/graphics/icons/titanium-bearing-ball.png", icon_size = 32, subgroup = "bob-bearings", - order = "bad[bob-ball-bearing-titanium]", + order = "bae[bob-ball-bearing-titanium]", stack_size = 500, drop_sound = ball_drop_move, inventory_move_sound = ball_drop_move, @@ -151,7 +151,7 @@ data:extend({ icon = "__bobplates__/graphics/icons/titanium-bearing.png", icon_size = 32, subgroup = "bob-bearings", - order = "bbd[bob-bearing-titanium]", + order = "bbe[bob-bearing-titanium]", stack_size = 100, drop_sound = bearing_drop_move, inventory_move_sound = bearing_drop_move, @@ -164,7 +164,7 @@ data:extend({ icon = "__bobplates__/graphics/icons/tungsten-gear-wheel.png", icon_size = 32, subgroup = "bob-gears", - order = "be[bob-tungsten-gear-wheel]", + order = "bf[bob-tungsten-gear-wheel]", stack_size = 100, drop_sound = plate_drop_move, inventory_move_sound = plate_drop_move, @@ -177,7 +177,7 @@ data:extend({ icon = "__bobplates__/graphics/icons/ceramic-bearing-ball.png", icon_size = 32, subgroup = "bob-bearings", - order = "bae[bob-ball-bearing-ceramic]", + order = "baf[bob-ball-bearing-ceramic]", stack_size = 500, drop_sound = ball_drop_move, inventory_move_sound = ball_drop_move, @@ -190,7 +190,7 @@ data:extend({ icon = "__bobplates__/graphics/icons/ceramic-bearing.png", icon_size = 32, subgroup = "bob-bearings", - order = "bbe[bob-bearing-ceramic]", + order = "bbf[bob-bearing-ceramic]", stack_size = 100, drop_sound = bearing_drop_move, inventory_move_sound = bearing_drop_move, @@ -203,7 +203,7 @@ data:extend({ icon = "__bobplates__/graphics/icons/nitinol-gear-wheel.png", icon_size = 32, subgroup = "bob-gears", - order = "bf[bob-nitinol-gear-wheel]", + order = "bg[bob-nitinol-gear-wheel]", stack_size = 100, drop_sound = plate_drop_move, inventory_move_sound = plate_drop_move, @@ -216,7 +216,7 @@ data:extend({ icon = "__bobplates__/graphics/icons/nitinol-bearing-ball.png", icon_size = 32, subgroup = "bob-bearings", - order = "baf[bob-ball-bearing-nitinol]", + order = "bag[bob-ball-bearing-nitinol]", stack_size = 500, drop_sound = ball_drop_move, inventory_move_sound = ball_drop_move, @@ -229,7 +229,7 @@ data:extend({ icon = "__bobplates__/graphics/icons/nitinol-bearing.png", icon_size = 32, subgroup = "bob-bearings", - order = "bbf[bob-bearing-nitinol]", + order = "bbg[bob-bearing-nitinol]", stack_size = 100, drop_sound = bearing_drop_move, inventory_move_sound = bearing_drop_move, @@ -328,3 +328,50 @@ data:extend({ }, }, }) + +if mods["space-age"] then + + data:extend({ + { + type = "item", + name = "bob-stainless-steel-gear-wheel", + icon = "__bobplates__/graphics/icons/cobalt-steel-gear-wheel.png", + icon_size = 32, + subgroup = "bob-gears", + order = "bd[bob-stainless-steel-gear-wheel]", + stack_size = 100, + drop_sound = plate_drop_move, + inventory_move_sound = plate_drop_move, + pick_sound = plate_pick, + weight = 5000, + }, + + { + type = "item", + name = "bob-stainless-steel-bearing-ball", + icon = "__bobplates__/graphics/icons/cobalt-steel-bearing-ball.png", + icon_size = 32, + subgroup = "bob-bearings", + order = "bad[bob-ball-bearing-stainless-steel]", + stack_size = 500, + drop_sound = ball_drop_move, + inventory_move_sound = ball_drop_move, + pick_sound = ball_pick, + weight = 200, + }, + + { + type = "item", + name = "bob-stainless-steel-bearing", + icon = "__bobplates__/graphics/icons/cobalt-steel-bearing.png", + icon_size = 32, + subgroup = "bob-bearings", + order = "bbd[bob-bearing-stainless-steel]", + stack_size = 100, + drop_sound = bearing_drop_move, + inventory_move_sound = bearing_drop_move, + pick_sound = bearing_pick, + weight = 5000, + }, + }) +end From abd5253f0ed31a0ec2a9f01cd871a86085deee02 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 19:46:02 -0700 Subject: [PATCH 09/59] Update plates-recipe.lua --- bobplates/prototypes/recipe/plates-recipe.lua | 35 +++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/bobplates/prototypes/recipe/plates-recipe.lua b/bobplates/prototypes/recipe/plates-recipe.lua index 7b1cbdf13..77e1d2738 100644 --- a/bobplates/prototypes/recipe/plates-recipe.lua +++ b/bobplates/prototypes/recipe/plates-recipe.lua @@ -93,7 +93,7 @@ data:extend({ { type = "recipe", - name = "bob-tungsten-plate", + name = "tungsten-plate", enabled = false, auto_recycle = false, category = "bob-mixing-furnace", @@ -103,7 +103,7 @@ data:extend({ { type = "item", name = "bob-nickel-plate", amount = 1 }, { type = "item", name = "bob-powdered-tungsten", amount = 4 }, }, - results = { { type = "item", name = "bob-tungsten-plate", amount = 5 } }, + results = { { type = "item", name = "tungsten-plate", amount = 5 } }, allow_decomposition = false, allow_productivity = true, }, @@ -218,3 +218,34 @@ data:extend({ allow_productivity = true, }, }) + + + +if not mods["space-age"] then +else + + data:extend({ + { + type = "recipe", + name = "bob-chromium-plate", + category = "bob-chemical-furnace", + subgroup = "bob-material-chemical", + energy_required = 6.4, + enabled = false, + auto_recycle = false, + ingredients = { + { type = "item", name = "bob-tungsten-ore", amount = 2 }, + { type = "item", name = "stone", amount = 1 }, + { type = "fluid", name = "sulfuric-acid", amount = 20 }, + { type = "item", name = "carbon", amount = 1 }, + }, + results = { { type = "item", name = "bob-chromium-plate", amount = 2 } }, + allow_decomposition = false, + allow_productivity = true, + }, + }) + + bobmods.lib.recipe.set_category("tungsten-plate", "metallurgy") + bobmods.lib.recipe.remove_ingredient("tungsten-plate", "bob-nickel-plate") + bobmods.lib.recipe.add_ingredient("tungsten-plate", { type = "fluid", name = "molten-iron", amount = 40 }) +end From 6445c19ca140576cf91cd9e5a0c71efa7475a2c8 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 19:49:59 -0700 Subject: [PATCH 10/59] Update alloy-recipe.lua --- bobplates/prototypes/recipe/alloy-recipe.lua | 32 +++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/bobplates/prototypes/recipe/alloy-recipe.lua b/bobplates/prototypes/recipe/alloy-recipe.lua index 4783de326..cc0fc7b9b 100644 --- a/bobplates/prototypes/recipe/alloy-recipe.lua +++ b/bobplates/prototypes/recipe/alloy-recipe.lua @@ -52,7 +52,7 @@ data:extend({ }, { type = "recipe", - name = "bob-tungsten-carbide", + name = "tungsten-carbide", enabled = false, auto_recycle = false, category = "bob-mixing-furnace", @@ -62,14 +62,14 @@ data:extend({ { type = "item", name = "bob-tungsten-oxide", amount = 1 }, }, results = { - { type = "item", name = "bob-tungsten-carbide", amount = 2 }, + { type = "item", name = "tungsten-carbide", amount = 2 }, }, allow_decomposition = false, allow_productivity = true, }, { type = "recipe", - name = "bob-tungsten-carbide-2", + name = "tungsten-carbide-2", localised_name = { "item-name.bob-tungsten-carbide" }, enabled = false, auto_recycle = false, @@ -80,7 +80,7 @@ data:extend({ { type = "item", name = "bob-powdered-tungsten", amount = 1 }, }, results = { - { type = "item", name = "bob-tungsten-carbide", amount = 2 }, + { type = "item", name = "tungsten-carbide", amount = 2 }, }, allow_decomposition = false, allow_productivity = true, @@ -155,3 +155,27 @@ data:extend({ allow_productivity = true, }, }) + +if mods["space-age"] then + data:extend({ + { + type = "recipe", + name = "bob-stainless-steel-alloy", + category = "bob-mixing-furnace", + energy_required = 32, + enabled = false, + auto_recycle = false, + ingredients = { + { type = "item", name = "iron-plate", amount = 11 }, + { type = "item", name = "bob-chromium-plate", amount = 4 }, + }, + results = { { type = "item", name = "bob-stainless-steel-alloy", amount = 10 } }, + allow_decomposition = false, + allow_productivity = true, + }, + }) + + bobmods.lib.recipe.set_category("bob-copper-tungsten-alloy", "metallurgy") + bobmods.lib.recipe.remove_ingredient("bob-copper-tungsten-alloy", "copper-plate") + bobmods.lib.recipe.add_ingredient("bob-copper-tungsten-alloy", { type = "fluid", name = "molten-copper", amount = 80 }) +end From d106250165020ae3afda28436628964aa222f5f7 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 19:52:58 -0700 Subject: [PATCH 11/59] Update parts-recipe.lua --- bobplates/prototypes/recipe/parts-recipe.lua | 41 +++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/bobplates/prototypes/recipe/parts-recipe.lua b/bobplates/prototypes/recipe/parts-recipe.lua index d403aa409..2c2e8cdad 100644 --- a/bobplates/prototypes/recipe/parts-recipe.lua +++ b/bobplates/prototypes/recipe/parts-recipe.lua @@ -119,7 +119,7 @@ data:extend({ name = "bob-tungsten-gear-wheel", enabled = false, ingredients = { - { type = "item", name = "bob-tungsten-plate", amount = 2 }, + { type = "item", name = "tungsten-plate", amount = 2 }, }, results = { { type = "item", name = "bob-tungsten-gear-wheel", amount = 1 } }, allow_productivity = true, @@ -258,3 +258,42 @@ data:extend({ allow_productivity = true, }, }) + +if mods["space-age"] then + + data:extend({ + { + type = "recipe", + name = "bob-stainless-steel-gear-wheel", + enabled = false, + ingredients = { + { type = "item", name = "bob-stainless-steel-alloy", amount = 2 }, + }, + results = { { type = "item", name = "bob-stainless-steel-gear-wheel", amount = 1 } }, + allow_productivity = true, + }, + + { + type = "recipe", + name = "bob-stainless-steel-bearing-ball", + enabled = false, + ingredients = { + { type = "item", name = "bob-stainless-steel-alloy", amount = 1 }, + }, + results = { { type = "item", name = "bob-stainless-steel-bearing-ball", amount = 12 } }, + allow_productivity = true, + }, + + { + type = "recipe", + name = "bob-stainless-steel-bearing", + enabled = false, + ingredients = { + { type = "item", name = "bob-stainless-steel-alloy", amount = 1 }, + { type = "item", name = "bob-stainless-steel-bearing-ball", amount = 16 }, + }, + results = { { type = "item", name = "bob-stainless-steel-bearing", amount = 2 } }, + allow_productivity = true, + }, + }) +end From db0a6be2462a8f077bdb9373b973e7b0be017525 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 20:22:57 -0700 Subject: [PATCH 12/59] Update chemistry-recipe.lua --- bobplates/prototypes/recipe/chemistry-recipe.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bobplates/prototypes/recipe/chemistry-recipe.lua b/bobplates/prototypes/recipe/chemistry-recipe.lua index b87a3d09a..7a3799a0b 100644 --- a/bobplates/prototypes/recipe/chemistry-recipe.lua +++ b/bobplates/prototypes/recipe/chemistry-recipe.lua @@ -949,3 +949,10 @@ data:extend({ if mods["bobpower"] then data.raw.recipe["bob-sodium-hydroxide-sink"].results[1].temperature = 465 end + +if mods["space-age"] then + + bobmods.lib.recipe.replace_ingredient("bob-tungstic-acid", "bob-tungsten-ore", "tungsten-ore") + bobmods.lib.recipe.replace_ingredient("bob-tungstic-acid", "bob-hydrogen-chloride", "sulfuric-acid") + bobmods.lib.recipe.remove_result("bob-tungstic-acid", "bob-calcium-chloride") +end From d5d203980fd03632dc744a9c4d350cfdaee2b272 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 20:23:51 -0700 Subject: [PATCH 13/59] Update remote.lua --- bobplates/remote.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bobplates/remote.lua b/bobplates/remote.lua index 929423bec..614cd2762 100644 --- a/bobplates/remote.lua +++ b/bobplates/remote.lua @@ -62,16 +62,16 @@ local function milestones_presets() { type = "item", name = "bob-aluminium-plate", quantity = 1000, next = "x10" }, { type = "item", name = "bob-titanium-plate", quantity = 1 }, { type = "item", name = "bob-titanium-plate", quantity = 1000, next = "x10" }, - { type = "item", name = "bob-tungsten-plate", quantity = 1 }, - { type = "item", name = "bob-tungsten-plate", quantity = 1000, next = "x10" }, + { type = "item", name = "tungsten-plate", quantity = 1 }, + { type = "item", name = "tungsten-plate", quantity = 1000, next = "x10" }, { type = "item", name = "bob-bronze-alloy", quantity = 1 }, { type = "item", name = "bob-bronze-alloy", quantity = 1000, next = "x10" }, { type = "item", name = "bob-brass-alloy", quantity = 1 }, { type = "item", name = "bob-brass-alloy", quantity = 1000, next = "x10" }, { type = "item", name = "bob-copper-tungsten-alloy", quantity = 1 }, { type = "item", name = "bob-copper-tungsten-alloy", quantity = 1000, next = "x10" }, - { type = "item", name = "bob-tungsten-carbide", quantity = 1 }, - { type = "item", name = "bob-tungsten-carbide", quantity = 1000, next = "x10" }, + { type = "item", name = "tungsten-carbide", quantity = 1 }, + { type = "item", name = "tungsten-carbide", quantity = 1000, next = "x10" }, { type = "item", name = "bob-gunmetal-alloy", quantity = 1 }, { type = "item", name = "bob-gunmetal-alloy", quantity = 1000, next = "x10" }, { type = "item", name = "bob-invar-alloy", quantity = 1 }, From 0cc737238b62dc38cafcdc795e9a39f8b01a3b7c Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 20:26:10 -0700 Subject: [PATCH 14/59] Update bobplates.cfg --- bobplates/locale/en/bobplates.cfg | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bobplates/locale/en/bobplates.cfg b/bobplates/locale/en/bobplates.cfg index 9b5866f3b..09f3c1876 100644 --- a/bobplates/locale/en/bobplates.cfg +++ b/bobplates/locale/en/bobplates.cfg @@ -11,6 +11,7 @@ bob-nickel-ore=Nickel ore bob-cobalt-ore=Cobaltite bob-quartz=Quartz (Silicon ore) bob-gem-ore=Unsorted gemstone ore +bob-chromium-ore=Chromite ore bob-gold-plate=Gold plate bob-lead-plate=Lead plate @@ -24,6 +25,7 @@ bob-titanium-plate=Titanium plate bob-silicon-plate=Silicon plate bob-cobalt-plate=Cobalt plate bob-lithium=Lithium +bob-chromium-plate=Chromium plate bob-bronze-alloy=Bronze plate bob-brass-alloy=Brass plate @@ -33,6 +35,7 @@ bob-gunmetal-alloy=Gunmetal plate bob-invar-alloy=Invar plate bob-nitinol-alloy=Nitinol plate bob-cobalt-steel-alloy=Cobalt steel plate +bob-stainless-steel-alloy=Stainless steel plate bob-alumina=Alumina bob-calcium-chloride=Calcium chloride @@ -71,6 +74,7 @@ bob-advanced-processing-unit=Advanced processing unit bob-steel-gear-wheel=Steel gear wheel bob-brass-gear-wheel=Brass gear wheel bob-cobalt-steel-gear-wheel=Cobalt steel gear wheel +bob-stainless-steel-gear-wheel=Stainless steel gear wheel bob-titanium-gear-wheel=Titanium gear wheel bob-tungsten-gear-wheel=Tungsten gear wheel bob-nitinol-gear-wheel=Nitinol gear wheel @@ -78,6 +82,7 @@ bob-nitinol-gear-wheel=Nitinol gear wheel bob-steel-bearing-ball=Steel bearing ball bob-brass-bearing-ball=Brass bearing ball bob-cobalt-steel-bearing-ball=Cobalt steel bearing ball +bob-stainless-steel-bearing-ball=Stainless steel bearing ball bob-titanium-bearing-ball=Titanium bearing ball bob-nitinol-bearing-ball=Nitinol bearing ball bob-ceramic-bearing-ball=Ceramic bearing ball @@ -85,6 +90,7 @@ bob-ceramic-bearing-ball=Ceramic bearing ball bob-steel-bearing=Steel bearing bob-brass-bearing=Brass bearing bob-cobalt-steel-bearing=Cobalt steel bearing +bob-stainless-steel-bearing=Stainless steel bearing bob-titanium-bearing=Titanium bearing bob-nitinol-bearing=Nitinol bearing bob-ceramic-bearing=Ceramic bearing @@ -283,6 +289,7 @@ bob-tungsten-processing=Tungsten processing bob-zinc-processing=Zinc processing bob-lithium-processing=Lithium processing bob-cobalt-processing=Cobalt processing +bob-chromium-processing=Chromium processing bob-brass-processing=Brass processing bob-nitinol-processing=Nitinol processing @@ -348,6 +355,7 @@ bob-lead-processing=Research how to refine lead. bob-silicon-processing=Research how to purify silicon for use in electronics. bob-titanium-processing=Titanium is a very strong light weight metal, but hard to separate from its ore. bob-tungsten-processing=Tungsten has a very high melting point, let's research how to refine it another way. +bob-chromium-processing=Chromium is responsible for the vibrant colours of many gemstones, and is a key additive in stainless steel and super alloys. bob-nitinol-processing=Nitinol is a nickel titanium alloy, let's see what we can use it for. bob-invar-processing=Invar is an iron nickel alloy, maybe we can use this for something. From ab3721ebffa59d78f40d7bb3dfc814b2fa80d3b1 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 20:28:57 -0700 Subject: [PATCH 15/59] Update technology-updates.lua --- bobplates/prototypes/technology-updates.lua | 40 +++++++++++++++------ 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/bobplates/prototypes/technology-updates.lua b/bobplates/prototypes/technology-updates.lua index 4f4e51f90..3ea6cd939 100644 --- a/bobplates/prototypes/technology-updates.lua +++ b/bobplates/prototypes/technology-updates.lua @@ -74,18 +74,36 @@ bobmods.lib.tech.add_recipe_unlock("bob-silicon-processing", "bob-silicon-powder bobmods.lib.tech.add_recipe_unlock("bob-titanium-processing", "bob-titanium-plate") -bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-tungstic-acid") -bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-tungsten-oxide") -bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-powdered-tungsten") -bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-tungsten-plate") - bobmods.lib.tech.add_recipe_unlock("bob-invar-processing", "bob-invar-alloy") bobmods.lib.tech.add_recipe_unlock("bob-nitinol-processing", "bob-nitinol-alloy") -bobmods.lib.tech.add_recipe_unlock("bob-tungsten-alloy-processing", "bob-copper-tungsten-alloy") -bobmods.lib.tech.add_recipe_unlock("bob-tungsten-alloy-processing", "bob-tungsten-carbide") -bobmods.lib.tech.add_recipe_unlock("bob-tungsten-alloy-processing", "bob-tungsten-carbide-2") +if not mods["space-age"] then + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-tungstic-acid") + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-tungsten-oxide") + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-powdered-tungsten") + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "tungsten-plate") + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-tungsten-gear-wheel") + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-alloy-processing", "bob-copper-tungsten-alloy") + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-alloy-processing", "tungsten-carbide") + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-alloy-processing", "tungsten-carbide-2") +else + data.raw.technology["bob-tungsten-processing"].localised_name = { "technology-name.bob-chromium-processing" } + data.raw.technology["bob-tungsten-processing"].localised_description = { "technology-description.bob-chromium-processing" } + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-chromium-plate") + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-stainless-steel-alloy") + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-stainless-steel-gear-wheel") + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-stainless-steel-bearing-ball") + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-stainless-steel-bearing") + + bobmods.lib.tech.add_recipe_unlock("tungsten-carbide", "tungsten-carbide-2") + bobmods.lib.tech.add_recipe_unlock("tungsten-carbide", "bob-tungstic-acid") + bobmods.lib.tech.add_recipe_unlock("tungsten-carbide", "bob-tungsten-oxide") + bobmods.lib.tech.add_recipe_unlock("tungsten-carbide", "bob-powdered-tungsten") + bobmods.lib.tech.add_recipe_unlock("tungsten-steel", "tungsten-plate") + bobmods.lib.tech.add_recipe_unlock("tungsten-steel", "bob-copper-tungsten-alloy") + bobmods.lib.tech.add_recipe_unlock("tungsten-steel", "bob-tungsten-gear-wheel") +end bobmods.lib.tech.add_recipe_unlock("bob-cobalt-processing", "bob-cobalt-oxide") bobmods.lib.tech.add_recipe_unlock("bob-cobalt-processing", "bob-cobalt-oxide-from-copper") @@ -104,8 +122,6 @@ bobmods.lib.tech.add_recipe_unlock("bob-titanium-processing", "bob-titanium-bear bobmods.lib.tech.add_recipe_unlock("bob-titanium-processing", "bob-titanium-bearing") bobmods.lib.tech.add_prerequisite("bob-titanium-processing", "lubricant") -bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-tungsten-gear-wheel") - bobmods.lib.tech.add_recipe_unlock("bob-nitinol-processing", "bob-nitinol-gear-wheel") bobmods.lib.tech.add_recipe_unlock("bob-nitinol-processing", "bob-nitinol-bearing-ball") bobmods.lib.tech.add_recipe_unlock("bob-nitinol-processing", "bob-nitinol-bearing") @@ -162,3 +178,7 @@ if mods["Nuclear Fuel"] then "production-science-pack" ) end + +if mods["space-age"] then + bobmods.lib.tech.remove_recipe_unlock("tungsten-carbide", "carbon") +end From b9b44c847dfbbf4053a7af75e015d674d8cdce75 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 20:29:42 -0700 Subject: [PATCH 16/59] Update data-final-fixes.lua --- bobplates/data-final-fixes.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bobplates/data-final-fixes.lua b/bobplates/data-final-fixes.lua index ce7d20500..57f80caa5 100644 --- a/bobplates/data-final-fixes.lua +++ b/bobplates/data-final-fixes.lua @@ -15,3 +15,8 @@ end if mods["aai-industry"] then bobmods.lib.tech.remove_recipe_unlock("glass-processing", "glass") end + +if mods["space-age"] then + bobmods.lib.tech.replace_prerequisite_in_all("bob-tungsten-alloy-processing", "metallurgic-science-pack") + bobmods.lib.tech.hide("bob-tungsten-alloy-processing") +end From 0c3098b7b084f7815af3b8db6ca121446140dec3 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 20:34:11 -0700 Subject: [PATCH 17/59] Update heat-pipes-updates.lua --- bobpower/prototypes/heat-pipes-updates.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bobpower/prototypes/heat-pipes-updates.lua b/bobpower/prototypes/heat-pipes-updates.lua index b8a790db8..e7713c5ac 100644 --- a/bobpower/prototypes/heat-pipes-updates.lua +++ b/bobpower/prototypes/heat-pipes-updates.lua @@ -34,8 +34,8 @@ then if data.raw.item["bob-titanium-plate"] then bobmods.lib.recipe.replace_ingredient("bob-heat-pipe-3", "steel-plate", "bob-titanium-plate") bobmods.lib.tech.add_prerequisite("bob-heat-pipe-3", "bob-titanium-processing") - elseif data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-heat-pipe-3", "steel-plate", "bob-tungsten-plate") + elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-heat-pipe-3", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-heat-pipe-3", "bob-tungsten-processing") end From 1afaaad94e7238e25b3273397df0eb52393f75a6 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 20:38:23 -0700 Subject: [PATCH 18/59] Update boilers-updates.lua --- bobpower/prototypes/recipe/boilers-updates.lua | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/bobpower/prototypes/recipe/boilers-updates.lua b/bobpower/prototypes/recipe/boilers-updates.lua index 1fe4f67c4..b2a35872e 100644 --- a/bobpower/prototypes/recipe/boilers-updates.lua +++ b/bobpower/prototypes/recipe/boilers-updates.lua @@ -13,8 +13,11 @@ if settings.startup["bobmods-power-steam"].value == true then bobmods.lib.tech.add_prerequisite("bob-boiler-3", "bob-zinc-processing") end - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-boiler-4", "steel-plate", "bob-tungsten-plate") + if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then + bobmods.lib.recipe.replace_ingredient("bob-boiler-4", "steel-plate", "bob-stainless-steel-alloy") + bobmods.lib.tech.add_prerequisite("bob-boiler-4", "bob-tungsten-processing") + elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-boiler-4", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-boiler-4", "bob-tungsten-processing") end @@ -23,7 +26,10 @@ if settings.startup["bobmods-power-steam"].value == true then bobmods.lib.tech.add_prerequisite("bob-boiler-4", "bob-ceramics") end - if data.raw.item["bob-copper-tungsten-alloy"] then + if mods["space-age"] and data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-boiler-5", "steel-plate", "tungsten-plate") + bobmods.lib.tech.add_prerequisite("bob-boiler-5", "metallurgic-science-pack") + elseif data.raw.item["bob-copper-tungsten-alloy"] then bobmods.lib.recipe.replace_ingredient("bob-boiler-5", "steel-plate", "bob-copper-tungsten-alloy") bobmods.lib.tech.add_prerequisite("bob-boiler-5", "bob-tungsten-alloy-processing") end From f42c940d39f0dbf39d49e49c8841a2bf299e28b6 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 20:39:59 -0700 Subject: [PATCH 19/59] Update fluid-generator-updates.lua --- .../recipe/fluid-generator-updates.lua | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/bobpower/prototypes/recipe/fluid-generator-updates.lua b/bobpower/prototypes/recipe/fluid-generator-updates.lua index 8d7861442..461bdde13 100644 --- a/bobpower/prototypes/recipe/fluid-generator-updates.lua +++ b/bobpower/prototypes/recipe/fluid-generator-updates.lua @@ -88,14 +88,19 @@ if settings.startup["bobmods-power-fluidgenerator"].value == true then bobmods.lib.recipe.add_ingredient("bob-fluid-generator-3", { type = "item", name = "iron-gear-wheel", amount = 10 }) end - if data.raw.item["bob-tungsten-gear-wheel"] then + if mods["space-age"] and data.raw.item["bob-stainless-steel-gear-wheel"] then + bobmods.lib.recipe.replace_ingredient("bob-fluid-generator-3", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") + elseif data.raw.item["bob-tungsten-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-fluid-generator-3", "iron-gear-wheel", "bob-tungsten-gear-wheel") elseif data.raw.item["bob-steel-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-fluid-generator-3", "iron-gear-wheel", "bob-steel-gear-wheel") end - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-fluid-generator-3", "iron-plate", "bob-tungsten-plate") + if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then + bobmods.lib.recipe.replace_ingredient("bob-fluid-generator-3", "iron-plate", "bob-stainless-steel-alloy") + bobmods.lib.tech.add_prerequisite("bob-fluid-generator-3", "bob-tungsten-processing") + elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-fluid-generator-3", "iron-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-fluid-generator-3", "bob-tungsten-processing") end @@ -132,7 +137,10 @@ if settings.startup["bobmods-power-fluidgenerator"].value == true then ) end - if data.raw.item["bob-nitinol-gear-wheel"] then + if mods["space-age"] and data.raw.item["bob-tungsten-gear-wheel"] then + bobmods.lib.recipe.replace_ingredient("bob-hydrazine-generator", "iron-gear-wheel", "bob-tungsten-gear-wheel") + bobmods.lib.tech.add_prerequisite("bob-hydrazine-generator", "metallurgic-science-pack") + elseif data.raw.item["bob-nitinol-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-hydrazine-generator", "iron-gear-wheel", "bob-nitinol-gear-wheel") end From 422a41f137506a3a04181e65cb56c1d48afcf875 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 20:41:01 -0700 Subject: [PATCH 20/59] Update steam-turbines-updates.lua --- .../recipe/steam-turbines-updates.lua | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/bobpower/prototypes/recipe/steam-turbines-updates.lua b/bobpower/prototypes/recipe/steam-turbines-updates.lua index 961d64076..acacc0230 100644 --- a/bobpower/prototypes/recipe/steam-turbines-updates.lua +++ b/bobpower/prototypes/recipe/steam-turbines-updates.lua @@ -56,7 +56,10 @@ if settings.startup["bobmods-power-steam"].value == true then end end - if data.raw.item["bob-tungsten-gear-wheel"] then + if mods["space-age"] and data.raw.item["bob-stainless-steel-gear-wheel"] then + bobmods.lib.recipe.replace_ingredient("bob-steam-turbine-2", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") + bobmods.lib.tech.add_prerequisite("bob-steam-turbine-2", "bob-tungsten-processing") + elseif data.raw.item["bob-tungsten-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-steam-turbine-2", "iron-gear-wheel", "bob-tungsten-gear-wheel") bobmods.lib.tech.add_prerequisite("bob-steam-turbine-2", "bob-tungsten-processing") else @@ -69,13 +72,15 @@ if settings.startup["bobmods-power-steam"].value == true then bobmods.lib.recipe.replace_ingredient("bob-steam-turbine-2", "steel-plate", "bob-titanium-plate") bobmods.lib.tech.add_prerequisite("bob-steam-turbine-2", "bob-titanium-processing") else - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-steam-turbine-2", "steel-plate", "bob-tungsten-plate") + if data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-steam-turbine-2", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-steam-turbine-2", "bob-tungsten-processing") end end - if data.raw.item["bob-titanium-pipe"] then + if mods["space-age"] and data.raw.item["bob-stainless-steel-pipe"] then + bobmods.lib.recipe.add_ingredient("bob-steam-turbine-2", { type = "item", name = "bob-stainless-steel-pipe", amount = 5 }) + elseif data.raw.item["bob-titanium-pipe"] then bobmods.lib.recipe.add_ingredient("bob-steam-turbine-2", { type = "item", name = "bob-titanium-pipe", amount = 5 }) end @@ -100,7 +105,10 @@ if settings.startup["bobmods-power-steam"].value == true then end end - if data.raw.item["bob-nitinol-gear-wheel"] then + if mods["space-age"] and data.raw.item["bob-tungsten-gear-wheel"] then + bobmods.lib.recipe.replace_ingredient("bob-steam-turbine-3", "iron-gear-wheel", "bob-tungsten-gear-wheel") + bobmods.lib.tech.add_prerequisite("bob-steam-turbine-3", "metallurgic-science-pack") + elseif data.raw.item["bob-nitinol-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-steam-turbine-3", "iron-gear-wheel", "bob-nitinol-gear-wheel") bobmods.lib.tech.add_prerequisite("bob-steam-turbine-3", "bob-nitinol-processing") else @@ -118,8 +126,8 @@ if settings.startup["bobmods-power-steam"].value == true then bobmods.lib.recipe.replace_ingredient("bob-steam-turbine-3", "steel-plate", "bob-nitinol-alloy") bobmods.lib.tech.add_prerequisite("bob-steam-turbine-3", "bob-nitinol-processing") else - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-steam-turbine-3", "steel-plate", "bob-tungsten-plate") + if data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-steam-turbine-3", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-steam-turbine-3", "bob-tungsten-processing") end end From 9f0efb2906a38db5b8ce0aec9a19537df6ffe243 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 20:46:19 -0700 Subject: [PATCH 21/59] Update steam-engines-updates.lua --- .../recipe/steam-engines-updates.lua | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/bobpower/prototypes/recipe/steam-engines-updates.lua b/bobpower/prototypes/recipe/steam-engines-updates.lua index 36d227a21..7024d3970 100644 --- a/bobpower/prototypes/recipe/steam-engines-updates.lua +++ b/bobpower/prototypes/recipe/steam-engines-updates.lua @@ -68,7 +68,10 @@ if settings.startup["bobmods-power-steam"].value == true then end end - if data.raw.item["bob-tungsten-gear-wheel"] then + if mods["space-age"] and data.raw.item["bob-stainless-steel-gear-wheel"] then + bobmods.lib.recipe.replace_ingredient("bob-steam-engine-4", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") + bobmods.lib.tech.add_prerequisite("bob-steam-engine-4", "bob-tungsten-processing") + elseif data.raw.item["bob-tungsten-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-steam-engine-4", "iron-gear-wheel", "bob-tungsten-gear-wheel") bobmods.lib.tech.add_prerequisite("bob-steam-engine-4", "bob-tungsten-processing") else @@ -81,13 +84,15 @@ if settings.startup["bobmods-power-steam"].value == true then bobmods.lib.recipe.replace_ingredient("bob-steam-engine-4", "steel-plate", "bob-titanium-plate") bobmods.lib.tech.add_prerequisite("bob-steam-engine-4", "bob-titanium-processing") else - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-steam-engine-4", "steel-plate", "bob-tungsten-plate") + if data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-steam-engine-4", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-steam-engine-4", "bob-tungsten-processing") end end - if data.raw.item["bob-titanium-pipe"] then + if mods["space-age"] and data.raw.item["bob-stainless-steel-pipe"] then + bobmods.lib.recipe.replace_ingredient("bob-steam-engine-4", "pipe", "bob-stainless-steel-pipe") + elseif data.raw.item["bob-titanium-pipe"] then bobmods.lib.recipe.replace_ingredient("bob-steam-engine-4", "pipe", "bob-titanium-pipe") end @@ -104,7 +109,10 @@ if settings.startup["bobmods-power-steam"].value == true then end end - if data.raw.item["bob-nitinol-gear-wheel"] then + if mods["space-age"] and data.raw.item["bob-tungsten-gear-wheel"] then + bobmods.lib.recipe.replace_ingredient("bob-steam-engine-5", "iron-gear-wheel", "bob-tungsten-gear-wheel") + bobmods.lib.tech.add_prerequisite("bob-steam-engine-5", "metallurgic-science-pack") + elseif data.raw.item["bob-nitinol-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-steam-engine-5", "iron-gear-wheel", "bob-nitinol-gear-wheel") bobmods.lib.tech.add_prerequisite("bob-steam-engine-5", "bob-nitinol-processing") else @@ -122,8 +130,8 @@ if settings.startup["bobmods-power-steam"].value == true then bobmods.lib.recipe.replace_ingredient("bob-steam-engine-5", "steel-plate", "bob-nitinol-alloy") bobmods.lib.tech.add_prerequisite("bob-steam-engine-5", "bob-nitinol-processing") else - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-steam-engine-5", "steel-plate", "bob-tungsten-plate") + if data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-steam-engine-5", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-steam-engine-5", "bob-tungsten-processing") end end From 3ec5f3d26edfd8d8c88961ae089b72d7f403bd7e Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 20:47:52 -0700 Subject: [PATCH 22/59] Update poles-updates.lua --- bobpower/prototypes/recipe/poles-updates.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bobpower/prototypes/recipe/poles-updates.lua b/bobpower/prototypes/recipe/poles-updates.lua index a2301795b..ae0462860 100644 --- a/bobpower/prototypes/recipe/poles-updates.lua +++ b/bobpower/prototypes/recipe/poles-updates.lua @@ -23,10 +23,10 @@ if settings.startup["bobmods-power-poles"].value == true then bobmods.lib.recipe.replace_ingredient("bob-substation-3", "steel-plate", "bob-titanium-plate") bobmods.lib.tech.add_prerequisite("bob-electric-pole-3", "bob-titanium-processing") bobmods.lib.tech.add_prerequisite("bob-electric-substation-3", "bob-titanium-processing") - elseif data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-medium-electric-pole-3", "steel-plate", "bob-tungsten-plate") - bobmods.lib.recipe.replace_ingredient("bob-big-electric-pole-3", "steel-plate", "bob-tungsten-plate") - bobmods.lib.recipe.replace_ingredient("bob-substation-3", "steel-plate", "bob-tungsten-plate") + elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-medium-electric-pole-3", "steel-plate", "tungsten-plate") + bobmods.lib.recipe.replace_ingredient("bob-big-electric-pole-3", "steel-plate", "tungsten-plate") + bobmods.lib.recipe.replace_ingredient("bob-substation-3", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-electric-pole-3", "bob-tungsten-processing") bobmods.lib.tech.add_prerequisite("bob-electric-substation-3", "bob-tungsten-processing") end From adf22e0375133856b1c6d61e3fb4f04bfc99971d Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 20:50:03 -0700 Subject: [PATCH 23/59] Update oil-boilers-updates.lua --- bobpower/prototypes/recipe/oil-boilers-updates.lua | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/bobpower/prototypes/recipe/oil-boilers-updates.lua b/bobpower/prototypes/recipe/oil-boilers-updates.lua index ad171438e..86662de92 100644 --- a/bobpower/prototypes/recipe/oil-boilers-updates.lua +++ b/bobpower/prototypes/recipe/oil-boilers-updates.lua @@ -13,8 +13,11 @@ if settings.startup["bobmods-power-steam"].value == true then bobmods.lib.tech.add_prerequisite("bob-oil-boiler-2", "bob-zinc-processing") end - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-oil-boiler-3", "steel-plate", "bob-tungsten-plate") + if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then + bobmods.lib.recipe.replace_ingredient("bob-oil-boiler-3", "steel-plate", "bob-stainless-steel-alloy") + bobmods.lib.tech.add_prerequisite("bob-oil-boiler-3", "bob-tungsten-processing") + elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-oil-boiler-3", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-oil-boiler-3", "bob-tungsten-processing") end @@ -23,7 +26,10 @@ if settings.startup["bobmods-power-steam"].value == true then bobmods.lib.tech.add_prerequisite("bob-oil-boiler-3", "bob-ceramics") end - if data.raw.item["bob-copper-tungsten-alloy"] then + if mods["space-age"] and data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-oil-boiler-4", "steel-plate", "tungsten-plate") + bobmods.lib.tech.add_prerequisite("bob-oil-boiler-4", "metallurgic-science-pack") + elseif data.raw.item["bob-copper-tungsten-alloy"] then bobmods.lib.recipe.replace_ingredient("bob-oil-boiler-4", "steel-plate", "bob-copper-tungsten-alloy") bobmods.lib.tech.add_prerequisite("bob-oil-boiler-4", "bob-tungsten-alloy-processing") end From 717a42619732b0faf57ebd29276f892111a5f9f7 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 20:51:50 -0700 Subject: [PATCH 24/59] Update nuclear-updates.lua --- bobpower/prototypes/recipe/nuclear-updates.lua | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/bobpower/prototypes/recipe/nuclear-updates.lua b/bobpower/prototypes/recipe/nuclear-updates.lua index 8b6728bfb..f4ed7e7f6 100644 --- a/bobpower/prototypes/recipe/nuclear-updates.lua +++ b/bobpower/prototypes/recipe/nuclear-updates.lua @@ -13,9 +13,13 @@ if settings.startup["bobmods-power-nuclear"].value == true then bobmods.lib.tech.add_prerequisite("bob-nuclear-power-2", "bob-zinc-processing") end - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-nuclear-reactor-2", "steel-plate", "bob-tungsten-plate") - bobmods.lib.tech.add_prerequisite("bob-nuclear-power-2", "bob-tungsten-processing") + if data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-nuclear-reactor-2", "steel-plate", "tungsten-plate") + if not mods["space-age"] then + bobmods.lib.tech.add_prerequisite("bob-nuclear-power-2", "bob-tungsten-processing") + else + bobmods.lib.tech.add_prerequisite("bob-nuclear-power-2", "metallurgic-science-pack") + end end if data.raw.item["bob-lead-plate"] then @@ -32,8 +36,8 @@ if settings.startup["bobmods-power-nuclear"].value == true then bobmods.lib.tech.add_prerequisite("bob-nuclear-power-3", "bob-tungsten-alloy-processing") end - if data.raw.item["bob-tungsten-carbide"] then - bobmods.lib.recipe.replace_ingredient("bob-nuclear-reactor-3", "steel-plate", "bob-tungsten-carbide") + if data.raw.item["tungsten-carbide"] then + bobmods.lib.recipe.replace_ingredient("bob-nuclear-reactor-3", "steel-plate", "tungsten-carbide") bobmods.lib.tech.add_prerequisite("bob-nuclear-power-3", "bob-tungsten-alloy-processing") end From 1d0feeee3ed8d6927d6b8bde78bf9b337819a51a Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 20:53:09 -0700 Subject: [PATCH 25/59] Update heat-exchangers-updates.lua --- bobpower/prototypes/recipe/heat-exchangers-updates.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bobpower/prototypes/recipe/heat-exchangers-updates.lua b/bobpower/prototypes/recipe/heat-exchangers-updates.lua index d64ddadbd..fb58bc0e0 100644 --- a/bobpower/prototypes/recipe/heat-exchangers-updates.lua +++ b/bobpower/prototypes/recipe/heat-exchangers-updates.lua @@ -12,8 +12,11 @@ if settings.startup["bobmods-power-steam"].value == true then if data.raw.item["bob-brass-pipe"] then bobmods.lib.recipe.add_ingredient("bob-heat-exchanger-2", { type = "item", name = "bob-brass-pipe", amount = 4 }) end - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-heat-exchanger-3", "steel-plate", "bob-tungsten-plate") + if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then + bobmods.lib.recipe.replace_ingredient("bob-heat-exchanger-3", "steel-plate", "bob-stainless-steel-alloy") + bobmods.lib.tech.add_prerequisite("bob-heat-exchanger-3", "bob-tungsten-processing") + elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-heat-exchanger-3", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-heat-exchanger-3", "bob-tungsten-processing") end if data.raw.item["bob-ceramic-pipe"] then From 431d9a197c2cd5fd8f3fddfde7b2152a60fb1507 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 21:00:29 -0700 Subject: [PATCH 26/59] Update bobores.cfg --- bobores/locale/en/bobores.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/bobores/locale/en/bobores.cfg b/bobores/locale/en/bobores.cfg index f08960cd1..07df0c453 100644 --- a/bobores/locale/en/bobores.cfg +++ b/bobores/locale/en/bobores.cfg @@ -14,6 +14,7 @@ bob-gem-ore=Gemstones bob-lithia-water=Lithia water bob-ground-water=Ground water bob-thorium-ore=Thorium ore +bob-chromium-ore=Chromite [item-name] bob-gold-ore=__ENTITY__bob-gold-ore__ From d70b285de512abc0fd8db6770b312c1ef853bb4a Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 21:02:07 -0700 Subject: [PATCH 27/59] Update data-updates.lua --- bobores/data-updates.lua | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/bobores/data-updates.lua b/bobores/data-updates.lua index 9fadf7b7f..944d67028 100644 --- a/bobores/data-updates.lua +++ b/bobores/data-updates.lua @@ -139,3 +139,33 @@ data.raw.item["stone"].subgroup = "bob-ores" data.raw.item["iron-ore"].subgroup = "bob-ores" data.raw.item["copper-ore"].subgroup = "bob-ores" data.raw.item["uranium-ore"].subgroup = "bob-ores" + +if bobmods.ores.tungsten.enabled then + if mods["space-age"] then + data.raw.item["bob-tungsten-ore"].localised_name = { "item-name.bob-chromium-ore" } + data.raw.resource["bob-tungsten-ore"].localised_name = { "item-name.bob-chromium-ore" } + data.raw.item["bob-tungsten-ore"].icon = "__space-age__/graphics/icons/tungsten-ore.png" + data.raw.item["bob-tungsten-ore"].icon_size = 64 + data.raw.item["tungsten-ore"].icon = "__bobores__/graphics/icons/tungsten-ore.png" + data.raw.item["tungsten-ore"].icon_size = 32 + data.raw.resource["bob-tungsten-ore"].icon = "__space-age__/graphics/icons/tungsten-ore.png" + data.raw.resource["bob-tungsten-ore"].icon_size = 64 + data.raw.resource["tungsten-ore"].icon = "__bobores__/graphics/icons/tungsten-ore.png" + data.raw.resource["tungsten-ore"].icon_size = 32 + + local tungsten_ore_sheet = util.table.deepcopy(data.raw.resource["bob-tungsten-ore"].stages) + local chromium_ore_sheet = util.table.deepcopy(data.raw.resource["tungsten-ore"].stages) + local tungsten_item_sheet = util.table.deepcopy(data.raw.item["bob-tungsten-ore"].pictures) + local chromium_item_sheet = util.table.deepcopy(data.raw.item["tungsten-ore"].pictures) + + data.raw.resource["bob-tungsten-ore"].stages = chromium_ore_sheet + data.raw.resource["tungsten-ore"].stages = tungsten_ore_sheet + data.raw.resource["bob-tungsten-ore"].map_color = { r = 0.3828125, g = 0.3359375, b = 0.5859375, a = 1, } + data.raw.resource["tungsten-ore"].map_color = { r = 0.75, g = 0, b = 0, a = 1, } + data.raw.item["bob-tungsten-ore"].pictures = chromium_item_sheet + data.raw.item["tungsten-ore"].pictures = tungsten_item_sheet + + data.raw["autoplace-control"]["bob-tungsten-ore"].localised_name = { "", "[entity=bob-tungsten-ore] ", { "entity-name.bob-chromium-ore" } } + data.raw["autoplace-control"]["bob-tungsten-ore"].order = "b-d-bob-chromite-ore" + end +end From fc232cae79a75dea577b25a3037b972a0fd6524e Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 21:08:16 -0700 Subject: [PATCH 28/59] Update train-updates.lua --- bobwarfare/prototypes/train-updates.lua | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/bobwarfare/prototypes/train-updates.lua b/bobwarfare/prototypes/train-updates.lua index 4d557a827..36bab754d 100644 --- a/bobwarfare/prototypes/train-updates.lua +++ b/bobwarfare/prototypes/train-updates.lua @@ -3,12 +3,20 @@ if data.raw.item["bob-invar-alloy"] then bobmods.lib.tech.add_prerequisite("artillery", "bob-invar-processing") end -if data.raw.item["bob-titanium-plate"] then +if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then + bobmods.lib.recipe.replace_ingredient("bob-artillery-wagon-2", "steel-plate", "bob-stainless-steel-alloy") + bobmods.lib.tech.add_prerequisite("bob-artillery-wagon-2", "bob-tungsten-processing") +elseif data.raw.item["bob-titanium-plate"] then bobmods.lib.recipe.replace_ingredient("bob-artillery-wagon-2", "steel-plate", "bob-titanium-plate") bobmods.lib.tech.add_prerequisite("bob-artillery-wagon-2", "bob-titanium-processing") end -if data.raw.item["bob-titanium-bearing"] then +if mods["space-age"] and data.raw.item["bob-stainless-steel-bearing"] then + bobmods.lib.recipe.add_ingredient( + "bob-artillery-wagon-2", + { type = "item", name = "bob-stainless-steel-bearing", amount = 8 } + ) +elseif data.raw.item["bob-titanium-bearing"] then bobmods.lib.recipe.add_ingredient( "bob-artillery-wagon-2", { type = "item", name = "bob-titanium-bearing", amount = 8 } @@ -19,22 +27,26 @@ else bobmods.lib.recipe.add_ingredient("bob-artillery-wagon-2", { type = "item", name = "iron-gear-wheel", amount = 8 }) end -if data.raw.item["bob-titanium-gear-wheel"] then +if mods["space-age"] and data.raw.item["bob-stainless-steel-gear-wheel"] then + bobmods.lib.recipe.replace_ingredient("bob-artillery-wagon-2", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") +elseif data.raw.item["bob-titanium-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-artillery-wagon-2", "iron-gear-wheel", "bob-titanium-gear-wheel") elseif data.raw.item["bob-steel-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-artillery-wagon-2", "iron-gear-wheel", "bob-steel-gear-wheel") end -if data.raw.item["bob-titanium-pipe"] then +if mods["space-age"] and data.raw.item["bob-stainless-steel-pipe"] then + bobmods.lib.recipe.replace_ingredient("bob-artillery-wagon-2", "pipe", "bob-stainless-steel-pipe") +elseif data.raw.item["bob-titanium-pipe"] then bobmods.lib.recipe.replace_ingredient("bob-artillery-wagon-2", "pipe", "bob-titanium-pipe") elseif data.raw.item["bob-steel-pipe"] then bobmods.lib.recipe.replace_ingredient("bob-artillery-wagon-2", "pipe", "bob-steel-pipe") end -if data.raw.item["bob-tungsten-carbide"] then +if data.raw.item["tungsten-carbide"] then bobmods.lib.recipe.add_ingredient( "bob-artillery-wagon-3", - { type = "item", name = "bob-tungsten-carbide", amount = 10 } + { type = "item", name = "tungsten-carbide", amount = 10 } ) bobmods.lib.tech.add_prerequisite("bob-artillery-wagon-3", "bob-tungsten-alloy-processing") else From 347d0d086ed1db5723baebd367c0582b29c2bd10 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 21:08:43 -0700 Subject: [PATCH 29/59] Update armor-updates.lua --- bobwarfare/prototypes/armor-updates.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bobwarfare/prototypes/armor-updates.lua b/bobwarfare/prototypes/armor-updates.lua index a8e991983..99cd7a9eb 100644 --- a/bobwarfare/prototypes/armor-updates.lua +++ b/bobwarfare/prototypes/armor-updates.lua @@ -46,7 +46,7 @@ if data.raw.item["bob-silicon-nitride"] then bobmods.lib.tech.add_prerequisite("bob-power-armor-4", "bob-ceramics") end -if data.raw.item["bob-tungsten-carbide"] then +if data.raw.item["tungsten-carbide"] then if data.raw.item["bob-mech-armor-plate"] then bobmods.lib.recipe.remove_ingredient("bob-power-armor-mk5", "steel-plate") bobmods.lib.recipe.add_ingredient( @@ -55,7 +55,7 @@ if data.raw.item["bob-tungsten-carbide"] then ) bobmods.lib.tech.add_prerequisite("bob-power-armor-5", "bob-tankotron") else - bobmods.lib.recipe.replace_ingredient("bob-power-armor-mk5", "steel-plate", "bob-tungsten-carbide") + bobmods.lib.recipe.replace_ingredient("bob-power-armor-mk5", "steel-plate", "tungsten-carbide") bobmods.lib.tech.add_prerequisite("bob-power-armor-5", "bob-tungsten-alloy-processing") end end From 0df782b0ccb0278f0dbe35351d83b881be9acc05 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 21:09:43 -0700 Subject: [PATCH 30/59] Update spidertron-updates.lua --- bobwarfare/prototypes/spidertron-updates.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bobwarfare/prototypes/spidertron-updates.lua b/bobwarfare/prototypes/spidertron-updates.lua index 0f2470b99..21bd9d456 100644 --- a/bobwarfare/prototypes/spidertron-updates.lua +++ b/bobwarfare/prototypes/spidertron-updates.lua @@ -272,8 +272,8 @@ if settings.startup["bobmods-warfare-spidertron-overhaul"].value == true then bobmods.lib.recipe.replace_ingredient("bob-mech-leg", "copper-cable", "bob-insulated-cable") end - if data.raw.item["bob-tungsten-carbide"] then - bobmods.lib.recipe.replace_ingredient("bob-mech-armor-plate", "steel-plate", "bob-tungsten-carbide") + if data.raw.item["tungsten-carbide"] then + bobmods.lib.recipe.replace_ingredient("bob-mech-armor-plate", "steel-plate", "tungsten-carbide") bobmods.lib.tech.add_prerequisite("bob-tankotron", "bob-tungsten-alloy-processing") end From 437f1b6cd259ddf2262a2707c90f962bad79b86a Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 21:43:00 -0700 Subject: [PATCH 31/59] Update recipe-updates.lua --- .../prototypes/recipe/recipe-updates.lua | 86 +++++++++++++------ 1 file changed, 61 insertions(+), 25 deletions(-) diff --git a/bobwarfare/prototypes/recipe/recipe-updates.lua b/bobwarfare/prototypes/recipe/recipe-updates.lua index 9ab9a90ab..c74c82c81 100644 --- a/bobwarfare/prototypes/recipe/recipe-updates.lua +++ b/bobwarfare/prototypes/recipe/recipe-updates.lua @@ -42,8 +42,11 @@ if data.raw.item["bob-lead-plate"] then bobmods.lib.recipe.replace_ingredient("bob-shot", "iron-plate", "bob-lead-plate") end -if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.add_ingredient("bob-plasma-turret-2", { type = "item", name = "bob-tungsten-plate", amount = 50 }) +if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then + bobmods.lib.recipe.add_ingredient("bob-plasma-turret-2", { type = "item", name = "bob-stainless-steel-alloy", amount = 50 }) + bobmods.lib.tech.add_prerequisite("bob-plasma-turrets-2", "bob-tungsten-processing") +elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.add_ingredient("bob-plasma-turret-2", { type = "item", name = "tungsten-plate", amount = 50 }) bobmods.lib.tech.add_prerequisite("bob-plasma-turrets-2", "bob-tungsten-processing") end @@ -166,8 +169,6 @@ if data.raw.item["bob-titanium-plate"] then bobmods.lib.tech.add_prerequisite("bob-laser-turrets-4", "bob-titanium-processing") bobmods.lib.recipe.replace_ingredient("bob-tank-2", "steel-plate", "bob-titanium-plate") bobmods.lib.tech.add_prerequisite("bob-tanks-2", "bob-titanium-processing") - bobmods.lib.recipe.replace_ingredient("bob-artillery-turret-2", "steel-plate", "bob-titanium-plate") - bobmods.lib.tech.add_prerequisite("bob-artillery-turret-2", "bob-titanium-processing") bobmods.lib.recipe.remove_ingredient("bob-plasma-turret-2", "steel-plate") bobmods.lib.recipe.add_ingredient("bob-plasma-turret-2", { type = "item", name = "bob-titanium-plate", amount = 75 }) @@ -178,16 +179,27 @@ if data.raw.item["bob-titanium-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-radar-4", "iron-gear-wheel", "bob-titanium-gear-wheel") bobmods.lib.recipe.replace_ingredient("bob-gun-turret-4", "iron-gear-wheel", "bob-titanium-gear-wheel") bobmods.lib.recipe.replace_ingredient("bob-sniper-turret-3", "iron-gear-wheel", "bob-titanium-gear-wheel") - bobmods.lib.recipe.replace_ingredient("bob-tank-2", "iron-gear-wheel", "bob-titanium-gear-wheel") - bobmods.lib.recipe.replace_ingredient("bob-artillery-turret-2", "iron-gear-wheel", "bob-titanium-gear-wheel") end if data.raw.item["bob-titanium-bearing"] then bobmods.lib.recipe.add_ingredient("bob-radar-4", { type = "item", name = "bob-titanium-bearing", amount = 5 }) bobmods.lib.recipe.add_ingredient("bob-gun-turret-4", { type = "item", name = "bob-titanium-bearing", amount = 10 }) - bobmods.lib.recipe.add_ingredient("bob-tank-2", { type = "item", name = "bob-titanium-bearing", amount = 15 }) end +if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then + bobmods.lib.recipe.replace_ingredient("bob-artillery-turret-2", "steel-plate", "bob-stainless-steel-alloy") + bobmods.lib.recipe.replace_ingredient("bob-artillery-turret-2", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") + bobmods.lib.tech.add_prerequisite("bob-artillery-turret-2", "bob-tungsten-processing") + bobmods.lib.recipe.add_ingredient("bob-tank-2", { type = "item", name = "bob-stainless-steel-bearing", amount = 15 }) + bobmods.lib.recipe.replace_ingredient("bob-tank-2", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") + bobmods.lib.tech.add_prerequisite("bob-tank-2", "bob-tungsten-processing") +elseif data.raw.item["bob-titanium-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-artillery-turret-2", "steel-plate", "bob-titanium-plate") + bobmods.lib.recipe.replace_ingredient("bob-artillery-turret-2", "iron-gear-wheel", "bob-titanium-gear-wheel") + bobmods.lib.tech.add_prerequisite("bob-artillery-turret-2", "bob-titanium-processing") + bobmods.lib.recipe.add_ingredient("bob-tank-2", { type = "item", name = "bob-titanium-bearing", amount = 15 }) + bobmods.lib.recipe.replace_ingredient("bob-tank-2", "iron-gear-wheel", "bob-titanium-gear-wheel") +end if data.raw.item["bob-silicon-nitride"] then bobmods.lib.recipe.replace_ingredient("bob-tank-3", "plastic-bar", "bob-silicon-nitride") bobmods.lib.tech.add_prerequisite("bob-tanks-3", "bob-ceramics") @@ -215,10 +227,10 @@ if data.raw.item["bob-copper-tungsten-alloy"] then ) end -if data.raw.item["bob-tungsten-carbide"] then - bobmods.lib.recipe.replace_ingredient("bob-tank-3", "steel-plate", "bob-tungsten-carbide") +if data.raw.item["tungsten-carbide"] then + bobmods.lib.recipe.replace_ingredient("bob-tank-3", "steel-plate", "tungsten-carbide") bobmods.lib.tech.add_prerequisite("bob-tanks-3", "bob-tungsten-alloy-processing") - bobmods.lib.recipe.replace_ingredient("bob-artillery-turret-3", "concrete", "bob-tungsten-carbide") + bobmods.lib.recipe.replace_ingredient("bob-artillery-turret-3", "concrete", "tungsten-carbide") bobmods.lib.tech.add_prerequisite("bob-artillery-turret-3", "bob-tungsten-alloy-processing") end @@ -436,11 +448,15 @@ if data.raw.item["bob-alien-blue-alloy"] then bobmods.lib.recipe.replace_ingredient("bob-ap-bullet-projectile", "steel-plate", "bob-alien-blue-alloy") bobmods.lib.recipe.replace_ingredient("bob-shotgun-ap-shell", "steel-plate", "bob-alien-blue-alloy") bobmods.lib.recipe.replace_ingredient("bob-piercing-rocket-warhead", "iron-plate", "bob-alien-blue-alloy") -elseif data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-shotgun-ap-shell", "steel-plate", "bob-tungsten-plate") - bobmods.lib.recipe.replace_ingredient("bob-ap-bullet-projectile", "steel-plate", "bob-tungsten-plate") - bobmods.lib.recipe.replace_ingredient("bob-piercing-rocket-warhead", "steel-plate", "bob-tungsten-plate") - bobmods.lib.tech.add_prerequisite("bob-piercing-rocket", "bob-tungsten-processing") +elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-shotgun-ap-shell", "steel-plate", "tungsten-plate") + bobmods.lib.recipe.replace_ingredient("bob-ap-bullet-projectile", "steel-plate", "tungsten-plate") + bobmods.lib.recipe.replace_ingredient("bob-piercing-rocket-warhead", "steel-plate", "tungsten-plate") + if not mods["space-age"] then + bobmods.lib.tech.add_prerequisite("bob-piercing-rocket", "bob-tungsten-processing") + else + bobmods.lib.tech.add_prerequisite("bob-piercing-rocket", "metallurgic-science-pack") + end end if data.raw.item["bob-alien-orange-alloy"] then @@ -451,8 +467,12 @@ elseif data.raw.item["bob-gold-plate"] then bobmods.lib.recipe.replace_ingredient("bob-electric-bullet-projectile", "steel-plate", "bob-gold-plate") bobmods.lib.recipe.replace_ingredient("bob-shotgun-electric-shell", "copper-plate", "bob-gold-plate") bobmods.lib.recipe.replace_ingredient("bob-electric-rocket-warhead", "copper-plate", "bob-gold-plate") - bobmods.lib.recipe.replace_ingredient("bob-electric-rocket-warhead", "steel-plate", "bob-tungsten-plate") - bobmods.lib.tech.add_prerequisite("bob-electric-rocket", "bob-tungsten-processing") + bobmods.lib.recipe.replace_ingredient("bob-electric-rocket-warhead", "steel-plate", "tungsten-plate") + if not mods["space-age"] then + bobmods.lib.tech.add_prerequisite("bob-electric-rocket", "bob-tungsten-processing") + else + bobmods.lib.tech.add_prerequisite("bob-electric-rocket", "metallurgic-science-pack") + end end if data.raw.fluid["bob-alien-acid"] then @@ -460,8 +480,12 @@ if data.raw.fluid["bob-alien-acid"] then bobmods.lib.recipe.replace_ingredient("bob-shotgun-acid-shell", "sulfuric-acid", "bob-alien-acid") bobmods.lib.recipe.replace_ingredient("bob-acid-rocket-warhead", "sulfuric-acid", "bob-alien-acid") else - bobmods.lib.recipe.replace_ingredient("bob-acid-rocket-warhead", "steel-plate", "bob-tungsten-plate") - bobmods.lib.tech.add_prerequisite("bob-acid-rocket", "bob-tungsten-processing") + bobmods.lib.recipe.replace_ingredient("bob-acid-rocket-warhead", "steel-plate", "tungsten-plate") + if not mods["space-age"] then + bobmods.lib.tech.add_prerequisite("bob-acid-rocket", "bob-tungsten-processing") + else + bobmods.lib.tech.add_prerequisite("bob-acid-rocket", "metallurgic-science-pack") + end end if data.raw.fluid["bob-alien-explosive"] then @@ -482,8 +506,12 @@ if data.raw.fluid["bob-alien-explosive"] then data.raw.recipe["bob-explosive-artillery-shell"].category = "crafting-with-fluid" bobmods.lib.tech.add_prerequisite("bob-explosive-artillery-shells", "bob-alien-yellow-research") else - bobmods.lib.recipe.replace_ingredient("bob-explosive-rocket-warhead", "steel-plate", "bob-tungsten-plate") - bobmods.lib.tech.add_prerequisite("bob-explosive-rocket", "bob-tungsten-processing") + bobmods.lib.recipe.replace_ingredient("bob-explosive-rocket-warhead", "steel-plate", "tungsten-plate") + if not mods["space-age"] then + bobmods.lib.tech.add_prerequisite("bob-explosive-rocket", "bob-tungsten-processing") + else + bobmods.lib.tech.add_prerequisite("bob-explosive-rocket", "metallurgic-science-pack") + end end if data.raw.fluid["bob-alien-poison"] then @@ -500,8 +528,12 @@ if data.raw.fluid["bob-alien-poison"] then data.raw.recipe["bob-poison-artillery-shell"].category = "crafting-with-fluid" bobmods.lib.tech.add_prerequisite("bob-poison-artillery-shells", "bob-alien-green-research") else - bobmods.lib.recipe.replace_ingredient("bob-poison-rocket-warhead", "steel-plate", "bob-tungsten-plate") - bobmods.lib.tech.add_prerequisite("bob-poison-rocket", "bob-tungsten-processing") + bobmods.lib.recipe.replace_ingredient("bob-poison-rocket-warhead", "steel-plate", "tungsten-plate") + if not mods["space-age"] then + bobmods.lib.tech.add_prerequisite("bob-poison-rocket", "bob-tungsten-processing") + else + bobmods.lib.tech.add_prerequisite("bob-poison-rocket", "metallurgic-science-pack") + end end if data.raw.fluid["bob-alien-fire"] then @@ -533,8 +565,12 @@ if data.raw.fluid["bob-alien-fire"] then bobmods.lib.tech.add_prerequisite("bob-fire-artillery-shells", "bob-alien-red-research") elseif data.raw.fluid["bob-liquid-fuel"] then bobmods.lib.recipe.replace_ingredient("bob-fire-artillery-shell", "light-oil", "bob-liquid-fuel") - bobmods.lib.recipe.replace_ingredient("bob-flame-rocket-warhead", "steel-plate", "bob-tungsten-plate") - bobmods.lib.tech.add_prerequisite("bob-flame-rocket", "bob-tungsten-processing") + bobmods.lib.recipe.replace_ingredient("bob-flame-rocket-warhead", "steel-plate", "tungsten-plate") + if not mods["space-age"] then + bobmods.lib.tech.add_prerequisite("bob-flame-rocket", "bob-tungsten-processing") + else + bobmods.lib.tech.add_prerequisite("bob-flame-rocket", "metallurgic-science-pack") + end end if data.raw.item["bob-distractor-robot"] then From 165deec07a8cd39700643e4d99c435beb0e09d82 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 21:43:26 -0700 Subject: [PATCH 32/59] Update armor-updates.lua --- bobequipment/prototypes/armor-updates.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bobequipment/prototypes/armor-updates.lua b/bobequipment/prototypes/armor-updates.lua index 85cf8d5e2..0d5e421a0 100644 --- a/bobequipment/prototypes/armor-updates.lua +++ b/bobequipment/prototypes/armor-updates.lua @@ -46,8 +46,8 @@ if not mods["bobwarfare"] then bobmods.lib.recipe.replace_ingredient("bob-power-armor-mk4", "plastic-bar", "bob-silicon-nitride") bobmods.lib.tech.add_prerequisite("bob-power-armor-4", "bob-ceramics") end - if data.raw.item["bob-tungsten-carbide"] then - bobmods.lib.recipe.replace_ingredient("bob-power-armor-mk5", "steel-plate", "bob-tungsten-carbide") + if data.raw.item["tungsten-carbide"] then + bobmods.lib.recipe.replace_ingredient("bob-power-armor-mk5", "steel-plate", "tungsten-carbide") bobmods.lib.tech.add_prerequisite("bob-power-armor-5", "bob-tungsten-alloy-processing") end From f4bcf7790a417661e31c25d8d0694a9f623b7090 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 12 Apr 2026 21:44:42 -0700 Subject: [PATCH 33/59] Update updates.lua --- bobequipment/prototypes/recipe/updates.lua | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/bobequipment/prototypes/recipe/updates.lua b/bobequipment/prototypes/recipe/updates.lua index 6c613ed3a..776ec9778 100644 --- a/bobequipment/prototypes/recipe/updates.lua +++ b/bobequipment/prototypes/recipe/updates.lua @@ -573,20 +573,28 @@ if data.raw.fluid["bob-heavy-water"] then bobmods.lib.tech.add_prerequisite("fission-reactor-equipment", "bob-heavy-water-processing") end -if data.raw.item["bob-tungsten-plate"] then +if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then bobmods.lib.recipe.remove_ingredient("bob-fission-reactor-equipment-2", "low-density-structure") bobmods.lib.tech.remove_prerequisite("bob-fission-reactor-equipment-2", "low-density-structure") bobmods.lib.recipe.add_ingredient( "bob-fission-reactor-equipment-2", - { type = "item", name = "bob-tungsten-plate", amount = 250 } + { type = "item", name = "bob-stainless-steel-alloy", amount = 250 } + ) + bobmods.lib.tech.add_prerequisite("bob-fission-reactor-equipment-2", "bob-tungsten-processing") +elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.remove_ingredient("bob-fission-reactor-equipment-2", "low-density-structure") + bobmods.lib.tech.remove_prerequisite("bob-fission-reactor-equipment-2", "low-density-structure") + bobmods.lib.recipe.add_ingredient( + "bob-fission-reactor-equipment-2", + { type = "item", name = "tungsten-plate", amount = 250 } ) bobmods.lib.tech.add_prerequisite("bob-fission-reactor-equipment-2", "bob-tungsten-processing") end -if data.raw.item["bob-tungsten-carbide"] then +if data.raw.item["tungsten-carbide"] then bobmods.lib.recipe.add_ingredient( "bob-fission-reactor-equipment-3", - { type = "item", name = "bob-tungsten-carbide", amount = 80 } + { type = "item", name = "tungsten-carbide", amount = 80 } ) bobmods.lib.tech.add_prerequisite("bob-fission-reactor-equipment-3", "bob-tungsten-alloy-processing") end From 717b62604f8271ed179710b2552d3b5647d3e170 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 08:29:36 -0700 Subject: [PATCH 34/59] Update recipe-updates.lua --- .../prototypes/recipe-updates.lua | 34 +++++++++++++++---- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/bobvehicleequipment/prototypes/recipe-updates.lua b/bobvehicleequipment/prototypes/recipe-updates.lua index d21d108b4..e2a34c519 100644 --- a/bobvehicleequipment/prototypes/recipe-updates.lua +++ b/bobvehicleequipment/prototypes/recipe-updates.lua @@ -761,37 +761,57 @@ if data.raw.fluid["bob-heavy-water"] then bobmods.lib.tech.add_prerequisite("bob-vehicle-fission-cell-equipment-2", "bob-heavy-water-processing") end -if data.raw.item["bob-tungsten-plate"] then +if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then bobmods.lib.recipe.remove_ingredient("bob-vehicle-fission-reactor-equipment-3", "low-density-structure") bobmods.lib.recipe.remove_ingredient("bob-vehicle-fission-cell-equipment-3", "low-density-structure") bobmods.lib.tech.remove_prerequisite("bob-vehicle-fission-reactor-equipment-3", "low-density-structure") bobmods.lib.tech.remove_prerequisite("bob-vehicle-fission-cell-equipment-3", "low-density-structure") bobmods.lib.recipe.add_ingredient( "bob-vehicle-fission-reactor-equipment-3", - { type = "item", name = "bob-tungsten-plate", amount = 250 } + { type = "item", name = "bob-stainless-steel-alloy", amount = 250 } ) bobmods.lib.recipe.add_ingredient( "bob-vehicle-fission-cell-equipment-3", - { type = "item", name = "bob-tungsten-plate", amount = 150 } + { type = "item", name = "bob-stainless-steel-alloy", amount = 150 } ) bobmods.lib.tech.add_prerequisite("bob-vehicle-fission-reactor-equipment-3", "bob-tungsten-processing") bobmods.lib.tech.add_prerequisite("bob-vehicle-fission-cell-equipment-3", "bob-tungsten-processing") bobmods.lib.recipe.add_ingredient( "bob-vehicle-big-turret-equipment-2", - { type = "item", name = "bob-tungsten-plate", amount = 50 } + { type = "item", name = "bob-stainless-steel-alloy", amount = 50 } + ) + bobmods.lib.tech.add_prerequisite("bob-vehicle-big-turret-equipment-2", "bob-tungsten-processing") +elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.remove_ingredient("bob-vehicle-fission-reactor-equipment-3", "low-density-structure") + bobmods.lib.recipe.remove_ingredient("bob-vehicle-fission-cell-equipment-3", "low-density-structure") + bobmods.lib.tech.remove_prerequisite("bob-vehicle-fission-reactor-equipment-3", "low-density-structure") + bobmods.lib.tech.remove_prerequisite("bob-vehicle-fission-cell-equipment-3", "low-density-structure") + bobmods.lib.recipe.add_ingredient( + "bob-vehicle-fission-reactor-equipment-3", + { type = "item", name = "tungsten-plate", amount = 250 } + ) + bobmods.lib.recipe.add_ingredient( + "bob-vehicle-fission-cell-equipment-3", + { type = "item", name = "tungsten-plate", amount = 150 } + ) + bobmods.lib.tech.add_prerequisite("bob-vehicle-fission-reactor-equipment-3", "bob-tungsten-processing") + bobmods.lib.tech.add_prerequisite("bob-vehicle-fission-cell-equipment-3", "bob-tungsten-processing") + bobmods.lib.recipe.add_ingredient( + "bob-vehicle-big-turret-equipment-2", + { type = "item", name = "tungsten-plate", amount = 50 } ) bobmods.lib.tech.add_prerequisite("bob-vehicle-big-turret-equipment-2", "bob-tungsten-processing") end -if data.raw.item["bob-tungsten-carbide"] then +if data.raw.item["tungsten-carbide"] then bobmods.lib.recipe.add_ingredient( "bob-vehicle-fission-reactor-equipment-4", - { type = "item", name = "bob-tungsten-carbide", amount = 80 } + { type = "item", name = "tungsten-carbide", amount = 80 } ) bobmods.lib.tech.add_prerequisite("bob-vehicle-fission-reactor-equipment-4", "bob-tungsten-alloy-processing") bobmods.lib.recipe.add_ingredient( "bob-vehicle-fission-cell-equipment-4", - { type = "item", name = "bob-tungsten-carbide", amount = 40 } + { type = "item", name = "tungsten-carbide", amount = 40 } ) bobmods.lib.tech.add_prerequisite("bob-vehicle-fission-cell-equipment-4", "bob-tungsten-alloy-processing") end From ac1d97893b2a67c6e2a34ef849356ac6e171d05b Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 08:39:29 -0700 Subject: [PATCH 35/59] Update rocket-parts-updates.lua --- bobrevamp/prototypes/rocket-parts-updates.lua | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/bobrevamp/prototypes/rocket-parts-updates.lua b/bobrevamp/prototypes/rocket-parts-updates.lua index eb90ba5b9..1970f85e9 100644 --- a/bobrevamp/prototypes/rocket-parts-updates.lua +++ b/bobrevamp/prototypes/rocket-parts-updates.lua @@ -24,7 +24,10 @@ bobmods.lib.recipe.add_ingredient("rocket-silo", { type = "item", name = "bob-he bobmods.lib.recipe.add_ingredient("cargo-landing-pad", { type = "item", name = "bob-heat-shield-tile", amount = 100 }) bobmods.lib.recipe.add_ingredient("cargo-landing-pad", { type = "item", name = "electric-engine-unit", amount = 40 }) -if data.raw.item["bob-tungsten-pipe"] then +if mods["space-age"] and data.raw.item["bob-stainless-steel-pipe"] then + bobmods.lib.recipe.add_ingredient("rocket-part", { type = "item", name = "bob-stainless-steel-pipe", amount = 30 }) + bobmods.lib.tech.add_prerequisite("rocket-silo", "bob-tungsten-processing") +elseif data.raw.item["bob-tungsten-pipe"] then bobmods.lib.recipe.add_ingredient("rocket-part", { type = "item", name = "bob-tungsten-pipe", amount = 30 }) end @@ -34,9 +37,16 @@ if data.raw.item["bob-silicon-nitride"] then bobmods.lib.recipe.replace_ingredient("bob-heat-shield-tile", "steel-plate", "bob-silicon-nitride") bobmods.lib.tech.replace_prerequisite("bob-heat-shield", "steel-processing", "bob-ceramics") end -if data.raw.item["bob-tungsten-carbide"] then - bobmods.lib.recipe.replace_ingredient("bob-heat-shield-tile", "plastic-bar", "bob-tungsten-carbide") - bobmods.lib.tech.replace_prerequisite("bob-heat-shield", "plastics", "bob-tungsten-alloy-processing") +if not mods["space-age"] then + if data.raw.item["tungsten-carbide"] then + bobmods.lib.recipe.replace_ingredient("bob-heat-shield-tile", "plastic-bar", "tungsten-carbide") + bobmods.lib.tech.replace_prerequisite("bob-heat-shield", "plastics", "bob-tungsten-alloy-processing") + end +else + if data.raw.item["bob-stainless-steel-alloy"] then + bobmods.lib.recipe.replace_ingredient("bob-heat-shield-tile", "plastic-bar", "bob-stainless-steel-alloy") + bobmods.lib.tech.replace_prerequisite("bob-heat-shield", "plastics", "bob-tungsten-processing") + end end if data.raw.item["bob-titanium-plate"] then From 112874640e1b6ed6f0627da58b20ba79951c102b Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 10:01:58 -0700 Subject: [PATCH 36/59] Update areadrill-updates.lua --- bobmining/prototypes/areadrill-updates.lua | 23 +++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/bobmining/prototypes/areadrill-updates.lua b/bobmining/prototypes/areadrill-updates.lua index 705a7f3e4..7de5fdf37 100644 --- a/bobmining/prototypes/areadrill-updates.lua +++ b/bobmining/prototypes/areadrill-updates.lua @@ -27,17 +27,23 @@ if settings.startup["bobmods-mining-areadrills"].value == true then end end - if data.raw.item["bob-titanium-plate"] then + if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then + bobmods.lib.recipe.replace_ingredient("bob-area-mining-drill-3", "steel-plate", "bob-stainless-steel-alloy") + bobmods.lib.tech.add_prerequisite("bob-area-drills-3", "bob-titanium-processing") + elseif data.raw.item["bob-titanium-plate"] then bobmods.lib.recipe.replace_ingredient("bob-area-mining-drill-3", "steel-plate", "bob-titanium-plate") bobmods.lib.tech.add_prerequisite("bob-area-drills-3", "bob-titanium-processing") else - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-area-mining-drill-3", "steel-plate", "bob-tungsten-plate") + if data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-area-mining-drill-3", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-area-drills-3", "bob-tungsten-processing") end end - if data.raw.item["bob-tungsten-gear-wheel"] then + if mods["space-age"] and data.raw.item["bob-stainless-steel-gear-wheel"] then + bobmods.lib.recipe.replace_ingredient("bob-area-mining-drill-3", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") + bobmods.lib.tech.add_prerequisite("bob-area-drills-3", "bob-tungsten-processing") + elseif data.raw.item["bob-tungsten-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-area-mining-drill-3", "iron-gear-wheel", "bob-tungsten-gear-wheel") bobmods.lib.tech.add_prerequisite("bob-area-drills-3", "bob-tungsten-processing") end @@ -47,8 +53,8 @@ if settings.startup["bobmods-mining-areadrills"].value == true then bobmods.lib.tech.add_prerequisite("bob-area-drills-4", "bob-advanced-processing-unit") end - if data.raw.item["bob-tungsten-carbide"] then - bobmods.lib.recipe.replace_ingredient("bob-area-mining-drill-4", "steel-plate", "bob-tungsten-carbide") + if data.raw.item["tungsten-carbide"] then + bobmods.lib.recipe.replace_ingredient("bob-area-mining-drill-4", "steel-plate", "tungsten-carbide") bobmods.lib.tech.add_prerequisite("bob-area-drills-4", "bob-tungsten-alloy-processing") else if data.raw.item["bob-copper-tungsten-alloy"] then @@ -57,7 +63,10 @@ if settings.startup["bobmods-mining-areadrills"].value == true then end end - if data.raw.item["bob-nitinol-gear-wheel"] then + if mods["space-age"] and data.raw.item["bob-tungsten-gear-wheel"] then + bobmods.lib.recipe.replace_ingredient("bob-area-mining-drill-4", "iron-gear-wheel", "bob-tungsten-gear-wheel") + bobmods.lib.tech.add_prerequisite("bob-area-drills-4", "metallurgic-science-pack") + elseif data.raw.item["bob-nitinol-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-area-mining-drill-4", "iron-gear-wheel", "bob-nitinol-gear-wheel") bobmods.lib.tech.add_prerequisite("bob-area-drills-4", "bob-nitinol-processing") else From b43e33d6afd81584822a4961f72fb363db5bfe6b Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 10:03:11 -0700 Subject: [PATCH 37/59] Update drill-updates.lua --- bobmining/prototypes/drill-updates.lua | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/bobmining/prototypes/drill-updates.lua b/bobmining/prototypes/drill-updates.lua index 4cc56e31e..e9353af5c 100644 --- a/bobmining/prototypes/drill-updates.lua +++ b/bobmining/prototypes/drill-updates.lua @@ -30,17 +30,23 @@ if settings.startup["bobmods-mining-miningdrills"].value == true then end end - if data.raw.item["bob-titanium-plate"] then + if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then + bobmods.lib.recipe.replace_ingredient("bob-mining-drill-3", "steel-plate", "bob-stainless-steel-alloy") + bobmods.lib.tech.add_prerequisite("bob-drills-4", "bob-titanium-processing") + elseif data.raw.item["bob-titanium-plate"] then bobmods.lib.recipe.replace_ingredient("bob-mining-drill-3", "steel-plate", "bob-titanium-plate") bobmods.lib.tech.add_prerequisite("bob-drills-4", "bob-titanium-processing") else - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-mining-drill-3", "steel-plate", "bob-tungsten-plate") + if data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-mining-drill-3", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-drills-4", "bob-tungsten-processing") end end - if data.raw.item["bob-tungsten-gear-wheel"] then + if mods["space-age"] and data.raw.item["bob-stainless-steel-gear-wheel"] then + bobmods.lib.recipe.replace_ingredient("bob-mining-drill-3", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") + bobmods.lib.tech.add_prerequisite("bob-drills-4", "bob-tungsten-processing") + elseif data.raw.item["bob-tungsten-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-mining-drill-3", "iron-gear-wheel", "bob-tungsten-gear-wheel") bobmods.lib.tech.add_prerequisite("bob-drills-4", "bob-tungsten-processing") end @@ -50,8 +56,8 @@ if settings.startup["bobmods-mining-miningdrills"].value == true then bobmods.lib.tech.add_prerequisite("bob-drills-5", "bob-advanced-processing-unit") end - if data.raw.item["bob-tungsten-carbide"] then - bobmods.lib.recipe.replace_ingredient("bob-mining-drill-4", "steel-plate", "bob-tungsten-carbide") + if data.raw.item["tungsten-carbide"] then + bobmods.lib.recipe.replace_ingredient("bob-mining-drill-4", "steel-plate", "tungsten-carbide") bobmods.lib.tech.add_prerequisite("bob-drills-5", "bob-tungsten-alloy-processing") else if data.raw.item["bob-copper-tungsten-alloy"] then @@ -60,7 +66,10 @@ if settings.startup["bobmods-mining-miningdrills"].value == true then end end - if data.raw.item["bob-nitinol-gear-wheel"] then + if mods["space-age"] and data.raw.item["bob-tungsten-gear-wheel"] then + bobmods.lib.recipe.replace_ingredient("bob-mining-drill-4", "iron-gear-wheel", "bob-tungsten-gear-wheel") + bobmods.lib.tech.add_prerequisite("bob-drills-5", "metallurgic-science-pack") + elseif data.raw.item["bob-nitinol-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-mining-drill-4", "iron-gear-wheel", "bob-nitinol-gear-wheel") bobmods.lib.tech.add_prerequisite("bob-drills-5", "bob-nitinol-processing") else From 7d28985e80f6b60d8dd41238e37d6aca9f6928c1 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 10:05:37 -0700 Subject: [PATCH 38/59] Update pumpjack-updates.lua --- bobmining/prototypes/pumpjack-updates.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bobmining/prototypes/pumpjack-updates.lua b/bobmining/prototypes/pumpjack-updates.lua index 1007637d4..beff3b881 100644 --- a/bobmining/prototypes/pumpjack-updates.lua +++ b/bobmining/prototypes/pumpjack-updates.lua @@ -40,8 +40,8 @@ if settings.startup["bobmods-mining-pumpjacks"].value == true then bobmods.lib.recipe.replace_ingredient("bob-pumpjack-2", "steel-plate", "bob-titanium-plate") bobmods.lib.tech.add_prerequisite("bob-pumpjacks-3", "bob-titanium-processing") else - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-pumpjack-2", "steel-plate", "bob-tungsten-plate") + if data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-pumpjack-2", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-pumpjacks-3", "bob-tungsten-processing") end end From c711737ed0b6125f2a4f3d0110a3414587d5a233 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 10:20:23 -0700 Subject: [PATCH 39/59] Update water-miner-updates.lua --- bobmining/prototypes/water-miner-updates.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bobmining/prototypes/water-miner-updates.lua b/bobmining/prototypes/water-miner-updates.lua index ed7e1a8fe..90126e958 100644 --- a/bobmining/prototypes/water-miner-updates.lua +++ b/bobmining/prototypes/water-miner-updates.lua @@ -53,8 +53,8 @@ if settings.startup["bobmods-mining-waterminers"].value == true and data.raw["re bobmods.lib.recipe.replace_ingredient("bob-water-miner-4", "steel-plate", "bob-titanium-plate") bobmods.lib.tech.add_prerequisite("bob-water-miner-4", "bob-titanium-processing") else - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-water-miner-4", "steel-plate", "bob-tungsten-plate") + if data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-water-miner-4", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-water-miner-4", "bob-tungsten-processing") end end From 92fdf89e7f207502c7d745221f6bbf22d01d307f Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 10:27:20 -0700 Subject: [PATCH 40/59] Update axes.lua --- bobmining/prototypes/axes.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/bobmining/prototypes/axes.lua b/bobmining/prototypes/axes.lua index ce516827a..c878989cb 100644 --- a/bobmining/prototypes/axes.lua +++ b/bobmining/prototypes/axes.lua @@ -53,7 +53,7 @@ if settings.startup["bobmods-mining-miningaxes"].value == true then }, }, prerequisites = { "bob-steel-axe-3", "bob-tungsten-processing" }, - research_trigger = { type = "craft-item", item = "bob-tungsten-plate", count = 50 }, + research_trigger = { type = "craft-item", item = "tungsten-plate", count = 50 }, upgrade = true, }, { @@ -89,6 +89,12 @@ if settings.startup["bobmods-mining-miningaxes"].value == true then upgrade = true, }, }) + + if mods["space-age"] then + data.raw.technology["bob-steel-axe-4"].localised_name = { "technology-name.bob-stainless-steel-axe" } + data.raw.technology["bob-steel-axe-4"].research_trigger = { type = "craft-item", item = "bob-stainless-steel-alloy", count = 50 } + end + else data:extend({ { From b0c7fc483fbbeaad2e7c85a7a1f506c766fce76b Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 10:27:52 -0700 Subject: [PATCH 41/59] Update bobmining.cfg --- bobmining/locale/en/bobmining.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/bobmining/locale/en/bobmining.cfg b/bobmining/locale/en/bobmining.cfg index c3334a359..43800417a 100644 --- a/bobmining/locale/en/bobmining.cfg +++ b/bobmining/locale/en/bobmining.cfg @@ -58,6 +58,7 @@ bob-water-miner=Water pumpjacks research bob-bronze-axe=Bronze axe bob-cobalt-steel-axe=Cobalt steel axe bob-tungsten-axe=Tungsten axe +bob-stainless-steel-axe=Stainless steel axe bob-nitinol-axe=Nitinol axe bob-diamond-axe=Diamond axe From 5de32da0944d3046721851f2e9fd07ad301db423 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 10:32:15 -0700 Subject: [PATCH 42/59] Update pipes.lua --- boblogistics/prototypes/item/pipes.lua | 60 +++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/boblogistics/prototypes/item/pipes.lua b/boblogistics/prototypes/item/pipes.lua index 86c2598d1..7d9a3d385 100644 --- a/boblogistics/prototypes/item/pipes.lua +++ b/boblogistics/prototypes/item/pipes.lua @@ -317,7 +317,7 @@ if data.raw.item["bob-titanium-plate"] then }) end -if data.raw.item["bob-tungsten-plate"] then +if data.raw.item["tungsten-plate"] then data:extend({ { type = "item", @@ -415,3 +415,61 @@ if data.raw.item["bob-copper-tungsten-alloy"] then }, }) end + +if mods["space-age"] then + if data.raw.item["tungsten-plate"] then + data.raw.item["bob-tungsten-pipe"].order = "a[pipe]-a[pipe]-5-1a" + data.raw.item["bob-tungsten-pipe-to-ground"].order = "a[pipe]-b[pipe-to-ground]-5-1a" + end + if data.raw.item["bob-stainless-steel-alloy"] then + data:extend({ + { + type = "item", + name = "bob-stainless-steel-pipe", + icon = "__boblogistics__/graphics/icons/pipe/ceramic-pipe.png", + icon_size = 64, + subgroup = "bob-pipe", + order = "a[pipe]-a[pipe]-4-0", + place_result = "bob-stainless-steel-pipe", + stack_size = 100, + drop_sound = { + filename = "__base__/sound/item/brick-inventory-move.ogg", + volume = 0.5, + }, + inventory_move_sound = { + filename = "__base__/sound/item/brick-inventory-move.ogg", + volume = 0.5, + }, + pick_sound = { + filename = "__base__/sound/item/brick-inventory-pickup.ogg", + volume = 0.6, + }, + weight = 5000, + }, + + { + type = "item", + name = "bob-stainless-steel-pipe-to-ground", + icon = "__boblogistics__/graphics/icons/pipe/ceramic-pipe-to-ground.png", + icon_size = 64, + subgroup = "bob-pipe-to-ground", + order = "a[pipe]-b[pipe-to-ground]-4-0", + place_result = "bob-stainless-steel-pipe-to-ground", + stack_size = 50, + drop_sound = { + filename = "__base__/sound/item/brick-inventory-move.ogg", + volume = 0.5, + }, + inventory_move_sound = { + filename = "__base__/sound/item/brick-inventory-move.ogg", + volume = 0.5, + }, + pick_sound = { + filename = "__base__/sound/item/brick-inventory-pickup.ogg", + volume = 0.6, + }, + weight = 20000, + }, + }) + end +end From f16f577404283036f5eb1caf4e00aaeaaa52b344 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 10:37:04 -0700 Subject: [PATCH 43/59] Update pipes.lua --- boblogistics/prototypes/entity/pipes.lua | 196 ++++++++++++++++++----- 1 file changed, 156 insertions(+), 40 deletions(-) diff --git a/boblogistics/prototypes/entity/pipes.lua b/boblogistics/prototypes/entity/pipes.lua index 336ed53b7..7c983344b 100644 --- a/boblogistics/prototypes/entity/pipes.lua +++ b/boblogistics/prototypes/entity/pipes.lua @@ -254,7 +254,7 @@ local function bob_pipepictures(pipe_type) ending_left_disabled_visualization = make_disabled_visualization(8), } - if feature_flags["freezing"] and mods["space-age"] then + if mods["space-age"] then pipepictures.corner_down_left_frozen = { filename = "__space-age__/graphics/entity/frozen/pipe/pipe-corner-down-left.png", width = 128, @@ -916,7 +916,7 @@ data:extend({ }, }) -if feature_flags["freezing"] and mods["space-age"] then +if feature_flags["freezing"] then data.raw.pipe["bob-copper-pipe"].heating_energy = "1kW" data.raw.pipe["bob-plastic-pipe"].heating_energy = "1kW" data.raw.pipe["bob-steel-pipe"].heating_energy = "1kW" @@ -926,20 +926,28 @@ if feature_flags["freezing"] and mods["space-age"] then data.raw["pipe-to-ground"]["bob-stone-pipe-to-ground"].heating_energy = "100kW" data.raw["pipe-to-ground"]["bob-steel-pipe-to-ground"].heating_energy = "150kW" data.raw["pipe-to-ground"]["bob-plastic-pipe-to-ground"].heating_energy = "200kW" - local ptgfrozenpatch = data.raw["pipe-to-ground"]["pipe-to-ground"].frozen_patch - data.raw["pipe-to-ground"]["bob-copper-pipe-to-ground"].frozen_patch = ptgfrozenpatch - data.raw["pipe-to-ground"]["bob-stone-pipe-to-ground"].frozen_patch = ptgfrozenpatch - data.raw["pipe-to-ground"]["bob-steel-pipe-to-ground"].frozen_patch = ptgfrozenpatch - data.raw["pipe-to-ground"]["bob-plastic-pipe-to-ground"].frozen_patch = ptgfrozenpatch - local pcfrozenpatch = data.raw.pipe.pipe.fluid_box.pipe_covers_frozen - data.raw.pipe["bob-copper-pipe"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw.pipe["bob-plastic-pipe"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw.pipe["bob-steel-pipe"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw.pipe["bob-stone-pipe"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw["pipe-to-ground"]["bob-copper-pipe-to-ground"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw["pipe-to-ground"]["bob-stone-pipe-to-ground"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw["pipe-to-ground"]["bob-steel-pipe-to-ground"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw["pipe-to-ground"]["bob-plastic-pipe-to-ground"].fluid_box.pipe_covers_frozen = pcfrozenpatch + if mods["space-age"] then + local function frozenpatch() + local result = util.table.deepcopy(data.raw["pipe-to-ground"]["pipe-to-ground"].frozen_patch) + return result + end + data.raw["pipe-to-ground"]["bob-copper-pipe-to-ground"].frozen_patch = frozenpatch() + data.raw["pipe-to-ground"]["bob-stone-pipe-to-ground"].frozen_patch = frozenpatch() + data.raw["pipe-to-ground"]["bob-steel-pipe-to-ground"].frozen_patch = frozenpatch() + data.raw["pipe-to-ground"]["bob-plastic-pipe-to-ground"].frozen_patch = frozenpatch() + local function frozenpatch2() + local result = util.table.deepcopy(data.raw.pipe.pipe.fluid_box.pipe_covers_frozen) + return result + end + data.raw.pipe["bob-copper-pipe"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw.pipe["bob-plastic-pipe"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw.pipe["bob-steel-pipe"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw.pipe["bob-stone-pipe"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw["pipe-to-ground"]["bob-copper-pipe-to-ground"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw["pipe-to-ground"]["bob-stone-pipe-to-ground"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw["pipe-to-ground"]["bob-steel-pipe-to-ground"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw["pipe-to-ground"]["bob-plastic-pipe-to-ground"].fluid_box.pipe_covers_frozen = frozenpatch2() + end end if mods["bobplates"] then @@ -1533,7 +1541,7 @@ if mods["bobplates"] then }, }) - if feature_flags["freezing"] and mods["space-age"] then + if feature_flags["freezing"] then data.raw.pipe["bob-brass-pipe"].heating_energy = "1kW" data.raw.pipe["bob-bronze-pipe"].heating_energy = "1kW" data.raw.pipe["bob-ceramic-pipe"].heating_energy = "1kW" @@ -1548,29 +1556,131 @@ if mods["bobplates"] then data.raw["pipe-to-ground"]["bob-tungsten-pipe-to-ground"].heating_energy = "250kW" data.raw["pipe-to-ground"]["bob-copper-tungsten-pipe-to-ground"].heating_energy = "300kW" data.raw["pipe-to-ground"]["bob-nitinol-pipe-to-ground"].heating_energy = "300kW" - local ptgfrozenpatch = data.raw["pipe-to-ground"]["pipe-to-ground"].frozen_patch - data.raw["pipe-to-ground"]["bob-bronze-pipe-to-ground"].frozen_patch = ptgfrozenpatch - data.raw["pipe-to-ground"]["bob-brass-pipe-to-ground"].frozen_patch = ptgfrozenpatch - data.raw["pipe-to-ground"]["bob-ceramic-pipe-to-ground"].frozen_patch = ptgfrozenpatch - data.raw["pipe-to-ground"]["bob-titanium-pipe-to-ground"].frozen_patch = ptgfrozenpatch - data.raw["pipe-to-ground"]["bob-tungsten-pipe-to-ground"].frozen_patch = ptgfrozenpatch - data.raw["pipe-to-ground"]["bob-copper-tungsten-pipe-to-ground"].frozen_patch = ptgfrozenpatch - data.raw["pipe-to-ground"]["bob-nitinol-pipe-to-ground"].frozen_patch = ptgfrozenpatch - local pcfrozenpatch = data.raw.pipe.pipe.fluid_box.pipe_covers_frozen - data.raw.pipe["bob-brass-pipe"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw.pipe["bob-bronze-pipe"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw.pipe["bob-ceramic-pipe"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw.pipe["bob-copper-tungsten-pipe"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw.pipe["bob-nitinol-pipe"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw.pipe["bob-titanium-pipe"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw.pipe["bob-tungsten-pipe"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw["pipe-to-ground"]["bob-bronze-pipe-to-ground"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw["pipe-to-ground"]["bob-brass-pipe-to-ground"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw["pipe-to-ground"]["bob-ceramic-pipe-to-ground"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw["pipe-to-ground"]["bob-titanium-pipe-to-ground"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw["pipe-to-ground"]["bob-tungsten-pipe-to-ground"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw["pipe-to-ground"]["bob-copper-tungsten-pipe-to-ground"].fluid_box.pipe_covers_frozen = pcfrozenpatch - data.raw["pipe-to-ground"]["bob-nitinol-pipe-to-ground"].fluid_box.pipe_covers_frozen = pcfrozenpatch + if mods["space-age"] then + local function frozenpatch() + local result = util.table.deepcopy(data.raw["pipe-to-ground"]["pipe-to-ground"].frozen_patch) + return result + end + data.raw["pipe-to-ground"]["bob-bronze-pipe-to-ground"].frozen_patch = frozenpatch() + data.raw["pipe-to-ground"]["bob-brass-pipe-to-ground"].frozen_patch = frozenpatch() + data.raw["pipe-to-ground"]["bob-ceramic-pipe-to-ground"].frozen_patch = frozenpatch() + data.raw["pipe-to-ground"]["bob-titanium-pipe-to-ground"].frozen_patch = frozenpatch() + data.raw["pipe-to-ground"]["bob-tungsten-pipe-to-ground"].frozen_patch = frozenpatch() + data.raw["pipe-to-ground"]["bob-copper-tungsten-pipe-to-ground"].frozen_patch = frozenpatch() + data.raw["pipe-to-ground"]["bob-nitinol-pipe-to-ground"].frozen_patch = frozenpatch() + local function frozenpatch2() + local result = util.table.deepcopy(data.raw.pipe.pipe.fluid_box.pipe_covers_frozen) + return result + end + data.raw.pipe["bob-brass-pipe"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw.pipe["bob-bronze-pipe"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw.pipe["bob-ceramic-pipe"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw.pipe["bob-copper-tungsten-pipe"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw.pipe["bob-nitinol-pipe"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw.pipe["bob-titanium-pipe"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw.pipe["bob-tungsten-pipe"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw["pipe-to-ground"]["bob-bronze-pipe-to-ground"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw["pipe-to-ground"]["bob-brass-pipe-to-ground"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw["pipe-to-ground"]["bob-ceramic-pipe-to-ground"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw["pipe-to-ground"]["bob-titanium-pipe-to-ground"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw["pipe-to-ground"]["bob-tungsten-pipe-to-ground"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw["pipe-to-ground"]["bob-copper-tungsten-pipe-to-ground"].fluid_box.pipe_covers_frozen = frozenpatch2() + data.raw["pipe-to-ground"]["bob-nitinol-pipe-to-ground"].fluid_box.pipe_covers_frozen = frozenpatch2() + end + end + + if mods["space-age"] then + data.raw["pipe-to-ground"]["bob-tungsten-pipe-to-ground"].heating_energy = "300kW" + data:extend({ + { + type = "pipe", + name = "bob-stainless-steel-pipe", + icon = "__boblogistics__/graphics/icons/pipe/tungsten-pipe.png", + icon_size = 64, + flags = { "placeable-neutral", "player-creation" }, + minable = { mining_time = 0.4, result = "bob-stainless-steel-pipe" }, + max_health = 250, + corpse = "small-remnants", + icon_draw_specification = { scale = 0.5 }, + resistances = { + { + type = "fire", + percent = 90, + }, + }, + fast_replaceable_group = "pipe", + collision_box = { { -0.29, -0.29 }, { 0.29, 0.29 } }, + selection_box = { { -0.5, -0.5 }, { 0.5, 0.5 } }, + fluid_box = { + volume = 100, + pipe_connections = { + { position = { 0, 0 }, direction = defines.direction.north }, + { position = { 0, 0 }, direction = defines.direction.east }, + { position = { 0, 0 }, direction = defines.direction.south }, + { position = { 0, 0 }, direction = defines.direction.west }, + }, + pipe_covers_frozen = util.table.deepcopy(data.raw.pipe.pipe.fluid_box.pipe_covers_frozen), + hide_connection_info = true, + }, + heating_energy = "1kW", + pictures = bob_pipepictures("tungsten"), + impact_category = "metal", + working_sound = { + sound = { + { + filename = "__base__/sound/pipe.ogg", + volume = 0.65, + }, + }, + match_volume_to_activity = true, + max_sounds_per_prototype = 3, + }, + horizontal_window_bounding_box = { { -0.25, -0.25 }, { 0.25, 0.15625 } }, + vertical_window_bounding_box = { { -0.28125, -0.5 }, { 0.03125, 0.125 } }, + }, + + { + type = "pipe-to-ground", + name = "bob-stainless-steel-pipe-to-ground", + icon = "__boblogistics__/graphics/icons/pipe/tungsten-pipe-to-ground.png", + icon_size = 64, + flags = { "placeable-neutral", "player-creation" }, + minable = { mining_time = 0.4, result = "bob-stainless-steel-pipe-to-ground" }, + max_health = 300, + corpse = "small-remnants", + icon_draw_specification = { scale = 0.5 }, + resistances = { + { + type = "fire", + percent = 80, + }, + }, + fast_replaceable_group = "pipe", + collision_box = { { -0.29, -0.29 }, { 0.29, 0.2 } }, + selection_box = { { -0.5, -0.5 }, { 0.5, 0.5 } }, + fluid_box = { + volume = 100, + pipe_covers = bob_pipecoverspictures("tungsten"), + pipe_connections = { + { position = { 0, 0 }, direction = defines.direction.north }, + { + position = { 0, 0 }, + direction = defines.direction.south, + connection_type = "underground", + max_underground_distance = 25, + }, + }, + pipe_covers_frozen = util.table.deepcopy(data.raw.pipe.pipe.fluid_box.pipe_covers_frozen), + hide_connection_info = true, + }, + heating_energy = "250kW", + pictures = bob_pipetogroundpictures("tungsten"), + frozen_patch = util.table.deepcopy(data.raw["pipe-to-ground"]["pipe-to-ground"].frozen_patch), + visualization = bob_pipetoground_visualization(), + disabled_visualization = bob_pipetoground_disabled_visualizaton(), + impact_category = "metal", + }, + }) end end @@ -1587,4 +1697,10 @@ if settings.startup["bobmods-logistics-ugdistanceoverhaul"].value == true then bobmods.logistics.set_pipe_distance("bob-tungsten-pipe-to-ground", 4) bobmods.logistics.set_pipe_distance("bob-nitinol-pipe-to-ground", 5) bobmods.logistics.set_pipe_distance("bob-copper-tungsten-pipe-to-ground", 5) + if mods["space-age"] then + bobmods.logistics.set_pipe_distance("bob-stainless-steel-pipe-to-ground", 4) + bobmods.logistics.set_pipe_distance("bob-tungsten-pipe-to-ground", 5) + else + bobmods.logistics.set_pipe_distance("bob-tungsten-pipe-to-ground", 4) + end end From 3acb118b1604d5dce017a7d672575fc908c8ab88 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 10:40:38 -0700 Subject: [PATCH 44/59] Update pipes-recipe.lua --- .../prototypes/recipe/pipes-recipe.lua | 37 +++++++++++++++++-- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/boblogistics/prototypes/recipe/pipes-recipe.lua b/boblogistics/prototypes/recipe/pipes-recipe.lua index 02bb566b7..e16aac486 100644 --- a/boblogistics/prototypes/recipe/pipes-recipe.lua +++ b/boblogistics/prototypes/recipe/pipes-recipe.lua @@ -184,14 +184,14 @@ if data.raw.item["bob-titanium-plate"] then }) end -if data.raw.item["bob-tungsten-plate"] then +if data.raw.item["tungsten-plate"] then data:extend({ { type = "recipe", name = "bob-tungsten-pipe", enabled = false, ingredients = { - { type = "item", name = "bob-tungsten-plate", amount = 1 }, + { type = "item", name = "tungsten-plate", amount = 1 }, }, results = { { type = "item", name = "bob-tungsten-pipe", amount = 1 } }, }, @@ -202,11 +202,17 @@ if data.raw.item["bob-tungsten-plate"] then enabled = false, ingredients = { { type = "item", name = "bob-tungsten-pipe", amount = 16 }, - { type = "item", name = "bob-tungsten-plate", amount = 5 }, + { type = "item", name = "tungsten-plate", amount = 5 }, }, results = { { type = "item", name = "bob-tungsten-pipe-to-ground", amount = 2 } }, }, }) + if mods["space-age"] then + data.raw.recipe["bob-tungsten-pipe-to-ground"].ingredients = { + { type = "item", name = "bob-tungsten-pipe", amount = 18 }, + { type = "item", name = "tungsten-plate", amount = 5 }, + } + end end if data.raw.item["bob-nitinol-alloy"] then @@ -258,3 +264,28 @@ if data.raw.item["bob-copper-tungsten-alloy"] then }, }) end + +if data.raw.item["bob-stainless-steel-alloy"] then + data:extend({ + { + type = "recipe", + name = "bob-stainless-steel-pipe", + enabled = false, + ingredients = { + { type = "item", name = "bob-stainless-steel-alloy", amount = 1 }, + }, + results = { { type = "item", name = "bob-stainless-steel-pipe", amount = 1 } }, + }, + + { + type = "recipe", + name = "bob-stainless-steel-pipe-to-ground", + enabled = false, + ingredients = { + { type = "item", name = "bob-stainless-steel-pipe", amount = 16 }, + { type = "item", name = "bob-stainless-steel-alloy", amount = 5 }, + }, + results = { { type = "item", name = "bob-stainless-steel-pipe-to-ground", amount = 2 } }, + }, + }) +end From 74fd6b764848de2dfd92c0cc51c786868c189468 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 11:30:23 -0700 Subject: [PATCH 45/59] Update robots-recipe-updates.lua --- boblogistics/prototypes/recipe/robots-recipe-updates.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/boblogistics/prototypes/recipe/robots-recipe-updates.lua b/boblogistics/prototypes/recipe/robots-recipe-updates.lua index aafe64b10..4b24bccf3 100644 --- a/boblogistics/prototypes/recipe/robots-recipe-updates.lua +++ b/boblogistics/prototypes/recipe/robots-recipe-updates.lua @@ -269,10 +269,10 @@ if data.raw.recipe["bob-robot-tool-construction"] then { type = "item", name = "bob-nitinol-bearing", amount = 1 } ) end - if data.raw.item["bob-tungsten-carbide"] then + if data.raw.item["tungsten-carbide"] then bobmods.lib.recipe.add_ingredient( "bob-robot-tool-logistic-4", - { type = "item", name = "bob-tungsten-carbide", amount = 1 } + { type = "item", name = "tungsten-carbide", amount = 1 } ) bobmods.lib.tech.add_prerequisite("bob-robots-3", "bob-tungsten-alloy-processing") end From ed3cc8f1f39746e6c6d67cc21a884771861c2494 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 11:35:22 -0700 Subject: [PATCH 46/59] Update train-recipe-updates.lua --- .../recipe/train-recipe-updates.lua | 45 +++++++++++++++---- 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/boblogistics/prototypes/recipe/train-recipe-updates.lua b/boblogistics/prototypes/recipe/train-recipe-updates.lua index 581ef6afc..a2d205f75 100644 --- a/boblogistics/prototypes/recipe/train-recipe-updates.lua +++ b/boblogistics/prototypes/recipe/train-recipe-updates.lua @@ -37,7 +37,26 @@ if settings.startup["bobmods-logistics-trains"].value == true then bobmods.lib.tech.add_prerequisite("bob-armoured-fluid-wagon", "bob-titanium-processing") end - if data.raw.item["bob-titanium-bearing"] then + if mods["space-age"] and data.raw.item["bob-stainless-steel-bearing"] then + bobmods.lib.recipe.add_ingredient("bob-locomotive-3", { type = "item", name = "bob-stainless-steel-bearing", amount = 16 }) + bobmods.lib.recipe.add_ingredient("bob-cargo-wagon-3", { type = "item", name = "bob-stainless-steel-bearing", amount = 8 }) + bobmods.lib.recipe.add_ingredient("bob-fluid-wagon-3", { type = "item", name = "bob-stainless-steel-bearing", amount = 8 }) + + bobmods.lib.recipe.add_ingredient( + "bob-armoured-locomotive-2", + { type = "item", name = "bob-stainless-steel-bearing", amount = 16 } + ) + bobmods.lib.recipe.add_ingredient( + "bob-armoured-cargo-wagon-2", + { type = "item", name = "bob-stainless-steel-bearing", amount = 8 } + ) + bobmods.lib.recipe.add_ingredient( + "bob-armoured-fluid-wagon-2", + { type = "item", name = "bob-stainless-steel-bearing", amount = 8 } + ) + bobmods.lib.tech.add_prerequisite("bob-railway-3", "bob-tungsten-processing") + bobmods.lib.tech.add_prerequisite("bob-fluid-wagon-3", "bob-tungsten-processing") + elseif data.raw.item["bob-titanium-bearing"] then bobmods.lib.recipe.add_ingredient("bob-locomotive-3", { type = "item", name = "bob-titanium-bearing", amount = 16 }) bobmods.lib.recipe.add_ingredient("bob-cargo-wagon-3", { type = "item", name = "bob-titanium-bearing", amount = 8 }) bobmods.lib.recipe.add_ingredient("bob-fluid-wagon-3", { type = "item", name = "bob-titanium-bearing", amount = 8 }) @@ -73,7 +92,15 @@ if settings.startup["bobmods-logistics-trains"].value == true then ) end - if data.raw.item["bob-titanium-gear-wheel"] then + if mods["space-age"] and data.raw.item["bob-stainless-steel-gear-wheel"] then + bobmods.lib.recipe.replace_ingredient("bob-locomotive-3", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") + bobmods.lib.recipe.replace_ingredient("bob-cargo-wagon-3", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") + bobmods.lib.recipe.replace_ingredient("bob-fluid-wagon-3", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") + + bobmods.lib.recipe.replace_ingredient("bob-armoured-locomotive-2", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") + bobmods.lib.recipe.replace_ingredient("bob-armoured-cargo-wagon-2", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") + bobmods.lib.recipe.replace_ingredient("bob-armoured-fluid-wagon-2", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") + elseif data.raw.item["bob-titanium-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-locomotive-3", "iron-gear-wheel", "bob-titanium-gear-wheel") bobmods.lib.recipe.replace_ingredient("bob-cargo-wagon-3", "iron-gear-wheel", "bob-titanium-gear-wheel") bobmods.lib.recipe.replace_ingredient("bob-fluid-wagon-3", "iron-gear-wheel", "bob-titanium-gear-wheel") @@ -83,14 +110,14 @@ if settings.startup["bobmods-logistics-trains"].value == true then bobmods.lib.recipe.replace_ingredient("bob-armoured-fluid-wagon-2", "iron-gear-wheel", "bob-titanium-gear-wheel") end - if data.raw.item["bob-tungsten-carbide"] then + if data.raw.item["tungsten-carbide"] then bobmods.lib.tech.add_prerequisite("bob-armoured-railway-2", "bob-tungsten-alloy-processing") bobmods.lib.tech.add_prerequisite("bob-armoured-fluid-wagon-2", "bob-tungsten-alloy-processing") if data.raw.item["bob-silicon-nitride"] then bobmods.lib.recipe.remove_ingredient("bob-armoured-locomotive-2", "steel-plate") bobmods.lib.recipe.add_ingredient( "bob-armoured-locomotive-2", - { type = "item", name = "bob-tungsten-carbide", amount = 15 } + { type = "item", name = "tungsten-carbide", amount = 15 } ) bobmods.lib.recipe.add_ingredient( "bob-armoured-locomotive-2", @@ -100,7 +127,7 @@ if settings.startup["bobmods-logistics-trains"].value == true then bobmods.lib.recipe.remove_ingredient("bob-armoured-cargo-wagon-2", "steel-plate") bobmods.lib.recipe.add_ingredient( "bob-armoured-cargo-wagon-2", - { type = "item", name = "bob-tungsten-carbide", amount = 15 } + { type = "item", name = "tungsten-carbide", amount = 15 } ) bobmods.lib.recipe.add_ingredient( "bob-armoured-cargo-wagon-2", @@ -110,7 +137,7 @@ if settings.startup["bobmods-logistics-trains"].value == true then bobmods.lib.recipe.remove_ingredient("bob-armoured-fluid-wagon-2", "steel-plate") bobmods.lib.recipe.add_ingredient( "bob-armoured-fluid-wagon-2", - { type = "item", name = "bob-tungsten-carbide", amount = 15 } + { type = "item", name = "tungsten-carbide", amount = 15 } ) bobmods.lib.recipe.add_ingredient( "bob-armoured-fluid-wagon-2", @@ -120,9 +147,9 @@ if settings.startup["bobmods-logistics-trains"].value == true then bobmods.lib.tech.add_prerequisite("bob-armoured-railway-2", "bob-ceramics") bobmods.lib.tech.add_prerequisite("bob-armoured-fluid-wagon-2", "bob-ceramics") else - bobmods.lib.recipe.replace_ingredient("bob-armoured-locomotive-2", "steel-plate", "bob-tungsten-carbide") - bobmods.lib.recipe.replace_ingredient("bob-armoured-cargo-wagon-2", "steel-plate", "bob-tungsten-carbide") - bobmods.lib.recipe.replace_ingredient("bob-armoured-fluid-wagon-2", "steel-plate", "bob-tungsten-carbide") + bobmods.lib.recipe.replace_ingredient("bob-armoured-locomotive-2", "steel-plate", "tungsten-carbide") + bobmods.lib.recipe.replace_ingredient("bob-armoured-cargo-wagon-2", "steel-plate", "tungsten-carbide") + bobmods.lib.recipe.replace_ingredient("bob-armoured-fluid-wagon-2", "steel-plate", "tungsten-carbide") end else if data.raw.item["bob-silicon-nitride"] then From 5ab8df872bdda93e9dfa74c56c881ee4ca6447dd Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 11:37:46 -0700 Subject: [PATCH 47/59] Update repair-pack-updates.lua --- boblogistics/prototypes/repair-pack-updates.lua | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/boblogistics/prototypes/repair-pack-updates.lua b/boblogistics/prototypes/repair-pack-updates.lua index ea996bcac..06cee50f8 100644 --- a/boblogistics/prototypes/repair-pack-updates.lua +++ b/boblogistics/prototypes/repair-pack-updates.lua @@ -19,7 +19,10 @@ if data.raw.item["bob-titanium-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-repair-pack-4", "iron-gear-wheel", "bob-titanium-gear-wheel") end -if data.raw.item["bob-titanium-bearing"] then +if mods["space-age"] and data.raw.item["bob-stainless-steel-bearing"] then + bobmods.lib.recipe.add_ingredient("bob-repair-pack-4", { type = "item", name = "bob-stainless-steel-bearing", amount = 1 }) + bobmods.lib.tech.add_prerequisite("bob-repair-pack-5", "bob-tungsten-processing") +elseif data.raw.item["bob-titanium-bearing"] then bobmods.lib.recipe.add_ingredient("bob-repair-pack-4", { type = "item", name = "bob-titanium-bearing", amount = 1 }) end @@ -42,7 +45,7 @@ if data.raw.item["bob-advanced-processing-unit"] then bobmods.lib.tech.add_prerequisite("bob-repair-pack-5", "bob-advanced-processing-unit") end -if data.raw.item["bob-tungsten-carbide"] then - bobmods.lib.recipe.replace_ingredient("bob-repair-pack-5", "steel-plate", "bob-tungsten-carbide") +if data.raw.item["tungsten-carbide"] then + bobmods.lib.recipe.replace_ingredient("bob-repair-pack-5", "steel-plate", "tungsten-carbide") bobmods.lib.tech.add_prerequisite("bob-repair-pack-5", "bob-tungsten-alloy-processing") end From a4e1645641d86b502f44c06952371558f2eb95f3 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 11:42:16 -0700 Subject: [PATCH 48/59] Update technology-updates.lua --- .../prototypes/technology-updates.lua | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/boblogistics/prototypes/technology-updates.lua b/boblogistics/prototypes/technology-updates.lua index 23d7a8d3a..e4e7a3350 100644 --- a/boblogistics/prototypes/technology-updates.lua +++ b/boblogistics/prototypes/technology-updates.lua @@ -342,8 +342,15 @@ if data.raw.technology["bob-titanium-processing"] then end if data.raw.technology["bob-tungsten-processing"] then - bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-tungsten-pipe") - bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-tungsten-pipe-to-ground") + if not mods["space-age"] then + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-tungsten-pipe") + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-tungsten-pipe-to-ground") + else + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-stainless-steel-pipe") + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-processing", "bob-stainless-steel-pipe-to-ground") + bobmods.lib.tech.add_recipe_unlock("tungsten-steel", "bob-tungsten-pipe") + bobmods.lib.tech.add_recipe_unlock("tungsten-steel", "bob-tungsten-pipe-to-ground") + end end if data.raw.technology["bob-ceramics"] then @@ -352,8 +359,13 @@ if data.raw.technology["bob-ceramics"] then end if data.raw.technology["bob-tungsten-alloy-processing"] then - bobmods.lib.tech.add_recipe_unlock("bob-tungsten-alloy-processing", "bob-copper-tungsten-pipe") - bobmods.lib.tech.add_recipe_unlock("bob-tungsten-alloy-processing", "bob-copper-tungsten-pipe-to-ground") + if not mods["space-age"] then + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-alloy-processing", "bob-copper-tungsten-pipe") + bobmods.lib.tech.add_recipe_unlock("bob-tungsten-alloy-processing", "bob-copper-tungsten-pipe-to-ground") + else + bobmods.lib.tech.add_recipe_unlock("tungsten-steel", "bob-copper-tungsten-pipe") + bobmods.lib.tech.add_recipe_unlock("tungsten-steel", "bob-copper-tungsten-pipe-to-ground") + end end if data.raw.technology["bob-nitinol-processing"] then From 120562a44938c0548422ce3c72d3fa7daba3259e Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 11:43:13 -0700 Subject: [PATCH 49/59] Update boblogistics.cfg --- boblogistics/locale/en/boblogistics.cfg | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/boblogistics/locale/en/boblogistics.cfg b/boblogistics/locale/en/boblogistics.cfg index b8c0dc7f8..096f8c946 100644 --- a/boblogistics/locale/en/boblogistics.cfg +++ b/boblogistics/locale/en/boblogistics.cfg @@ -131,6 +131,7 @@ bob-brass-pipe=Brass pipe bob-titanium-pipe=Titanium pipe bob-ceramic-pipe=Ceramic pipe bob-tungsten-pipe=Tungsten pipe +bob-stainless-steel-pipe=Stainless steel pipe bob-copper-pipe-to-ground=Copper pipe-to-ground @@ -143,6 +144,7 @@ bob-brass-pipe-to-ground=Brass pipe-to-ground bob-titanium-pipe-to-ground=Titanium pipe-to-ground bob-ceramic-pipe-to-ground=Ceramic pipe-to-ground bob-tungsten-pipe-to-ground=Tungsten pipe-to-ground +bob-stainless-steel-pipe-to-ground=Stainless steel pipe-to-ground bob-pump-2=Pump 2 @@ -283,6 +285,7 @@ bob-ceramic-pipe=Ceramic pipe bob-tungsten-pipe=Tungsten pipe bob-nitinol-pipe=Nitinol pipe bob-copper-tungsten-pipe=Copper tungsten pipe +bob-stainless-steel-pipe=Stainless steel pipe bob-copper-pipe-to-ground=Copper pipe-to-ground @@ -297,6 +300,7 @@ bob-ceramic-pipe-to-ground=Ceramic pipe-to-ground bob-tungsten-pipe-to-ground=Tungsten pipe-to-ground bob-nitinol-pipe-to-ground=Nitinol pipe-to-ground bob-copper-tungsten-pipe-to-ground=Copper tungsten pipe-to-ground +bob-stainless-steel-pipe-to-ground=Stainless steel pipe-to-ground bob-pump-2=Pump 2 From cd045e8fe82083f99f57320a7eac8f1406147824 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 12:54:30 -0700 Subject: [PATCH 50/59] Update assembly-electronics-updates.lua --- bobassembly/prototypes/assembly-electronics-updates.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bobassembly/prototypes/assembly-electronics-updates.lua b/bobassembly/prototypes/assembly-electronics-updates.lua index b159c279c..48c51267f 100644 --- a/bobassembly/prototypes/assembly-electronics-updates.lua +++ b/bobassembly/prototypes/assembly-electronics-updates.lua @@ -41,8 +41,8 @@ if settings.startup["bobmods-assembly-electronicmachines"].value == true then if data.raw.item["bob-copper-tungsten-alloy"] then bobmods.lib.recipe.replace_ingredient("bob-electronics-machine-3", "iron-plate", "bob-copper-tungsten-alloy") bobmods.lib.tech.add_prerequisite("bob-electronics-machine-3", "bob-tungsten-alloy-processing") - elseif data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-electronics-machine-3", "iron-plate", "bob-tungsten-plate") + elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-electronics-machine-3", "iron-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-electronics-machine-3", "bob-tungsten-processing") end From 5e5e3694c2170653f1316a244818021956fe5f1d Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 13:00:59 -0700 Subject: [PATCH 51/59] Update assembly-updates.lua --- bobassembly/prototypes/assembly-updates.lua | 29 ++++++++++++++------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/bobassembly/prototypes/assembly-updates.lua b/bobassembly/prototypes/assembly-updates.lua index fbdbc183d..36cba24ae 100644 --- a/bobassembly/prototypes/assembly-updates.lua +++ b/bobassembly/prototypes/assembly-updates.lua @@ -75,15 +75,23 @@ elseif data.raw.item["bob-steel-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-assembling-machine-4", "iron-gear-wheel", "bob-steel-gear-wheel") end -if data.raw.item["bob-titanium-plate"] then +if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then + bobmods.lib.recipe.replace_ingredient("bob-assembling-machine-5", "steel-plate", "bob-stainless-steel-alloy") + bobmods.lib.tech.add_prerequisite("automation-5", "bob-tungsten-processing") +elseif data.raw.item["bob-titanium-plate"] then bobmods.lib.recipe.replace_ingredient("bob-assembling-machine-5", "steel-plate", "bob-titanium-plate") bobmods.lib.tech.add_prerequisite("automation-5", "bob-titanium-processing") -elseif data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-assembling-machine-5", "steel-plate", "bob-tungsten-plate") +elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-assembling-machine-5", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("automation-5", "bob-tungsten-processing") end -if data.raw.item["bob-titanium-bearing"] then +if mods["space-age"] and data.raw.item["bob-stainless-steel-bearing"] then + bobmods.lib.recipe.add_ingredient( + "bob-assembling-machine-5", + { type = "item", name = "bob-stainless-steel-bearing", amount = 5 } + ) +elseif data.raw.item["bob-titanium-bearing"] then bobmods.lib.recipe.add_ingredient( "bob-assembling-machine-5", { type = "item", name = "bob-titanium-bearing", amount = 5 } @@ -92,7 +100,10 @@ else bobmods.lib.recipe.add_ingredient("bob-assembling-machine-5", { type = "item", name = "iron-gear-wheel", amount = 3 }) end -if data.raw.item["bob-titanium-gear-wheel"] then +if mods["space-age"] and data.raw.item["bob-stainless-steel-gear-wheel"] then + bobmods.lib.recipe.replace_ingredient("bob-assembling-machine-5", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") + bobmods.lib.tech.add_prerequisite("automation-5", "bob-tungsten-processing") +elseif data.raw.item["bob-titanium-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-assembling-machine-5", "iron-gear-wheel", "bob-titanium-gear-wheel") bobmods.lib.tech.add_prerequisite("automation-5", "bob-titanium-processing") elseif data.raw.item["bob-tungsten-gear-wheel"] then @@ -108,11 +119,11 @@ elseif data.raw.item["bob-titanium-plate"] then bobmods.lib.tech.add_prerequisite("automation-6", "bob-titanium-processing") end -if data.raw.item["bob-tungsten-carbide"] then - bobmods.lib.recipe.replace_ingredient("bob-assembling-machine-6", "iron-plate", "bob-tungsten-carbide") +if data.raw.item["tungsten-carbide"] then + bobmods.lib.recipe.replace_ingredient("bob-assembling-machine-6", "iron-plate", "tungsten-carbide") bobmods.lib.tech.add_prerequisite("automation-6", "bob-tungsten-alloy-processing") -elseif data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-assembling-machine-6", "iron-plate", "bob-tungsten-plate") +elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-assembling-machine-6", "iron-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("automation-6", "bob-tungsten-processing") end From 960bdf04df8ca9ee2aa335ac3c2cad9021ffd466 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 13:04:58 -0700 Subject: [PATCH 52/59] Update centrifuge-updates.lua --- bobassembly/prototypes/centrifuge-updates.lua | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/bobassembly/prototypes/centrifuge-updates.lua b/bobassembly/prototypes/centrifuge-updates.lua index 2a4f926b0..1b4898faa 100644 --- a/bobassembly/prototypes/centrifuge-updates.lua +++ b/bobassembly/prototypes/centrifuge-updates.lua @@ -9,11 +9,16 @@ if settings.startup["bobmods-assembly-centrifuge"].value == true then bobmods.lib.tech.add_prerequisite("bob-centrifuge-2", "bob-titanium-processing") end - if data.raw.item["bob-titanium-gear-wheel"] then + if mods["space-age"] and data.raw.item["bob-stainless-steel-gear-wheel"] then + bobmods.lib.recipe.replace_ingredient("bob-centrifuge-2", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") + bobmods.lib.tech.add_prerequisite("bob-steam-turbine-2", "bob-tungsten-processing") + elseif data.raw.item["bob-titanium-gear-wheel"] then bobmods.lib.recipe.replace_ingredient("bob-centrifuge-2", "iron-gear-wheel", "bob-titanium-gear-wheel") end - if data.raw.item["bob-titanium-bearing"] then + if mods["space-age"] and data.raw.item["bob-stainless-steel-bearing"] then + bobmods.lib.recipe.replace_ingredient("bob-centrifuge-2", "iron-gear-wheel", "bob-stainless-steel-bearing") + elseif data.raw.item["bob-titanium-bearing"] then bobmods.lib.recipe.add_ingredient("bob-centrifuge-2", { type = "item", name = "bob-titanium-bearing", amount = 50 }) end @@ -22,8 +27,8 @@ if settings.startup["bobmods-assembly-centrifuge"].value == true then bobmods.lib.tech.add_prerequisite("bob-centrifuge-3", "bob-nitinol-processing") end - if data.raw.item["bob-tungsten-carbide"] then - bobmods.lib.recipe.replace_ingredient("bob-centrifuge-3", "refined-concrete", "bob-tungsten-carbide") + if data.raw.item["tungsten-carbide"] then + bobmods.lib.recipe.replace_ingredient("bob-centrifuge-3", "refined-concrete", "tungsten-carbide") bobmods.lib.tech.add_prerequisite("bob-centrifuge-3", "bob-tungsten-alloy-processing") end From 2bde2cc5dcb9d650b6f83d93d6421b08b1c0d869 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 13:16:14 -0700 Subject: [PATCH 53/59] Update chemical-mixing-furnace-updates.lua --- .../chemical-mixing-furnace-updates.lua | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/bobassembly/prototypes/chemical-mixing-furnace-updates.lua b/bobassembly/prototypes/chemical-mixing-furnace-updates.lua index 79424d76c..9b2955946 100644 --- a/bobassembly/prototypes/chemical-mixing-furnace-updates.lua +++ b/bobassembly/prototypes/chemical-mixing-furnace-updates.lua @@ -18,16 +18,23 @@ then bobmods.lib.tech.add_prerequisite("bob-multi-purpose-furnace-1", "bob-invar-processing") end - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-electric-chemical-mixing-furnace", "stone-brick", "bob-tungsten-plate") + if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then + bobmods.lib.recipe.replace_ingredient("bob-electric-chemical-mixing-furnace", "stone-brick", "bob-stainless-steel-alloy") + bobmods.lib.tech.add_prerequisite("bob-multi-purpose-furnace-1", "bob-tungsten-processing") + elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-electric-chemical-mixing-furnace", "stone-brick", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-multi-purpose-furnace-1", "bob-tungsten-processing") end - if data.raw.item["bob-tungsten-pipe"] then + if mods["space-age"] and data.raw.item["bob-stainless-steel-pipe"] then + bobmods.lib.recipe.replace_ingredient("bob-electric-chemical-mixing-furnace", "pipe", "bob-stainless-steel-pipe") + elseif data.raw.item["bob-tungsten-pipe"] then bobmods.lib.recipe.replace_ingredient("bob-electric-chemical-mixing-furnace", "pipe", "bob-tungsten-pipe") end - if data.raw.item["bob-copper-tungsten-pipe"] then + if mods["space-age"] and data.raw.item["bob-tungsten-pipe"] then + bobmods.lib.recipe.replace_ingredient("bob-electric-chemical-mixing-furnace-2", "pipe", "bob-tungsten-pipe") + elseif data.raw.item["bob-copper-tungsten-pipe"] then bobmods.lib.recipe.replace_ingredient("bob-electric-chemical-mixing-furnace-2", "pipe", "bob-copper-tungsten-pipe") elseif data.raw.item["bob-tungsten-pipe"] then bobmods.lib.recipe.replace_ingredient("bob-electric-chemical-mixing-furnace-2", "pipe", "bob-tungsten-pipe") @@ -42,11 +49,18 @@ then bobmods.lib.tech.add_prerequisite("bob-multi-purpose-furnace-2", "bob-tungsten-alloy-processing") end - if data.raw.item["bob-tungsten-carbide"] then + if mods["space-age"] and data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient( + "bob-electric-chemical-mixing-furnace-2", + "stone-brick", + "tungsten-plate" + ) + bobmods.lib.tech.add_prerequisite("bob-multi-purpose-furnace-2", "metallurgic-science-pack") + elseif data.raw.item["tungsten-carbide"] then bobmods.lib.recipe.replace_ingredient( "bob-electric-chemical-mixing-furnace-2", "stone-brick", - "bob-tungsten-carbide" + "tungsten-carbide" ) bobmods.lib.tech.add_prerequisite("bob-multi-purpose-furnace-2", "bob-tungsten-alloy-processing") end From 032bb4ef60bcb5ea1d931d9683e058cab9c0092d Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 13:23:41 -0700 Subject: [PATCH 54/59] Update electric-furnace-updates.lua --- .../prototypes/electric-furnace-updates.lua | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/bobassembly/prototypes/electric-furnace-updates.lua b/bobassembly/prototypes/electric-furnace-updates.lua index 580aa7e41..bdda6922e 100644 --- a/bobassembly/prototypes/electric-furnace-updates.lua +++ b/bobassembly/prototypes/electric-furnace-updates.lua @@ -7,8 +7,11 @@ if settings.startup["bobmods-assembly-furnaces"].value == true and data.raw.furn bobmods.lib.tech.add_prerequisite("advanced-material-processing-3", "bob-invar-processing") end - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-electric-furnace-2", "stone-brick", "bob-tungsten-plate") + if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then + bobmods.lib.recipe.replace_ingredient("bob-electric-furnace-2", "stone-brick", "bob-stainless-steel-alloy") + bobmods.lib.tech.add_prerequisite("advanced-material-processing-3", "bob-tungsten-processing") + elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-electric-furnace-2", "stone-brick", "tungsten-plate") bobmods.lib.tech.add_prerequisite("advanced-material-processing-3", "bob-tungsten-processing") end @@ -17,8 +20,11 @@ if settings.startup["bobmods-assembly-furnaces"].value == true and data.raw.furn bobmods.lib.tech.add_prerequisite("advanced-material-processing-4", "bob-tungsten-alloy-processing") end - if data.raw.item["bob-tungsten-carbide"] then - bobmods.lib.recipe.replace_ingredient("bob-electric-furnace-3", "stone-brick", "bob-tungsten-carbide") + if mods["space-age"] and data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-electric-furnace-3", "stone-brick", "tungsten-plate") + bobmods.lib.tech.add_prerequisite("advanced-material-processing-4", "metallurgic-science-pack") + elseif data.raw.item["tungsten-carbide"] then + bobmods.lib.recipe.replace_ingredient("bob-electric-furnace-3", "stone-brick", "tungsten-carbide") bobmods.lib.tech.add_prerequisite("advanced-material-processing-4", "bob-tungsten-alloy-processing") end From 33938ccbc8990969c700fc9fbb69de5f525e1d2e Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 13:24:51 -0700 Subject: [PATCH 55/59] Update distillery-updates.lua --- bobassembly/prototypes/distillery-updates.lua | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/bobassembly/prototypes/distillery-updates.lua b/bobassembly/prototypes/distillery-updates.lua index a66097a8b..5af033cc5 100644 --- a/bobassembly/prototypes/distillery-updates.lua +++ b/bobassembly/prototypes/distillery-updates.lua @@ -38,8 +38,11 @@ then bobmods.lib.tech.add_prerequisite("bob-distillery-3", "bob-invar-processing") end - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-distillery-4", "steel-plate", "bob-tungsten-plate") + if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then + bobmods.lib.recipe.replace_ingredient("bob-distillery-4", "steel-plate", "bob-stainless-steel-alloy") + bobmods.lib.tech.add_prerequisite("bob-distillery-4", "bob-tungsten-processing") + elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-distillery-4", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-distillery-4", "bob-tungsten-processing") end @@ -57,7 +60,10 @@ then bobmods.lib.tech.add_prerequisite("bob-distillery-5", "bob-nitinol-processing") end - if data.raw.item["bob-copper-tungsten-pipe"] then + if mods["space-age"] and data.raw.item["bob-tungsten-pipe"] then + bobmods.lib.recipe.replace_ingredient("bob-distillery-5", "pipe", "bob-tungsten-pipe") + bobmods.lib.tech.add_prerequisite("bob-distillery-5", "metallurgic-science-pack") + elseif data.raw.item["bob-copper-tungsten-pipe"] then bobmods.lib.recipe.replace_ingredient("bob-distillery-5", "pipe", "bob-copper-tungsten-pipe") bobmods.lib.tech.add_prerequisite("bob-distillery-5", "bob-tungsten-alloy-processing") elseif data.raw.item["bob-tungsten-pipe"] then From 784740f16b9d238ddbfc56606c4fc667e90ea5b8 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 13:27:25 -0700 Subject: [PATCH 56/59] Update electrolyser-updates.lua --- bobassembly/prototypes/electrolyser-updates.lua | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/bobassembly/prototypes/electrolyser-updates.lua b/bobassembly/prototypes/electrolyser-updates.lua index 86aae6c09..45d031c90 100644 --- a/bobassembly/prototypes/electrolyser-updates.lua +++ b/bobassembly/prototypes/electrolyser-updates.lua @@ -58,8 +58,11 @@ then bobmods.lib.tech.add_prerequisite("bob-electrolyser-4", "bob-titanium-processing") end - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-electrolyser-4", "steel-plate", "bob-tungsten-plate") + if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then + bobmods.lib.recipe.replace_ingredient("bob-electrolyser-4", "steel-plate", "bob-stainless-steel-alloy") + bobmods.lib.tech.add_prerequisite("bob-electrolyser-4", "bob-tungsten-processing") + elseif data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-electrolyser-4", "steel-plate", "tungsten-plate") bobmods.lib.tech.add_prerequisite("bob-electrolyser-4", "bob-tungsten-processing") end @@ -67,8 +70,11 @@ then bobmods.lib.recipe.replace_ingredient("bob-electrolyser-4", "pipe", "bob-ceramic-pipe") end - if data.raw.item["bob-tungsten-carbide"] then - bobmods.lib.recipe.replace_ingredient("bob-electrolyser-5", "plastic-bar", "bob-tungsten-carbide") + if mods["space-age"] and data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-electrolyser-5", "plastic-bar", "tungsten-plate") + bobmods.lib.tech.add_prerequisite("bob-electrolyser-5", "metallurgic-science-pack") + elseif data.raw.item["tungsten-carbide"] then + bobmods.lib.recipe.replace_ingredient("bob-electrolyser-5", "plastic-bar", "tungsten-carbide") end if data.raw.item["bob-nitinol-alloy"] then From 640e55a530e4d0929f5aa4652f80d5b4be99909d Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Mon, 13 Apr 2026 13:29:23 -0700 Subject: [PATCH 57/59] Update oil-refinery-updates.lua --- bobassembly/prototypes/oil-refinery-updates.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bobassembly/prototypes/oil-refinery-updates.lua b/bobassembly/prototypes/oil-refinery-updates.lua index 4dbe59693..bf7e72775 100644 --- a/bobassembly/prototypes/oil-refinery-updates.lua +++ b/bobassembly/prototypes/oil-refinery-updates.lua @@ -77,8 +77,8 @@ if settings.startup["bobmods-assembly-oilrefineries"].value == true then bobmods.lib.recipe.replace_ingredient("bob-oil-refinery-4", "stone-brick", "bob-copper-tungsten-alloy") bobmods.lib.tech.add_prerequisite("oil-processing-4", "bob-tungsten-alloy-processing") else - if data.raw.item["bob-tungsten-plate"] then - bobmods.lib.recipe.replace_ingredient("bob-oil-refinery-4", "stone-brick", "bob-tungsten-plate") + if data.raw.item["tungsten-plate"] then + bobmods.lib.recipe.replace_ingredient("bob-oil-refinery-4", "stone-brick", "tungsten-plate") bobmods.lib.tech.add_prerequisite("oil-processing-4", "bob-tungsten-processing") end end From c22b4c6d3518b86f9479ea2f01552d0b6e813904 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 19 Apr 2026 07:33:52 -0700 Subject: [PATCH 58/59] Update data-updates.lua --- bobplates/data-updates.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/bobplates/data-updates.lua b/bobplates/data-updates.lua index 8a11ce6a6..c2f540f21 100644 --- a/bobplates/data-updates.lua +++ b/bobplates/data-updates.lua @@ -462,6 +462,7 @@ if mods["space-age"] then if data.raw.item["bob-sodium-carbonate"] then bobmods.lib.recipe.replace_ingredient("bob-chromium-plate", "stone", "bob-sodium-carbonate") + bobmods.lib.tech.add_prerequisite("bob-tungsten-processing", "bob-rtg") elseif data.raw.item["bob-limestone"] then bobmods.lib.recipe.replace_ingredient("bob-chromium-plate", "stone", "bob-limestone") end From d3c0cd4bb2ab92c30139e3a3a6698f1a644cb547 Mon Sep 17 00:00:00 2001 From: KiwiHawk <59639+KiwiHawk@users.noreply.github.com> Date: Wed, 6 May 2026 01:06:52 +1200 Subject: [PATCH 59/59] Fixing tech name typo --- bobwarfare/prototypes/recipe/recipe-updates.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bobwarfare/prototypes/recipe/recipe-updates.lua b/bobwarfare/prototypes/recipe/recipe-updates.lua index 231f63987..a22265bfa 100644 --- a/bobwarfare/prototypes/recipe/recipe-updates.lua +++ b/bobwarfare/prototypes/recipe/recipe-updates.lua @@ -192,7 +192,7 @@ if mods["space-age"] and data.raw.item["bob-stainless-steel-alloy"] then bobmods.lib.tech.add_prerequisite("bob-artillery-turret-2", "bob-tungsten-processing") bobmods.lib.recipe.add_ingredient("bob-tank-2", { type = "item", name = "bob-stainless-steel-bearing", amount = 15 }) bobmods.lib.recipe.replace_ingredient("bob-tank-2", "iron-gear-wheel", "bob-stainless-steel-gear-wheel") - bobmods.lib.tech.add_prerequisite("bob-tank-2", "bob-tungsten-processing") + bobmods.lib.tech.add_prerequisite("bob-tanks-2", "bob-tungsten-processing") elseif data.raw.item["bob-titanium-plate"] then bobmods.lib.recipe.replace_ingredient("bob-artillery-turret-2", "steel-plate", "bob-titanium-plate") bobmods.lib.recipe.replace_ingredient("bob-artillery-turret-2", "iron-gear-wheel", "bob-titanium-gear-wheel")