Rename mobs mod to mcl_mobs
[MineClone/MineClone2.git] / mods / HUD / awards / api_helpers.lua
blobcd499ab423ba2f2cb7920ccf35d6afdbc1eec431
1 function awards.tbv(tb,value,default)
2 if not default then
3 default = {}
4 end
5 if not tb or type(tb) ~= "table" then
6 if not value then
7 value = "[NULL]"
8 end
9 minetest.log("error", "awards.tbv - table "..dump(value).." is null, or not a table! Dump: "..dump(tb))
10 return
11 end
12 if not value then
13 error("[ERROR] awards.tbv was not used correctly!\n"..
14 "Value: '"..dump(value).."'\n"..
15 "Dump:"..dump(tb))
16 return
17 end
18 if not tb[value] then
19 tb[value] = default
20 end
21 end
23 function awards.assertPlayer(playern)
24 awards.tbv(awards.players, playern)
25 awards.tbv(awards.players[playern], "name", playern)
26 awards.tbv(awards.players[playern], "unlocked")
27 awards.tbv(awards.players[playern], "place")
28 awards.tbv(awards.players[playern], "count")
29 awards.tbv(awards.players[playern], "craft")
30 awards.tbv(awards.players[playern], "eat")
31 awards.tbv(awards.players[playern], "deaths", 0)
32 awards.tbv(awards.players[playern], "joins", 0)
33 awards.tbv(awards.players[playern], "chats", 0)
34 end
36 function awards.player(name)
37 return awards.players[name]
38 end
40 function awards._order_awards(name)
41 local done = {}
42 local retval = {}
43 local player = awards.player(name)
44 if player and player.unlocked then
45 for _,got in pairs(player.unlocked) do
46 if awards.def[got] then
47 done[got] = true
48 table.insert(retval,{name=got,got=true})
49 end
50 end
51 end
52 for _,def in pairs(awards.def) do
53 if not done[def.name] then
54 table.insert(retval,{name=def.name,got=false})
55 end
56 end
57 return retval
58 end