From befe3ecc86f046310ec0a5c24f82acea2ad13d9d Mon Sep 17 00:00:00 2001
From: Vanessa Dannenberg <vanessa.e.dannenberg@gmail.com>
Date: Wed, 27 May 2020 18:32:57 +0200
Subject: [PATCH] Fix incorrect numeric types for 5.3.0-dev

---
 technic_chests/common.lua |   29 ++++++++++++-----------------
 1 files changed, 12 insertions(+), 17 deletions(-)

diff --git a/technic_chests/common.lua b/technic_chests/common.lua
index 47054f5..6369b7a 100644
--- a/technic_chests/common.lua
+++ b/technic_chests/common.lua
@@ -1,4 +1,3 @@
-
 technic.chests.groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2,
 		tubedevice=1, tubedevice_receiver=1}
 technic.chests.groups_noinv = {snappy=2, choppy=2, oddly_breakable_by_hand=2,
@@ -13,6 +12,9 @@
 	can_insert = function(pos, node, stack, direction)
 		local meta = minetest.get_meta(pos)
 		local inv = meta:get_inventory()
+		if meta:get_int("splitstacks") == 1 then
+			stack = stack:peek_item(1)
+		end
 		return inv:room_for_item("main",stack)
 	end,
 	input_inventory = "main",
@@ -26,12 +28,9 @@
 end
 
 local function inv_change(pos, count, player)
-	local meta = minetest.get_meta(pos)
-	if not has_locked_chest_privilege(meta, player) then
-		minetest.log("action", player:get_player_name()..
-			" tried to access a locked chest belonging to "..
-			meta:get_string("owner").." at "..
-			minetest.pos_to_string(pos))
+	-- Skip check for pipeworks (fake player)
+	if minetest.is_player(player) and
+			not default.can_interact_with_node(player, pos) then
 		return 0
 	end
 	return count
@@ -54,18 +53,14 @@
 end
 
 function technic.chests.on_inv_put(pos, listname, index, stack, player)
-	minetest.log("action", player:get_player_name()..
-		" puts stuff in to chest at "
-		..minetest.pos_to_string(pos))
+	minetest.log("action", player:get_player_name() ..
+			" moves " .. stack:get_name() ..
+			" to chest at " .. minetest.pos_to_string(pos))
 end
 
 function technic.chests.on_inv_take(pos, listname, index, stack, player)
-	minetest.log("action", player:get_player_name()..
-		" takes stuff from chest at "
-		..minetest.pos_to_string(pos))
-end
-
-function has_locked_chest_privilege(meta, player)
-	return player:get_player_name() == meta:get_string("owner")
+	minetest.log("action", player:get_player_name() ..
+			" takes " .. stack:get_name()  ..
+			" from chest at " .. minetest.pos_to_string(pos))
 end
 

--
Gitblit v1.8.0