From fc0bb810f780d36b01b2dd9216296fe9ade81fb4 Mon Sep 17 00:00:00 2001 From: Nihilistzsche Date: Fri, 10 Feb 2023 17:26:05 -0800 Subject: [PATCH 1/3] Everything efficiency. --- compatibility/crafting-efficiency.lua | 23 ++++++++++++++++++----- zirconium-enriched.lua | 1 + 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/compatibility/crafting-efficiency.lua b/compatibility/crafting-efficiency.lua index 282f6e5..eb53358 100644 --- a/compatibility/crafting-efficiency.lua +++ b/compatibility/crafting-efficiency.lua @@ -8,17 +8,30 @@ if mods["crafting-efficiency-2"] then for i, recipe in pairs(util.me.recipes) do -- add remaining recipes with direct items to find the icons if data.raw.recipe[recipe] and (data.raw.item[recipe] or data.raw.fluid[recipe]) - and not eff_data[recipe] and - (data.raw.recipe[recipe].main_product or util.get_result_count(recipe) == 1) then + and not eff_data[recipe] then + local research_level = 1 + if not data.raw.recipe[recipe].enabled then + for tech, tbl in pairs(data.raw.technology) do + for _, effect in pairs(tbl.effects or {}) do + if effect.type == "unlock-recipe" and effect.recipe == recipe then + research_level = math.min(#tbl.unit.ingredients, 6) + end + end + end + end eff_data[recipe] = { max = 15, - icon = data.raw.item[recipe] and data.raw.item[recipe].icon or data.raw.fluid[recipe].icon, + icon = util.get_item_or_fluid_icon(recipe), crafting = { efficiency = 10 }, - research = { level = 6 }, + research = { level = research_level }, } + if recipe:find("smelting") then + eff_data[recipe].crafting.efficiency = 20 + eff_data[recipe].crafting.category = "smelting" + end end end - for recipe, d in pairs(eff_data) do + for recipe, d in pairs(eff_data) do log("Adding "..recipe.." crafting efficiency") d.name = recipe:gsub("^%l", string.upper).." efficiency" CE_Add_Recipe(d, recipe) diff --git a/zirconium-enriched.lua b/zirconium-enriched.lua index d779d1b..6f7eae2 100644 --- a/zirconium-enriched.lua +++ b/zirconium-enriched.lua @@ -30,6 +30,7 @@ data:extend({ always_show_made_in = true, always_show_products = true, allow_productivity = true, + subgroup = "raw-material", ingredients = { {type = "fluid", name = "sulfuric-acid", amount = 10}, From fec9bebf70baf6b8de1ec9d863dcd33c7a81e197 Mon Sep 17 00:00:00 2001 From: Nihilistzsche Date: Sat, 11 Feb 2023 13:36:07 -0800 Subject: [PATCH 2/3] Forgot this. --- data-util.lua | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/data-util.lua b/data-util.lua index 4c4cd1e..eef178f 100644 --- a/data-util.lua +++ b/data-util.lua @@ -963,6 +963,19 @@ function util.set_item_icons(item_name, icons) end end +-- Gets an item or fluid icon +function util.get_item_or_fluid_icon(name) + icon = "" + if data.raw.item[name] then + icon = data.raw.item[name].icon + if not icon then icon = data.raw.item[name].icons[1].icon end + elseif data.raw.fluid[name] then + icon = data.raw.fluid[name].icon + if not icon then icon = data.raw.fluid[name].icons[1].icon end + end + return icon +end + function util.set_to_founding(recipe, options) util.set_category(recipe, "founding", options) util.set_subgroup(recipe, "foundry-intermediate", options) From eec149fc092ee27d29d2fce80603729af4eb20d3 Mon Sep 17 00:00:00 2001 From: Nihilistzsche Date: Sat, 11 Feb 2023 16:37:47 -0800 Subject: [PATCH 3/3] Need a subgroup here too. --- zirconium-recipe-se.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/zirconium-recipe-se.lua b/zirconium-recipe-se.lua index 127306c..16dca0b 100644 --- a/zirconium-recipe-se.lua +++ b/zirconium-recipe-se.lua @@ -19,6 +19,7 @@ if string.sub(mods["space-exploration"], 1, 3) == "0.6" then }) util.set_item_subgroup("zirconia", "zirconium") util.set_item_subgroup("zirconium-plate", "zirconium") + data.raw.recipe["zirconia"].subgroup = "zirconium" data:extend({ { type = "item",