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 function notvel(tbl,vel)
+function pipeworks.notvel(tbl,vel)
local tbl2={}
for _,val in ipairs(tbl) do
if val.x~=-vel.x or val.y~=-vel.y or val.z~=-vel.z then table.insert(tbl2,val) end
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,node,vel,stack)
else
- can_go=notvel(adjlist,vel)
+ can_go=pipeworks.notvel(adjlist,vel)
end
local meta = nil
for _,vect in ipairs(can_go) do
local nitems=meta:get_int("nitems")+1
meta:set_int("nitems", nitems)
minetest.after(0.1,minetest.registered_nodes[name].item_exit,pos)
- return notvel(pipeworks.meseadjlist,velocity)
+ return pipeworks.notvel(pipeworks.meseadjlist,velocity)
end},
groups={mesecon=2,not_in_creative_inventory=1},
drop="pipeworks:detector_tube_off_000000",
local name = minetest.get_node(pos).name
minetest.set_node(pos,{name=string.gsub(name,"off","on")})
mesecon:receptor_on(pos,mesecons_rules)
- return notvel(pipeworks.meseadjlist,velocity)
+ return pipeworks.notvel(pipeworks.meseadjlist,velocity)
end},
groups={mesecon=2},
mesecons={receptor={state="off",
accelerator_noctr_textures,accelerator_end_textures,accelerator_short_texture,accelerator_inv_texture,
{tube={can_go=function(pos,node,velocity,stack)
velocity.speed=velocity.speed+1
- return notvel(pipeworks.meseadjlist,velocity)
+ return pipeworks.notvel(pipeworks.meseadjlist,velocity)
end}
})
end