From 916fcdf94d52b7e36b87d889592cbba94d9288dc Mon Sep 17 00:00:00 2001 From: Brevven Date: Sat, 3 May 2025 03:45:35 -0700 Subject: [PATCH] k2 updates --- changelog.txt | 2 ++ data-util.lua | 29 ++++++++++++++-------------- titanium-enriched.lua | 25 ++++++++++++------------ titanium-matter.lua | 45 +++++++++++++++++++++++++------------------ 4 files changed, 54 insertions(+), 47 deletions(-) diff --git a/changelog.txt b/changelog.txt index 1f690a9..1caf594 100644 --- a/changelog.txt +++ b/changelog.txt @@ -3,6 +3,8 @@ Version: 2.0.23 Date: 2025-05-03 Fixes: - Fix load issue with Bob's + Changes: + - K2: Updated compatibility (with thanks to autechr3 and pla) --------------------------------------------------------------------------------------------------- Version: 2.0.22 Date: 2025-03-10 diff --git a/data-util.lua b/data-util.lua index 0e48dbf..29ebf26 100644 --- a/data-util.lua +++ b/data-util.lua @@ -115,12 +115,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 mods.Krastorio2 and kr_adjust_stack_sizes then + return tonumber(200) end return default end @@ -515,14 +512,11 @@ end -- k2 matter -- params: {k2matter}, k2baseicon , {icon} function util.k2matter(params) - local matter = require("__Krastorio2__/lib/public/data-stages/matter-util") + local matter = require("__Krastorio2__/prototypes/libraries/matter") if mods["space-exploration"] then - params.k2matter.need_stabilizer = true + params.k2matter.needs_stabilizer = true end - if not params.k2matter.minimum_conversion_quantity then - params.k2matter.minimum_conversion_quantity = 10 - end - if not data.raw.technology[params.k2matter.unlocked_by_technology] then + if not data.raw.technology[params.k2matter.unlocked_by] then local icon = "" if params.k2baseicon then icon = util.k2assets().."/technologies/matter-"..params.k2baseicon..".png" @@ -534,7 +528,7 @@ function util.k2matter(params) { { type = "technology", - name = params.k2matter.unlocked_by_technology, + name = params.k2matter.unlocked_by, icons = { { @@ -561,15 +555,20 @@ function util.k2matter(params) { {"production-science-pack", 1}, {"utility-science-pack", 1}, - {"matter-tech-card", 1} + {"kr-matter-tech-card", 1} }, time = 45, }, + effects = {} -- (ignore for now) localised_name = {"technology-name.k2-conversion", {"item-name."..params.k2matter.item_name}}, }, }) end - matter.createMatterRecipe(params.k2matter) + if params.k2matter.only_deconversion then + matter.make_deconversion_recipe(params.k2matter) + else + matter.make_recipes(params.k2matter) + end end diff --git a/titanium-enriched.lua b/titanium-enriched.lua index 28260c1..2047038 100644 --- a/titanium-enriched.lua +++ b/titanium-enriched.lua @@ -34,14 +34,14 @@ data:extend( subgroup = "raw-material", ingredients = { - {type = "fluid", name = "hydrogen-chloride", amount = 10}, - {type = "fluid", name = "water", amount = 25, catalyst_amount = 25}, + {type = "fluid", name = "kr-hydrogen-chloride", amount = 10}, + {type = "fluid", name = "water", amount = 25, ignored_by_stats=25, ignored_by_productivity=25}, {type = "item", name = "titanium-ore", amount = 9} }, results = { {type = "item", name = "enriched-titanium", amount = 6}, - {type = "fluid", name = "dirty-water", amount = 25, catalyst_amount = 25} + {type = "fluid", name = "kr-dirty-water", amount = 25, ignored_by_stats=25, ignored_by_productivity=25} }, crafting_machine_tint = { @@ -68,10 +68,9 @@ data:extend( allow_productivity = true, ingredients = { - {"enriched-titanium", 10} + util.item("enriched-titanium", 10), }, - result = util.me.titanium_plate, - result_count = 5, + results = {util.item(util.me.titanium_plate, 5)}, order = "b[titanium-plate]-b[enriched-titanium-plate]" }, { @@ -122,21 +121,21 @@ data:extend( { type = "recipe", name = "dirty-water-filtration-titanium", - category = "fluid-filtration", + category = "kr-fluid-filtration", icons = { { - icon = data.raw.fluid["dirty-water"].icon, - icon_size = data.raw.fluid["dirty-water"].icon_size + icon = data.raw.fluid["kr-dirty-water"].icon, + icon_size = data.raw.fluid["kr-dirty-water"].icon_size }, { icon = data.raw.item["titanium-ore"].icon, icon_size = data.raw.item["titanium-ore"].icon_size, - scale = 0.20 * (data.raw.fluid["dirty-water"].icon_size/data.raw.item["titanium-ore"].icon_size), + scale = 0.20 * 64 / (data.raw.item["titanium-ore"].icon_size or 64), shift = {0, 4} } }, - icon_size = data.raw.fluid["dirty-water"].icon_size, + icon_size = data.raw.fluid["kr-dirty-water"].icon_size, energy_required = 2, enabled = false, allow_as_intermediate = false, @@ -144,11 +143,11 @@ data:extend( always_show_products = true, ingredients = { - {type = "fluid", name = "dirty-water", amount = 100, catalyst_amount = 100}, + {type = "fluid", name = "kr-dirty-water", amount = 100, ignored_by_stats=100, ignored_by_productivity=100}, }, results = { - {type = "fluid", name = "water", amount = 90, catalyst_amount = 90}, + {type = "fluid", name = "water", amount = 90, ignored_by_stats=90, ignored_by_productivity=90}, {type = "item", name = "stone", probability = 0.30, amount = 1}, {type = "item", name = "titanium-ore", probability = 0.05, amount = 1} }, diff --git a/titanium-matter.lua b/titanium-matter.lua index 3b541f5..e09d0e4 100644 --- a/titanium-matter.lua +++ b/titanium-matter.lua @@ -1,7 +1,6 @@ -- Matter recipes for Krastorio2 if mods["Krastorio2"] then local util = require("__bztitanium__.data-util"); -local matter = require("__Krastorio2__/lib/public/data-stages/matter-util") data:extend( { @@ -20,6 +19,7 @@ data:extend( scale = 1.5, } }, + effects = {}, prerequisites = {"kr-matter-processing"}, unit = { @@ -28,35 +28,42 @@ data:extend( { {"production-science-pack", 1}, {"utility-science-pack", 1}, - {"matter-tech-card", 1} + {"kr-matter-tech-card", 1} }, time = 45 } }, }) -local titanium_ore_matter = - { - item_name = "titanium-ore", - minimum_conversion_quantity = 10, - matter_value = 8, +util.k2matter({ + k2matter = { + material = { + name = "titanium-ore", + type = "item", + amount = 10, + }, + matter_count = 8, energy_required = 1, - need_stabilizer = false, - unlocked_by_technology = "titanium-matter-processing" + needs_stabilizer = false, + allow_productivity = true, + unlocked_by = "titanium-matter-processing" } -matter.createMatterRecipe(titanium_ore_matter) +}) - -local titanium_plate_matter = - { - item_name = util.me.titanium_plate, - minimum_conversion_quantity = 10, - matter_value = 14, +util.k2matter({ + k2matter = { + material = { + name = "titanium-plate", + type = "item", + amount = 10, + }, + matter_count = 14, energy_required = 2, + needs_stabilizer = true, + allow_productivity = true, only_deconversion = true, - need_stabilizer = true, - unlocked_by_technology = "titanium-matter-processing" + unlocked_by = "titanium-matter-processing" } -matter.createMatterRecipe(titanium_plate_matter) +}) end