write something there
This commit is contained in:
commit
b4b6c08f4f
8546 changed files with 309825 additions and 0 deletions
31
mods/asuna/asuna_awards/register_on_interval.lua
Normal file
31
mods/asuna/asuna_awards/register_on_interval.lua
Normal file
|
@ -0,0 +1,31 @@
|
|||
-- Settings
|
||||
local INTERVAL = 1
|
||||
|
||||
-- Register interval callbacks
|
||||
local interval_callbacks = {}
|
||||
function asuna_awards.register_on_interval(award,fn)
|
||||
table.insert(interval_callbacks,{
|
||||
award = award,
|
||||
fn = fn,
|
||||
})
|
||||
end
|
||||
|
||||
-- Do callbacks at regular intervals
|
||||
local function analyze_players()
|
||||
for _,player in ipairs(minetest.get_connected_players()) do
|
||||
local name = player:get_player_name()
|
||||
local award_data = awards.player(name)
|
||||
for _,callback in ipairs(interval_callbacks) do
|
||||
if not award_data.unlocked[callback.award] then
|
||||
local award, goal = callback.fn(player)
|
||||
if award then
|
||||
awards.unlock(name,award,goal)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
minetest.after(INTERVAL,analyze_players)
|
||||
end
|
||||
|
||||
-- Start intervals
|
||||
minetest.after(INTERVAL,analyze_players)
|
Loading…
Add table
Add a link
Reference in a new issue