1 --this is from https://github.com/HybridDog/builtin_item/blob/e6dfd9dce86503b3cbd1474257eca5f6f6ca71c2/init.lua#L50
3 minetest,vector,math,pairs
5 minetest,vector,math,pairs
9 local function get_nodes(pos)
13 {x=pos.x+i, y=pos.y, z=pos.z},
14 {x=pos.x, y=pos.y, z=pos.z+i}
16 tab[n] = {p, minetest.get_node(p)}
31 local function get_flowing_dir(pos)
32 c_node = minetest.get_node(pos).name
33 if c_node ~= "main:waterflow" and c_node ~= "main:water" then
37 param2 = minetest.get_node(pos).param2
41 if c_node == "main:water" then
42 for _,i in pairs(data) do
46 if name == "main:waterflow" and par2 == 7 then
47 return(vector.subtract(i[1],pos))
51 for _,i in pairs(data) do
55 if name == "main:waterflow" and par2 < param2 then
56 return(vector.subtract(i[1],pos))
59 for _,i in pairs(data) do
63 if name == "main:waterflow" and par2 >= 11 then
64 return(vector.subtract(i[1],pos))
67 for _,i in pairs(data) do
71 tmp = minetest.registered_nodes[name]
72 if tmp and not tmp.walkable and name ~= "main:waterflow" and name ~= "main:water" then
73 return(vector.subtract(i[1],pos))
81 return(get_flowing_dir(pos))