summaryrefslogtreecommitdiff
path: root/item_transport.lua
diff options
context:
space:
mode:
authorVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2020-06-30 10:39:52 +0000
committerVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2020-06-30 10:39:52 +0000
commit366d57f4da4daa169f82a6ea59b028bb96cbf51a (patch)
treeecba5c01de2135a46e97b2b8dfe968ab176f3007 /item_transport.lua
parent9338c109a6aa5c8c160b18f2ebd7da773bfb7a66 (diff)
parentc79e68a80c2aec939143af99b15173c05d067d2b (diff)
downloadpipeworks-366d57f4da4daa169f82a6ea59b028bb96cbf51a.tar
pipeworks-366d57f4da4daa169f82a6ea59b028bb96cbf51a.tar.gz
pipeworks-366d57f4da4daa169f82a6ea59b028bb96cbf51a.tar.bz2
pipeworks-366d57f4da4daa169f82a6ea59b028bb96cbf51a.tar.xz
pipeworks-366d57f4da4daa169f82a6ea59b028bb96cbf51a.zip
Merge branch 'fix_connect_sides' into 'master'
Consider connect_sides for item transport See merge request VanessaE/pipeworks!21
Diffstat (limited to 'item_transport.lua')
-rw-r--r--item_transport.lua5
1 files changed, 4 insertions, 1 deletions
diff --git a/item_transport.lua b/item_transport.lua
index 7f9e241..f4067d8 100644
--- a/item_transport.lua
+++ b/item_transport.lua
@@ -25,7 +25,7 @@ end
-- both optional w/ sensible defaults and fallback to normal allow_* function
-- XXX: possibly change insert_object to insert_item
-local adjlist={{x=0,y=0,z=1},{x=0,y=0,z=-1},{x=0,y=1,z=0},{x=0,y=-1,z=0},{x=1,y=0,z=0},{x=-1,y=0,z=0}}
+local default_adjlist={{x=0,y=0,z=1},{x=0,y=0,z=-1},{x=0,y=1,z=0},{x=0,y=-1,z=0},{x=1,y=0,z=0},{x=-1,y=0,z=0}}
function pipeworks.notvel(tbl, vel)
local tbl2={}
@@ -80,6 +80,9 @@ local function go_next_compat(pos, cnode, cmeta, cycledir, vel, stack, owner)
if minetest.registered_nodes[cnode.name] and minetest.registered_nodes[cnode.name].tube and minetest.registered_nodes[cnode.name].tube.can_go then
can_go = minetest.registered_nodes[cnode.name].tube.can_go(pos, cnode, vel, stack)
else
+ local adjlist_string = minetest.get_meta(pos):get_string("adjlist")
+ local adjlist = minetest.deserialize(adjlist_string) or default_adjlist -- backward compat: if not found, use old behavior: all directions
+
can_go = pipeworks.notvel(adjlist, vel)
end
-- can_go() is expected to return an array-like table of candidate offsets.