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

View file

@ -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,

View file

@ -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

View file

@ -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",

2
me.lua
View file

@ -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()

View file

@ -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

View file

@ -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,

View file

@ -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")

View file

@ -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

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({
k2matter = {
material = {