From d5ff69d1d9efd683d852562af6cfddac5ac69879 Mon Sep 17 00:00:00 2001
From: Gábriel <38207624+gabriel1379@users.noreply.github.com>
Date: Mon, 25 Mar 2024 19:45:57 +0100
Subject: [PATCH] Add Everness sandstone compressor recipes (#634)

---
 technic/tools/vacuum.lua |   25 ++++++++++++-------------
 1 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/technic/tools/vacuum.lua b/technic/tools/vacuum.lua
index 86e6b64..a715d99 100644
--- a/technic/tools/vacuum.lua
+++ b/technic/tools/vacuum.lua
@@ -14,24 +14,23 @@
 	wear_represents = "technic_RE_charge",
 	on_refill = technic.refill_RE_charge,
 	on_use = function(itemstack, user, pointed_thing)
-		local meta = minetest.deserialize(itemstack:get_metadata())
-		if not meta or not meta.charge then
+		local meta = technic.get_stack_meta(itemstack)
+		local charge = meta:get_int("technic:charge")
+		if charge < vacuum_charge_per_object then
 			return
 		end
-		if meta.charge > vacuum_charge_per_object then
-			minetest.sound_play("vacuumcleaner", {
-				to_player = user:get_player_name(),
-				gain = 0.4,
-			})
-		end
+		minetest.sound_play("vacuumcleaner", {
+			to_player = user:get_player_name(),
+			gain = 0.4,
+		})
 		local pos = user:get_pos()
 		local inv = user:get_inventory()
 		for _, object in ipairs(minetest.get_objects_inside_radius(pos, vacuum_range)) do
 			local luaentity = object:get_luaentity()
 			if not object:is_player() and luaentity and luaentity.name == "__builtin:item" and luaentity.itemstring ~= "" then
 				if inv and inv:room_for_item("main", ItemStack(luaentity.itemstring)) then
-					meta.charge = meta.charge - vacuum_charge_per_object
-					if meta.charge < vacuum_charge_per_object then
+					charge = charge - vacuum_charge_per_object
+					if charge < vacuum_charge_per_object then
 						return
 					end
 					inv:add_item("main", ItemStack(luaentity.itemstring))
@@ -44,9 +43,9 @@
 				end
 			end
 		end
-		
-		technic.set_RE_wear(itemstack, meta.charge, vacuum_max_charge)
-		itemstack:set_metadata(minetest.serialize(meta))
+
+		meta:set_int("technic:charge", charge)
+		technic.set_RE_wear(itemstack, charge, vacuum_max_charge)
 		return itemstack
 	end,
 })

--
Gitblit v1.8.0