k2 updates and spaced out

This commit is contained in:
Brevven 2025-05-04 03:29:43 -07:00
parent f8a6ecf923
commit 03451f3d45
10 changed files with 71 additions and 53 deletions

View file

@ -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 Version: 2.0.14
Date: 2025-05-03 Date: 2025-05-03
Fixes: Fixes:

View file

@ -78,6 +78,10 @@ function util.se6()
return mods["space-exploration"] and mods["space-exploration"] >= "0.6" return mods["space-exploration"] and mods["space-exploration"] >= "0.6"
end end
function util.k2()
return mods.Krastorio2 or mods["Krastorio2-spaced-out"]
end
util.cablesg = util.se6() and "electronic" or "cable" util.cablesg = util.se6() and "electronic" or "cable"
function get_setting(name) function get_setting(name)
@ -116,11 +120,8 @@ function util.fe_plus(sub)
end end
function util.get_stack_size(default) function util.get_stack_size(default)
if mods.Krastorio2 then if util.k2() and kr_adjust_stack_sizes then
local size = get_setting("kr-stack-size") return tonumber(200)
if size and tonumber(size) then
return tonumber(size)
end
end end
return default return default
end end
@ -515,7 +516,12 @@ end
-- k2 matter -- k2 matter
-- params: {k2matter}, k2baseicon , {icon} -- params: {k2matter}, k2baseicon , {icon}
function util.k2matter(params) 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 if mods["space-exploration"] then
params.k2matter.needs_stabilizer = true params.k2matter.needs_stabilizer = true
end end
@ -570,7 +576,7 @@ function util.k2matter(params)
}, },
}) })
end 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) matter.make_deconversion_recipe(params.k2matter)
else else
matter.make_recipes(params.k2matter) 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.quant_in then params.quant_in = params.quant_out end
if not params.icon_size then params.icon_size = 64 end if not params.icon_size then params.icon_size = 64 end
local fname = "matter-fusion-"..params.ore local fname = "matter-fusion-"..params.ore
local sedata = mods.Krastorio2 and "se-kr-matter-synthesis-data" or "se-fusion-test-data" local sedata = util.k2() and "se-kr-matter-synthesis-data" or "se-fusion-test-data"
local sejunk = mods.Krastorio2 and "se-broken-data" or "se-junk-data" local sejunk = util.k2() and "se-broken-data" or "se-junk-data"
data:extend({ data:extend({
{ {
type = "recipe", type = "recipe",
@ -623,7 +629,7 @@ function util.se_matter(params)
}) })
util.add_unlock("se-space-matter-fusion", fname) util.add_unlock("se-space-matter-fusion", fname)
if mods.Krastorio2 then if util.k2() then
local lname = params.ore.."-to-particle-stream" local lname = params.ore.."-to-particle-stream"
data:extend({ data:extend({
enabled = false, enabled = false,

View file

@ -4,7 +4,7 @@ local util = require("__bzsilicon__.data-util");
if deadlock and deadlock["add_stack"] then 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("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) 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) deadlock.add_stack("silicon", "__bzsilicon__/graphics/icons/stacked/silicon-stacked.png" , "deadlock-stacking-2", 64)
end end
if util.me.more_intermediates() then if util.me.more_intermediates() then
@ -20,7 +20,7 @@ end
if deadlock_crating then if deadlock_crating then
deadlock_crating.add_crate("silica", "deadlock-crating-1") deadlock_crating.add_crate("silica", "deadlock-crating-1")
deadlock_crating.add_crate("optical-fiber", "deadlock-crating-2") 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") deadlock_crating.add_crate("silicon", "deadlock-crating-2")
end end
if util.me.more_intermediates() then if util.me.more_intermediates() then
@ -32,7 +32,7 @@ if deadlock_crating then
end end
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. -- We assume the crushing stacked quartz -> silica recipe will be added.
util.remove_raw("recipe", "kr-vc-deadlock-stack-quartz") util.remove_raw("recipe", "kr-vc-deadlock-stack-quartz")
end end

View file

@ -1,6 +1,6 @@
{ {
"name": "bzsilicon", "name": "bzsilicon",
"version": "2.0.14", "version": "2.0.15",
"factorio_version": "2.0", "factorio_version": "2.0",
"title": "Silica & Silicon", "title": "Silica & Silicon",
"author": "Brevven", "author": "Brevven",
@ -9,6 +9,7 @@
"dependencies": [ "dependencies": [
"? space-age", "? space-age",
"? Krastorio2", "? Krastorio2",
"? Krastorio2-spaced-out",
"? space-exploration", "? space-exploration",
"? 248k", "? 248k",
"? aai-industry", "? aai-industry",

2
me.lua
View file

@ -1,7 +1,7 @@
local me = {} local me = {}
me.name = "bzsilicon" me.name = "bzsilicon"
me.resources = {{"razorgrass-plant", "gleba"}} 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"} me.recipes = {"silica", "silicon", "optical-fiber", "silicon-wafer", "solar-cell", "gyro", "silicon-smelting-vulcanite"}
function me.use_gyros() function me.use_gyros()

View file

@ -2,10 +2,11 @@ local util = require("data-util");
local item_sounds = require('__base__.prototypes.item_sounds') local item_sounds = require('__base__.prototypes.item_sounds')
if util.me.use_gyros() then if util.me.use_gyros() then
local silicon = util.k2() and "kr-silicon" or "silicon"
gyro_ingredients = { -- outputs 4 gyro_ingredients = { -- outputs 4
util.item("copper-cable", 2), util.item("copper-cable", 2),
util.item("silica", 1), util.item("silica", 1),
util.item("silicon", 4)} util.item(silicon, 4)}
gyro_prereqs = {util.me.silicon_processing} gyro_prereqs = {util.me.silicon_processing}
if mods.bzcarbon then 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 elseif mods.bztitanium and data.raw.item["titanium-plate"] then
table.insert(gyro_ingredients, util.item("titanium-plate", 1)) table.insert(gyro_ingredients, util.item("titanium-plate", 1))
table.insert(gyro_prereqs, "titanium-processing") table.insert(gyro_prereqs, "titanium-processing")
elseif mods.Krastorio2 then elseif util.k2() then
table.insert(gyro_ingredients, util.item("rare-metals", 1)) table.insert(gyro_ingredients, util.item("rare-metals", 1))
end end

View file

@ -3,7 +3,7 @@ local util = require("__bzsilicon__.data-util");
local item_sounds = require('__base__.prototypes.item_sounds') local item_sounds = require('__base__.prototypes.item_sounds')
data:extend( data:extend(
{ {
mods["Krastorio2"] and { util.k2() and {
type = "recipe", type = "recipe",
name = "silica", name = "silica",
category = "kr-crushing", category = "kr-crushing",
@ -71,7 +71,7 @@ data:extend(
stack_size = util.get_stack_size(100), stack_size = util.get_stack_size(100),
weight = 0.2*kg, weight = 0.2*kg,
}, },
mods["Krastorio2"] and { util.k2() and {
type = "technology", type = "technology",
name = "silica-processing", name = "silica-processing",
icon_size = 256, icon_mipmaps = 4, icon_size = 256, icon_mipmaps = 4,

View file

@ -1,9 +1,10 @@
-- Silicon -- Silicon
local util = require("data-util"); local util = require("data-util");
local item_sounds = require('__base__.prototypes.item_sounds') local item_sounds = require('__base__.prototypes.item_sounds')
if mods["Krastorio2"] then local silicon = util.k2() and "kr-silicon" or "silicon"
util.remove_raw("recipe", "silicon-2") if util.k2() then
util.remove_recipe_effect("kr-silicon-processing", "silicon-2") util.remove_raw("recipe", "kr-silicon")
util.remove_recipe_effect("kr-silicon-processing", "kr-silicon")
if mods["Sebs-Electrics"] then if mods["Sebs-Electrics"] then
util.add_unlock("kr-silicon-processing", "silicon") util.add_unlock("kr-silicon-processing", "silicon")
end end
@ -18,7 +19,7 @@ end
data:extend( data:extend(
{ {
mods["Krastorio2"] and { util.k2() and {
type = "recipe", type = "recipe",
name = "kr-silicon", name = "kr-silicon",
category = "smelting", category = "smelting",
@ -49,7 +50,7 @@ data:extend(
-- }, -- },
}, },
(not mods["Krastorio2"]) and (not util.k2()) and
{ {
type = "item", type = "item",
name = "silicon", name = "silicon",
@ -63,7 +64,7 @@ data:extend(
stack_size = util.get_stack_size(100), stack_size = util.get_stack_size(100),
weight = 1*kg, weight = 1*kg,
} or nil, } or nil,
(not mods["Krastorio2"]) and (not util.k2()) and
{ {
type = "technology", type = "technology",
name = "silicon-processing", name = "silicon-processing",
@ -119,9 +120,9 @@ data:extend({
enabled = false, enabled = false,
energy_required = 2, energy_required = 2,
allow_productivity = true, allow_productivity = true,
ingredients = (mods["Krastorio2"] and { ingredients = (util.k2() and {
{type= "item", name="silicon", amount=2}, {type= "item", name="kr-silicon", amount=2},
{type= "fluid", name="hydrogen-chloride", amount=5}, {type= "fluid", name="kr-hydrogen-chloride", amount=5},
} or { } or {
{type= "item", name="silicon", amount=2}, {type= "item", name="silicon", amount=2},
{type= "fluid", name="sulfuric-acid", amount=5}, {type= "fluid", name="sulfuric-acid", amount=5},
@ -149,7 +150,7 @@ data:extend({
energy_required = 10, energy_required = 10,
allow_productivity = true, allow_productivity = true,
ingredients = { ingredients = {
{type= "item", name="silicon", amount=10}, {type= "item", name=silicon, amount=10},
{type= "item", name="copper-plate", amount=1}, {type= "item", name="copper-plate", amount=1},
{type= "fluid", name="water", amount=20}, {type= "fluid", name="water", amount=20},
}, },
@ -195,7 +196,7 @@ data:extend({
energy_required = 2, energy_required = 2,
allow_productivity = true, allow_productivity = true,
ingredients = { ingredients = {
util.item("silicon", 1), util.item(silicon, 1),
}, },
results = {util.item("silicon-wafer", 1)} results = {util.item("silicon-wafer", 1)}
}, },
@ -208,6 +209,8 @@ if not mods["space-age"] then
end end
end end
util.add_effect("kr-fluids-chemistry", {type="unlock-recipe", recipe="hydrogen-chloride"}) 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 if util.me.more_intermediates() and not mods["space-age"] then
util.add_unlock("advanced-circuit", "silicon-wafer") util.add_unlock("advanced-circuit", "silicon-wafer")

View file

@ -1,6 +1,7 @@
local util = require("data-util"); 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 if util.me.use_gyros() then
util.add_ingredient("flying-robot-frame", "gyro", 1) util.add_ingredient("flying-robot-frame", "gyro", 1)
@ -70,7 +71,7 @@ end
util.add_ingredient("solar-cell", "lead-plate", 1) util.add_ingredient("solar-cell", "lead-plate", 1)
if not mods["Krastorio2"] then if not util.k2() then
util.remove_ingredient("concrete", "stone-brick"); util.remove_ingredient("concrete", "stone-brick");
if mods["Bio_Industries"] or mods["omnimatter"] then if mods["Bio_Industries"] or mods["omnimatter"] then
util.add_ingredient("concrete", "stone-brick", 3); 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) util.add_prerequisite("advanced-circuit", util.me.silicon_processing)
else 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.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.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.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.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 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 end
util.add_prerequisite("advanced-circuit", util.me.silicon_processing) util.add_prerequisite("advanced-circuit", util.me.silicon_processing)
end end
@ -155,9 +156,9 @@ local useful_combinators = {"timer-combinator", "counting-combinator", "random-c
"statistic-combinator", "pollution-combinator", "emitter-combinator", "receiver-combinator"} "statistic-combinator", "pollution-combinator", "emitter-combinator", "receiver-combinator"}
util.replace_ingredient("green-wire", "copper-cable", "optical-fiber") 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", "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 if not mods["IndustrialRevolution"] then
util.add_ingredient("arithmetic-combinator", si, 1) 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", "fiber-optics")
util.add_prerequisite("circuit-network", util.me.silicon_processing) util.add_prerequisite("circuit-network", util.me.silicon_processing)
if mods["Krastorio2"] then if util.k2() then
util.add_ingredient("biusart-lab", "optical-fiber", 10) util.add_ingredient("kr-advanced-lab", "optical-fiber", 10)
util.add_ingredient("ai-core", "optical-fiber", 2) util.add_ingredient("kr-ai-core", "optical-fiber", 2)
util.add_prerequisite(util.me.silicon_processing, "silica-processing") util.add_prerequisite(util.me.silicon_processing, "silica-processing")
if util.me.more_intermediates() then if util.me.more_intermediates() then
util.add_effect(util.me.silicon_processing, {type = "unlock-recipe", recipe="silicon-wafer"}) util.add_effect(util.me.silicon_processing, {type = "unlock-recipe", recipe="silicon-wafer"})
util.remove_ingredient("electronic-components", "silicon") util.remove_ingredient("kr-electronic-components", silicon)
util.add_ingredient("electronic-components", "silicon-wafer", 1) util.add_ingredient("kr-electronic-components", "silicon-wafer", 2)
util.multiply_recipe("electronic-components-lithium", 2) util.multiply_recipe("kr-electronic-components-with-lithium", 2)
util.remove_ingredient("electronic-components-lithium", "silicon") util.remove_ingredient("kr-electronic-components-with-lithium", silicon)
util.add_ingredient("electronic-components-lithium", "silicon-wafer", 3) util.add_ingredient("kr-electronic-components-with-lithium", "silicon-wafer", 6)
util.replace_ingredient("solar-panel", "electronic-circuit", "solar-cell") 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.replace_ingredient("solar-panel-equipment", "solar-panel", "solar-cell")
util.add_effect("solar-energy", {type = "unlock-recipe", recipe="solar-cell"}) util.add_effect("solar-energy", {type = "unlock-recipe", recipe="solar-cell"})
end end

View file

@ -1,5 +1,5 @@
if mods["Krastorio2"] then local util = require("data-util");
local util = require("data-util"); if util.k2() then
util.k2matter({ util.k2matter({
k2matter = { k2matter = {
material = { material = {