From 1b83798f4ebd18a90d010acdd575e3a25f4283fc Mon Sep 17 00:00:00 2001 From: SFENCE Date: Sat, 27 Mar 2021 11:04:07 +0100 Subject: [PATCH] Add support for i3 inventory mod aviable for minetst 5.4+. --- .luacheckrc | 2 +- technic/machines/register/recipes.lua | 29 ++++++++++++++++++++------- technic/mod.conf | 2 +- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/.luacheckrc b/.luacheckrc index 6f932ad..37f4970 100644 --- a/.luacheckrc +++ b/.luacheckrc @@ -29,7 +29,7 @@ read_globals = { "protector", "isprotect", "homedecor_expect_infinite_stacks", - "craftguide", + "craftguide", "i3" } files["concrete/init.lua"].ignore = { "steel_ingot" } diff --git a/technic/machines/register/recipes.lua b/technic/machines/register/recipes.lua index 5d328e3..4c235d9 100644 --- a/technic/machines/register/recipes.lua +++ b/technic/machines/register/recipes.lua @@ -1,5 +1,6 @@ local have_ui = minetest.get_modpath("unified_inventory") local have_cg = minetest.get_modpath("craftguide") +local have_i3 = minetest.get_modpath("i3") technic.recipes = { cooking = { input_size = 1, output_size = 1 } } function technic.register_recipe_type(typename, origdata) @@ -19,6 +20,11 @@ function technic.register_recipe_type(typename, origdata) description = data.description, }) end + if have_i3 and i3.register_craft_type and data.output_size == 1 then + i3.register_craft_type(typename, { + description = data.description, + }) + end data.recipes = {} technic.recipes[typename] = data end @@ -65,8 +71,8 @@ local function register_recipe(typename, data) width = 0, }) end - if have_cg and technic.recipes[typename].output_size == 1 then - if craftguide.register_craft then + if (have_cg or have_i3) and technic.recipes[typename].output_size == 1 then + if (craftguide.register_craft or have_i3) then local result = data.output; if (type(result)=="table") then result = result[1]; @@ -79,11 +85,20 @@ local function register_recipe(typename, data) items = items..", "..input; end end - craftguide.register_craft({ - type = typename, - result = result, - items = {items}, - }) + if craftguide.register_craft then + craftguide.register_craft({ + type = typename, + result = result, + items = {items}, + }) + end + if have_i3 then + i3.register_craft({ + type = typename, + result = result, + items = {items}, + }) + end end end end diff --git a/technic/mod.conf b/technic/mod.conf index e0df0aa..7b8d08c 100644 --- a/technic/mod.conf +++ b/technic/mod.conf @@ -1,3 +1,3 @@ name = technic depends = default, pipeworks, technic_worldgen, basic_materials -optional_depends = bucket, screwdriver, mesecons, mesecons_mvps, digilines, digiline_remote, intllib, unified_inventory, vector_extras, dye, craftguide +optional_depends = bucket, screwdriver, mesecons, mesecons_mvps, digilines, digiline_remote, intllib, unified_inventory, vector_extras, dye, craftguide,i3