diff --git a/changelog.txt b/changelog.txt index d4456db..71ed5c7 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,4 +1,9 @@ --------------------------------------------------------------------------------------------------- +Version: 0.1.9 +Date: 2022-01-17 + Features: + - (Beta) Crafting efficiency compatibility +--------------------------------------------------------------------------------------------------- Version: 0.1.8 Date: 2022-12-28 Changes: 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 301e0ed..0ac5573 100644 --- a/data-updates.lua +++ b/data-updates.lua @@ -5,6 +5,7 @@ require("map-gen-preset-updates") require("strange-matter") require("compatibility/248k") require("compatibility/sciencecosttweakerm") +require("compatibility/crafting-efficiency") require("tin-recipe-modules") local util = require("data-util"); diff --git a/info.json b/info.json index 344369f..e8dd13a 100644 --- a/info.json +++ b/info.json @@ -1,6 +1,6 @@ { "name": "bztin", - "version": "0.1.8", + "version": "0.1.9", "factorio_version": "1.1", "title": "Tin", "author": "Brevven", diff --git a/me.lua b/me.lua index 7c2e684..95352a8 100644 --- a/me.lua +++ b/me.lua @@ -2,6 +2,13 @@ local me = {} me.name = "bztin" me.list = {} +me.recipes = {"tin-plate", "solder", "organotins", + "enriched-tin", + "enriched-tin-plate", + "tin-smelting-vulcanite", + "molten-tin", + "enriched-tin-smelting-vulcanite",} + function me.use_cable() if me.get_setting("bz-all-intermediates") then return true end diff --git a/tin-recipe-modules.lua b/tin-recipe-modules.lua index 5b35552..10cc64e 100644 --- a/tin-recipe-modules.lua +++ b/tin-recipe-modules.lua @@ -1,19 +1,7 @@ -- Enable prod modules for all tin plate and ore recipes +local util = require("data-util"); -recipes = {"tin-plate", "solder", "organotins"} -if mods["Krastorio2"] then - table.insert(recipes, "enriched-tin") - table.insert(recipes, "enriched-tin-plate") -end -if mods["space-exploration"] then - table.insert(recipes, "tin-smelting-vulcanite") - table.insert(recipes, "molten-tin") - if mods["Krastorio2"] then - table.insert(recipes, "enriched-tin-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