From a08ba2bb93d7683b619a0e6b0bf00e3afd614ae4 Mon Sep 17 00:00:00 2001
From: cx384 <cx384@proton.me>
Date: Mon, 22 Jan 2024 18:27:54 +0100
Subject: [PATCH] Get rid of deprecated metadata (#628)

---
 technic/machines/register/recipes.lua |   47 +++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 41 insertions(+), 6 deletions(-)

diff --git a/technic/machines/register/recipes.lua b/technic/machines/register/recipes.lua
index 921d1c8..ba4a5e1 100644
--- a/technic/machines/register/recipes.lua
+++ b/technic/machines/register/recipes.lua
@@ -1,4 +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)
@@ -6,12 +8,24 @@
 	for k, v in pairs(origdata) do data[k] = v end
 	data.input_size = data.input_size or 1
 	data.output_size = data.output_size or 1
-	if have_ui and unified_inventory.register_craft_type and data.output_size == 1 then
-		unified_inventory.register_craft_type(typename, {
-			description = data.description,
-			width = data.input_size,
-			height = 1,
-		})
+	if data.output_size == 1 then
+		if have_ui and unified_inventory.register_craft_type then
+			unified_inventory.register_craft_type(typename, {
+				description = data.description,
+				width = data.input_size,
+				height = 1,
+			})
+		end
+		if have_cg and craftguide.register_craft_type then
+			craftguide.register_craft_type(typename, {
+				description = data.description,
+			})
+		end
+		if have_i3 then
+			i3.register_craft_type(typename, {
+				description = data.description,
+			})
+		end
 	end
 	data.recipes = {}
 	technic.recipes[typename] = data
@@ -59,6 +73,27 @@
 			width = 0,
 		})
 	end
+	if (have_cg or have_i3) and technic.recipes[typename].output_size == 1 then
+		local result = data.output
+		if (type(result)=="table") then
+			result = result[1]
+		end
+		local items = table.concat(data.input, ", ")
+		if have_cg and 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
 
 function technic.register_recipe(typename, data)

--
Gitblit v1.8.0