a-planet-alive/mods/gui/smart_inventory/pages/awards.lua

34 lines
1.1 KiB
Lua

if not minetest.get_modpath("awards") then
return
end
local function awards_callback(state)
local codebox = state:element("code", { name = "code", code = "", playername = state.location.rootState.location.player })
codebox:onBuild(function(self)
local formspec = awards.getFormspec(self.data.playername, self.data.playername, self.data.awards_idx or 1)
-- patch elememt sizes and positions
formspec = formspec:gsub('textarea%[0.25,3.75;3.9,4.2', 'textarea[-0.75,3.75;5.9,4.2')
formspec = formspec:gsub('box%[%-0.05,3.75;3.9,4.2', 'box[-1.05,3.75;5.9,4.2')
formspec = formspec:gsub('textlist%[4,0;3.8,8.6', 'textlist[6,0;6.8,8.6')
self.data.code = "container[3,0]".. formspec .."container_end[]"
end)
state:onInput(function(state, fields, player)
if fields.awards then
local event = minetest.explode_textlist_event(fields.awards)
if event.type == "CHG" then
state:get("code").data.awards_idx = event.index
end
end
end)
end
smart_inventory.register_page({
name = "awards",
icon = "awards_ui_icon.png",
tooltip = "Awards",
smartfs_callback = awards_callback,
sequence = 25,
})