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/helpers.lua |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/technic/helpers.lua b/technic/helpers.lua
index 5361fa3..e43216d 100644
--- a/technic/helpers.lua
+++ b/technic/helpers.lua
@@ -65,15 +65,26 @@
 end
 
 
+--- Returns the meta of an item
+-- Gets overridden when legacy.lua is loaded
+function technic.get_stack_meta(itemstack)
+	return itemstack:get_meta()
+end
+
+--- Same as technic.get_stack_meta for cans
+function technic.get_stack_meta_cans(itemstack)
+	return itemstack:get_meta()
+end
+
+
 --- Fully charge RE chargeable item.
 -- Must be defined early to reference in item definitions.
 function technic.refill_RE_charge(stack)
 	local max_charge = technic.power_tools[stack:get_name()]
 	if not max_charge then return stack end
+	local meta = technic.get_stack_meta(stack)
+	meta:set_int("technic:charge", max_charge)
 	technic.set_RE_wear(stack, max_charge, max_charge)
-	local meta = minetest.deserialize(stack:get_metadata()) or {}
-	meta.charge = max_charge
-	stack:set_metadata(minetest.serialize(meta))
 	return stack
 end
 

--
Gitblit v1.8.0