remove globalstep for minetest.after loop

This commit is contained in:
TenPlus1 2018-05-04 09:52:18 +01:00
parent 494a2fa312
commit b5aaddeba7
2 changed files with 15 additions and 11 deletions

View File

@ -53,3 +53,7 @@ pova.do_override(player)
- 'pova_loop' now contains loop timer in seconds, 0 to disable
- Added def.priority setting to add_override to stop unimportant changes
- tweak and optimize code
### 0.5
- Remove globalstep and replace with minetest.after for pova_loop

View File

@ -12,25 +12,25 @@ local pova_loop = minetest.settings:get_bool("pova_loop") or 1.0
-- main loop that runs and totals override list
if pova_loop ~= 0 then
local timer = 0
local pova_func -- define as temp for following function to work
minetest.register_globalstep(function(dtime)
timer = timer + dtime
if timer < pova_loop then
return
end
timer = 0
pova_func = function()
-- loop through players and apply overrides
for _,player in ipairs(minetest.get_connected_players()) do
pova.do_override(player)
end
-- run function again after delay
minetest.after(pova_loop, function()
pova_func()
end)
end
-- initial run
pova_func()
end
-- global functions
pova.add_override = function(name, item, def)