-
Notifications
You must be signed in to change notification settings - Fork 1
/
ui.lua
58 lines (47 loc) · 1.29 KB
/
ui.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
local S = core.get_translator(pbmarks.modname)
local ui_handlers = {
"i3",
"sfinv_buttons",
"unified_inventory",
}
local handler_available = false
if core.global_exists("i3") then
i3.new_tab({
name = pbmarks.modname,
description = S("Personal Bookmarks"),
formspec = function(player, data, fs)
-- FIXME:
-- - use i3 widgets
-- - inventory widgets are missing after close
i3.set_tab(player, "inventory")
pbmarks.show_formspec(player:get_player_name(), {noback=true})
end,
})
handler_available = true
end
if core.global_exists("sfinv_buttons") then
sfinv_buttons.register_button(pbmarks.modname, {
title = S("Personal Bookmarks"),
image = "pbmarks_check.png",
action = function(player)
pbmarks.show_formspec(player:get_player_name())
end,
})
handler_available = true
end
if core.global_exists("unified_inventory") then
unified_inventory.register_button(pbmarks.modname, {
type = "image",
image = "pbmarks_check.png",
tooltip = S("Personal Bookmarks"),
action = function(player)
pbmarks.show_formspec(player:get_player_name())
end,
})
handler_available = true
end
if not handler_available then
pbmarks.log("warning", "compatible UI handler not available, please install one of "
.. core.serialize(ui_handlers):gsub("return ", ""))
return
end