+ triggered = true
+ end
+
+ if triggered and not pool[minetest.hash_node_position(vector.add(pos,dir))] then
+ local possible_dirs = create_axis(pos)
+ if table.getn(possible_dirs) == 0 then
+ --stop slow down become physical, something
+ else
+ for _,dir2 in pairs(possible_dirs) do
+ if dir.x ~= 0 and dir2.z ~= 0 then
+ local transmitted = self.object:get_velocity().x
+ self.object:set_velocity(vector.new(0,0,transmitted))
+ self.dir = vector.direction(vector.new(0,0,transmitted),vector.new(0,0,0))
+ elseif dir.z ~= 0 and dir2.x ~= 0 then
+ local transmitted = self.object:get_velocity().z
+ self.object:set_velocity(vector.new(transmitted,0,0))
+ self.dir = vector.direction(vector.new(transmitted,0,0),vector.new(0,0,0))
+ end
+ end
+ end