From 8db4982e5b9a5d945851ce8768cc2c1a1f523c3c Mon Sep 17 00:00:00 2001 From: pla Date: Sat, 1 Nov 2025 13:01:21 +0100 Subject: [PATCH] Fixing K2 matter stuff (#1) Fixed K2 matter generation Fixed Matter tech icon size Sadly the matter conversion recipe icons are not fixed, because the K2 routine doesn't like the 128px icons Check if Matter recipes already exist, error with Them Thar Hills ![image](/attachments/f1ccec6e-768a-425e-b0dc-1691b8d78037) Co-authored-by: pla Reviewed-on: https://git.cacklingfiend.info/cacklingfiend/bzgold2/pulls/1 Co-authored-by: pla Co-committed-by: pla --- bzgold2/data-util.lua | 15 +++++--- bzgold2/matter.lua | 53 +++++++++++++------------- bzgold2/prototypes/enriched-gold.lua | 4 +- bzgold2/prototypes/enriched-silver.lua | 4 +- 4 files changed, 41 insertions(+), 35 deletions(-) diff --git a/bzgold2/data-util.lua b/bzgold2/data-util.lua index 3825ac6..8c0697f 100644 --- a/bzgold2/data-util.lua +++ b/bzgold2/data-util.lua @@ -115,12 +115,12 @@ end function util.k2matter(params) 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" @@ -132,7 +132,7 @@ function util.k2matter(params) { { type = "technology", - name = params.k2matter.unlocked_by_technology, + name = params.k2matter.unlocked_by, icons = { { @@ -163,11 +163,16 @@ function util.k2matter(params) }, time = 45, }, - localised_name = {"technology-name.k2-conversion", {"item-name."..params.k2matter.item_name}}, + effects = {}, + -- localised_name = {"technology-name.k2-conversion", {"item-name."..params.k2matter.item_name}}, }, }) end - matter.make_recipes(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/bzgold2/matter.lua b/bzgold2/matter.lua index 10ea30c..728e9da 100644 --- a/bzgold2/matter.lua +++ b/bzgold2/matter.lua @@ -1,30 +1,31 @@ -- Matter recipes for Krastorio2 if mods["Krastorio2"] then - local util = require("data-util"); + local util = require("data-util") - util.k2matter({ - k2matter = { - material = { type = "item", name = "gold-ore", amount = 30 }, - item_name = "gold-ore", - matter_count = 30, - energy_required = 10, - need_stabilizer = false, - unlocked_by_technology = "gold-matter-processing", - }, - k2baseicon = "stone", - icon = {icon = "__bzgold2__/graphics/icons/gold-ore.png", icon_size = 128, scale = 1} - }) - - util.k2matter({ - k2matter = { - material = { type = "item", name = "silver-ore", amount = 8 }, - item_name = "silver-ore", - matter_count = 8, - energy_required = 5, - need_stabilizer = false, - unlocked_by_technology = "silver-matter-processing", - }, - k2baseicon = "stone", - icon = {icon = "__bzgold2__/graphics/icons/silver-ore.png", icon_size = 128, scale = 1} - }) + if not data.raw.recipe["kr-gold-ore-to-matter"] then + util.k2matter({ + k2matter = { + material = { type = "item", name = "gold-ore", amount = 30 }, + item_name = "gold-ore", + matter_count = 30, + energy_required = 10, + needs_stabilizer = false, + unlocked_by = "gold-matter-processing", + }, + icon = { icon = "__bzgold2__/graphics/icons/gold-ore.png", icon_size = 128, scale = 0.5 }, + }) + end + if settings.startup["bzgold-silver"].value then + util.k2matter({ + k2matter = { + material = { type = "item", name = "silver-ore", amount = 8 }, + item_name = "silver-ore", + matter_count = 8, + energy_required = 5, + needs_stabilizer = false, + unlocked_by = "silver-matter-processing", + }, + icon = { icon = "__bzgold2__/graphics/icons/silver-ore.png", icon_size = 128, scale = 0.5 }, + }) + end end diff --git a/bzgold2/prototypes/enriched-gold.lua b/bzgold2/prototypes/enriched-gold.lua index 6190f58..a8d9734 100644 --- a/bzgold2/prototypes/enriched-gold.lua +++ b/bzgold2/prototypes/enriched-gold.lua @@ -1,4 +1,4 @@ -local util = require("data-util"); +local util = require("data-util") if mods.Krastorio2 then @@ -92,7 +92,7 @@ data:extend({ { icon = data.raw.item["gold-ore"].icon, icon_size = data.raw.item["gold-ore"].icon_size, - scale = 0.2, + scale = 0.2 * 64 / (data.raw.item["gold-ore"].icon_size or 64), shift = {0, 4} } }, diff --git a/bzgold2/prototypes/enriched-silver.lua b/bzgold2/prototypes/enriched-silver.lua index c5a8495..0914e19 100644 --- a/bzgold2/prototypes/enriched-silver.lua +++ b/bzgold2/prototypes/enriched-silver.lua @@ -1,4 +1,4 @@ -local util = require("data-util"); +local util = require("data-util") if mods.Krastorio2 and util.me.silver() then data:extend({ @@ -111,7 +111,7 @@ data:extend({ { icon = data.raw.item["silver-ore"].icon, icon_size = data.raw.item["silver-ore"].icon_size, - scale = 0.2, + scale = 0.2 * 64 / (data.raw.item["silver-ore"].icon_size or 64), shift = {0, 4} } },