From 8f896b65c41d6780e49fbc9bfa2095c618aea168 Mon Sep 17 00:00:00 2001 From: Cam B Date: Wed, 20 Jan 2021 14:52:05 +0000 Subject: [PATCH] Disallow pushing into invalid faces --- tubelib/command.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tubelib/command.lua b/tubelib/command.lua index 4942897..96acd40 100644 --- a/tubelib/command.lua +++ b/tubelib/command.lua @@ -431,6 +431,14 @@ end function tubelib.push_items(pos, side, items, player_name) local npos, nside, name = get_dest_node(pos, side) if npos == nil then return end + + local _,node = Tube:get_node(pos) + local dir = side_to_dir(side, node.param2) + local node, _, valid = Tube:get_secondary_node(pos, dir) + if node and not valid then + return false + end + if tubelib_NodeDef[name] and tubelib_NodeDef[name].on_push_item then return tubelib_NodeDef[name].on_push_item(npos, nside, items, player_name) elseif name == "air" then