From: Jean-Patrick Guerrero Date: Wed, 23 Mar 2016 18:48:22 +0000 (+0100) Subject: Shelves: Fix listring functionality + code cleaning X-Git-Tag: 0.4.14~66 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=12bcfeab4d14e627c8140b81acd4481bdd714b74;p=oweals%2Fminetest_game.git Shelves: Fix listring functionality + code cleaning --- diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua index a4b42950..3b15c1af 100644 --- a/mods/default/nodes.lua +++ b/mods/default/nodes.lua @@ -1574,43 +1574,16 @@ minetest.register_node("default:bookshelf", { inv:set_size("books", 8 * 2) end, can_dig = function(pos,player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() + local inv = minetest.get_meta(pos):get_inventory() return inv:is_empty("books") end, - - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - local to_stack = inv:get_stack(listname, index) - if listname == "books" then - if minetest.get_item_group(stack:get_name(), "book") ~= 0 - and to_stack:is_empty() then - return 1 - else - return 0 - end + allow_metadata_inventory_put = function(pos, listname, index, stack) + if minetest.get_item_group(stack:get_name(), "book") ~= 0 then + return stack:get_count() end + return 0 end, - - allow_metadata_inventory_move = function(pos, from_list, from_index, - to_list, to_index, count, player) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - local stack = inv:get_stack(from_list, from_index) - local to_stack = inv:get_stack(to_list, to_index) - if to_list == "books" then - if minetest.get_item_group(stack:get_name(), "book") ~= 0 - and to_stack:is_empty() then - return 1 - else - return 0 - end - end - end, - - on_metadata_inventory_move = function(pos, from_list, from_index, - to_list, to_index, count, player) + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) minetest.log("action", player:get_player_name() .. " moves stuff in bookshelf at " .. minetest.pos_to_string(pos)) end, diff --git a/mods/vessels/init.lua b/mods/vessels/init.lua index 6389a245..bbd677a3 100644 --- a/mods/vessels/init.lua +++ b/mods/vessels/init.lua @@ -24,54 +24,29 @@ minetest.register_node("vessels:shelf", { local meta = minetest.get_meta(pos) meta:set_string("formspec", vessels_shelf_formspec) local inv = meta:get_inventory() - inv:set_size("vessels", 8*2) + inv:set_size("vessels", 8 * 2) end, can_dig = function(pos,player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() + local inv = minetest.get_meta(pos):get_inventory() return inv:is_empty("vessels") end, - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - local to_stack = inv:get_stack(listname, index) - if listname == "vessels" then - if minetest.get_item_group(stack:get_name(), "vessel") ~= 0 - and to_stack:is_empty() then - return 1 - else - return 0 - end - end - end, - - allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - local stack = inv:get_stack(from_list, from_index) - local to_stack = inv:get_stack(to_list, to_index) - if to_list == "vessels" then - if minetest.get_item_group(stack:get_name(), "vessel") ~= 0 - and to_stack:is_empty() then - return 1 - else - return 0 - end + if minetest.get_item_group(stack:get_name(), "vessel") ~= 0 then + return stack:get_count() end + return 0 end, - on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - minetest.log("action", player:get_player_name().. - " moves stuff in vessels shelf at "..minetest.pos_to_string(pos)) + minetest.log("action", player:get_player_name() .. + " moves stuff in vessels shelf at ".. minetest.pos_to_string(pos)) end, on_metadata_inventory_put = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name().. - " moves stuff to vessels shelf at "..minetest.pos_to_string(pos)) + minetest.log("action", player:get_player_name() .. + " moves stuff to vessels shelf at ".. minetest.pos_to_string(pos)) end, on_metadata_inventory_take = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name().. - " takes stuff from vessels shelf at "..minetest.pos_to_string(pos)) + minetest.log("action", player:get_player_name() .. + " takes stuff from vessels shelf at ".. minetest.pos_to_string(pos)) end, })