From a4ecaf4838fa014de40eb4bfad204af27281290a Mon Sep 17 00:00:00 2001 From: Brett O'Donnell Date: Tue, 18 Sep 2012 17:36:08 +0930 Subject: [PATCH] added a register function for player pages --- init.lua | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/init.lua b/init.lua index bc2a9b5..d21a127 100644 --- a/init.lua +++ b/init.lua @@ -12,12 +12,17 @@ License: GPLv3 -- expose api inventory_plus = {} --- define pages -inventory_plus.pages = {} -if minetest.setting_getbool("creative_mode") then - inventory_plus.pages["creative_prev"] = "Creative" +-- define buttons +inventory_plus.buttons = {} + +-- register_button +inventory_plus.register_button = function(player,name,label) + local player_name = player:get_player_name() + if inventory_plus.buttons[player_name] == nil then + inventory_plus.buttons[player_name] = {} + end + inventory_plus.buttons[player_name][name] = label end -inventory_plus.pages["craft"] = "Craft" -- set_inventory_formspec inventory_plus.set_inventory_formspec = function(player,formspec) @@ -49,7 +54,7 @@ inventory_plus.get_formspec = function(player,page) if page=="main" then -- buttons local x,y=0,0 - for k,v in pairs(inventory_plus.pages) do + for k,v in pairs(inventory_plus.buttons[player:get_player_name()]) do formspec = formspec .. "button["..x..","..y..";2,0.5;"..k..";"..v.."]" x=x+2 if x == 8 then @@ -64,7 +69,13 @@ end -- register_on_joinplayer minetest.register_on_joinplayer(function(player) - inventory_plus.set_inventory_formspec(player,inventory_plus.get_formspec(player,"main")) + inventory_plus.register_button(player,"craft","Craft") + if minetest.setting_getbool("creative_mode") then + inventory_plus.register_button(player,"creative_prev","Creative") + end + minetest.after(1,function() + inventory_plus.set_inventory_formspec(player,inventory_plus.get_formspec(player,"main")) + end) end) -- register_on_player_receive_fields