Vanessa Ezekowitz
2013-02-27 21e6261e3f339d69c7612daaf861c0c166640cef
unified_inventory/api.lua
@@ -36,14 +36,14 @@
-- register_on_joinplayer
minetest.register_on_joinplayer(function(player)
   local player_name = player:get_player_name()
   table.insert(unified_inventory.players, player_name)
   unified_inventory.players["sound_volume"]=minetest.setting_get("sound_volume")*10
   unified_inventory.players[player_name]={}
   unified_inventory.players[player_name]["sound_volume"]=minetest.setting_get("sound_volume")*10
   unified_inventory.current_index[player_name] = 1
   unified_inventory.filtered_items_list[player_name] = {}
   unified_inventory.filtered_items_list[player_name] = unified_inventory.items_list
   unified_inventory.filtered_items_list_size[player_name]=unified_inventory.items_list_size
   unified_inventory.activefilter[player_name]=""
   unified_inventory.apply_filter(player_name, "")
   unified_inventory.apply_filter(player, "")
   unified_inventory.alternate[player_name] = 1
   unified_inventory.current_item[player_name] =nil
   unified_inventory.set_inventory_formspec(player,unified_inventory.get_formspec(player, unified_inventory.default))
@@ -122,6 +122,34 @@
   -- player inventory
   formspec = formspec .. "list[current_player;main;0,4.5;8,4;]"
   -- backgrounds
      formspec = formspec .. "background[-0.19,-0.2,;14.38,10.55;ui_form_bg.png]"
   if page=="craft" then
      formspec = formspec .. "background[0.12,1.05,;7.8,7.4;ui_crafting_form.png]"
      end
   if page=="craftguide" then
      formspec = formspec .. "background[0.12,1.05,;7.8,7.4;ui_craftguide_form.png]"
      end
   if page=="misc" then
      formspec = formspec .. "background[0.12,1.05,;7.8,7.4;ui_misc_form.png]"
      end
   if page=="bags" then
      formspec = formspec .. "background[0.12,1.05,;7.8,7.4;ui_bags_main_form.png]"
      end
   for i=1,4 do
      if page=="bag"..i then
         local slots = player:get_inventory():get_stack(page, 1):get_definition().groups.bagslots
         if slots == 8 then
            formspec = formspec .. "background[0.12,1.05,;7.8,7.4;ui_bags_sm_form.png]"
         elseif slots == 16 then
            formspec = formspec .. "background[0.12,1.05,;7.8,7.4;ui_bags_med_form.png]"
         elseif slots == 24 then
            formspec = formspec .. "background[0.12,1.05,;7.8,7.4;ui_bags_lg_form.png]"
         end
      end
   end
   -- main buttons
      formspec = formspec .. "button[0,9;1.8,.5;craft;Craft]"
@@ -235,9 +263,9 @@
         formspec=formspec.."button[0,2;2,0.5;misc_set_day;Set Day]"
         formspec=formspec.."button[2,2;2,0.5;misc_set_night;Set Night]"
      end
      formspec = formspec.."label[0,3;Sound volume: "..unified_inventory.players["sound_volume"].."]"
      formspec=formspec.."button[2.5,3;1,0.5;misc_vol_down;-]"
      formspec=formspec.."button[3.5,3;1,0.5;misc_vol_up;+]"
      formspec = formspec.."label[0,3;Sound volume: "..unified_inventory.players[player_name]["sound_volume"].."]"
      formspec=formspec.."button[2.5,3;.8,0.5;misc_vol_down;-]"
      formspec=formspec.."button[3.2,3;.8,0.5;misc_vol_up;+]"
   end
   --Items list
@@ -325,19 +353,19 @@
      end   
   end
   if fields.misc_vol_down then
      local sound_volume=unified_inventory.players["sound_volume"]
      local sound_volume=unified_inventory.players[player_name]["sound_volume"]
      sound_volume=sound_volume-1
      if sound_volume<0 then sound_volume=0 end
      minetest.setting_set("sound_volume",sound_volume/10)
      unified_inventory.players["sound_volume"]=sound_volume
      unified_inventory.players[player_name]["sound_volume"]=sound_volume
      unified_inventory.set_inventory_formspec(player, unified_inventory.get_formspec(player,"misc"))
   end
   if fields.misc_vol_up then
      local sound_volume=unified_inventory.players["sound_volume"]
      local sound_volume=unified_inventory.players[player_name]["sound_volume"]
      sound_volume=sound_volume+1
      if sound_volume>10 then sound_volume=10 end
      minetest.setting_set("sound_volume",sound_volume/10)
      unified_inventory.players["sound_volume"]=sound_volume
      unified_inventory.players[player_name]["sound_volume"]=sound_volume
      unified_inventory.set_inventory_formspec(player, unified_inventory.get_formspec(player,"misc"))
   end
   
@@ -406,7 +434,7 @@
   end
   
   if fields.searchbutton then
      unified_inventory.apply_filter(player_name, fields.searchbox)
      unified_inventory.apply_filter(player, fields.searchbox)
      unified_inventory.set_inventory_formspec(player, unified_inventory.get_formspec(player,unified_inventory.current_page[player_name]))
   end   
   
@@ -476,7 +504,8 @@
end
--apply filter to the inventory list (create filtered copy of full one)
unified_inventory.apply_filter = function(player_name,filter)
unified_inventory.apply_filter = function(player,filter)
   local player_name = player:get_player_name()
   local size=0
   local str_temp1=string.lower(filter)
   local str_temp2