RealBadAngel
2013-02-26 63968475613fab2e10514326a3a8ea4d348d0246
unified_inventory/api.lua
@@ -36,13 +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[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))
@@ -197,10 +198,10 @@
         end
      end
   end
   -- bags
   if page=="bags" then
   formspec = formspec.."label[0,0;Bags]"
   formspec = formspec.."label[0,0;Bags]"
   formspec=formspec.."button[0,2;2,0.5;bag1;Bag 1]"
   formspec=formspec.."button[2,2;2,0.5;bag2;Bag 2]"
   formspec=formspec.."button[4,2;2,0.5;bag3;Bag 3]"
@@ -210,7 +211,7 @@
   formspec=formspec.."list[detached:"..player_name.."_bags;bag3;4.5,1;1,1;]"
   formspec=formspec.."list[detached:"..player_name.."_bags;bag4;6.5,1;1,1;]"
      end
   for i=1,4 do
      if page=="bag"..i then
         local image = player:get_inventory():get_stack("bag"..i, 1):get_definition().inventory_image
@@ -218,7 +219,7 @@
         formspec=formspec.."list[current_player;bag"..i.."contents;0,1;8,3;]"
      end
   end
   -- Miscellaneous
   if page=="misc" then
      formspec = formspec.."label[0,0;Miscellaneous]"
@@ -234,8 +235,11 @@
         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[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
   local list_index=unified_inventory.current_index[player_name]
   local page=math.floor(list_index / (80) + 1)
@@ -320,6 +324,22 @@
      minetest.chat_send_player(player_name, "You don't have settime priviledge!")   
      end   
   end
   if fields.misc_vol_down then
      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[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[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[player_name]["sound_volume"]=sound_volume
      unified_inventory.set_inventory_formspec(player, unified_inventory.get_formspec(player,"misc"))
   end
   
   -- Inventory page controls
   local start=math.floor(unified_inventory.current_index[player_name]/80 +1 )
@@ -386,7 +406,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   
   
@@ -456,7 +476,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