From f430b4eb6852afed312357a26a1d7ff96da7c65e Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Fri, 29 Jul 2016 17:14:57 +0100 Subject: Move unrelated things from trigger.lua --- api.lua | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'api.lua') diff --git a/api.lua b/api.lua index 7b0c65c..d7dbbcb 100644 --- a/api.lua +++ b/api.lua @@ -61,6 +61,22 @@ function awards.register_trigger(name, func) end end +function awards.run_trigger_callbacks(player, data, trigger, table_func) + for i = 1, #awards.on[trigger] do + local res = nil + local entry = awards.on[trigger][i] + if type(entry) == "function" then + res = entry(player, data) + elseif type(entry) == "table" and entry.award then + res = table_func(entry) + end + + if res then + awards.unlock(player:get_player_name(), res) + end + end +end + function awards.register_on_unlock(func) table.insert(awards.on_unlock, func) end @@ -367,3 +383,12 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end) awards.init() + +minetest.register_on_newplayer(function(player) + local playern = player:get_player_name() + awards.assertPlayer(playern) +end) + +minetest.register_on_shutdown(function() + awards.save() +end) -- cgit v1.2.3