From 03451f3d457ccaca67d7fa7a21152c023f3cfb96 Mon Sep 17 00:00:00 2001 From: Brevven Date: Sun, 4 May 2025 03:29:43 -0700 Subject: [PATCH] k2 updates and spaced out --- changelog.txt | 6 +++++ data-util.lua | 28 ++++++++++++++---------- deadlock-stacking.lua | 6 ++--- info.json | 3 ++- me.lua | 2 +- prototypes/gyro.lua | 5 +++-- prototypes/silica-recipe.lua | 4 ++-- prototypes/silicon-recipe.lua | 25 +++++++++++---------- recipe-updates.lua | 41 ++++++++++++++++++----------------- recipes/silica-matter.lua | 4 ++-- 10 files changed, 71 insertions(+), 53 deletions(-) diff --git a/changelog.txt b/changelog.txt index d7e7f5c..76b1c69 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,4 +1,10 @@ --------------------------------------------------------------------------------------------------- +Version: 2.0.15 +Date: 2025-05-04 + Changes: + - Krastorio2 spaced out support + - Minor K2 integration tweaks +--------------------------------------------------------------------------------------------------- Version: 2.0.14 Date: 2025-05-03 Fixes: diff --git a/data-util.lua b/data-util.lua index fa5ac8e..49f11c9 100644 --- a/data-util.lua +++ b/data-util.lua @@ -78,6 +78,10 @@ function util.se6() return mods["space-exploration"] and mods["space-exploration"] >= "0.6" end +function util.k2() + return mods.Krastorio2 or mods["Krastorio2-spaced-out"] +end + util.cablesg = util.se6() and "electronic" or "cable" function get_setting(name) @@ -115,12 +119,9 @@ function util.fe_plus(sub) end end -function util.get_stack_size(default) - if mods.Krastorio2 then - local size = get_setting("kr-stack-size") - if size and tonumber(size) then - return tonumber(size) - end +function util.get_stack_size(default) + if util.k2() and kr_adjust_stack_sizes then + return tonumber(200) end return default end @@ -515,7 +516,12 @@ end -- k2 matter -- params: {k2matter}, k2baseicon , {icon} function util.k2matter(params) - local matter = require("__Krastorio2__/prototypes/libraries/matter") + local matter + if mods.Krastorio2 then + matter = require("__Krastorio2__/prototypes/libraries/matter") + else + matter = require("__Krastorio2-spaced-out__/prototypes/libraries/matter") + end if mods["space-exploration"] then params.k2matter.needs_stabilizer = true end @@ -570,7 +576,7 @@ function util.k2matter(params) }, }) end - if params.k2matter.only_deconversion and params.k2matter.only_deconversion == true then + if params.k2matter.only_deconversion then matter.make_deconversion_recipe(params.k2matter) else matter.make_recipes(params.k2matter) @@ -585,8 +591,8 @@ function util.se_matter(params) if not params.quant_in then params.quant_in = params.quant_out end if not params.icon_size then params.icon_size = 64 end local fname = "matter-fusion-"..params.ore - local sedata = mods.Krastorio2 and "se-kr-matter-synthesis-data" or "se-fusion-test-data" - local sejunk = mods.Krastorio2 and "se-broken-data" or "se-junk-data" + local sedata = util.k2() and "se-kr-matter-synthesis-data" or "se-fusion-test-data" + local sejunk = util.k2() and "se-broken-data" or "se-junk-data" data:extend({ { type = "recipe", @@ -623,7 +629,7 @@ function util.se_matter(params) }) util.add_unlock("se-space-matter-fusion", fname) - if mods.Krastorio2 then + if util.k2() then local lname = params.ore.."-to-particle-stream" data:extend({ enabled = false, diff --git a/deadlock-stacking.lua b/deadlock-stacking.lua index 246ceb2..5dd9319 100644 --- a/deadlock-stacking.lua +++ b/deadlock-stacking.lua @@ -4,7 +4,7 @@ local util = require("__bzsilicon__.data-util"); if deadlock and deadlock["add_stack"] then deadlock.add_stack("silica", "__bzsilicon__/graphics/icons/stacked/silica-stacked.png" , "deadlock-stacking-1", 64) deadlock.add_stack("optical-fiber", "__bzsilicon__/graphics/icons/stacked/optical-fiber-stacked.png" , "deadlock-stacking-2", 64) - if not mods["Krastorio2"] then + if not util.k2() then deadlock.add_stack("silicon", "__bzsilicon__/graphics/icons/stacked/silicon-stacked.png" , "deadlock-stacking-2", 64) end if util.me.more_intermediates() then @@ -20,7 +20,7 @@ end if deadlock_crating then deadlock_crating.add_crate("silica", "deadlock-crating-1") deadlock_crating.add_crate("optical-fiber", "deadlock-crating-2") - if not mods["Krastorio2"] then + if not util.k2() then deadlock_crating.add_crate("silicon", "deadlock-crating-2") end if util.me.more_intermediates() then @@ -32,7 +32,7 @@ if deadlock_crating then end end -if mods["deadlock_stacked_recipes"] and mods["Krastorio2"] then +if mods["deadlock_stacked_recipes"] and util.k2() then -- We assume the crushing stacked quartz -> silica recipe will be added. util.remove_raw("recipe", "kr-vc-deadlock-stack-quartz") end diff --git a/info.json b/info.json index 664cb50..4a6a65e 100644 --- a/info.json +++ b/info.json @@ -1,6 +1,6 @@ { "name": "bzsilicon", - "version": "2.0.14", + "version": "2.0.15", "factorio_version": "2.0", "title": "Silica & Silicon", "author": "Brevven", @@ -9,6 +9,7 @@ "dependencies": [ "? space-age", "? Krastorio2", + "? Krastorio2-spaced-out", "? space-exploration", "? 248k", "? aai-industry", diff --git a/me.lua b/me.lua index cf697c7..bd93651 100644 --- a/me.lua +++ b/me.lua @@ -1,7 +1,7 @@ local me = {} me.name = "bzsilicon" me.resources = {{"razorgrass-plant", "gleba"}} -me.silicon_processing = (mods and mods["Krastorio2"] and "kr-silicon-processing") or "silicon-processing" +me.silicon_processing = (mods and data.raw.technology["kr-silicon-processing"] and "kr-silicon-processing") or "silicon-processing" me.recipes = {"silica", "silicon", "optical-fiber", "silicon-wafer", "solar-cell", "gyro", "silicon-smelting-vulcanite"} function me.use_gyros() diff --git a/prototypes/gyro.lua b/prototypes/gyro.lua index ea1f150..1ed63e5 100644 --- a/prototypes/gyro.lua +++ b/prototypes/gyro.lua @@ -2,10 +2,11 @@ local util = require("data-util"); local item_sounds = require('__base__.prototypes.item_sounds') if util.me.use_gyros() then +local silicon = util.k2() and "kr-silicon" or "silicon" gyro_ingredients = { -- outputs 4 util.item("copper-cable", 2), util.item("silica", 1), - util.item("silicon", 4)} + util.item(silicon, 4)} gyro_prereqs = {util.me.silicon_processing} if mods.bzcarbon then @@ -18,7 +19,7 @@ if mods.bztungsten and not mods["space-age"] then elseif mods.bztitanium and data.raw.item["titanium-plate"] then table.insert(gyro_ingredients, util.item("titanium-plate", 1)) table.insert(gyro_prereqs, "titanium-processing") -elseif mods.Krastorio2 then +elseif util.k2() then table.insert(gyro_ingredients, util.item("rare-metals", 1)) end diff --git a/prototypes/silica-recipe.lua b/prototypes/silica-recipe.lua index 8fc5efc..af205c4 100644 --- a/prototypes/silica-recipe.lua +++ b/prototypes/silica-recipe.lua @@ -3,7 +3,7 @@ local util = require("__bzsilicon__.data-util"); local item_sounds = require('__base__.prototypes.item_sounds') data:extend( { - mods["Krastorio2"] and { + util.k2() and { type = "recipe", name = "silica", category = "kr-crushing", @@ -71,7 +71,7 @@ data:extend( stack_size = util.get_stack_size(100), weight = 0.2*kg, }, - mods["Krastorio2"] and { + util.k2() and { type = "technology", name = "silica-processing", icon_size = 256, icon_mipmaps = 4, diff --git a/prototypes/silicon-recipe.lua b/prototypes/silicon-recipe.lua index e52db34..ed50c85 100644 --- a/prototypes/silicon-recipe.lua +++ b/prototypes/silicon-recipe.lua @@ -1,9 +1,10 @@ -- Silicon local util = require("data-util"); local item_sounds = require('__base__.prototypes.item_sounds') -if mods["Krastorio2"] then - util.remove_raw("recipe", "silicon-2") - util.remove_recipe_effect("kr-silicon-processing", "silicon-2") +local silicon = util.k2() and "kr-silicon" or "silicon" +if util.k2() then + util.remove_raw("recipe", "kr-silicon") + util.remove_recipe_effect("kr-silicon-processing", "kr-silicon") if mods["Sebs-Electrics"] then util.add_unlock("kr-silicon-processing", "silicon") end @@ -18,7 +19,7 @@ end data:extend( { - mods["Krastorio2"] and { + util.k2() and { type = "recipe", name = "kr-silicon", category = "smelting", @@ -49,7 +50,7 @@ data:extend( -- }, }, - (not mods["Krastorio2"]) and + (not util.k2()) and { type = "item", name = "silicon", @@ -63,7 +64,7 @@ data:extend( stack_size = util.get_stack_size(100), weight = 1*kg, } or nil, - (not mods["Krastorio2"]) and + (not util.k2()) and { type = "technology", name = "silicon-processing", @@ -119,9 +120,9 @@ data:extend({ enabled = false, energy_required = 2, allow_productivity = true, - ingredients = (mods["Krastorio2"] and { - {type= "item", name="silicon", amount=2}, - {type= "fluid", name="hydrogen-chloride", amount=5}, + ingredients = (util.k2() and { + {type= "item", name="kr-silicon", amount=2}, + {type= "fluid", name="kr-hydrogen-chloride", amount=5}, } or { {type= "item", name="silicon", amount=2}, {type= "fluid", name="sulfuric-acid", amount=5}, @@ -149,7 +150,7 @@ data:extend({ energy_required = 10, allow_productivity = true, ingredients = { - {type= "item", name="silicon", amount=10}, + {type= "item", name=silicon, amount=10}, {type= "item", name="copper-plate", amount=1}, {type= "fluid", name="water", amount=20}, }, @@ -195,7 +196,7 @@ data:extend({ energy_required = 2, allow_productivity = true, ingredients = { - util.item("silicon", 1), + util.item(silicon, 1), }, results = {util.item("silicon-wafer", 1)} }, @@ -208,6 +209,8 @@ if not mods["space-age"] then end end util.add_effect("kr-fluids-chemistry", {type="unlock-recipe", recipe="hydrogen-chloride"}) +util.add_unlock("kr-silicon-processing", "silicon") + if util.me.more_intermediates() and not mods["space-age"] then util.add_unlock("advanced-circuit", "silicon-wafer") diff --git a/recipe-updates.lua b/recipe-updates.lua index d55a015..1bcc52c 100644 --- a/recipe-updates.lua +++ b/recipe-updates.lua @@ -1,6 +1,7 @@ local util = require("data-util"); -local si = util.me.more_intermediates() and "silicon-wafer" or "silicon" +local silicon = util.k2() and "kr-silicon" or "silicon" +local si = util.me.more_intermediates() and "silicon-wafer" or silicon if util.me.use_gyros() then util.add_ingredient("flying-robot-frame", "gyro", 1) @@ -70,7 +71,7 @@ end util.add_ingredient("solar-cell", "lead-plate", 1) -if not mods["Krastorio2"] then +if not util.k2() then util.remove_ingredient("concrete", "stone-brick"); if mods["Bio_Industries"] or mods["omnimatter"] then util.add_ingredient("concrete", "stone-brick", 3); @@ -115,21 +116,21 @@ if not mods["Krastorio2"] then util.add_prerequisite("advanced-circuit", util.me.silicon_processing) else - util.replace_some_ingredient("solar-panel", "electronic-circuit", 10, "silicon", 10) + util.replace_some_ingredient("solar-panel", "electronic-circuit", 10, silicon, 10) - util.replace_some_ingredient("processing-unit", "electronic-circuit", 10, "silicon", 6) + util.replace_some_ingredient("processing-unit", "electronic-circuit", 10, silicon, 6) util.remove_ingredient("efficiency-module", "electronic-circuit") - util.add_ingredient("efficiency-module", "silicon", 3) + util.add_ingredient("efficiency-module", silicon, 3) util.remove_ingredient("quality-module", "electronic-circuit") - util.add_ingredient("quality-module", "silicon", 3) + util.add_ingredient("quality-module", silicon, 3) util.remove_ingredient("productivity-module", "electronic-circuit") - util.add_ingredient("productivity-module", "silicon", 3) + util.add_ingredient("productivity-module", silicon, 3) util.remove_ingredient("speed-module", "electronic-circuit") - util.add_ingredient("speed-module", "silicon", 3) + util.add_ingredient("speed-module", silicon, 3) if not mods.modmashsplinterelectonics then - util.replace_some_ingredient("advanced-circuit", "electronic-circuit", 1, "silicon", 1) + util.replace_some_ingredient("advanced-circuit", "electronic-circuit", 1, silicon, 1) end util.add_prerequisite("advanced-circuit", util.me.silicon_processing) end @@ -155,9 +156,9 @@ local useful_combinators = {"timer-combinator", "counting-combinator", "random-c "statistic-combinator", "pollution-combinator", "emitter-combinator", "receiver-combinator"} util.replace_ingredient("green-wire", "copper-cable", "optical-fiber") -util.replace_ingredient("green-wire", "electronic-circuit", "silicon") +util.replace_ingredient("green-wire", "electronic-circuit", silicon) util.replace_ingredient("red-wire", "copper-cable", "optical-fiber") -util.replace_ingredient("red-wire", "electronic-circuit", "silicon") +util.replace_ingredient("red-wire", "electronic-circuit", silicon) if not mods["IndustrialRevolution"] then util.add_ingredient("arithmetic-combinator", si, 1) @@ -214,22 +215,22 @@ util.replace_some_ingredient("transport-depot-writer", "electronic-circuit", 5, util.add_prerequisite("circuit-network", "fiber-optics") util.add_prerequisite("circuit-network", util.me.silicon_processing) -if mods["Krastorio2"] then - util.add_ingredient("biusart-lab", "optical-fiber", 10) - util.add_ingredient("ai-core", "optical-fiber", 2) +if util.k2() then + util.add_ingredient("kr-advanced-lab", "optical-fiber", 10) + util.add_ingredient("kr-ai-core", "optical-fiber", 2) util.add_prerequisite(util.me.silicon_processing, "silica-processing") if util.me.more_intermediates() then util.add_effect(util.me.silicon_processing, {type = "unlock-recipe", recipe="silicon-wafer"}) - util.remove_ingredient("electronic-components", "silicon") - util.add_ingredient("electronic-components", "silicon-wafer", 1) - util.multiply_recipe("electronic-components-lithium", 2) - util.remove_ingredient("electronic-components-lithium", "silicon") - util.add_ingredient("electronic-components-lithium", "silicon-wafer", 3) + util.remove_ingredient("kr-electronic-components", silicon) + util.add_ingredient("kr-electronic-components", "silicon-wafer", 2) + util.multiply_recipe("kr-electronic-components-with-lithium", 2) + util.remove_ingredient("kr-electronic-components-with-lithium", silicon) + util.add_ingredient("kr-electronic-components-with-lithium", "silicon-wafer", 6) util.replace_ingredient("solar-panel", "electronic-circuit", "solar-cell") - util.remove_ingredient("solar-panel", "silicon") + util.remove_ingredient("solar-panel", silicon) util.replace_ingredient("solar-panel-equipment", "solar-panel", "solar-cell") util.add_effect("solar-energy", {type = "unlock-recipe", recipe="solar-cell"}) end diff --git a/recipes/silica-matter.lua b/recipes/silica-matter.lua index 2d27f7e..787c6fa 100644 --- a/recipes/silica-matter.lua +++ b/recipes/silica-matter.lua @@ -1,5 +1,5 @@ -if mods["Krastorio2"] then - local util = require("data-util"); +local util = require("data-util"); +if util.k2() then util.k2matter({ k2matter = { material = {