summaryrefslogtreecommitdiff
path: root/unified_inventory/callbacks.lua
diff options
context:
space:
mode:
Diffstat (limited to 'unified_inventory/callbacks.lua')
-rw-r--r--unified_inventory/callbacks.lua182
1 files changed, 0 insertions, 182 deletions
diff --git a/unified_inventory/callbacks.lua b/unified_inventory/callbacks.lua
deleted file mode 100644
index d8c8853..0000000
--- a/unified_inventory/callbacks.lua
+++ /dev/null
@@ -1,182 +0,0 @@
-
-minetest.register_on_joinplayer(function(player)
- local player_name = player:get_player_name()
- unified_inventory.players[player_name] = {}
- unified_inventory.current_index[player_name] = 1
- unified_inventory.filtered_items_list[player_name] = unified_inventory.items_list
- unified_inventory.activefilter[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.default)
-
- -- Crafting guide inventories
- local inv = minetest.create_detached_inventory(player:get_player_name().."craftrecipe", {
- allow_put = function(inv, listname, index, stack, player)
- return 0
- end,
- allow_take = function(inv, listname, index, stack, player)
- if unified_inventory.is_creative(player:get_player_name()) then
- return stack:get_count()
- else
- return 0
- end
- end,
- allow_move = function(inv, from_list, from_index, to_list, to_index, count, player)
- return 0
- end,
- })
- inv:set_size("output", 1)
- inv:set_size("build", 3 * 3)
-
- -- Refill slot
- local refill = minetest.create_detached_inventory(player_name.."refill", {
- allow_put = function(inv, listname, index, stack, player)
- if unified_inventory.is_creative(player:get_player_name()) then
- return stack:get_count()
- else
- return 0
- end
- end,
- on_put = function(inv, listname, index, stack, player)
- local stacktable = stack:to_table()
- stacktable.count = stack:get_stack_max()
- inv:set_stack(listname, index, ItemStack(stacktable))
- minetest.sound_play("electricity", {to_player=player_name, gain = 1.0})
- end,
- })
- refill:set_size("main", 1)
-end)
-
-minetest.register_on_player_receive_fields(function(player, formname, fields)
- local player_name = player:get_player_name()
-
- for i, def in pairs(unified_inventory.buttons) do
- if fields[def.name] then
- def.action(player)
- minetest.sound_play("click",
- {to_player=player_name, gain = 0.1})
- return
- end
- end
-
- -- Inventory page controls
- local start = math.floor(unified_inventory.current_index[player_name] / 80 + 1)
- local start_i = start
- local pagemax = math.floor((unified_inventory.filtered_items_list_size[player_name] - 1) / (80) + 1)
-
- if fields.start_list then
- minetest.sound_play("paperflip1",
- {to_player=player_name, gain = 1.0})
- start_i = 1
- end
- if fields.rewind1 then
- minetest.sound_play("paperflip1",
- {to_player=player_name, gain = 1.0})
- start_i = start_i - 1
- end
- if fields.forward1 then
- minetest.sound_play("paperflip1",
- {to_player=player_name, gain = 1.0})
- start_i = start_i + 1
- end
- if fields.rewind3 then
- minetest.sound_play("paperflip1",
- {to_player=player_name, gain = 1.0})
- start_i = start_i - 3
- end
- if fields.forward3 then
- minetest.sound_play("paperflip1",
- {to_player=player_name, gain = 1.0})
- start_i = start_i + 3
- end
- if fields.end_list then
- minetest.sound_play("paperflip1",
- {to_player=player_name, gain = 1.0})
- start_i = pagemax
- end
- if start_i < 1 then
- start_i = 1
- end
- if start_i > pagemax then
- start_i = pagemax
- end
- if not (start_i == start) then
- unified_inventory.current_index[player_name] = (start_i - 1) * 80 + 1
- unified_inventory.set_inventory_formspec(player,
- unified_inventory.current_page[player_name])
- end
-
- -- Item list buttons
- local list_index = unified_inventory.current_index[player_name]
- local page = unified_inventory.current_page[player_name]
- for i = 0, 80 do
- local button = "item_button"..list_index
- if fields[button] then
- minetest.sound_play("click",
- {to_player=player_name, gain = 0.1})
- if not unified_inventory.is_creative(player_name) then
- unified_inventory.set_inventory_formspec(player, "craftguide")
- page = "craftguide"
- end
- if page == "craftguide" then
- unified_inventory.current_item[player_name] =
- unified_inventory.filtered_items_list
- [player_name][list_index]
- unified_inventory.alternate[player_name] = 1
- unified_inventory.update_recipe(player,
- unified_inventory.filtered_items_list
- [player_name][list_index], 1)
- unified_inventory.set_inventory_formspec(player,
- unified_inventory.current_page[player_name])
- else
- if unified_inventory.is_creative(player_name) then
- local inv = player:get_inventory()
- dst_stack = {}
- dst_stack.name = unified_inventory.filtered_items_list
- [player_name][list_index]
- dst_stack.count = 99
- if inv:room_for_item("main", dst_stack) then
- inv:add_item("main", dst_stack)
- end
- end
- end
- end
- list_index = list_index + 1
- end
-
- if fields.searchbutton then
- unified_inventory.apply_filter(player, fields.searchbox)
- unified_inventory.set_inventory_formspec(player,
- unified_inventory.current_page[player_name])
- minetest.sound_play("paperflip2",
- {to_player=player_name, gain = 1.0})
- end
-
- -- alternate button
- if fields.alternate then
- minetest.sound_play("click",
- {to_player=player_name, gain = 0.1})
- local item_name = unified_inventory.current_item[player_name]
- if item_name then
- local alternates = 0
- local alternate = unified_inventory.alternate[player_name]
- local crafts = unified_inventory.crafts_table[item_name]
- if crafts ~= nil then
- alternates = #crafts
- end
- if alternates > 1 then
- alternate = alternate + 1
- if alternate > alternates then
- alternate = 1
- end
- unified_inventory.alternate[player_name] = alternate
- unified_inventory.update_recipe(player,
- unified_inventory.current_item[player_name], alternate)
- unified_inventory.set_inventory_formspec(player,
- unified_inventory.current_page[player_name])
- end
- end
- end
-end)
-