From 782a09d0ea47376374e082ea6fbd2eace10e323f Mon Sep 17 00:00:00 2001 From: lambdalemon Date: Tue, 16 Sep 2025 12:07:38 -0400 Subject: [PATCH 1/6] Linearilized Dependencies --- changelog.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/changelog.txt b/changelog.txt index 03608ee..03c6dc7 100644 --- a/changelog.txt +++ b/changelog.txt @@ -8,6 +8,7 @@ Date: ??? - New entity graphics for all updated fluid tanks. Huge thanks to JigSaW_3 for providing these! - Rebalanced recipes for all py storage tanks. - Upscaled all fluid tank item icons from 32p to 64p. + - Linearilized dependencies. - Removed niobium pipes from hydrocyclone recipe. Resolves https://github.com/pyanodon/pybugreports/issues/851 --------------------------------------------------------------------------------------------------- Version: 3.0.19 From 03360da8d179f119c0c7d7331715eda619c4b0ed Mon Sep 17 00:00:00 2001 From: Alyssa Doubrovsky Date: Mon, 22 Sep 2025 19:15:48 -0700 Subject: [PATCH 2/6] Linearized PyCoal and PyIndustry Linearized PyCoal and PyIndustry --- data-updates.lua | 7 +------ data.lua | 7 ------- prototypes/buildings/megadar.lua | 4 ++-- prototypes/equipment/armor-updates.lua | 1 + prototypes/equipment/portable-gasoline-generator.lua | 1 + prototypes/tiles/py-iron-oxide.lua | 5 +++-- prototypes/tiles/py-nexelit.lua | 1 + prototypes/updates/pycoalprocessing-updates.lua | 1 + 8 files changed, 10 insertions(+), 17 deletions(-) diff --git a/data-updates.lua b/data-updates.lua index c799c74..3b0fadd 100644 --- a/data-updates.lua +++ b/data-updates.lua @@ -1,3 +1,4 @@ +require "prototypes/buildings/megadar" --Tiles require "prototypes/tiles/py-asphalt" require "prototypes/tiles/py-limestone" @@ -13,12 +14,6 @@ end require "prototypes/updates/base-updates" -if mods["pycoalprocessing"] then - require "prototypes/updates/pycoalprocessing-updates" - require "prototypes/tiles/py-iron-oxide" - require "prototypes/tiles/py-nexelit" -end - if mods["pyfusionenergy"] then require "prototypes/updates/pyfusionenergy-updates" end diff --git a/data.lua b/data.lua index 7c6132c..acce99a 100644 --- a/data.lua +++ b/data.lua @@ -44,17 +44,10 @@ require "prototypes/buildings/valves/check-valve" require "prototypes/buildings/valves/overflow-valve" require "prototypes/buildings/valves/underflow-valve" --- Armor -if mods["pycoalprocessing"] then - require "prototypes/equipment/armor-updates" - require "prototypes/equipment/portable-gasoline-generator" -end - --Other require "prototypes/buildings/accumulator-mk01" require "prototypes/buildings/accumulator-mk02" require "prototypes/buildings/radar" -require "prototypes/buildings/megadar" require "prototypes/buildings/barrel-machine" require "prototypes/buildings/py-roboport-mk01" diff --git a/prototypes/buildings/megadar.lua b/prototypes/buildings/megadar.lua index 65fa00e..2d98c33 100644 --- a/prototypes/buildings/megadar.lua +++ b/prototypes/buildings/megadar.lua @@ -30,10 +30,10 @@ RECIPE { {type = "item", name = "megadar", amount = 1} }, enabled = false -}:add_unlock("radars-mk02") +}:add_unlock("radars-mk02"):replace_ingredient("steel-plate", "nexelit-plate"):add_ingredient {type = "item", name = "niobium-plate", amount = 10} if mods["pycoalprocessing"] then - RECIPE("megadar"):replace_ingredient("steel-plate", "nexelit-plate"):add_ingredient {type = "item", name = "niobium-plate", amount = 10} + --RECIPE("megadar"):replace_ingredient("steel-plate", "nexelit-plate"):add_ingredient {type = "item", name = "niobium-plate", amount = 10} end ITEM { diff --git a/prototypes/equipment/armor-updates.lua b/prototypes/equipment/armor-updates.lua index 6170cb0..2af880e 100644 --- a/prototypes/equipment/armor-updates.lua +++ b/prototypes/equipment/armor-updates.lua @@ -1,3 +1,4 @@ +--DEPRECIATED-- data:extend {{ name = "light-armor-equipment-grid", type = "equipment-grid", diff --git a/prototypes/equipment/portable-gasoline-generator.lua b/prototypes/equipment/portable-gasoline-generator.lua index d89ff5c..d6ffe6b 100644 --- a/prototypes/equipment/portable-gasoline-generator.lua +++ b/prototypes/equipment/portable-gasoline-generator.lua @@ -1,3 +1,4 @@ +--DEPRECIATED-- data:extend {{ type = "generator-equipment", name = "portable-gasoline-generator", diff --git a/prototypes/tiles/py-iron-oxide.lua b/prototypes/tiles/py-iron-oxide.lua index 408c649..83c97d1 100644 --- a/prototypes/tiles/py-iron-oxide.lua +++ b/prototypes/tiles/py-iron-oxide.lua @@ -1,11 +1,12 @@ +--DEPRECIATED-- RECIPE { type = "recipe", name = "py-iron-oxide", category = "hpf", enabled = false, ingredients = { - {type = "item", name = "iron-oxide", amount = 4}, - {type = "item", name = "pipe", amount = 1}, + {type = "item", name = "iron-oxide", amount = 4}, + {type = "item", name = "pipe", amount = 1}, {type = "fluid", name = "muddy-sludge", amount = 20} }, results = { diff --git a/prototypes/tiles/py-nexelit.lua b/prototypes/tiles/py-nexelit.lua index 7407f8b..ec7d0ef 100644 --- a/prototypes/tiles/py-nexelit.lua +++ b/prototypes/tiles/py-nexelit.lua @@ -1,3 +1,4 @@ +--DEPRECIATED-- RECIPE { type = "recipe", name = "py-nexelit", diff --git a/prototypes/updates/pycoalprocessing-updates.lua b/prototypes/updates/pycoalprocessing-updates.lua index f46fdb2..7c6bc32 100644 --- a/prototypes/updates/pycoalprocessing-updates.lua +++ b/prototypes/updates/pycoalprocessing-updates.lua @@ -1,3 +1,4 @@ +--DEPRECIATED -- RECIPE UPDATES -- if not mods["pyrawores"] then RECIPE("automated-factory-mk01"):replace_ingredient("advanced-circuit", "electronic-circuit"):remove_unlock("advanced-circuit"):add_unlock("fast-inserter") From 4aa425d3b47c720d9ab1564c89e4248f98cbcb51 Mon Sep 17 00:00:00 2001 From: Alyssa Doubrovsky Date: Thu, 25 Sep 2025 21:03:55 -0700 Subject: [PATCH 3/6] PyFusionEnergy Linearization Updates to linearize PyIndustry with PyFusionEnergy --- data-updates.lua | 4 ---- prototypes/updates/pyfusionenergy-updates.lua | 1 + 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/data-updates.lua b/data-updates.lua index 3b0fadd..46cbbe0 100644 --- a/data-updates.lua +++ b/data-updates.lua @@ -14,10 +14,6 @@ end require "prototypes/updates/base-updates" -if mods["pyfusionenergy"] then - require "prototypes/updates/pyfusionenergy-updates" -end - if mods["pyrawores"] then require "prototypes/updates/pyrawores-updates" end diff --git a/prototypes/updates/pyfusionenergy-updates.lua b/prototypes/updates/pyfusionenergy-updates.lua index 93f88e9..e20513e 100644 --- a/prototypes/updates/pyfusionenergy-updates.lua +++ b/prototypes/updates/pyfusionenergy-updates.lua @@ -1,3 +1,4 @@ +--DEPRECIATED -- TECH CHANGES -- RECIPE UNLOCKS From ae63c0d16e50217b21feb95806eeff3fb65a8fa5 Mon Sep 17 00:00:00 2001 From: Alyssa Doubrovsky Date: Sat, 18 Oct 2025 15:54:05 -0700 Subject: [PATCH 4/6] Linearization with RawOres Linearized pyIndustry with pyRawOres --- data-updates.lua | 4 ---- prototypes/buildings/accumulator-mk02.lua | 4 ++++ prototypes/updates/pyrawores-updates.lua | 7 ++++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/data-updates.lua b/data-updates.lua index 46cbbe0..2c4822c 100644 --- a/data-updates.lua +++ b/data-updates.lua @@ -14,10 +14,6 @@ end require "prototypes/updates/base-updates" -if mods["pyrawores"] then - require "prototypes/updates/pyrawores-updates" -end - if mods["pyalternativeenergy"] then require "prototypes/updates/pyalternativeenergy-updates" end diff --git a/prototypes/buildings/accumulator-mk02.lua b/prototypes/buildings/accumulator-mk02.lua index 1148bc2..43506cf 100644 --- a/prototypes/buildings/accumulator-mk02.lua +++ b/prototypes/buildings/accumulator-mk02.lua @@ -16,6 +16,10 @@ RECIPE { } }:replace_ingredient("steel-plate", "nexelit-plate"):add_ingredient {type = "item", name = "optical-fiber", amount = 30}:add_unlock("py-accumulator-mk02") +if mods.pyrawores then + RECIPE("accumulator-mk02"):add_ingredient_unsafe {type = "fluid", name = "liquid-nitrogen", amount = 50} +end + ITEM { type = "item", name = "accumulator-mk02", diff --git a/prototypes/updates/pyrawores-updates.lua b/prototypes/updates/pyrawores-updates.lua index 080b3dd..6e4f2a9 100644 --- a/prototypes/updates/pyrawores-updates.lua +++ b/prototypes/updates/pyrawores-updates.lua @@ -1,3 +1,4 @@ -RECIPE("accumulator-mk02"):add_ingredient {type = "fluid", name = "liquid-nitrogen", amount = 50} -RECIPE("ball-mill-mk01"):add_ingredient {type = "item", name = "py-asphalt", amount = 50} -RECIPE("py-heat-exchanger"):replace_ingredient("stone-brick", "py-asphalt") +--DEPRECIATED-- +--RECIPE("accumulator-mk02"):add_ingredient {type = "fluid", name = "liquid-nitrogen", amount = 50} +--RECIPE("ball-mill-mk01"):add_ingredient {type = "item", name = "py-asphalt", amount = 50} +--RECIPE("py-heat-exchanger"):replace_ingredient("stone-brick", "py-asphalt") From 39a38fc47e009888e5550b487fe5e57f6c314331 Mon Sep 17 00:00:00 2001 From: Alyssa Doubrovsky Date: Sat, 18 Oct 2025 16:21:48 -0700 Subject: [PATCH 5/6] Fix dependencies --- info.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/info.json b/info.json index 3eca439..a204a1f 100644 --- a/info.json +++ b/info.json @@ -11,8 +11,6 @@ "base >= 2.0.48", "pyindustrygraphics >= 4.0.0", "~ pypostprocessing >= 3.0.35", - "? pycoalprocessing >= 1.0.6", - "? pyfusionenergy >= 1.0.3", "! wret-beacon-rebalance-mod", "! BigBags", "! ResearchFog", From 1b9f5eefe4eec6e731052469830ffed27a4ff25e Mon Sep 17 00:00:00 2001 From: Alyssa Doubrovsky Date: Sat, 18 Oct 2025 18:16:35 -0700 Subject: [PATCH 6/6] Final Linearization Tweaks --- data-final-fixes.lua | 20 +++++++++++++++++++ data-updates.lua | 4 ++-- prototypes/buildings/accumulator-mk01.lua | 5 ++++- prototypes/buildings/accumulator-mk02.lua | 6 +++++- .../py-roboport-construction-mk03.lua | 6 +++++- .../py-roboport-construction-mk04.lua | 6 +++++- prototypes/pipes/niobium-pipes.lua | 12 +++++++++-- prototypes/robots/py-logistic-robot-mk01.lua | 4 +++- prototypes/wall/wood-fence.lua | 6 +++++- 9 files changed, 59 insertions(+), 10 deletions(-) diff --git a/data-final-fixes.lua b/data-final-fixes.lua index 5fea254..b5b48f5 100644 --- a/data-final-fixes.lua +++ b/data-final-fixes.lua @@ -1,3 +1,23 @@ +for f, _ in pairs(data.raw.fluid) do + for i, recipe_name in pairs { + "empty-" .. f .. "-canister", + "empty-" .. f .. "-barrel", + "fill-" .. f .. "-canister", + f .. "-barrel" + } do + local recipe = data.raw.recipe[recipe_name] and RECIPE(recipe_name) + if recipe ~= nil then + recipe:set_fields {hide_from_player_crafting = true, hide_from_stats = true} + -- This is backwards, I blame king + if recipe_name:match("^empty") then + recipe.category = "py-barreling" + else + recipe.category = "py-unbarreling" + end + end + end +end + require "prototypes/void-recipes/fluid-void" require "prototypes/void-recipes/item-void" diff --git a/data-updates.lua b/data-updates.lua index 2c4822c..a65d188 100644 --- a/data-updates.lua +++ b/data-updates.lua @@ -22,7 +22,7 @@ if mods.pyrawores then RECIPE("accumulator-mk02"):replace_ingredient("copper-cable", "tinned-cable"):replace_ingredient("iron-plate", "stainless-steel") end -for f, _ in pairs(data.raw.fluid) do +--[[for f, _ in pairs(data.raw.fluid) do for i, recipe_name in pairs { "empty-" .. f .. "-canister", "empty-" .. f .. "-barrel", @@ -40,7 +40,7 @@ for f, _ in pairs(data.raw.fluid) do end end end -end +end]] -- if mods["valves"] then data.raw.valve["valves-top_up"].next_upgrade = "py-underflow-valve" diff --git a/prototypes/buildings/accumulator-mk01.lua b/prototypes/buildings/accumulator-mk01.lua index 5757d2c..7e81c5e 100644 --- a/prototypes/buildings/accumulator-mk01.lua +++ b/prototypes/buildings/accumulator-mk01.lua @@ -13,8 +13,11 @@ RECIPE { results = { {type = "item", name = "accumulator-mk01", amount = 1} } -}:replace_ingredient("steel-plate", "nexelit-plate"):add_ingredient {type = "item", name = "niobium-plate", amount = 10}:add_unlock {"py-accumulator-mk01"} +} +if mods.pycoalprocessing then + RECIPE("accumulator-mk01"):replace_ingredient_unsafe("steel-plate", "nexelit-plate"):add_ingredient_unsafe {type = "item", name = "niobium-plate", amount = 10}:add_unlock {"py-accumulator-mk01"} +end ITEM { type = "item", diff --git a/prototypes/buildings/accumulator-mk02.lua b/prototypes/buildings/accumulator-mk02.lua index 43506cf..7454d73 100644 --- a/prototypes/buildings/accumulator-mk02.lua +++ b/prototypes/buildings/accumulator-mk02.lua @@ -14,7 +14,11 @@ RECIPE { results = { {type = "item", name = "accumulator-mk02", amount = 1} } -}:replace_ingredient("steel-plate", "nexelit-plate"):add_ingredient {type = "item", name = "optical-fiber", amount = 30}:add_unlock("py-accumulator-mk02") +} + +if mods.pycoalprocessing then + RECIPE("accumulator-mk02"):replace_ingredient_unsafe("steel-plate", "nexelit-plate"):add_ingredient_unsafe {type = "item", name = "optical-fiber", amount = 30}:add_unlock("py-accumulator-mk02") +end if mods.pyrawores then RECIPE("accumulator-mk02"):add_ingredient_unsafe {type = "fluid", name = "liquid-nitrogen", amount = 50} diff --git a/prototypes/buildings/py-roboport-construction-mk03.lua b/prototypes/buildings/py-roboport-construction-mk03.lua index 81bb2b4..5c1037c 100644 --- a/prototypes/buildings/py-roboport-construction-mk03.lua +++ b/prototypes/buildings/py-roboport-construction-mk03.lua @@ -12,7 +12,11 @@ RECIPE { results = { {type = "item", name = "py-ze-mk03", amount = 1} } -}:add_unlock("py-accumulator-mk03"):add_ingredient {type = "item", name = "niobium-plate", amount = 10}:add_ingredient {type = "item", name = "nexelit-plate", amount = 20} +}:add_unlock("py-accumulator-mk03") + +if mods.pycoalprocessing then + RECIPE("py-ze-mk03"):add_ingredient_unsafe {type = "item", name = "niobium-plate", amount = 10}:add_ingredient_unsafe {type = "item", name = "nexelit-plate", amount = 20} +end ITEM { type = "item", diff --git a/prototypes/buildings/py-roboport-construction-mk04.lua b/prototypes/buildings/py-roboport-construction-mk04.lua index 0f2033e..dddb190 100644 --- a/prototypes/buildings/py-roboport-construction-mk04.lua +++ b/prototypes/buildings/py-roboport-construction-mk04.lua @@ -10,7 +10,11 @@ RECIPE { results = { {type = "item", name = "py-ze-mk04", amount = 1} } -}:add_ingredient {type = "item", name = "nbfe-alloy", amount = 10}:add_ingredient {type = "item", name = "kevlar", amount = 30} +} + +if mods.pycoalprocessing then + RECIPE("py-ze-mk04"):add_ingredient_unsafe {type = "item", name = "nbfe-alloy", amount = 10}:add_ingredient_unsafe {type = "item", name = "kevlar", amount = 30} +end ITEM { type = "item", diff --git a/prototypes/pipes/niobium-pipes.lua b/prototypes/pipes/niobium-pipes.lua index f024d50..8044470 100644 --- a/prototypes/pipes/niobium-pipes.lua +++ b/prototypes/pipes/niobium-pipes.lua @@ -302,7 +302,11 @@ RECIPE { results = { {type = "item", name = "niobium-pipe", amount = 2} } -}:add_unlock {"py-storage-tanks"}:replace_ingredient("copper-plate", "niobium-plate") +}:add_unlock {"py-storage-tanks"} + +if mods.pycoalprocessing then + RECIPE("niobium-pipe"):replace_ingredient_unsafe("copper-plate", "niobium-plate") +end ITEM { type = "item", @@ -329,7 +333,11 @@ RECIPE { results = { {type = "item", name = "niobium-pipe-to-ground", amount = 2} } -}:add_unlock {"py-storage-tanks"}:replace_ingredient("copper-plate", "niobium-plate") +}:add_unlock {"py-storage-tanks"} + +if mods.pycoalprocessing then + RECIPE("niobium-pipe-to-ground"):replace_ingredient_unsafe("copper-plate", "niobium-plate") +end ITEM { type = "item", diff --git a/prototypes/robots/py-logistic-robot-mk01.lua b/prototypes/robots/py-logistic-robot-mk01.lua index 3bdf92d..a796b7d 100644 --- a/prototypes/robots/py-logistic-robot-mk01.lua +++ b/prototypes/robots/py-logistic-robot-mk01.lua @@ -19,8 +19,10 @@ local cargo_bot = {type = "item", name = "py-logistic-robot-mk01", amount = 1} } }:add_ingredient {type = "fluid", name = "fish-oil", amount = 50} -cargo_bot:replace_ingredient("copper-plate", {type = "item", name = "nichrome", amount = 2}):replace_ingredient("iron-plate", "niobium-plate") cargo_bot:add_unlock {"logistic-robotics"} +if mods.pycoalprocessing then + cargo_bot:replace_ingredient_unsafe("copper-plate", {type = "item", name = "nichrome", amount = 2}):replace_ingredient_unsafe("iron-plate", "niobium-plate") +end local bot_item = ITEM { type = "item", diff --git a/prototypes/wall/wood-fence.lua b/prototypes/wall/wood-fence.lua index 6453c9d..a43c282 100644 --- a/prototypes/wall/wood-fence.lua +++ b/prototypes/wall/wood-fence.lua @@ -9,7 +9,11 @@ RECIPE { results = { {type = "item", name = "wood-fence", amount = 1} } -}:add_unlock("py-asphalt"):replace_ingredient("wood", "treated-wood") +}:add_unlock("py-asphalt") + +if mods.pycoalprocessing then + RECIPE("wood-fence"):replace_ingredient_unsafe("wood", "treated-wood") +end ITEM { type = "item",