Add support for i3 inventory mod aviable for minetst 5.4+.

This commit is contained in:
SFENCE 2021-03-27 11:04:07 +01:00
parent 1084ca00da
commit 1b83798f4e
3 changed files with 24 additions and 9 deletions

View File

@ -29,7 +29,7 @@ read_globals = {
"protector", "isprotect", "protector", "isprotect",
"homedecor_expect_infinite_stacks", "homedecor_expect_infinite_stacks",
"craftguide", "craftguide", "i3"
} }
files["concrete/init.lua"].ignore = { "steel_ingot" } files["concrete/init.lua"].ignore = { "steel_ingot" }

View File

@ -1,5 +1,6 @@
local have_ui = minetest.get_modpath("unified_inventory") local have_ui = minetest.get_modpath("unified_inventory")
local have_cg = minetest.get_modpath("craftguide") local have_cg = minetest.get_modpath("craftguide")
local have_i3 = minetest.get_modpath("i3")
technic.recipes = { cooking = { input_size = 1, output_size = 1 } } technic.recipes = { cooking = { input_size = 1, output_size = 1 } }
function technic.register_recipe_type(typename, origdata) function technic.register_recipe_type(typename, origdata)
@ -19,6 +20,11 @@ function technic.register_recipe_type(typename, origdata)
description = data.description, description = data.description,
}) })
end 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 = {} data.recipes = {}
technic.recipes[typename] = data technic.recipes[typename] = data
end end
@ -65,8 +71,8 @@ local function register_recipe(typename, data)
width = 0, width = 0,
}) })
end end
if have_cg and technic.recipes[typename].output_size == 1 then if (have_cg or have_i3) and technic.recipes[typename].output_size == 1 then
if craftguide.register_craft then if (craftguide.register_craft or have_i3) then
local result = data.output; local result = data.output;
if (type(result)=="table") then if (type(result)=="table") then
result = result[1]; result = result[1];
@ -79,11 +85,20 @@ local function register_recipe(typename, data)
items = items..", "..input; items = items..", "..input;
end end
end end
craftguide.register_craft({ if craftguide.register_craft then
type = typename, craftguide.register_craft({
result = result, type = typename,
items = {items}, result = result,
}) items = {items},
})
end
if have_i3 then
i3.register_craft({
type = typename,
result = result,
items = {items},
})
end
end end
end end
end end

View File

@ -1,3 +1,3 @@
name = technic name = technic
depends = default, pipeworks, technic_worldgen, basic_materials 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