diff --git a/bags.lua b/bags.lua deleted file mode 100644 index 7e925db..0000000 --- a/bags.lua +++ /dev/null @@ -1,245 +0,0 @@ --- Bags for Minetest - --- Copyright (c) 2012 cornernote, Brett O'Donnell --- License: GPLv3 - -local S = unified_inventory.gettext -local F = unified_inventory.fgettext - -unified_inventory.register_page("bags", { - get_formspec = function(player) - local player_name = player:get_player_name() - local formspec = "background[0.06,0.99;7.92,7.52;ui_bags_main_form.png]" - formspec = formspec.."label[0,0;"..F("Bags").."]" - formspec = formspec.."button[0,2;2,0.5;bag1;"..F("Bag 1").."]" - formspec = formspec.."button[2,2;2,0.5;bag2;"..F("Bag 2").."]" - formspec = formspec.."button[4,2;2,0.5;bag3;"..F("Bag 3").."]" - formspec = formspec.."button[6,2;2,0.5;bag4;"..F("Bag 4").."]" - formspec = formspec.."listcolors[#00000000;#00000000]" - formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."_bags;bag1;0.5,1;1,1;]" - formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."_bags;bag2;2.5,1;1,1;]" - formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."_bags;bag3;4.5,1;1,1;]" - formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."_bags;bag4;6.5,1;1,1;]" - return {formspec=formspec} - end, -}) - -unified_inventory.register_button("bags", { - type = "image", - image = "ui_bags_icon.png", - tooltip = S("Bags"), - hide_lite=true -}) - - - unified_inventory.register_page("bag1", { - get_formspec = function(player) - local stack = player:get_inventory():get_stack("bag1", 1) - local image = stack:get_definition().inventory_image - local formspec = "image[7,0;1,1;"..image.."]" - formspec = formspec.."label[0,0;"..F("Bag 1").."]" - formspec = formspec.."listcolors[#00000000;#00000000]" - formspec = formspec.."list[current_player;bag1contents;0,1;8,3;]" - formspec = formspec.."listring[current_name;bag1contents]" - formspec = formspec.."listring[current_player;main]" - local slots = stack:get_definition().groups.bagslots - if slots == 8 then - formspec = formspec.."background[0.06,0.99;7.92,7.52;ui_bags_sm_form.png]" - elseif slots == 16 then - formspec = formspec.."background[0.06,0.99;7.92,7.52;ui_bags_med_form.png]" - elseif slots == 24 then - formspec = formspec.."background[0.06,0.99;7.92,7.52;ui_bags_lg_form.png]" - end - return {formspec=formspec} - end, - }) - unified_inventory.register_page("bag2", { - get_formspec = function(player) - local stack = player:get_inventory():get_stack("bag2", 1) - local image = stack:get_definition().inventory_image - local formspec = "image[7,0;1,1;"..image.."]" - formspec = formspec.."label[0,0;"..F("Bag 2").."]" - formspec = formspec.."listcolors[#00000000;#00000000]" - formspec = formspec.."list[current_player;bag2contents;0,1;8,3;]" - formspec = formspec.."listring[current_name;bag2contents]" - formspec = formspec.."listring[current_player;main]" - local slots = stack:get_definition().groups.bagslots - if slots == 8 then - formspec = formspec.."background[0.06,0.99;7.92,7.52;ui_bags_sm_form.png]" - elseif slots == 16 then - formspec = formspec.."background[0.06,0.99;7.92,7.52;ui_bags_med_form.png]" - elseif slots == 24 then - formspec = formspec.."background[0.06,0.99;7.92,7.52;ui_bags_lg_form.png]" - end - return {formspec=formspec} - end, - }) - unified_inventory.register_page("bag3", { - get_formspec = function(player) - local stack = player:get_inventory():get_stack("bag3", 1) - local image = stack:get_definition().inventory_image - local formspec = "image[7,0;1,1;"..image.."]" - formspec = formspec.."label[0,0;"..F("Bag 3").."]" - formspec = formspec.."listcolors[#00000000;#00000000]" - formspec = formspec.."list[current_player;bag3contents;0,1;8,3;]" - formspec = formspec.."listring[current_name;bag3contents]" - formspec = formspec.."listring[current_player;main]" - local slots = stack:get_definition().groups.bagslots - if slots == 8 then - formspec = formspec.."background[0.06,0.99;7.92,7.52;ui_bags_sm_form.png]" - elseif slots == 16 then - formspec = formspec.."background[0.06,0.99;7.92,7.52;ui_bags_med_form.png]" - elseif slots == 24 then - formspec = formspec.."background[0.06,0.99;7.92,7.52;ui_bags_lg_form.png]" - end - return {formspec=formspec} - end, - }) - unified_inventory.register_page("bag4", { - get_formspec = function(player) - local stack = player:get_inventory():get_stack("bag4", 1) - local image = stack:get_definition().inventory_image - local formspec = "image[7,0;1,1;"..image.."]" - formspec = formspec.."label[0,0;"..F("Bag 4").."]" - formspec = formspec.."listcolors[#00000000;#00000000]" - formspec = formspec.."list[current_player;bag4contents;0,1;8,3;]" - formspec = formspec.."listring[current_name;bag4contents]" - formspec = formspec.."listring[current_player;main]" - local slots = stack:get_definition().groups.bagslots - if slots == 8 then - formspec = formspec.."background[0.06,0.99;7.92,7.52;ui_bags_sm_form.png]" - elseif slots == 16 then - formspec = formspec.."background[0.06,0.99;7.92,7.52;ui_bags_med_form.png]" - elseif slots == 24 then - formspec = formspec.."background[0.06,0.99;7.92,7.52;ui_bags_lg_form.png]" - end - return {formspec=formspec} - end, - }) - -minetest.register_on_player_receive_fields(function(player, formname, fields) - if formname ~= "" then - return - end - for i = 1, 4 do - if fields["bag"..i] then - local stack = player:get_inventory():get_stack("bag"..i, 1) - if not stack:get_definition().groups.bagslots then - return - end - unified_inventory.set_inventory_formspec(player, "bag"..i) - return - end - end -end) - -minetest.register_on_joinplayer(function(player) - local player_inv = player:get_inventory() - local bags_inv = minetest.create_detached_inventory(player:get_player_name().."_bags",{ - on_put = function(inv, listname, index, stack, player) - player:get_inventory():set_stack(listname, index, stack) - player:get_inventory():set_size(listname.."contents", - stack:get_definition().groups.bagslots) - end, - on_take = function(inv, listname, index, stack, player) - player:get_inventory():set_stack(listname, index, nil) - end, - allow_put = function(inv, listname, index, stack, player) - local new_slots = stack:get_definition().groups.bagslots - if new_slots then - local player_inv = player:get_inventory() - local old_slots = player_inv:get_size(listname.."contents") - - if new_slots >= old_slots then - return 1 - else - -- using a smaller bag, make sure it fits - local old_list = player_inv:get_list(listname.."contents") - local new_list = {} - local slots_used = 0 - local use_new_list = false - - for i, v in ipairs(old_list) do - if v and not v:is_empty() then - slots_used = slots_used + 1 - use_new_list = i > new_slots - new_list[slots_used] = v - end - end - if new_slots >= slots_used then - if use_new_list then - player_inv:set_list(listname.."contents", new_list) - end - return 1 - end - end - end - return 0 - end, - allow_take = function(inv, listname, index, stack, player) - if player:get_inventory():is_empty(listname.."contents") 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, - }) - for i=1,4 do - local bag = "bag"..i - player_inv:set_size(bag, 1) - bags_inv:set_size(bag, 1) - bags_inv:set_stack(bag, 1, player_inv:get_stack(bag, 1)) - end -end) - --- register bag tools -minetest.register_tool("unified_inventory:bag_small", { - description = S("Small Bag"), - inventory_image = "bags_small.png", - groups = {bagslots=8}, -}) - -minetest.register_tool("unified_inventory:bag_medium", { - description = S("Medium Bag"), - inventory_image = "bags_medium.png", - groups = {bagslots=16}, -}) - -minetest.register_tool("unified_inventory:bag_large", { - description = S("Large Bag"), - inventory_image = "bags_large.png", - groups = {bagslots=24}, -}) - --- register bag crafts -if minetest.get_modpath("farming") ~= nil then - minetest.register_craft({ - output = "unified_inventory:bag_small", - recipe = { - {"", "farming:cotton", ""}, - {"group:wool", "group:wool", "group:wool"}, - {"group:wool", "group:wool", "group:wool"}, - }, - }) - - minetest.register_craft({ - output = "unified_inventory:bag_medium", - recipe = { - {"", "", ""}, - {"farming:cotton", "unified_inventory:bag_small", "farming:cotton"}, - {"farming:cotton", "unified_inventory:bag_small", "farming:cotton"}, - }, - }) - - minetest.register_craft({ - output = "unified_inventory:bag_large", - recipe = { - {"", "", ""}, - {"farming:cotton", "unified_inventory:bag_medium", "farming:cotton"}, - {"farming:cotton", "unified_inventory:bag_medium", "farming:cotton"}, - }, - }) -end diff --git a/depends.txt b/depends.txt index 3879b2c..77295ef 100644 --- a/depends.txt +++ b/depends.txt @@ -1,4 +1,3 @@ creative? intllib? datastorage? -farming? diff --git a/init.lua b/init.lua index e24fff2..41b4e6a 100644 --- a/init.lua +++ b/init.lua @@ -62,7 +62,6 @@ dofile(modpath.."/api.lua") dofile(modpath.."/internal.lua") dofile(modpath.."/callbacks.lua") dofile(modpath.."/register.lua") -dofile(modpath.."/bags.lua") dofile(modpath.."/item_names.lua") diff --git a/textures/bags_large.png b/textures/bags_large.png deleted file mode 100644 index 6d56299..0000000 Binary files a/textures/bags_large.png and /dev/null differ diff --git a/textures/bags_medium.png b/textures/bags_medium.png deleted file mode 100644 index 59ba11d..0000000 Binary files a/textures/bags_medium.png and /dev/null differ diff --git a/textures/bags_small.png b/textures/bags_small.png deleted file mode 100644 index d48ffcb..0000000 Binary files a/textures/bags_small.png and /dev/null differ diff --git a/textures/ui_bags_icon.png b/textures/ui_bags_icon.png deleted file mode 100644 index 6d56299..0000000 Binary files a/textures/ui_bags_icon.png and /dev/null differ diff --git a/textures/ui_bags_lg_form.png b/textures/ui_bags_lg_form.png deleted file mode 100644 index 713cacc..0000000 Binary files a/textures/ui_bags_lg_form.png and /dev/null differ diff --git a/textures/ui_bags_main_form.png b/textures/ui_bags_main_form.png deleted file mode 100644 index 37450f3..0000000 Binary files a/textures/ui_bags_main_form.png and /dev/null differ diff --git a/textures/ui_bags_med_form.png b/textures/ui_bags_med_form.png deleted file mode 100644 index 33e922e..0000000 Binary files a/textures/ui_bags_med_form.png and /dev/null differ diff --git a/textures/ui_bags_sm_form.png b/textures/ui_bags_sm_form.png deleted file mode 100644 index b3b66bb..0000000 Binary files a/textures/ui_bags_sm_form.png and /dev/null differ