krastorio 2.0 compatibility

This commit is contained in:
Matt Grogan 2025-04-30 21:36:22 -04:00
parent bd96ca7464
commit a61860ef70
4 changed files with 50 additions and 38 deletions

View file

@ -514,15 +514,15 @@ end
-- k2 matter -- k2 matter
-- params: {k2matter}, k2baseicon , {icon} -- params: {k2matter}, k2baseicon , {icon}
function util.k2matter(params) function util.k2matter(params, only_deconversion)
local matter = require("__Krastorio2__/lib/public/data-stages/matter-util") local matter = require("__Krastorio2__/prototypes/libraries/matter")
if mods["space-exploration"] then if mods["space-exploration"] then
params.k2matter.need_stabilizer = true params.k2matter.needs_stabilizer = true
end end
if not params.k2matter.minimum_conversion_quantity then if not params.k2matter.material.amount then
params.k2matter.minimum_conversion_quantity = 10 params.k2matter.material.amount = 10
end end
if not data.raw.technology[params.k2matter.unlocked_by_technology] then if not data.raw.technology[params.k2matter.unlocked_by] then
local icon = "" local icon = ""
if params.k2baseicon then if params.k2baseicon then
icon = util.k2assets().."/technologies/matter-"..params.k2baseicon..".png" icon = util.k2assets().."/technologies/matter-"..params.k2baseicon..".png"
@ -534,7 +534,7 @@ function util.k2matter(params)
{ {
{ {
type = "technology", type = "technology",
name = params.k2matter.unlocked_by_technology, name = params.k2matter.unlocked_by,
icons = icons =
{ {
{ {
@ -543,6 +543,7 @@ function util.k2matter(params)
}, },
params.icon, params.icon,
}, },
effects = {},
prerequisites = {"kr-matter-processing"}, prerequisites = {"kr-matter-processing"},
unit = unit =
{ {
@ -561,7 +562,7 @@ function util.k2matter(params)
{ {
{"production-science-pack", 1}, {"production-science-pack", 1},
{"utility-science-pack", 1}, {"utility-science-pack", 1},
{"matter-tech-card", 1} {"kr-matter-tech-card", 1}
}, },
time = 45, time = 45,
}, },
@ -569,7 +570,11 @@ function util.k2matter(params)
}, },
}) })
end end
matter.createMatterRecipe(params.k2matter) if only_deconversion then
matter.make_deconversion_recipe(params.k2matter)
else
matter.make_recipes(params.k2matter)
end
end end
@ -676,7 +681,7 @@ function util.se_matter(params)
{"se-astronomic-science-pack-4", 1}, {"se-astronomic-science-pack-4", 1},
{"se-energy-science-pack-4", 1}, {"se-energy-science-pack-4", 1},
{"se-material-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}, {"se-deep-space-science-pack-1", 1},
} }

View file

@ -60,6 +60,7 @@ dirty-water-filtration-zircon=Filter dirty water [item=zircon]
zircon-synthesis=Zircon synthesis zircon-synthesis=Zircon synthesis
zirconium-gettering=Zirconium gettering zirconium-gettering=Zirconium gettering
stone-from-lava=Stone from lava stone-from-lava=Stone from lava
enriched-zirconia-smelting=Zirconia from enriched zircon
[recipe-description] [recipe-description]
zircon-synthesis=Use Gleban biological processes to synthesize zircon from purer materials. zircon-synthesis=Use Gleban biological processes to synthesize zircon from purer materials.

View file

@ -1,40 +1,47 @@
-- Matter recipes for Krastorio2 -- Matter recipes for Krastorio2
if mods["Krastorio2"] then if mods["Krastorio2"] then
local util = require("__bzzirconium__.data-util"); local util = require("__bzzirconium__.data-util");
util.k2matter({ util.k2matter({
k2matter = { k2matter = {
item_name = "zircon", material = {
matter_value = 6, name = "zircon",
type = "item"
},
matter_count = 6,
energy_required = 1, energy_required = 1,
need_stabilizer = false, needs_stabilizer = false,
unlocked_by_technology = "zirconium-matter-processing", unlocked_by = "zirconium-matter-processing",
}, },
k2baseicon = "stone", k2baseicon = "stone",
icon = { icon = "__bzzirconium__/graphics/icons/zircon.png", icon_size = 64, scale = 1.25} icon = { icon = "__bzzirconium__/graphics/icons/zircon.png", icon_size = 64, scale = 1.25}
}) }, false)
util.k2matter({ util.k2matter({
k2matter = { k2matter = {
item_name = "zirconia", material = {
minimum_conversion_quantity = 20, name = "zirconia",
matter_value = 10, type = "item",
amount = 20,
},
matter_count = 10,
energy_required = 2, energy_required = 2,
only_deconversion = true, needs_stabilizer = true,
need_stabilizer = true, unlocked_by = "zirconium-matter-processing",
unlocked_by_technology = "zirconium-matter-processing",
}, },
}) }, true)
util.k2matter({ util.k2matter({
k2matter = { k2matter = {
item_name = "zirconium-plate", material = {
matter_value = 17, name = "zirconium-plate",
type = "item",
},
matter_count = 17,
energy_required = 2, energy_required = 2,
only_deconversion = true, needs_stabilizer = true,
need_stabilizer = true, unlocked_by = "zirconium-matter-processing",
unlocked_by_technology = "zirconium-matter-processing",
}, },
}) }, true)
end end

View file

@ -40,7 +40,7 @@ data:extend({
results = results =
{ {
{type = "item", name = "enriched-zircon", amount = 6}, {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, (mods.bztitanium and util.me.byproduct()) and {type = "item", name = "titanium-ore", amount = 1} or nil,
}, },
crafting_machine_tint = crafting_machine_tint =
@ -68,26 +68,25 @@ data:extend({
allow_productivity = true, allow_productivity = true,
ingredients = ingredients =
{ {
{"enriched-zircon", 5} { type = "item", name = "enriched-zircon", amount = 5}
}, },
result = "zirconia", results = { { type = "item", name = "zirconia", amount = 10 } },
result_count = 10,
order = "z[zirconia]-z[enriched-zirconia]" order = "z[zirconia]-z[enriched-zirconia]"
}, },
{ {
type = "recipe", type = "recipe",
name = "dirty-water-filtration-zircon", name = "dirty-water-filtration-zircon",
category = "fluid-filtration", category = "kr-fluid-filtration",
icons = icons =
{ {
{ {
icon = data.raw.fluid["dirty-water"].icon, icon = data.raw.fluid["kr-dirty-water"].icon,
icon_size = data.raw.fluid["dirty-water"].icon_size icon_size = data.raw.fluid["kr-dirty-water"].icon_size
}, },
{ {
icon = data.raw.item["zircon"].icon, icon = data.raw.item["zircon"].icon,
icon_size = data.raw.item["zircon"].icon_size, 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} shift = {0, 4}
} }
}, },
@ -99,7 +98,7 @@ data:extend({
always_show_products = true, always_show_products = true,
ingredients = 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 = results =
{ {