From c7a69b6188bdb6f50305d8ade85fc8cbb66e2893 Mon Sep 17 00:00:00 2001 From: Brevven Date: Mon, 16 Jan 2023 22:01:24 -0800 Subject: [PATCH] crafting efficiency --- changelog.txt | 7 +++++++ compatibility/crafting-efficiency.lua | 26 ++++++++++++++++++++++++++ data-updates.lua | 1 + info.json | 2 +- me.lua | 6 ++++++ modules.lua | 15 ++------------- 6 files changed, 43 insertions(+), 14 deletions(-) create mode 100644 compatibility/crafting-efficiency.lua diff --git a/changelog.txt b/changelog.txt index 4d48ff8..034ac38 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,4 +1,11 @@ --------------------------------------------------------------------------------------------------- +Version: 0.6.14 +Date: 2023-01-17 + Changes: + - Deadlock stacking/crating: zircon moved to tier 1 + Features: + - (Beta) Add support for crafting efficiency mod +--------------------------------------------------------------------------------------------------- Version: 0.6.13 Date: 2022-12-24 Fixes: diff --git a/compatibility/crafting-efficiency.lua b/compatibility/crafting-efficiency.lua new file mode 100644 index 0000000..282f6e5 --- /dev/null +++ b/compatibility/crafting-efficiency.lua @@ -0,0 +1,26 @@ +local util = require("data-util"); + +if mods["crafting-efficiency-2"] then + + local eff_data = { + } + + 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 + eff_data[recipe] = { + max = 15, + icon = data.raw.item[recipe] and data.raw.item[recipe].icon or data.raw.fluid[recipe].icon, + crafting = { efficiency = 10 }, + research = { level = 6 }, + } + end + end + 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) + end +end diff --git a/data-updates.lua b/data-updates.lua index 9842746..3f129a6 100644 --- a/data-updates.lua +++ b/data-updates.lua @@ -5,6 +5,7 @@ require("map-gen-preset-updates") require("omni") require("strange-matter") require("zircon-rocks") +require("compatibility/crafting-efficiency") require("modules") diff --git a/info.json b/info.json index 481006d..c8ee1ae 100644 --- a/info.json +++ b/info.json @@ -1,6 +1,6 @@ { "name": "bzzirconium", - "version": "0.6.13", + "version": "0.6.14", "factorio_version": "1.1", "title": "Zirconium", "author": "Brevven", diff --git a/me.lua b/me.lua index 88fbc30..cb1e57c 100644 --- a/me.lua +++ b/me.lua @@ -1,6 +1,12 @@ local me = {} me.name = "bzzirconium" +me.recipes = {"zirconium-plate", "zirconia", "cermet", + "enriched-zirconia-smelting", + "enriched-zircon", + "zirconia-smelting-vulcanite", + "molten-zirconium", + "enriched-zirconia-smelting-vulcanite",} function me.byproduct() return me.get_setting("bzzirconium-byproduct") and not me.get_setting("bz-no-byproduct") diff --git a/modules.lua b/modules.lua index 473b099..937ceee 100644 --- a/modules.lua +++ b/modules.lua @@ -1,19 +1,8 @@ -- Enable prod modules for all zircon, etc recipes +local util = require("data-util"); -recipes = {"zirconium-plate", "zirconia", "cermet"} -if mods["Krastorio2"] then - table.insert(recipes, "enriched-zirconia-smelting") - table.insert(recipes, "enriched-zircon") -end -if mods["space-exploration"] then - table.insert(recipes, "zirconia-smelting-vulcanite") - table.insert(recipes, "molten-zirconium") - if mods["Krastorio2"] then - table.insert(recipes, "enriched-zirconia-smelting-vulcanite") - end -end -for i, recipe in pairs(recipes) do +for i, recipe in pairs(util.me.recipes) do if data.raw.recipe[recipe] then for j, module in pairs(data.raw.module) do if module.effect then