summaryrefslogtreecommitdiff
path: root/api_helpers.lua
diff options
context:
space:
mode:
authorrubenwardy <rubenwardy@gmail.com>2015-06-11 17:11:15 +0100
committerrubenwardy <rubenwardy@gmail.com>2016-07-29 16:02:14 +0100
commit791666489ba7a15933ae1cc71ca92aa98f5231d2 (patch)
tree1e736aa89c2bdcaf23a5473822191ca09503768b /api_helpers.lua
parent0e2ed176fad83d03375f7176b9093c3274b6e868 (diff)
helpers.lua -> api_helpers.lua
Diffstat (limited to 'api_helpers.lua')
-rw-r--r--api_helpers.lua56
1 files changed, 56 insertions, 0 deletions
diff --git a/api_helpers.lua b/api_helpers.lua
new file mode 100644
index 0000000..084f563
--- /dev/null
+++ b/api_helpers.lua
@@ -0,0 +1,56 @@
+function awards.tbv(tb,value,default)
+ if not default then
+ default = {}
+ end
+ if not tb or type(tb) ~= "table" then
+ if not value then
+ value = "[NULL]"
+ end
+ minetest.log("error", "awards.tbv - table "..dump(value).." is null, or not a table! Dump: "..dump(tb))
+ return
+ end
+ if not value then
+ error("[ERROR] awards.tbv was not used correctly!\n"..
+ "Value: '"..dump(value).."'\n"..
+ "Dump:"..dump(tb))
+ return
+ end
+ if not tb[value] then
+ tb[value] = default
+ end
+end
+
+function awards.assertPlayer(playern)
+ awards.tbv(awards.players, playern)
+ awards.tbv(awards.players[playern], "name", playern)
+ awards.tbv(awards.players[playern], "unlocked")
+ awards.tbv(awards.players[playern], "place")
+ awards.tbv(awards.players[playern], "count")
+ awards.tbv(awards.players[playern], "deaths", 0)
+ awards.tbv(awards.players[playern], "joins", 0)
+ awards.tbv(awards.players[playern], "chats", 0)
+end
+
+function awards.player(name)
+ return awards.players[name]
+end
+
+function awards._order_awards(name)
+ local done = {}
+ local retval = {}
+ local player = awards.player(name)
+ if player and player.unlocked then
+ for _,got in pairs(player.unlocked) do
+ if awards.def[got] then
+ done[got] = true
+ table.insert(retval,{name=got,got=true})
+ end
+ end
+ end
+ for _,def in pairs(awards.def) do
+ if not done[def.name] then
+ table.insert(retval,{name=def.name,got=false})
+ end
+ end
+ return retval
+end