summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubenwardy <rubenwardy@gmail.com>2016-08-01 22:39:32 +0100
committerrubenwardy <rubenwardy@gmail.com>2016-08-01 22:39:32 +0100
commit9308b951635486fdcbca3474e5f5e179be4748b1 (patch)
tree6627bb92e973d40824a9938e645e8b33932c4ef4
parentf6515c12b8f042a27763d7542656ad3be1cffb9a (diff)
Add sfinv support
-rw-r--r--api.lua9
-rw-r--r--depends.txt1
-rw-r--r--init.lua1
-rw-r--r--sfinv.lua23
4 files changed, 30 insertions, 4 deletions
diff --git a/api.lua b/api.lua
index 2ca187f..5c25da9 100644
--- a/api.lua
+++ b/api.lua
@@ -299,7 +299,7 @@ awards.give_achievement = awards.unlock
})]]--
function awards.getFormspec(name, to, sid)
- local formspec = "size[11,5]"
+ local formspec = ""
local listofawards = awards._order_awards(name)
local playerdata = awards.players[name]
@@ -338,8 +338,8 @@ function awards.getFormspec(name, to, sid)
if perc > 1 then
perc = 1
end
- formspec = formspec .. "background[0,4.80;" .. barwidth ..",0.25;awards_progress_gray.png]"
- formspec = formspec .. "background[0,4.80;" .. (barwidth * perc) ..",0.25;awards_progress_green.png]"
+ formspec = formspec .. "background[0,4.80;" .. barwidth ..",0.25;awards_progress_gray.png;false]"
+ formspec = formspec .. "background[0,4.80;" .. (barwidth * perc) ..",0.25;awards_progress_green.png;false]"
if label then
formspec = formspec .. "label[1.75,4.63;" .. label .. "]"
end
@@ -414,7 +414,8 @@ function awards.show_to(name, to, sid, text)
sid = 1
end
-- Show formspec to user
- minetest.show_formspec(to,"awards:awards", awards.getFormspec(name, to, sid))
+ minetest.show_formspec(to,"awards:awards",
+ "size[11,5]" .. awards.getFormspec(name, to, sid))
end
end
awards.showto = awards.show_to
diff --git a/depends.txt b/depends.txt
index dad55b5..cffd947 100644
--- a/depends.txt
+++ b/depends.txt
@@ -1,2 +1,3 @@
intllib?
+sfinv?
unified_inventory?
diff --git a/init.lua b/init.lua
index e6e029b..f7cf6e7 100644
--- a/init.lua
+++ b/init.lua
@@ -25,6 +25,7 @@ end
dofile(minetest.get_modpath("awards").."/api.lua")
dofile(minetest.get_modpath("awards").."/chat_commands.lua")
+dofile(minetest.get_modpath("awards").."/sfinv.lua")
dofile(minetest.get_modpath("awards").."/unified_inventory.lua")
dofile(minetest.get_modpath("awards").."/triggers.lua")
awards.set_intllib(S)
diff --git a/sfinv.lua b/sfinv.lua
new file mode 100644
index 0000000..b2f96c2
--- /dev/null
+++ b/sfinv.lua
@@ -0,0 +1,23 @@
+if minetest.get_modpath("sfinv") then
+ sfinv.register_page("awards:awards", {
+ title = "Awards",
+ on_enter = function(self, player, context)
+ context.awards_idx = 1
+ end,
+ get = function(self, player, context)
+ local name = player:get_player_name()
+ return sfinv.make_formspec(player, context,
+ awards.getFormspec(name, name, context.awards_idx or 1),
+ false, "size[11,5]")
+ end,
+ on_player_receive_fields = function(self, player, context, fields)
+ if fields.awards then
+ local event = minetest.explode_textlist_event(fields.awards)
+ if event.type == "CHG" then
+ context.awards_idx = event.index
+ sfinv.set(player, context)
+ end
+ end
+ end
+ })
+end