1minetest.register_node("chest:chest", { 2 description = "Chest" .. "\n" .. 3 "32 inventory slots", 4 tiles ={"chest_chest.png^[sheet:2x2:0,0", "chest_chest.png^[sheet:2x2:0,0", 5 "chest_chest.png^[sheet:2x2:1,0", "chest_chest.png^[sheet:2x2:1,0", 6 "chest_chest.png^[sheet:2x2:1,0", "chest_chest.png^[sheet:2x2:0,1"}, 7 paramtype2 = "facedir", 8 groups = {dig_immediate=2,choppy=3}, 9 is_ground_content = false, 10 on_construct = function(pos) 11 local meta = minetest.get_meta(pos) 12 meta:set_string("formspec", 13 "size[8,9]".. 14 "list[current_name;main;0,0;8,4;]".. 15 "list[current_player;main;0,5;8,4;]" .. 16 "listring[]") 17 meta:set_string("infotext", "Chest") 18 local inv = meta:get_inventory() 19 inv:set_size("main", 8*4) 20 end, 21 can_dig = function(pos,player) 22 local meta = minetest.get_meta(pos); 23 local inv = meta:get_inventory() 24 return inv:is_empty("main") 25 end, 26 allow_metadata_inventory_put = function(pos, listname, index, stack, player) 27 minetest.chat_send_player(player:get_player_name(), "Allow put: " .. stack:to_string()) 28 return stack:get_count() 29 end, 30 allow_metadata_inventory_take = function(pos, listname, index, stack, player) 31 minetest.chat_send_player(player:get_player_name(), "Allow take: " .. stack:to_string()) 32 return stack:get_count() 33 end, 34 on_metadata_inventory_put = function(pos, listname, index, stack, player) 35 minetest.chat_send_player(player:get_player_name(), "On put: " .. stack:to_string()) 36 end, 37 on_metadata_inventory_take = function(pos, listname, index, stack, player) 38 minetest.chat_send_player(player:get_player_name(), "On take: " .. stack:to_string()) 39 end, 40}) 41