local get_connected_players = minetest.get_connected_players mcl_util.registered_player_globalstep = {} local registered_player_globalstep = mcl_util.registered_player_globalstep function mcl_util.register_player_globalstep(def) if not def.can_execute then def.can_execute = function() return true end end table.insert(mcl_util.registered_player_globalstep, {can_execute=def.can_execute, func=def.execute}) end minetest.register_on_mods_loaded(function() minetest.register_globalstep(function(dtime) local players = get_connected_players() for i = 1, #registered_player_globalstep do if registered_player_globalstep[i].can_execute and registered_player_globalstep[i].can_execute(dtime) then for p = 1, #players do registered_player_globalstep[i].func(players[p], dtime) end if registered_player_globalstep[i].after_execute then registered_player_globalstep[i].after_execute(dtime) end end end end) end)