diff --git a/mods/3d_armor/3d_armor/armor.lua b/mods/3d_armor/3d_armor/armor.lua index 8322dd42..8555352b 100755 --- a/mods/3d_armor/3d_armor/armor.lua +++ b/mods/3d_armor/3d_armor/armor.lua @@ -653,11 +653,7 @@ else minetest.log("info", "[3d_armor] Fire Nodes disabled") end -minetest.register_globalstep(function(dtime) - armor.timer = armor.timer + dtime - if armor.timer < ARMOR_UPDATE_TIME then - return - end +function armor_step() for _,player in pairs(minetest.get_connected_players()) do local name = player:get_player_name() local pos = player:getpos() @@ -688,8 +684,12 @@ minetest.register_globalstep(function(dtime) end end end - armor.timer = 0 -end) + minetest.after(ARMOR_UPDATE_TIME, armor_step) +end + +-- Launch once started +minetest.after(0, armor_step) + -- kill player when command issued minetest.register_chatcommand("kill", { diff --git a/mods/3d_armor/wieldview/init.lua b/mods/3d_armor/wieldview/init.lua index 7a5a6199..d7b78c57 100755 --- a/mods/3d_armor/wieldview/init.lua +++ b/mods/3d_armor/wieldview/init.lua @@ -64,13 +64,12 @@ minetest.register_on_joinplayer(function(player) end, player) end) -minetest.register_globalstep(function(dtime) - time = time + dtime - if time > update_time then - for _,player in ipairs(minetest.get_connected_players()) do - wieldview:update_wielded_item(player) - end - time = 0 +function step() + for _,player in ipairs(minetest.get_connected_players()) do + wieldview:update_wielded_item(player) end -end) + time = 0 + minetest.after(update_time, step) +end +minetest.after(0, step) diff --git a/mods/hbarmor/init.lua b/mods/hbarmor/init.lua index 8edb4005..47bf66e3 100755 --- a/mods/hbarmor/init.lua +++ b/mods/hbarmor/init.lua @@ -88,26 +88,21 @@ minetest.register_on_leaveplayer(function(player) hbarmor.player_active[name] = false end) -local main_timer = 0 -local timer = 0 -minetest.register_globalstep(function(dtime) - main_timer = main_timer + dtime - timer = timer + dtime - if main_timer > hbarmor.tick or timer > 4 then - if minetest.setting_getbool("enable_damage") then - if main_timer > hbarmor.tick then main_timer = 0 end - for _,player in ipairs(minetest.get_connected_players()) do - local name = player:get_player_name() - if hbarmor.player_active[name] == true then - local ret = hbarmor.get_armor(player) - if ret == false then - minetest.log("error", "[hbarmor] Call to hbarmor.get_armor in globalstep returned with false!") - end - -- update all hud elements - update_hud(player) +local function hbarmor_step() + if minetest.setting_getbool("enable_damage") then + for _,player in ipairs(minetest.get_connected_players()) do + local name = player:get_player_name() + if hbarmor.player_active[name] == true then + local ret = hbarmor.get_armor(player) + if ret == false then + minetest.log("error", "[hbarmor] Call to hbarmor.get_armor in step returned with false!") end + -- update all hud elements + update_hud(player) end end end - if timer > 4 then timer = 0 end -end) + + minetest.after(hbarmor.tick, hbarmor_step) +end +minetest.after(0, hbarmor_step)