From a61860ef705f4d52998e294af3a2ae294afbadac Mon Sep 17 00:00:00 2001 From: Matt Grogan Date: Wed, 30 Apr 2025 21:36:22 -0400 Subject: [PATCH] krastorio 2.0 compatibility --- data-util.lua | 25 ++++++++++++++--------- locale/en/zirconium.cfg | 1 + zircon-matter.lua | 45 ++++++++++++++++++++++++----------------- zirconium-enriched.lua | 17 ++++++++-------- 4 files changed, 50 insertions(+), 38 deletions(-) diff --git a/data-util.lua b/data-util.lua index 2ab06b4..0fbe765 100644 --- a/data-util.lua +++ b/data-util.lua @@ -514,15 +514,15 @@ end -- k2 matter -- params: {k2matter}, k2baseicon , {icon} -function util.k2matter(params) - local matter = require("__Krastorio2__/lib/public/data-stages/matter-util") +function util.k2matter(params, only_deconversion) + 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 + if not params.k2matter.material.amount then + params.k2matter.material.amount = 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 +534,7 @@ function util.k2matter(params) { { type = "technology", - name = params.k2matter.unlocked_by_technology, + name = params.k2matter.unlocked_by, icons = { { @@ -543,6 +543,7 @@ function util.k2matter(params) }, params.icon, }, + effects = {}, prerequisites = {"kr-matter-processing"}, unit = { @@ -561,7 +562,7 @@ function util.k2matter(params) { {"production-science-pack", 1}, {"utility-science-pack", 1}, - {"matter-tech-card", 1} + {"kr-matter-tech-card", 1} }, time = 45, }, @@ -569,7 +570,11 @@ function util.k2matter(params) }, }) end - matter.createMatterRecipe(params.k2matter) + if only_deconversion then + matter.make_deconversion_recipe(params.k2matter) + else + matter.make_recipes(params.k2matter) + end end @@ -676,7 +681,7 @@ function util.se_matter(params) {"se-astronomic-science-pack-4", 1}, {"se-energy-science-pack-4", 1}, {"se-material-science-pack-4", 1}, - {"matter-tech-card", 1}, + {"kr-matter-tech-card", 1}, {"se-deep-space-science-pack-1", 1}, } diff --git a/locale/en/zirconium.cfg b/locale/en/zirconium.cfg index c7f6188..8e560a5 100644 --- a/locale/en/zirconium.cfg +++ b/locale/en/zirconium.cfg @@ -60,6 +60,7 @@ dirty-water-filtration-zircon=Filter dirty water [item=zircon] zircon-synthesis=Zircon synthesis zirconium-gettering=Zirconium gettering stone-from-lava=Stone from lava +enriched-zirconia-smelting=Zirconia from enriched zircon [recipe-description] zircon-synthesis=Use Gleban biological processes to synthesize zircon from purer materials. diff --git a/zircon-matter.lua b/zircon-matter.lua index c0c02b8..c09f108 100644 --- a/zircon-matter.lua +++ b/zircon-matter.lua @@ -1,40 +1,47 @@ -- Matter recipes for Krastorio2 if mods["Krastorio2"] then -local util = require("__bzzirconium__.data-util"); + local util = require("__bzzirconium__.data-util"); util.k2matter({ k2matter = { - item_name = "zircon", - matter_value = 6, + material = { + name = "zircon", + type = "item" + }, + matter_count = 6, energy_required = 1, - need_stabilizer = false, - unlocked_by_technology = "zirconium-matter-processing", + needs_stabilizer = false, + unlocked_by = "zirconium-matter-processing", }, k2baseicon = "stone", icon = { icon = "__bzzirconium__/graphics/icons/zircon.png", icon_size = 64, scale = 1.25} - }) + }, false) util.k2matter({ k2matter = { - item_name = "zirconia", - minimum_conversion_quantity = 20, - matter_value = 10, + material = { + name = "zirconia", + type = "item", + amount = 20, + }, + matter_count = 10, energy_required = 2, - only_deconversion = true, - need_stabilizer = true, - unlocked_by_technology = "zirconium-matter-processing", + needs_stabilizer = true, + unlocked_by = "zirconium-matter-processing", }, - }) + }, true) util.k2matter({ k2matter = { - item_name = "zirconium-plate", - matter_value = 17, + material = { + name = "zirconium-plate", + type = "item", + }, + matter_count = 17, energy_required = 2, - only_deconversion = true, - need_stabilizer = true, - unlocked_by_technology = "zirconium-matter-processing", + needs_stabilizer = true, + unlocked_by = "zirconium-matter-processing", }, - }) + }, true) end diff --git a/zirconium-enriched.lua b/zirconium-enriched.lua index 93f9202..e8b9074 100644 --- a/zirconium-enriched.lua +++ b/zirconium-enriched.lua @@ -40,7 +40,7 @@ data:extend({ results = { {type = "item", name = "enriched-zircon", amount = 6}, - {type = "fluid", name = "dirty-water", amount = 25, ignored_by_stats=25, ignored_by_productivity=25}, + {type = "fluid", name = "kr-dirty-water", amount = 25, ignored_by_stats=25, ignored_by_productivity=25}, (mods.bztitanium and util.me.byproduct()) and {type = "item", name = "titanium-ore", amount = 1} or nil, }, crafting_machine_tint = @@ -68,26 +68,25 @@ data:extend({ allow_productivity = true, ingredients = { - {"enriched-zircon", 5} + { type = "item", name = "enriched-zircon", amount = 5} }, - result = "zirconia", - result_count = 10, + results = { { type = "item", name = "zirconia", amount = 10 } }, order = "z[zirconia]-z[enriched-zirconia]" }, { type = "recipe", name = "dirty-water-filtration-zircon", - 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["zircon"].icon, icon_size = data.raw.item["zircon"].icon_size, - scale = 0.20 * (data.raw.fluid["dirty-water"].icon_size/data.raw.item["zircon"].icon_size), + scale = 0.2 * 64 / (data.raw.item["zircon"].icon_size or 64), shift = {0, 4} } }, @@ -99,7 +98,7 @@ data:extend({ always_show_products = true, ingredients = { - {type = "fluid", name = "dirty-water", amount = 100, ignored_by_stats=100, ignored_by_productivity=100}, + {type = "fluid", name = "kr-dirty-water", amount = 100, ignored_by_stats=100, ignored_by_productivity=100}, }, results = {