-- register extra flavours of a base nodedef walkover = {} walkover.registered_globals = {} function walkover.register_global(func) table.insert(walkover.registered_globals, func) end local timer = 0 minetest.register_globalstep(function(dtime) timer = timer + dtime; if timer >= 0.3 then for _,player in pairs(minetest.get_connected_players()) do local pp = player:get_pos() pp.y = math.ceil(pp.y) local loc = vector.add(pp, {x=0,y=-1,z=0}) if loc ~= nil then local nodeiamon = minetest.get_node(loc) if nodeiamon ~= nil then local def = minetest.registered_nodes[nodeiamon.name] if def ~= nil and def.on_walk_over ~= nil then def.on_walk_over(loc, nodeiamon, player) end for _, func in ipairs(walkover.registered_globals) do func(loc, nodeiamon, player) end end end end timer = 0 end end)