split chests off into a separate modpack component
authorRealBadAngel <mk@realbadangel.pl>
Fri, 5 Apr 2013 02:30:33 +0000 (04:30 +0200)
committerRealBadAngel <mk@realbadangel.pl>
Fri, 5 Apr 2013 02:30:33 +0000 (04:30 +0200)
119 files changed:
technic/chest_commons.lua [deleted file]
technic/config.lua
technic/copper_chest.lua [deleted file]
technic/gold_chest.lua [deleted file]
technic/init.lua
technic/iron_chest.lua [deleted file]
technic/mithril_chest.lua [deleted file]
technic/mithril_subspace_chest.lua [deleted file]
technic/textures/technic_copper_chest_front.png [deleted file]
technic/textures/technic_copper_chest_locked.png [deleted file]
technic/textures/technic_copper_chest_side.png [deleted file]
technic/textures/technic_copper_chest_top.png [deleted file]
technic/textures/technic_diamond.png [deleted file]
technic/textures/technic_diamond_block.png [deleted file]
technic/textures/technic_gold_chest_front.png [deleted file]
technic/textures/technic_gold_chest_front_black.png [deleted file]
technic/textures/technic_gold_chest_front_blue.png [deleted file]
technic/textures/technic_gold_chest_front_brown.png [deleted file]
technic/textures/technic_gold_chest_front_cyan.png [deleted file]
technic/textures/technic_gold_chest_front_dark_green.png [deleted file]
technic/textures/technic_gold_chest_front_dark_grey.png [deleted file]
technic/textures/technic_gold_chest_front_green.png [deleted file]
technic/textures/technic_gold_chest_front_grey.png [deleted file]
technic/textures/technic_gold_chest_front_magenta.png [deleted file]
technic/textures/technic_gold_chest_front_orange.png [deleted file]
technic/textures/technic_gold_chest_front_pink.png [deleted file]
technic/textures/technic_gold_chest_front_red.png [deleted file]
technic/textures/technic_gold_chest_front_violet.png [deleted file]
technic/textures/technic_gold_chest_front_white.png [deleted file]
technic/textures/technic_gold_chest_front_yellow.png [deleted file]
technic/textures/technic_gold_chest_locked.png [deleted file]
technic/textures/technic_gold_chest_locked_black.png [deleted file]
technic/textures/technic_gold_chest_locked_blue.png [deleted file]
technic/textures/technic_gold_chest_locked_brown.png [deleted file]
technic/textures/technic_gold_chest_locked_cyan.png [deleted file]
technic/textures/technic_gold_chest_locked_dark_green.png [deleted file]
technic/textures/technic_gold_chest_locked_dark_grey.png [deleted file]
technic/textures/technic_gold_chest_locked_green.png [deleted file]
technic/textures/technic_gold_chest_locked_grey.png [deleted file]
technic/textures/technic_gold_chest_locked_magenta.png [deleted file]
technic/textures/technic_gold_chest_locked_orange.png [deleted file]
technic/textures/technic_gold_chest_locked_pink.png [deleted file]
technic/textures/technic_gold_chest_locked_red.png [deleted file]
technic/textures/technic_gold_chest_locked_violet.png [deleted file]
technic/textures/technic_gold_chest_locked_white.png [deleted file]
technic/textures/technic_gold_chest_locked_yellow.png [deleted file]
technic/textures/technic_gold_chest_side.png [deleted file]
technic/textures/technic_gold_chest_top.png [deleted file]
technic/textures/technic_iron_chest_front.png [deleted file]
technic/textures/technic_iron_chest_locked.png [deleted file]
technic/textures/technic_iron_chest_side.png [deleted file]
technic/textures/technic_iron_chest_top.png [deleted file]
technic/textures/technic_mithril_chest_front.png [deleted file]
technic/textures/technic_mithril_chest_locked.png [deleted file]
technic/textures/technic_mithril_chest_side.png [deleted file]
technic/textures/technic_mithril_chest_top.png [deleted file]
technic/textures/technic_mithril_dust.png [deleted file]
technic/textures/technic_silver_chest_front.png [deleted file]
technic/textures/technic_silver_chest_locked.png [deleted file]
technic/textures/technic_silver_chest_side.png [deleted file]
technic/textures/technic_silver_chest_top.png [deleted file]
technic/textures/technicx32/technic_copper_chest_front.png [deleted file]
technic/textures/technicx32/technic_copper_chest_locked.png [deleted file]
technic/textures/technicx32/technic_copper_chest_side.png [deleted file]
technic/textures/technicx32/technic_copper_chest_top.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front_black.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front_blue.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front_brown.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front_cyan.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front_dark_green.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front_dark_grey.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front_green.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front_grey.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front_magenta.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front_orange.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front_pink.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front_red.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front_violet.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front_white.png [deleted file]
technic/textures/technicx32/technic_gold_chest_front_yellow.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked_black.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked_blue.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked_brown.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked_cyan.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked_dark_green.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked_dark_grey.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked_green.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked_grey.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked_magenta.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked_orange.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked_pink.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked_red.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked_violet.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked_white.png [deleted file]
technic/textures/technicx32/technic_gold_chest_locked_yellow.png [deleted file]
technic/textures/technicx32/technic_gold_chest_side.png [deleted file]
technic/textures/technicx32/technic_gold_chest_top.png [deleted file]
technic/textures/technicx32/technic_iron_chest_front.png [deleted file]
technic/textures/technicx32/technic_iron_chest_locked.png [deleted file]
technic/textures/technicx32/technic_iron_chest_side.png [deleted file]
technic/textures/technicx32/technic_iron_chest_top.png [deleted file]
technic/textures/technicx32/technic_mithril_chest_front.png [deleted file]
technic/textures/technicx32/technic_mithril_chest_locked.png [deleted file]
technic/textures/technicx32/technic_mithril_chest_side.png [deleted file]
technic/textures/technicx32/technic_mithril_chest_top.png [deleted file]
technic/textures/technicx32/technic_silver_chest_front.png [deleted file]
technic/textures/technicx32/technic_silver_chest_locked.png [deleted file]
technic/textures/technicx32/technic_silver_chest_side.png [deleted file]
technic/textures/technicx32/technic_silver_chest_top.png [deleted file]
technic_chests/chest_commons.lua [new file with mode: 0644]
technic_chests/copper_chest.lua [new file with mode: 0644]
technic_chests/depends.txt [new file with mode: 0644]
technic_chests/gold_chest.lua [new file with mode: 0644]
technic_chests/init.lua [new file with mode: 0644]
technic_chests/iron_chest.lua [new file with mode: 0644]
technic_chests/mithril_chest.lua [new file with mode: 0644]
technic_chests/silver_chest.lua [new file with mode: 0644]

diff --git a/technic/chest_commons.lua b/technic/chest_commons.lua
deleted file mode 100644 (file)
index 7786496..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-chest_groups1 = {snappy=2,choppy=2,oddly_breakable_by_hand=2,tubedevice=1,tubedevice_receiver=1}
-chest_groups2 = {snappy=2,choppy=2,oddly_breakable_by_hand=2,tubedevice=1,tubedevice_receiver=1,not_in_creative_inventory=1}
-
-tubes_properties = {insert_object=function(pos,node,stack,direction)
-                                       local meta=minetest.env:get_meta(pos)
-                                       local inv=meta:get_inventory()
-                                       return inv:add_item("main",stack)
-                               end,
-                               can_insert=function(pos,node,stack,direction)
-                                       local meta=minetest.env:get_meta(pos)
-                                       local inv=meta:get_inventory()
-                                       return inv:room_for_item("main",stack)
-                               end,
-                               input_inventory="main"}
-                               
-chest_can_dig = function(pos,player)
-local meta = minetest.env:get_meta(pos);
-local inv = meta:get_inventory()
-return inv:is_empty("main")
-end
-
-def_allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
-local meta = minetest.env:get_meta(pos)
-if not has_locked_chest_privilege(meta, player) then
-       minetest.log("action", player:get_player_name()..
-       " tried to access a locked chest belonging to "..
-       meta:get_string("owner").." at "..
-       minetest.pos_to_string(pos))
-       return 0
-       end
-       return count
-end
-
-def_allow_metadata_inventory_put = function(pos, listname, index, stack, player)
-local meta = minetest.env:get_meta(pos)
-if not has_locked_chest_privilege(meta, player) then
-       minetest.log("action", player:get_player_name()..
-       " tried to access a locked chest belonging to "..
-       meta:get_string("owner").." at "..
-       minetest.pos_to_string(pos))
-       return 0
-end
-return stack:get_count()
-end
-
-def_allow_metadata_inventory_take = function(pos, listname, index, stack, player)
-local meta = minetest.env:get_meta(pos)
-if not has_locked_chest_privilege(meta, player) then
-       minetest.log("action", player:get_player_name()..
-       " tried to access a locked chest belonging to "..
-       meta:get_string("owner").." at "..
-       minetest.pos_to_string(pos))
-       return 0
-       end
-return stack:get_count()
-end
-
-def_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 locked chest at "..minetest.pos_to_string(pos))
-end
-
-def_on_metadata_inventory_put = function(pos, listname, index, stack, player)
-       minetest.log("action", player:get_player_name()..
-       " moves stuff to locked chest at "..minetest.pos_to_string(pos))
-end
-
-def_on_metadata_inventory_take = function(pos, listname, index, stack, player)
-       minetest.log("action", player:get_player_name()..
-       " takes stuff from locked chest at "..minetest.pos_to_string(pos))
-end
-
-function has_locked_chest_privilege(meta, player)
-       if player:get_player_name() ~= meta:get_string("owner") then
-               return false
-       end
-       return true
-end
index 3fa128247c229e1285c559253368b2c8ddcf2f52..c9219819d8fb72e3717938fa8169443828734ade 100644 (file)
@@ -7,4 +7,3 @@ enable_flashlight=true
 enable_rubber_tree_generation=true
 enable_marble_generation=true
 enable_granite_generation=true
-enable_obsidian_generation=true
diff --git a/technic/copper_chest.lua b/technic/copper_chest.lua
deleted file mode 100644 (file)
index ed75288..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-minetest.register_craft({
-       output = 'technic:copper_chest 1',
-       recipe = {
-               {'moreores:copper_ingot','moreores:copper_ingot','moreores:copper_ingot'},
-               {'moreores:copper_ingot','technic:iron_chest','moreores:copper_ingot'},
-               {'moreores:copper_ingot','moreores:copper_ingot','moreores:copper_ingot'},
-       }
-})
-
-minetest.register_craft({
-       output = 'technic:copper_locked_chest 1',
-       recipe = {
-               {'moreores:copper_ingot','moreores:copper_ingot','moreores:copper_ingot'},
-               {'moreores:copper_ingot','technic:iron_locked_chest','moreores:copper_ingot'},
-               {'moreores:copper_ingot','moreores:copper_ingot','moreores:copper_ingot'},
-       }
-})
-
-minetest.register_craft({
-       output = 'technic:copper_locked_chest 1',
-       recipe = {
-               {'default:steel_ingot'},
-               {'technic:copper_chest'},
-       }
-})
-
-minetest.register_craftitem("technic:copper_chest", {
-       description = "Copper Chest",
-       stack_max = 99,
-})
-minetest.register_craftitem("technic:copper_locked_chest", {
-       description = "Copper Locked Chest",
-       stack_max = 99,
-})
-
-minetest.register_node("technic:copper_chest", {
-       description = "Copper Chest",
-       tiles = {"technic_copper_chest_top.png", "technic_copper_chest_top.png", "technic_copper_chest_side.png",
-               "technic_copper_chest_side.png", "technic_copper_chest_side.png", "technic_copper_chest_front.png"},
-       paramtype2 = "facedir",
-       groups = chest_groups1,
-       tube = tubes_properties,legacy_facedir_simple = true,
-       sounds = default.node_sound_wood_defaults(),
-       on_construct = function(pos)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("formspec",
-                               "invsize[10,9;]"..
-                               "list[current_name;main;0,0;10,4;]"..
-                               "list[current_player;main;0,5;8,4;]")
-               meta:set_string("infotext", "Copper Chest")
-               local inv = meta:get_inventory()
-               inv:set_size("main", 10*4)
-       end,
-
-       can_dig = chest_can_dig,
-       on_metadata_inventory_move = def_on_metadata_inventory_move,
-       on_metadata_inventory_put = def_on_metadata_inventory_put,
-       on_metadata_inventory_take = def_on_metadata_inventory_take 
-})
-  
-minetest.register_node("technic:copper_locked_chest", {
-       description = "Copper Locked Chest",
-       tiles = {"technic_copper_chest_top.png", "technic_copper_chest_top.png", "technic_copper_chest_side.png",
-               "technic_copper_chest_side.png", "technic_copper_chest_side.png", "technic_copper_chest_locked.png"},
-       paramtype2 = "facedir",
-       groups = chest_groups1,
-       tube = tubes_properties,legacy_facedir_simple = true,
-       legacy_facedir_simple = true,
-       sounds = default.node_sound_wood_defaults(),
-       after_place_node = function(pos, placer)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("owner", placer:get_player_name() or "")
-               meta:set_string("infotext", "Copper Locked Chest (owned by "..
-                               meta:get_string("owner")..")")
-       end,
-       on_construct = function(pos)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("formspec",
-                               "invsize[10,9;]"..
-                               "list[current_name;main;0,0;10,4;]"..
-                               "list[current_player;main;0,5;8,4;]")
-               meta:set_string("infotext", "Copper Locked Chest")
-               meta:set_string("owner", "")
-               local inv = meta:get_inventory()
-               inv:set_size("main", 10*4)
-       end,
-
-       can_dig = chest_can_dig,
-       allow_metadata_inventory_move = def_allow_metadata_inventory_move,
-       allow_metadata_inventory_put = def_allow_metadata_inventory_put,
-       allow_metadata_inventory_take = def_allow_metadata_inventory_take,
-       on_metadata_inventory_move = def_on_metadata_inventory_move,
-       on_metadata_inventory_put = def_on_metadata_inventory_put,
-       on_metadata_inventory_take = def_on_metadata_inventory_take 
-})
diff --git a/technic/gold_chest.lua b/technic/gold_chest.lua
deleted file mode 100644 (file)
index 820ba86..0000000
+++ /dev/null
@@ -1,466 +0,0 @@
-local chest_mark_colors = {
-    '_black',
-    '_blue', 
-    '_brown',
-    '_cyan',
-    '_dark_green',
-    '_dark_grey',
-    '_green',
-    '_grey',
-    '_magenta',
-    '_orange',
-    '_pink',
-    '_red',
-    '_violet',
-    '_white',
-    '_yellow',
-}
-
-minetest.register_craft({
-       output = 'technic:gold_chest 1',
-       recipe = {
-               {'moreores:gold_ingot','moreores:gold_ingot','moreores:gold_ingot'},
-               {'moreores:gold_ingot','technic:silver_chest','moreores:gold_ingot'},
-               {'moreores:gold_ingot','moreores:gold_ingot','moreores:gold_ingot'},
-       }
-})
-
-minetest.register_craft({
-       output = 'technic:gold_locked_chest 1',
-       recipe = {
-               {'moreores:gold_ingot','moreores:gold_ingot','moreores:gold_ingot'},
-               {'moreores:gold_ingot','technic:silver_locked_chest','moreores:gold_ingot'},
-               {'moreores:gold_ingot','moreores:gold_ingot','moreores:gold_ingot'},
-       }
-})
-
-minetest.register_craft({
-       output = 'technic:gold_locked_chest 1',
-       recipe = {
-               {'default:steel_ingot'},
-               {'technic:gold_chest'},
-       }
-})
-
-minetest.register_craftitem("technic:gold_chest", {
-       description = "Gold Chest",
-       stack_max = 99,
-})
-minetest.register_craftitem("technic:gold_locked_chest", {
-       description = "Gold Locked Chest",
-       stack_max = 99,
-})
-
-gold_chest_formspec    =       "invsize[12,9;]"..
-                                               "list[current_name;main;0,0;12,4;]"..
-                                               "list[current_player;main;0,5;8,4;]"
-
-gold_chest_inv_size = 12*4
-
-minetest.register_node("technic:gold_chest", {
-       description = "Gold Chest",
-       tiles = {"technic_gold_chest_top.png", "technic_gold_chest_top.png", "technic_gold_chest_side.png",
-               "technic_gold_chest_side.png", "technic_gold_chest_side.png", "technic_gold_chest_front.png"},
-       paramtype2 = "facedir",
-       groups = chest_groups1,
-       tube = tubes_properties,
-       legacy_facedir_simple = true,
-       sounds = default.node_sound_wood_defaults(),
-
-       on_construct = function(pos)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("formspec",gold_chest_formspec)
-               meta:set_string("infotext", "Gold Chest")
-               local inv = meta:get_inventory()
-               inv:set_size("main", gold_chest_inv_size)
-       end,
-
-       can_dig = chest_can_dig,
-
-       on_punch = function (pos, node, puncher)
-       chest_punched (pos,node,puncher);
-       end,
-
-       on_receive_fields = function(pos, formname, fields, sender)
-       local meta = minetest.env:get_meta(pos);
-       fields.text = fields.text or ""
-       meta:set_string("text", fields.text)
-       meta:set_string("infotext", '"'..fields.text..'"')
-       meta:set_string("formspec",gold_chest_formspec)
-       end,
-
-       on_metadata_inventory_move = def_on_metadata_inventory_move,
-       on_metadata_inventory_put = def_on_metadata_inventory_put,
-       on_metadata_inventory_take = def_on_metadata_inventory_take 
-})
-
-for i, state in ipairs(chest_mark_colors) do
-minetest.register_node("technic:gold_chest".. state, {
-       description = "Gold Chest",
-       tiles = {"technic_gold_chest_top.png", "technic_gold_chest_top.png", "technic_gold_chest_side.png",
-               "technic_gold_chest_side.png", "technic_gold_chest_side.png", "technic_gold_chest_front"..state..".png"},
-       paramtype2 = "facedir",
-       groups = chest_groups2,
-       tube = tubes_properties,
-       legacy_facedir_simple = true,
-       sounds = default.node_sound_wood_defaults(),
-       drop = "technic:gold_chest",
-       on_construct = function(pos)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("formspec",gold_chest_formspec)
-               meta:set_string("infotext", "Gold Chest")
-               local inv = meta:get_inventory()
-               inv:set_size("main", gold_chest_inv_size)
-       end,
-
-       can_dig =chest_can_dig,
-
-       on_punch = function (pos, node, puncher)
-       chest_punched (pos,node,puncher);
-       end,
-       
-       on_receive_fields = function(pos, formname, fields, sender)
-        local meta = minetest.env:get_meta(pos);
-               fields.text = fields.text or ""
-               meta:set_string("text", fields.text)
-               meta:set_string("infotext", '"'..fields.text..'"')
-               meta:set_string("formspec",gold_chest_formspec)
-       end,
-
-       on_metadata_inventory_move = def_on_metadata_inventory_move,
-       on_metadata_inventory_put = def_on_metadata_inventory_put,
-       on_metadata_inventory_take = def_on_metadata_inventory_take 
-})
-end
-
-minetest.register_node("technic:gold_locked_chest", {
-       description = "Gold Locked Chest",
-       tiles = {"technic_gold_chest_top.png", "technic_gold_chest_top.png", "technic_gold_chest_side.png",
-               "technic_gold_chest_side.png", "technic_gold_chest_side.png", "technic_gold_chest_locked.png"},
-       paramtype2 = "facedir",
-       drop = "technic:gold_locked_chest",
-       groups = chest_groups1,
-       tube = tubes_properties,
-       legacy_facedir_simple = true,
-       sounds = default.node_sound_wood_defaults(),
-       after_place_node = function(pos, placer)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("owner", placer:get_player_name() or "")
-               meta:set_string("infotext", "Gold Locked Chest (owned by "..
-                               meta:get_string("owner")..")")
-       end,
-       on_construct = function(pos)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("formspec",gold_chest_formspec)
-               meta:set_string("infotext", "Gold Locked Chest")
-               meta:set_string("owner", "")
-               local inv = meta:get_inventory()
-               inv:set_size("main", gold_chest_inv_size)
-       end,
-
-       can_dig =chest_can_dig,
-
-       on_punch = function (pos, node, puncher)
-               local meta = minetest.env:get_meta(pos);
-               if (has_locked_chest_privilege(meta, puncher)) then
-                       locked_chest_punched (pos,node,puncher);
-               end
-       end,
-       
-       on_receive_fields = function(pos, formname, fields, sender)
-               local meta = minetest.env:get_meta(pos);
-               fields.text = fields.text or ""
-               meta:set_string("text", fields.text)
-               meta:set_string("infotext", '"'..fields.text..'"')
-               meta:set_string("formspec",gold_chest_formspec)
-       end,
-
-       allow_metadata_inventory_move = def_allow_metadata_inventory_move,
-       allow_metadata_inventory_put = def_allow_metadata_inventory_put,
-       allow_metadata_inventory_take = def_allow_metadata_inventory_take,
-       on_metadata_inventory_move = def_on_metadata_inventory_move,
-       on_metadata_inventory_put = def_on_metadata_inventory_put,
-       on_metadata_inventory_take = def_on_metadata_inventory_take 
-})
-
-for i, state in ipairs(chest_mark_colors) do
-minetest.register_node("technic:gold_locked_chest".. state, {
-       description = "Gold Locked Chest",
-       tiles = {"technic_gold_chest_top.png", "technic_gold_chest_top.png", "technic_gold_chest_side.png",
-               "technic_gold_chest_side.png", "technic_gold_chest_side.png", "technic_gold_chest_locked"..state..".png"},
-       paramtype2 = "facedir",
-       drop = "technic:gold_locked_chest",
-       groups = chest_groups2,
-       tube = tubes_properties,
-       legacy_facedir_simple = true,
-       sounds = default.node_sound_wood_defaults(),
-       after_place_node = function(pos, placer)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("owner", placer:get_player_name() or "")
-               meta:set_string("infotext", "Gold Locked Chest (owned by "..
-                               meta:get_string("owner")..")")
-       end,
-       on_construct = function(pos)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("formspec",gold_chest_formspec)
-               meta:set_string("infotext", "Gold Locked Chest")
-               meta:set_string("owner", "")
-               local inv = meta:get_inventory()
-               inv:set_size("main", gold_chest_inv_size)
-       end,
-
-       can_dig = chest_can_dig,
-
-       on_punch = function (pos, node, puncher)
-               local meta = minetest.env:get_meta(pos);
-               if (has_locked_chest_privilege(meta, puncher)) then
-               locked_chest_punched (pos,node,puncher);
-               end
-       end,
-
-       on_receive_fields = function(pos, formname, fields, sender)
-               local meta = minetest.env:get_meta(pos);
-               fields.text = fields.text or ""
-               meta:set_string("text", fields.text)
-               meta:set_string("infotext", '"'..fields.text..'"')
-               meta:set_string("formspec",gold_chest_formspec)
-       end,
-
-       allow_metadata_inventory_move = def_allow_metadata_inventory_move,
-       allow_metadata_inventory_put = def_allow_metadata_inventory_put,
-       allow_metadata_inventory_take = def_allow_metadata_inventory_take,
-       on_metadata_inventory_move = def_on_metadata_inventory_move,
-       on_metadata_inventory_put = def_on_metadata_inventory_put,
-       on_metadata_inventory_take = def_on_metadata_inventory_take 
-})
-end
-
-function chest_punched (pos,node,puncher)
-       
-       local player_tool = puncher:get_wielded_item();
-       local item=player_tool:get_name();
-       if item == "dye:black" then
-               if (hacky_swap_node(pos,"technic:gold_chest_black")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:blue" then
-               if (hacky_swap_node(pos,"technic:gold_chest_blue")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:brown" then
-               if (hacky_swap_node(pos,"technic:gold_chest_brown")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:cyan" then
-               if (hacky_swap_node(pos,"technic:gold_chest_cyan")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:dark_green" then
-               if (hacky_swap_node(pos,"technic:gold_chest_dark_green")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:dark_grey" then
-               if (hacky_swap_node(pos,"technic:gold_chest_dark_grey")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:green" then
-               if (hacky_swap_node(pos,"technic:gold_chest_green")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:grey" then
-               if (hacky_swap_node(pos,"technic:gold_chest_grey")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:magenta" then
-               if (hacky_swap_node(pos,"technic:gold_chest_magenta")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:orange" then
-               if (hacky_swap_node(pos,"technic:gold_chest_orange")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:pink" then
-               if (hacky_swap_node(pos,"technic:gold_chest_pink")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:red" then
-               if (hacky_swap_node(pos,"technic:gold_chest_red")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:violet" then
-               if (hacky_swap_node(pos,"technic:gold_chest_violet")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:white" then
-               if (hacky_swap_node(pos,"technic:gold_chest_white")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:yellow" then
-               if (hacky_swap_node(pos,"technic:gold_chest_yellow")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-
-               local meta = minetest.env:get_meta(pos);
-                meta:set_string("formspec", "hack:sign_text_input")
-       end
-
-
-function locked_chest_punched (pos,node,puncher)
-       
-       local player_tool = puncher:get_wielded_item();
-       local item=player_tool:get_name();
-       if item == "dye:black" then
-               if (hacky_swap_node(pos,"technic:gold_locked_chest_black")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:blue" then
-               if (hacky_swap_node(pos,"technic:gold_locked_chest_blue")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:brown" then
-               if (hacky_swap_node(pos,"technic:gold_locked_chest_brown")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:cyan" then
-               if (hacky_swap_node(pos,"technic:gold_locked_chest_cyan")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:dark_green" then
-               if (hacky_swap_node(pos,"technic:gold_locked_chest_dark_green")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:dark_grey" then
-               if (hacky_swap_node(pos,"technic:gold_locked_chest_dark_grey")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:green" then
-               if (hacky_swap_node(pos,"technic:gold_locked_chest_green")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:grey" then
-               if (hacky_swap_node(pos,"technic:gold_locked_chest_grey")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:magenta" then
-               if (hacky_swap_node(pos,"technic:gold_locked_chest_magenta")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:orange" then
-               if (hacky_swap_node(pos,"technic:gold_locked_chest_orange")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:pink" then
-               if (hacky_swap_node(pos,"technic:gold_locked_chest_pink")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:red" then
-               if (hacky_swap_node(pos,"technic:gold_locked_chest_red")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:violet" then
-               if (hacky_swap_node(pos,"technic:gold_locked_chest_violet")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:white" then
-               if (hacky_swap_node(pos,"technic:gold_locked_chest_white")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-       if item == "dye:yellow" then
-               if (hacky_swap_node(pos,"technic:gold_locked_chest_yellow")) then
-                       player_tool:take_item(1);
-                       puncher:set_wielded_item(player_tool);
-                       return
-                  end
-               end
-
-               local meta = minetest.env:get_meta(pos);
-                meta:set_string("formspec", "hack:sign_text_input")
-       end
-       
index 0aa91feff878e7df88829bd1a9e77708617c7eae..99284a35379ca71f2ccc87dddcf1e35d3989f88c 100644 (file)
@@ -9,14 +9,6 @@ dofile(modpath.."/config.lua")
 --helper functions
 dofile(modpath.."/helpers.lua")
 
--- chests
-dofile(modpath.."/chest_commons.lua")
-dofile(modpath.."/iron_chest.lua")
-dofile(modpath.."/copper_chest.lua")
-dofile(modpath.."/silver_chest.lua")
-dofile(modpath.."/gold_chest.lua")
-dofile(modpath.."/mithril_chest.lua")
-
 --items 
 dofile(modpath.."/items.lua")
 
diff --git a/technic/iron_chest.lua b/technic/iron_chest.lua
deleted file mode 100644 (file)
index 6f278fe..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-minetest.register_craft({
-       output = 'technic:iron_chest 1',
-       recipe = {
-               {'default:steel_ingot','default:steel_ingot','default:steel_ingot'},
-               {'default:steel_ingot','default:chest','default:steel_ingot'},
-               {'default:steel_ingot','default:steel_ingot','default:steel_ingot'},
-       }
-})
-
-minetest.register_craft({
-       output = 'technic:iron_locked_chest 1',
-       recipe = {
-               {'default:steel_ingot','default:steel_ingot','default:steel_ingot'},
-               {'default:steel_ingot','default:chest_locked','default:steel_ingot'},
-               {'default:steel_ingot','default:steel_ingot','default:steel_ingot'},
-       }
-})
-
-minetest.register_craft({
-       output = 'technic:iron_locked_chest 1',
-       recipe = {
-               {'default:steel_ingot'},
-               {'technic:iron_chest'},
-       }
-})
-
-
-minetest.register_craftitem("technic:iron_chest", {
-       description = "Iron Chest",
-       stack_max = 99,
-})
-minetest.register_craftitem("technic:iron_locked_chest", {
-       description = "Iron Locked Chest",
-       stack_max = 99,
-})
-
-minetest.register_alias("blabla", "technic:iron_chest")
-
-minetest.register_node("technic:iron_chest", {
-       description = "Iron Chest",
-       tiles = {"technic_iron_chest_top.png", "technic_iron_chest_top.png", "technic_iron_chest_side.png",
-               "technic_iron_chest_side.png", "technic_iron_chest_side.png", "technic_iron_chest_front.png"},
-       paramtype2 = "facedir",
-       groups = chest_groups1,
-       tube = tubes_properties,
-       legacy_facedir_simple = true,
-       sounds = default.node_sound_wood_defaults(),
-       on_construct = function(pos)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("formspec",
-                               "invsize[9,9;]"..
-                               "list[current_name;main;0,0;9,4;]"..
-                               "list[current_player;main;0,5;8,4;]")
-               meta:set_string("infotext", "Iron Chest")
-               local inv = meta:get_inventory()
-               inv:set_size("main", 9*4)
-       end,
-       can_dig = chest_can_dig,
-       on_metadata_inventory_move = def_on_metadata_inventory_move,
-       on_metadata_inventory_put = def_on_metadata_inventory_put,
-       on_metadata_inventory_take = def_on_metadata_inventory_take 
-})
-
-minetest.register_node("technic:iron_locked_chest", {
-       description = "Iron Locked Chest",
-       tiles = {"technic_iron_chest_top.png", "technic_iron_chest_top.png", "technic_iron_chest_side.png",
-               "technic_iron_chest_side.png", "technic_iron_chest_side.png", "technic_iron_chest_locked.png"},
-       paramtype2 = "facedir",
-       groups = chest_groups1,
-       tube = tubes_properties,
-       legacy_facedir_simple = true,
-       sounds = default.node_sound_wood_defaults(),
-       after_place_node = function(pos, placer)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("owner", placer:get_player_name() or "")
-               meta:set_string("infotext", "Locked Iron Chest (owned by "..
-                               meta:get_string("owner")..")")
-       end,
-       on_construct = function(pos)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("formspec",
-                               "invsize[9,9;]"..
-                               "list[current_name;main;0,0;9,4;]"..
-                               "list[current_player;main;0,5;8,4;]")
-               meta:set_string("infotext", "Iron Locked Chest")
-               meta:set_string("owner", "")
-               local inv = meta:get_inventory()
-               inv:set_size("main", 9*4)
-       end,
-       can_dig = chest_can_dig,
-       allow_metadata_inventory_move = def_allow_metadata_inventory_move,
-       allow_metadata_inventory_put = def_allow_metadata_inventory_put,
-       allow_metadata_inventory_take = def_allow_metadata_inventory_take,
-       on_metadata_inventory_move = def_on_metadata_inventory_move,
-       on_metadata_inventory_put = def_on_metadata_inventory_put,
-       on_metadata_inventory_take = def_on_metadata_inventory_take 
-})
diff --git a/technic/mithril_chest.lua b/technic/mithril_chest.lua
deleted file mode 100644 (file)
index 89683f8..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-minetest.register_craft({
-       output = 'technic:mithril_chest 1',
-       recipe = {
-               {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'},
-               {'moreores:mithril_ingot','technic:gold_chest','moreores:mithril_ingot'},
-               {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'},
-       }
-})
-
-minetest.register_craft({
-       output = 'technic:mithril_locked_chest 1',
-       recipe = {
-               {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'},
-               {'moreores:mithril_ingot','technic:gold_locked_chest','moreores:mithril_ingot'},
-               {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'},
-       }
-})
-
-minetest.register_craft({
-       output = 'technic:mithril_locked_chest 1',
-       recipe = {
-               {'default:steel_ingot'},
-               {'technic:mithril_chest'},
-       }
-})
-
-minetest.register_node("technic:mithril_chest", {
-       description = "Mithril Chest",
-       tiles = {"technic_mithril_chest_top.png", "technic_mithril_chest_top.png", "technic_mithril_chest_side.png",
-               "technic_mithril_chest_side.png", "technic_mithril_chest_side.png", "technic_mithril_chest_front.png"},
-       paramtype2 = "facedir",
-       groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
-       legacy_facedir_simple = true,
-       sounds = default.node_sound_wood_defaults(),
-       on_construct = function(pos)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("formspec",
-                               "invsize[13,9;]"..
-                               "list[current_name;main;0,0;13,4;]"..
-                               "list[current_player;main;0,5;8,4;]")
-               meta:set_string("infotext", "Mithril Chest")
-               local inv = meta:get_inventory()
-               inv:set_size("main", 13*4)
-       end,
-       can_dig = function(pos,player)
-               local meta = minetest.env:get_meta(pos);
-               local inv = meta:get_inventory()
-               return inv:is_empty("main")
-       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 chest at "..minetest.pos_to_string(pos))
-               return minetest.node_metadata_inventory_move_allow_all(
-                               pos, from_list, from_index, to_list, to_index, count, player)
-       end,
-    on_metadata_inventory_offer = function(pos, listname, index, stack, player)
-               minetest.log("action", player:get_player_name()..
-                               " moves stuff to chest at "..minetest.pos_to_string(pos))
-               return minetest.node_metadata_inventory_offer_allow_all(
-                               pos, listname, index, stack, player)
-       end,
-    on_metadata_inventory_take = function(pos, listname, index, stack, player)
-               minetest.log("action", player:get_player_name()..
-                               " takes stuff from chest at "..minetest.pos_to_string(pos))
-       end,
-})
-
-minetest.register_node("technic:mithril_locked_chest", {
-       description = "Mithril Locked Chest",
-       tiles = {"technic_mithril_chest_top.png", "technic_mithril_chest_top.png", "technic_mithril_chest_side.png",
-               "technic_mithril_chest_side.png", "technic_mithril_chest_side.png", "technic_mithril_chest_locked.png"},
-       paramtype2 = "facedir",
-       groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
-       legacy_facedir_simple = true,
-       sounds = default.node_sound_wood_defaults(),
-       after_place_node = function(pos, placer)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("owner", placer:get_player_name() or "")
-               meta:set_string("infotext", "Mithril Locked Chest (owned by "..
-                               meta:get_string("owner")..")")
-       end,
-on_construct = function(pos)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("formspec",
-                               "invsize[13,9;]"..
-                               "list[current_name;main;0,0;13,4;]"..
-                               "list[current_player;main;0,5;8,4;]")
-               meta:set_string("infotext", "Mithril Locked Chest")
-               meta:set_string("owner", "")
-               local inv = meta:get_inventory()
-               inv:set_size("main", 13*4)
-       end,
-       can_dig = function(pos,player)
-               local meta = minetest.env:get_meta(pos);
-               local inv = meta:get_inventory()
-               return inv:is_empty("main")
-       end,
-       allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
-               local meta = minetest.env:get_meta(pos)
-               if not has_locked_chest_privilege(meta, player) then
-                       minetest.log("action", player:get_player_name()..
-                                       " tried to access a locked chest belonging to "..
-                                       meta:get_string("owner").." at "..
-                                       minetest.pos_to_string(pos))
-                       return 0
-               end
-               return count
-       end,
-    allow_metadata_inventory_put = function(pos, listname, index, stack, player)
-               local meta = minetest.env:get_meta(pos)
-               if not has_locked_chest_privilege(meta, player) then
-                       minetest.log("action", player:get_player_name()..
-                                       " tried to access a locked chest belonging to "..
-                                       meta:get_string("owner").." at "..
-                                       minetest.pos_to_string(pos))
-                       return 0
-               end
-               return stack:get_count()
-       end,
-    allow_metadata_inventory_take = function(pos, listname, index, stack, player)
-               local meta = minetest.env:get_meta(pos)
-               if not has_locked_chest_privilege(meta, player) then
-                       minetest.log("action", player:get_player_name()..
-                                       " tried to access a locked chest belonging to "..
-                                       meta:get_string("owner").." at "..
-                                       minetest.pos_to_string(pos))
-                       return 0
-               end
-               return stack:get_count()
-       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 locked chest 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 locked chest 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 locked chest at "..minetest.pos_to_string(pos))
-       end,
-})
diff --git a/technic/mithril_subspace_chest.lua b/technic/mithril_subspace_chest.lua
deleted file mode 100644 (file)
index 89683f8..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-minetest.register_craft({
-       output = 'technic:mithril_chest 1',
-       recipe = {
-               {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'},
-               {'moreores:mithril_ingot','technic:gold_chest','moreores:mithril_ingot'},
-               {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'},
-       }
-})
-
-minetest.register_craft({
-       output = 'technic:mithril_locked_chest 1',
-       recipe = {
-               {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'},
-               {'moreores:mithril_ingot','technic:gold_locked_chest','moreores:mithril_ingot'},
-               {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'},
-       }
-})
-
-minetest.register_craft({
-       output = 'technic:mithril_locked_chest 1',
-       recipe = {
-               {'default:steel_ingot'},
-               {'technic:mithril_chest'},
-       }
-})
-
-minetest.register_node("technic:mithril_chest", {
-       description = "Mithril Chest",
-       tiles = {"technic_mithril_chest_top.png", "technic_mithril_chest_top.png", "technic_mithril_chest_side.png",
-               "technic_mithril_chest_side.png", "technic_mithril_chest_side.png", "technic_mithril_chest_front.png"},
-       paramtype2 = "facedir",
-       groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
-       legacy_facedir_simple = true,
-       sounds = default.node_sound_wood_defaults(),
-       on_construct = function(pos)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("formspec",
-                               "invsize[13,9;]"..
-                               "list[current_name;main;0,0;13,4;]"..
-                               "list[current_player;main;0,5;8,4;]")
-               meta:set_string("infotext", "Mithril Chest")
-               local inv = meta:get_inventory()
-               inv:set_size("main", 13*4)
-       end,
-       can_dig = function(pos,player)
-               local meta = minetest.env:get_meta(pos);
-               local inv = meta:get_inventory()
-               return inv:is_empty("main")
-       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 chest at "..minetest.pos_to_string(pos))
-               return minetest.node_metadata_inventory_move_allow_all(
-                               pos, from_list, from_index, to_list, to_index, count, player)
-       end,
-    on_metadata_inventory_offer = function(pos, listname, index, stack, player)
-               minetest.log("action", player:get_player_name()..
-                               " moves stuff to chest at "..minetest.pos_to_string(pos))
-               return minetest.node_metadata_inventory_offer_allow_all(
-                               pos, listname, index, stack, player)
-       end,
-    on_metadata_inventory_take = function(pos, listname, index, stack, player)
-               minetest.log("action", player:get_player_name()..
-                               " takes stuff from chest at "..minetest.pos_to_string(pos))
-       end,
-})
-
-minetest.register_node("technic:mithril_locked_chest", {
-       description = "Mithril Locked Chest",
-       tiles = {"technic_mithril_chest_top.png", "technic_mithril_chest_top.png", "technic_mithril_chest_side.png",
-               "technic_mithril_chest_side.png", "technic_mithril_chest_side.png", "technic_mithril_chest_locked.png"},
-       paramtype2 = "facedir",
-       groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
-       legacy_facedir_simple = true,
-       sounds = default.node_sound_wood_defaults(),
-       after_place_node = function(pos, placer)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("owner", placer:get_player_name() or "")
-               meta:set_string("infotext", "Mithril Locked Chest (owned by "..
-                               meta:get_string("owner")..")")
-       end,
-on_construct = function(pos)
-               local meta = minetest.env:get_meta(pos)
-               meta:set_string("formspec",
-                               "invsize[13,9;]"..
-                               "list[current_name;main;0,0;13,4;]"..
-                               "list[current_player;main;0,5;8,4;]")
-               meta:set_string("infotext", "Mithril Locked Chest")
-               meta:set_string("owner", "")
-               local inv = meta:get_inventory()
-               inv:set_size("main", 13*4)
-       end,
-       can_dig = function(pos,player)
-               local meta = minetest.env:get_meta(pos);
-               local inv = meta:get_inventory()
-               return inv:is_empty("main")
-       end,
-       allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
-               local meta = minetest.env:get_meta(pos)
-               if not has_locked_chest_privilege(meta, player) then
-                       minetest.log("action", player:get_player_name()..
-                                       " tried to access a locked chest belonging to "..
-                                       meta:get_string("owner").." at "..
-                                       minetest.pos_to_string(pos))
-                       return 0
-               end
-               return count
-       end,
-    allow_metadata_inventory_put = function(pos, listname, index, stack, player)
-               local meta = minetest.env:get_meta(pos)
-               if not has_locked_chest_privilege(meta, player) then
-                       minetest.log("action", player:get_player_name()..
-                                       " tried to access a locked chest belonging to "..
-                                       meta:get_string("owner").." at "..
-                                       minetest.pos_to_string(pos))
-                       return 0
-               end
-               return stack:get_count()
-       end,
-    allow_metadata_inventory_take = function(pos, listname, index, stack, player)
-               local meta = minetest.env:get_meta(pos)
-               if not has_locked_chest_privilege(meta, player) then
-                       minetest.log("action", player:get_player_name()..
-                                       " tried to access a locked chest belonging to "..
-                                       meta:get_string("owner").." at "..
-                                       minetest.pos_to_string(pos))
-                       return 0
-               end
-               return stack:get_count()
-       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 locked chest 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 locked chest 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 locked chest at "..minetest.pos_to_string(pos))
-       end,
-})
diff --git a/technic/textures/technic_copper_chest_front.png b/technic/textures/technic_copper_chest_front.png
deleted file mode 100644 (file)
index add51e8..0000000
Binary files a/technic/textures/technic_copper_chest_front.png and /dev/null differ
diff --git a/technic/textures/technic_copper_chest_locked.png b/technic/textures/technic_copper_chest_locked.png
deleted file mode 100644 (file)
index 971cd5f..0000000
Binary files a/technic/textures/technic_copper_chest_locked.png and /dev/null differ
diff --git a/technic/textures/technic_copper_chest_side.png b/technic/textures/technic_copper_chest_side.png
deleted file mode 100644 (file)
index 2231cce..0000000
Binary files a/technic/textures/technic_copper_chest_side.png and /dev/null differ
diff --git a/technic/textures/technic_copper_chest_top.png b/technic/textures/technic_copper_chest_top.png
deleted file mode 100644 (file)
index 69f1078..0000000
Binary files a/technic/textures/technic_copper_chest_top.png and /dev/null differ
diff --git a/technic/textures/technic_diamond.png b/technic/textures/technic_diamond.png
deleted file mode 100644 (file)
index 23e6126..0000000
Binary files a/technic/textures/technic_diamond.png and /dev/null differ
diff --git a/technic/textures/technic_diamond_block.png b/technic/textures/technic_diamond_block.png
deleted file mode 100644 (file)
index 7b20476..0000000
Binary files a/technic/textures/technic_diamond_block.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front.png b/technic/textures/technic_gold_chest_front.png
deleted file mode 100644 (file)
index 1bfb55b..0000000
Binary files a/technic/textures/technic_gold_chest_front.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front_black.png b/technic/textures/technic_gold_chest_front_black.png
deleted file mode 100644 (file)
index d283830..0000000
Binary files a/technic/textures/technic_gold_chest_front_black.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front_blue.png b/technic/textures/technic_gold_chest_front_blue.png
deleted file mode 100644 (file)
index dc3fdfd..0000000
Binary files a/technic/textures/technic_gold_chest_front_blue.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front_brown.png b/technic/textures/technic_gold_chest_front_brown.png
deleted file mode 100644 (file)
index db2773e..0000000
Binary files a/technic/textures/technic_gold_chest_front_brown.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front_cyan.png b/technic/textures/technic_gold_chest_front_cyan.png
deleted file mode 100644 (file)
index 80b5b89..0000000
Binary files a/technic/textures/technic_gold_chest_front_cyan.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front_dark_green.png b/technic/textures/technic_gold_chest_front_dark_green.png
deleted file mode 100644 (file)
index 5c8ec63..0000000
Binary files a/technic/textures/technic_gold_chest_front_dark_green.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front_dark_grey.png b/technic/textures/technic_gold_chest_front_dark_grey.png
deleted file mode 100644 (file)
index 799cb2d..0000000
Binary files a/technic/textures/technic_gold_chest_front_dark_grey.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front_green.png b/technic/textures/technic_gold_chest_front_green.png
deleted file mode 100644 (file)
index 3632e93..0000000
Binary files a/technic/textures/technic_gold_chest_front_green.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front_grey.png b/technic/textures/technic_gold_chest_front_grey.png
deleted file mode 100644 (file)
index 35ad8db..0000000
Binary files a/technic/textures/technic_gold_chest_front_grey.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front_magenta.png b/technic/textures/technic_gold_chest_front_magenta.png
deleted file mode 100644 (file)
index 5c7a05c..0000000
Binary files a/technic/textures/technic_gold_chest_front_magenta.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front_orange.png b/technic/textures/technic_gold_chest_front_orange.png
deleted file mode 100644 (file)
index bbf01cc..0000000
Binary files a/technic/textures/technic_gold_chest_front_orange.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front_pink.png b/technic/textures/technic_gold_chest_front_pink.png
deleted file mode 100644 (file)
index aeedf35..0000000
Binary files a/technic/textures/technic_gold_chest_front_pink.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front_red.png b/technic/textures/technic_gold_chest_front_red.png
deleted file mode 100644 (file)
index cf7cef6..0000000
Binary files a/technic/textures/technic_gold_chest_front_red.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front_violet.png b/technic/textures/technic_gold_chest_front_violet.png
deleted file mode 100644 (file)
index b5b61c2..0000000
Binary files a/technic/textures/technic_gold_chest_front_violet.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front_white.png b/technic/textures/technic_gold_chest_front_white.png
deleted file mode 100644 (file)
index 1b43cfe..0000000
Binary files a/technic/textures/technic_gold_chest_front_white.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_front_yellow.png b/technic/textures/technic_gold_chest_front_yellow.png
deleted file mode 100644 (file)
index bf572cf..0000000
Binary files a/technic/textures/technic_gold_chest_front_yellow.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked.png b/technic/textures/technic_gold_chest_locked.png
deleted file mode 100644 (file)
index 15f1fe4..0000000
Binary files a/technic/textures/technic_gold_chest_locked.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked_black.png b/technic/textures/technic_gold_chest_locked_black.png
deleted file mode 100644 (file)
index a8ce91f..0000000
Binary files a/technic/textures/technic_gold_chest_locked_black.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked_blue.png b/technic/textures/technic_gold_chest_locked_blue.png
deleted file mode 100644 (file)
index 5a9c27e..0000000
Binary files a/technic/textures/technic_gold_chest_locked_blue.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked_brown.png b/technic/textures/technic_gold_chest_locked_brown.png
deleted file mode 100644 (file)
index a064e32..0000000
Binary files a/technic/textures/technic_gold_chest_locked_brown.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked_cyan.png b/technic/textures/technic_gold_chest_locked_cyan.png
deleted file mode 100644 (file)
index 95afa80..0000000
Binary files a/technic/textures/technic_gold_chest_locked_cyan.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked_dark_green.png b/technic/textures/technic_gold_chest_locked_dark_green.png
deleted file mode 100644 (file)
index 7c9e992..0000000
Binary files a/technic/textures/technic_gold_chest_locked_dark_green.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked_dark_grey.png b/technic/textures/technic_gold_chest_locked_dark_grey.png
deleted file mode 100644 (file)
index c19e9fd..0000000
Binary files a/technic/textures/technic_gold_chest_locked_dark_grey.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked_green.png b/technic/textures/technic_gold_chest_locked_green.png
deleted file mode 100644 (file)
index ce10afa..0000000
Binary files a/technic/textures/technic_gold_chest_locked_green.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked_grey.png b/technic/textures/technic_gold_chest_locked_grey.png
deleted file mode 100644 (file)
index 667ea20..0000000
Binary files a/technic/textures/technic_gold_chest_locked_grey.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked_magenta.png b/technic/textures/technic_gold_chest_locked_magenta.png
deleted file mode 100644 (file)
index fc8573a..0000000
Binary files a/technic/textures/technic_gold_chest_locked_magenta.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked_orange.png b/technic/textures/technic_gold_chest_locked_orange.png
deleted file mode 100644 (file)
index e1608bf..0000000
Binary files a/technic/textures/technic_gold_chest_locked_orange.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked_pink.png b/technic/textures/technic_gold_chest_locked_pink.png
deleted file mode 100644 (file)
index 4648e0e..0000000
Binary files a/technic/textures/technic_gold_chest_locked_pink.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked_red.png b/technic/textures/technic_gold_chest_locked_red.png
deleted file mode 100644 (file)
index e505ecb..0000000
Binary files a/technic/textures/technic_gold_chest_locked_red.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked_violet.png b/technic/textures/technic_gold_chest_locked_violet.png
deleted file mode 100644 (file)
index 1077099..0000000
Binary files a/technic/textures/technic_gold_chest_locked_violet.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked_white.png b/technic/textures/technic_gold_chest_locked_white.png
deleted file mode 100644 (file)
index e5a279d..0000000
Binary files a/technic/textures/technic_gold_chest_locked_white.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_locked_yellow.png b/technic/textures/technic_gold_chest_locked_yellow.png
deleted file mode 100644 (file)
index 7b817f5..0000000
Binary files a/technic/textures/technic_gold_chest_locked_yellow.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_side.png b/technic/textures/technic_gold_chest_side.png
deleted file mode 100644 (file)
index 9a0de39..0000000
Binary files a/technic/textures/technic_gold_chest_side.png and /dev/null differ
diff --git a/technic/textures/technic_gold_chest_top.png b/technic/textures/technic_gold_chest_top.png
deleted file mode 100644 (file)
index abfc081..0000000
Binary files a/technic/textures/technic_gold_chest_top.png and /dev/null differ
diff --git a/technic/textures/technic_iron_chest_front.png b/technic/textures/technic_iron_chest_front.png
deleted file mode 100644 (file)
index 8c00473..0000000
Binary files a/technic/textures/technic_iron_chest_front.png and /dev/null differ
diff --git a/technic/textures/technic_iron_chest_locked.png b/technic/textures/technic_iron_chest_locked.png
deleted file mode 100644 (file)
index 74df3fd..0000000
Binary files a/technic/textures/technic_iron_chest_locked.png and /dev/null differ
diff --git a/technic/textures/technic_iron_chest_side.png b/technic/textures/technic_iron_chest_side.png
deleted file mode 100644 (file)
index 7233688..0000000
Binary files a/technic/textures/technic_iron_chest_side.png and /dev/null differ
diff --git a/technic/textures/technic_iron_chest_top.png b/technic/textures/technic_iron_chest_top.png
deleted file mode 100644 (file)
index 48d2437..0000000
Binary files a/technic/textures/technic_iron_chest_top.png and /dev/null differ
diff --git a/technic/textures/technic_mithril_chest_front.png b/technic/textures/technic_mithril_chest_front.png
deleted file mode 100644 (file)
index f0e0c23..0000000
Binary files a/technic/textures/technic_mithril_chest_front.png and /dev/null differ
diff --git a/technic/textures/technic_mithril_chest_locked.png b/technic/textures/technic_mithril_chest_locked.png
deleted file mode 100644 (file)
index 2a48533..0000000
Binary files a/technic/textures/technic_mithril_chest_locked.png and /dev/null differ
diff --git a/technic/textures/technic_mithril_chest_side.png b/technic/textures/technic_mithril_chest_side.png
deleted file mode 100644 (file)
index 1c2c3a7..0000000
Binary files a/technic/textures/technic_mithril_chest_side.png and /dev/null differ
diff --git a/technic/textures/technic_mithril_chest_top.png b/technic/textures/technic_mithril_chest_top.png
deleted file mode 100644 (file)
index e196baf..0000000
Binary files a/technic/textures/technic_mithril_chest_top.png and /dev/null differ
diff --git a/technic/textures/technic_mithril_dust.png b/technic/textures/technic_mithril_dust.png
deleted file mode 100644 (file)
index adfbe6c..0000000
Binary files a/technic/textures/technic_mithril_dust.png and /dev/null differ
diff --git a/technic/textures/technic_silver_chest_front.png b/technic/textures/technic_silver_chest_front.png
deleted file mode 100644 (file)
index 5ae5831..0000000
Binary files a/technic/textures/technic_silver_chest_front.png and /dev/null differ
diff --git a/technic/textures/technic_silver_chest_locked.png b/technic/textures/technic_silver_chest_locked.png
deleted file mode 100644 (file)
index 7d3b918..0000000
Binary files a/technic/textures/technic_silver_chest_locked.png and /dev/null differ
diff --git a/technic/textures/technic_silver_chest_side.png b/technic/textures/technic_silver_chest_side.png
deleted file mode 100644 (file)
index 4b4ce54..0000000
Binary files a/technic/textures/technic_silver_chest_side.png and /dev/null differ
diff --git a/technic/textures/technic_silver_chest_top.png b/technic/textures/technic_silver_chest_top.png
deleted file mode 100644 (file)
index 79196d6..0000000
Binary files a/technic/textures/technic_silver_chest_top.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_copper_chest_front.png b/technic/textures/technicx32/technic_copper_chest_front.png
deleted file mode 100644 (file)
index 1769435..0000000
Binary files a/technic/textures/technicx32/technic_copper_chest_front.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_copper_chest_locked.png b/technic/textures/technicx32/technic_copper_chest_locked.png
deleted file mode 100644 (file)
index 6d059e9..0000000
Binary files a/technic/textures/technicx32/technic_copper_chest_locked.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_copper_chest_side.png b/technic/textures/technicx32/technic_copper_chest_side.png
deleted file mode 100644 (file)
index 2c7943f..0000000
Binary files a/technic/textures/technicx32/technic_copper_chest_side.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_copper_chest_top.png b/technic/textures/technicx32/technic_copper_chest_top.png
deleted file mode 100644 (file)
index 2ab8104..0000000
Binary files a/technic/textures/technicx32/technic_copper_chest_top.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front.png b/technic/textures/technicx32/technic_gold_chest_front.png
deleted file mode 100644 (file)
index 9bc9615..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front_black.png b/technic/textures/technicx32/technic_gold_chest_front_black.png
deleted file mode 100644 (file)
index 6d0fe5e..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front_black.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front_blue.png b/technic/textures/technicx32/technic_gold_chest_front_blue.png
deleted file mode 100644 (file)
index 7efe651..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front_blue.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front_brown.png b/technic/textures/technicx32/technic_gold_chest_front_brown.png
deleted file mode 100644 (file)
index 4f4f34e..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front_brown.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front_cyan.png b/technic/textures/technicx32/technic_gold_chest_front_cyan.png
deleted file mode 100644 (file)
index e33d76d..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front_cyan.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front_dark_green.png b/technic/textures/technicx32/technic_gold_chest_front_dark_green.png
deleted file mode 100644 (file)
index 3088bbf..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front_dark_green.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front_dark_grey.png b/technic/textures/technicx32/technic_gold_chest_front_dark_grey.png
deleted file mode 100644 (file)
index 0aa03b4..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front_dark_grey.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front_green.png b/technic/textures/technicx32/technic_gold_chest_front_green.png
deleted file mode 100644 (file)
index 30da993..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front_green.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front_grey.png b/technic/textures/technicx32/technic_gold_chest_front_grey.png
deleted file mode 100644 (file)
index eae7e69..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front_grey.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front_magenta.png b/technic/textures/technicx32/technic_gold_chest_front_magenta.png
deleted file mode 100644 (file)
index 6daed3b..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front_magenta.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front_orange.png b/technic/textures/technicx32/technic_gold_chest_front_orange.png
deleted file mode 100644 (file)
index 085c102..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front_orange.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front_pink.png b/technic/textures/technicx32/technic_gold_chest_front_pink.png
deleted file mode 100644 (file)
index eada4da..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front_pink.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front_red.png b/technic/textures/technicx32/technic_gold_chest_front_red.png
deleted file mode 100644 (file)
index b67da7b..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front_red.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front_violet.png b/technic/textures/technicx32/technic_gold_chest_front_violet.png
deleted file mode 100644 (file)
index b62011c..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front_violet.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front_white.png b/technic/textures/technicx32/technic_gold_chest_front_white.png
deleted file mode 100644 (file)
index 76b5ebf..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front_white.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_front_yellow.png b/technic/textures/technicx32/technic_gold_chest_front_yellow.png
deleted file mode 100644 (file)
index b0ab9f4..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_front_yellow.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked.png b/technic/textures/technicx32/technic_gold_chest_locked.png
deleted file mode 100644 (file)
index 91a8b73..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked_black.png b/technic/textures/technicx32/technic_gold_chest_locked_black.png
deleted file mode 100644 (file)
index 5a5a568..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked_black.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked_blue.png b/technic/textures/technicx32/technic_gold_chest_locked_blue.png
deleted file mode 100644 (file)
index f369ebd..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked_blue.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked_brown.png b/technic/textures/technicx32/technic_gold_chest_locked_brown.png
deleted file mode 100644 (file)
index a44a273..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked_brown.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked_cyan.png b/technic/textures/technicx32/technic_gold_chest_locked_cyan.png
deleted file mode 100644 (file)
index f3ce7b6..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked_cyan.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked_dark_green.png b/technic/textures/technicx32/technic_gold_chest_locked_dark_green.png
deleted file mode 100644 (file)
index 084dae5..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked_dark_green.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked_dark_grey.png b/technic/textures/technicx32/technic_gold_chest_locked_dark_grey.png
deleted file mode 100644 (file)
index 629e33c..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked_dark_grey.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked_green.png b/technic/textures/technicx32/technic_gold_chest_locked_green.png
deleted file mode 100644 (file)
index 9ea1818..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked_green.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked_grey.png b/technic/textures/technicx32/technic_gold_chest_locked_grey.png
deleted file mode 100644 (file)
index c936d7c..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked_grey.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked_magenta.png b/technic/textures/technicx32/technic_gold_chest_locked_magenta.png
deleted file mode 100644 (file)
index 4c97fa8..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked_magenta.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked_orange.png b/technic/textures/technicx32/technic_gold_chest_locked_orange.png
deleted file mode 100644 (file)
index f6d5e90..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked_orange.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked_pink.png b/technic/textures/technicx32/technic_gold_chest_locked_pink.png
deleted file mode 100644 (file)
index 4248c21..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked_pink.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked_red.png b/technic/textures/technicx32/technic_gold_chest_locked_red.png
deleted file mode 100644 (file)
index 4bfe5d4..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked_red.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked_violet.png b/technic/textures/technicx32/technic_gold_chest_locked_violet.png
deleted file mode 100644 (file)
index c9abe73..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked_violet.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked_white.png b/technic/textures/technicx32/technic_gold_chest_locked_white.png
deleted file mode 100644 (file)
index 810abb9..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked_white.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_locked_yellow.png b/technic/textures/technicx32/technic_gold_chest_locked_yellow.png
deleted file mode 100644 (file)
index 2856165..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_locked_yellow.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_side.png b/technic/textures/technicx32/technic_gold_chest_side.png
deleted file mode 100644 (file)
index 5d5ad0f..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_side.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_gold_chest_top.png b/technic/textures/technicx32/technic_gold_chest_top.png
deleted file mode 100644 (file)
index f9c8fec..0000000
Binary files a/technic/textures/technicx32/technic_gold_chest_top.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_iron_chest_front.png b/technic/textures/technicx32/technic_iron_chest_front.png
deleted file mode 100644 (file)
index 79d5b49..0000000
Binary files a/technic/textures/technicx32/technic_iron_chest_front.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_iron_chest_locked.png b/technic/textures/technicx32/technic_iron_chest_locked.png
deleted file mode 100644 (file)
index 6229487..0000000
Binary files a/technic/textures/technicx32/technic_iron_chest_locked.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_iron_chest_side.png b/technic/textures/technicx32/technic_iron_chest_side.png
deleted file mode 100644 (file)
index e12daa5..0000000
Binary files a/technic/textures/technicx32/technic_iron_chest_side.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_iron_chest_top.png b/technic/textures/technicx32/technic_iron_chest_top.png
deleted file mode 100644 (file)
index da1ab7b..0000000
Binary files a/technic/textures/technicx32/technic_iron_chest_top.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_mithril_chest_front.png b/technic/textures/technicx32/technic_mithril_chest_front.png
deleted file mode 100644 (file)
index 9f7ca7e..0000000
Binary files a/technic/textures/technicx32/technic_mithril_chest_front.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_mithril_chest_locked.png b/technic/textures/technicx32/technic_mithril_chest_locked.png
deleted file mode 100644 (file)
index abff384..0000000
Binary files a/technic/textures/technicx32/technic_mithril_chest_locked.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_mithril_chest_side.png b/technic/textures/technicx32/technic_mithril_chest_side.png
deleted file mode 100644 (file)
index 0763511..0000000
Binary files a/technic/textures/technicx32/technic_mithril_chest_side.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_mithril_chest_top.png b/technic/textures/technicx32/technic_mithril_chest_top.png
deleted file mode 100644 (file)
index 2429576..0000000
Binary files a/technic/textures/technicx32/technic_mithril_chest_top.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_silver_chest_front.png b/technic/textures/technicx32/technic_silver_chest_front.png
deleted file mode 100644 (file)
index fe5ce2c..0000000
Binary files a/technic/textures/technicx32/technic_silver_chest_front.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_silver_chest_locked.png b/technic/textures/technicx32/technic_silver_chest_locked.png
deleted file mode 100644 (file)
index 0f8b1f0..0000000
Binary files a/technic/textures/technicx32/technic_silver_chest_locked.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_silver_chest_side.png b/technic/textures/technicx32/technic_silver_chest_side.png
deleted file mode 100644 (file)
index 3a2ed4a..0000000
Binary files a/technic/textures/technicx32/technic_silver_chest_side.png and /dev/null differ
diff --git a/technic/textures/technicx32/technic_silver_chest_top.png b/technic/textures/technicx32/technic_silver_chest_top.png
deleted file mode 100644 (file)
index 353a11c..0000000
Binary files a/technic/textures/technicx32/technic_silver_chest_top.png and /dev/null differ
diff --git a/technic_chests/chest_commons.lua b/technic_chests/chest_commons.lua
new file mode 100644 (file)
index 0000000..7786496
--- /dev/null
@@ -0,0 +1,78 @@
+chest_groups1 = {snappy=2,choppy=2,oddly_breakable_by_hand=2,tubedevice=1,tubedevice_receiver=1}
+chest_groups2 = {snappy=2,choppy=2,oddly_breakable_by_hand=2,tubedevice=1,tubedevice_receiver=1,not_in_creative_inventory=1}
+
+tubes_properties = {insert_object=function(pos,node,stack,direction)
+                                       local meta=minetest.env:get_meta(pos)
+                                       local inv=meta:get_inventory()
+                                       return inv:add_item("main",stack)
+                               end,
+                               can_insert=function(pos,node,stack,direction)
+                                       local meta=minetest.env:get_meta(pos)
+                                       local inv=meta:get_inventory()
+                                       return inv:room_for_item("main",stack)
+                               end,
+                               input_inventory="main"}
+                               
+chest_can_dig = function(pos,player)
+local meta = minetest.env:get_meta(pos);
+local inv = meta:get_inventory()
+return inv:is_empty("main")
+end
+
+def_allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
+local meta = minetest.env:get_meta(pos)
+if not has_locked_chest_privilege(meta, player) then
+       minetest.log("action", player:get_player_name()..
+       " tried to access a locked chest belonging to "..
+       meta:get_string("owner").." at "..
+       minetest.pos_to_string(pos))
+       return 0
+       end
+       return count
+end
+
+def_allow_metadata_inventory_put = function(pos, listname, index, stack, player)
+local meta = minetest.env:get_meta(pos)
+if not has_locked_chest_privilege(meta, player) then
+       minetest.log("action", player:get_player_name()..
+       " tried to access a locked chest belonging to "..
+       meta:get_string("owner").." at "..
+       minetest.pos_to_string(pos))
+       return 0
+end
+return stack:get_count()
+end
+
+def_allow_metadata_inventory_take = function(pos, listname, index, stack, player)
+local meta = minetest.env:get_meta(pos)
+if not has_locked_chest_privilege(meta, player) then
+       minetest.log("action", player:get_player_name()..
+       " tried to access a locked chest belonging to "..
+       meta:get_string("owner").." at "..
+       minetest.pos_to_string(pos))
+       return 0
+       end
+return stack:get_count()
+end
+
+def_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 locked chest at "..minetest.pos_to_string(pos))
+end
+
+def_on_metadata_inventory_put = function(pos, listname, index, stack, player)
+       minetest.log("action", player:get_player_name()..
+       " moves stuff to locked chest at "..minetest.pos_to_string(pos))
+end
+
+def_on_metadata_inventory_take = function(pos, listname, index, stack, player)
+       minetest.log("action", player:get_player_name()..
+       " takes stuff from locked chest at "..minetest.pos_to_string(pos))
+end
+
+function has_locked_chest_privilege(meta, player)
+       if player:get_player_name() ~= meta:get_string("owner") then
+               return false
+       end
+       return true
+end
diff --git a/technic_chests/copper_chest.lua b/technic_chests/copper_chest.lua
new file mode 100644 (file)
index 0000000..c121e78
--- /dev/null
@@ -0,0 +1,95 @@
+minetest.register_craft({
+       output = 'technic:copper_chest 1',
+       recipe = {
+               {'moreores:copper_ingot','moreores:copper_ingot','moreores:copper_ingot'},
+               {'moreores:copper_ingot','technic:iron_chest','moreores:copper_ingot'},
+               {'moreores:copper_ingot','moreores:copper_ingot','moreores:copper_ingot'},
+       }
+})
+
+minetest.register_craft({
+       output = 'technic:copper_locked_chest 1',
+       recipe = {
+               {'moreores:copper_ingot','moreores:copper_ingot','moreores:copper_ingot'},
+               {'moreores:copper_ingot','technic:iron_locked_chest','moreores:copper_ingot'},
+               {'moreores:copper_ingot','moreores:copper_ingot','moreores:copper_ingot'},
+       }
+})
+
+minetest.register_craft({
+       output = 'technic:copper_locked_chest 1',
+       recipe = {
+               {'default:steel_ingot'},
+               {'technic:copper_chest'},
+       }
+})
+
+minetest.register_craftitem(":technic:copper_chest", {
+       description = "Copper Chest",
+       stack_max = 99,
+})
+minetest.register_craftitem(":technic:copper_locked_chest", {
+       description = "Copper Locked Chest",
+       stack_max = 99,
+})
+
+minetest.register_node(":technic:copper_chest", {
+       description = "Copper Chest",
+       tiles = {"technic_copper_chest_top.png", "technic_copper_chest_top.png", "technic_copper_chest_side.png",
+               "technic_copper_chest_side.png", "technic_copper_chest_side.png", "technic_copper_chest_front.png"},
+       paramtype2 = "facedir",
+       groups = chest_groups1,
+       tube = tubes_properties,legacy_facedir_simple = true,
+       sounds = default.node_sound_wood_defaults(),
+       on_construct = function(pos)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("formspec",
+                               "invsize[10,9;]"..
+                               "list[current_name;main;0,0;10,4;]"..
+                               "list[current_player;main;0,5;8,4;]")
+               meta:set_string("infotext", "Copper Chest")
+               local inv = meta:get_inventory()
+               inv:set_size("main", 10*4)
+       end,
+
+       can_dig = chest_can_dig,
+       on_metadata_inventory_move = def_on_metadata_inventory_move,
+       on_metadata_inventory_put = def_on_metadata_inventory_put,
+       on_metadata_inventory_take = def_on_metadata_inventory_take 
+})
+  
+minetest.register_node(":technic:copper_locked_chest", {
+       description = "Copper Locked Chest",
+       tiles = {"technic_copper_chest_top.png", "technic_copper_chest_top.png", "technic_copper_chest_side.png",
+               "technic_copper_chest_side.png", "technic_copper_chest_side.png", "technic_copper_chest_locked.png"},
+       paramtype2 = "facedir",
+       groups = chest_groups1,
+       tube = tubes_properties,legacy_facedir_simple = true,
+       legacy_facedir_simple = true,
+       sounds = default.node_sound_wood_defaults(),
+       after_place_node = function(pos, placer)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("owner", placer:get_player_name() or "")
+               meta:set_string("infotext", "Copper Locked Chest (owned by "..
+                               meta:get_string("owner")..")")
+       end,
+       on_construct = function(pos)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("formspec",
+                               "invsize[10,9;]"..
+                               "list[current_name;main;0,0;10,4;]"..
+                               "list[current_player;main;0,5;8,4;]")
+               meta:set_string("infotext", "Copper Locked Chest")
+               meta:set_string("owner", "")
+               local inv = meta:get_inventory()
+               inv:set_size("main", 10*4)
+       end,
+
+       can_dig = chest_can_dig,
+       allow_metadata_inventory_move = def_allow_metadata_inventory_move,
+       allow_metadata_inventory_put = def_allow_metadata_inventory_put,
+       allow_metadata_inventory_take = def_allow_metadata_inventory_take,
+       on_metadata_inventory_move = def_on_metadata_inventory_move,
+       on_metadata_inventory_put = def_on_metadata_inventory_put,
+       on_metadata_inventory_take = def_on_metadata_inventory_take 
+})
diff --git a/technic_chests/depends.txt b/technic_chests/depends.txt
new file mode 100644 (file)
index 0000000..e02d92c
--- /dev/null
@@ -0,0 +1,3 @@
+default
+moreores
+pipeworks
diff --git a/technic_chests/gold_chest.lua b/technic_chests/gold_chest.lua
new file mode 100644 (file)
index 0000000..fa275fa
--- /dev/null
@@ -0,0 +1,466 @@
+local chest_mark_colors = {
+    '_black',
+    '_blue', 
+    '_brown',
+    '_cyan',
+    '_dark_green',
+    '_dark_grey',
+    '_green',
+    '_grey',
+    '_magenta',
+    '_orange',
+    '_pink',
+    '_red',
+    '_violet',
+    '_white',
+    '_yellow',
+}
+
+minetest.register_craft({
+       output = 'technic:gold_chest 1',
+       recipe = {
+               {'moreores:gold_ingot','moreores:gold_ingot','moreores:gold_ingot'},
+               {'moreores:gold_ingot','technic:silver_chest','moreores:gold_ingot'},
+               {'moreores:gold_ingot','moreores:gold_ingot','moreores:gold_ingot'},
+       }
+})
+
+minetest.register_craft({
+       output = 'technic:gold_locked_chest 1',
+       recipe = {
+               {'moreores:gold_ingot','moreores:gold_ingot','moreores:gold_ingot'},
+               {'moreores:gold_ingot','technic:silver_locked_chest','moreores:gold_ingot'},
+               {'moreores:gold_ingot','moreores:gold_ingot','moreores:gold_ingot'},
+       }
+})
+
+minetest.register_craft({
+       output = 'technic:gold_locked_chest 1',
+       recipe = {
+               {'default:steel_ingot'},
+               {'technic:gold_chest'},
+       }
+})
+
+minetest.register_craftitem(":technic:gold_chest", {
+       description = "Gold Chest",
+       stack_max = 99,
+})
+minetest.register_craftitem(":technic:gold_locked_chest", {
+       description = "Gold Locked Chest",
+       stack_max = 99,
+})
+
+gold_chest_formspec    =       "invsize[12,9;]"..
+                                               "list[current_name;main;0,0;12,4;]"..
+                                               "list[current_player;main;0,5;8,4;]"
+
+gold_chest_inv_size = 12*4
+
+minetest.register_node(":technic:gold_chest", {
+       description = "Gold Chest",
+       tiles = {"technic_gold_chest_top.png", "technic_gold_chest_top.png", "technic_gold_chest_side.png",
+               "technic_gold_chest_side.png", "technic_gold_chest_side.png", "technic_gold_chest_front.png"},
+       paramtype2 = "facedir",
+       groups = chest_groups1,
+       tube = tubes_properties,
+       legacy_facedir_simple = true,
+       sounds = default.node_sound_wood_defaults(),
+
+       on_construct = function(pos)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("formspec",gold_chest_formspec)
+               meta:set_string("infotext", "Gold Chest")
+               local inv = meta:get_inventory()
+               inv:set_size("main", gold_chest_inv_size)
+       end,
+
+       can_dig = chest_can_dig,
+
+       on_punch = function (pos, node, puncher)
+       chest_punched (pos,node,puncher);
+       end,
+
+       on_receive_fields = function(pos, formname, fields, sender)
+       local meta = minetest.env:get_meta(pos);
+       fields.text = fields.text or ""
+       meta:set_string("text", fields.text)
+       meta:set_string("infotext", '"'..fields.text..'"')
+       meta:set_string("formspec",gold_chest_formspec)
+       end,
+
+       on_metadata_inventory_move = def_on_metadata_inventory_move,
+       on_metadata_inventory_put = def_on_metadata_inventory_put,
+       on_metadata_inventory_take = def_on_metadata_inventory_take 
+})
+
+for i, state in ipairs(chest_mark_colors) do
+minetest.register_node(":technic:gold_chest".. state, {
+       description = "Gold Chest",
+       tiles = {"technic_gold_chest_top.png", "technic_gold_chest_top.png", "technic_gold_chest_side.png",
+               "technic_gold_chest_side.png", "technic_gold_chest_side.png", "technic_gold_chest_front"..state..".png"},
+       paramtype2 = "facedir",
+       groups = chest_groups2,
+       tube = tubes_properties,
+       legacy_facedir_simple = true,
+       sounds = default.node_sound_wood_defaults(),
+       drop = "technic:gold_chest",
+       on_construct = function(pos)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("formspec",gold_chest_formspec)
+               meta:set_string("infotext", "Gold Chest")
+               local inv = meta:get_inventory()
+               inv:set_size("main", gold_chest_inv_size)
+       end,
+
+       can_dig =chest_can_dig,
+
+       on_punch = function (pos, node, puncher)
+       chest_punched (pos,node,puncher);
+       end,
+       
+       on_receive_fields = function(pos, formname, fields, sender)
+        local meta = minetest.env:get_meta(pos);
+               fields.text = fields.text or ""
+               meta:set_string("text", fields.text)
+               meta:set_string("infotext", '"'..fields.text..'"')
+               meta:set_string("formspec",gold_chest_formspec)
+       end,
+
+       on_metadata_inventory_move = def_on_metadata_inventory_move,
+       on_metadata_inventory_put = def_on_metadata_inventory_put,
+       on_metadata_inventory_take = def_on_metadata_inventory_take 
+})
+end
+
+minetest.register_node(":technic:gold_locked_chest", {
+       description = "Gold Locked Chest",
+       tiles = {"technic_gold_chest_top.png", "technic_gold_chest_top.png", "technic_gold_chest_side.png",
+               "technic_gold_chest_side.png", "technic_gold_chest_side.png", "technic_gold_chest_locked.png"},
+       paramtype2 = "facedir",
+       drop = "technic:gold_locked_chest",
+       groups = chest_groups1,
+       tube = tubes_properties,
+       legacy_facedir_simple = true,
+       sounds = default.node_sound_wood_defaults(),
+       after_place_node = function(pos, placer)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("owner", placer:get_player_name() or "")
+               meta:set_string("infotext", "Gold Locked Chest (owned by "..
+                               meta:get_string("owner")..")")
+       end,
+       on_construct = function(pos)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("formspec",gold_chest_formspec)
+               meta:set_string("infotext", "Gold Locked Chest")
+               meta:set_string("owner", "")
+               local inv = meta:get_inventory()
+               inv:set_size("main", gold_chest_inv_size)
+       end,
+
+       can_dig =chest_can_dig,
+
+       on_punch = function (pos, node, puncher)
+               local meta = minetest.env:get_meta(pos);
+               if (has_locked_chest_privilege(meta, puncher)) then
+                       locked_chest_punched (pos,node,puncher);
+               end
+       end,
+       
+       on_receive_fields = function(pos, formname, fields, sender)
+               local meta = minetest.env:get_meta(pos);
+               fields.text = fields.text or ""
+               meta:set_string("text", fields.text)
+               meta:set_string("infotext", '"'..fields.text..'"')
+               meta:set_string("formspec",gold_chest_formspec)
+       end,
+
+       allow_metadata_inventory_move = def_allow_metadata_inventory_move,
+       allow_metadata_inventory_put = def_allow_metadata_inventory_put,
+       allow_metadata_inventory_take = def_allow_metadata_inventory_take,
+       on_metadata_inventory_move = def_on_metadata_inventory_move,
+       on_metadata_inventory_put = def_on_metadata_inventory_put,
+       on_metadata_inventory_take = def_on_metadata_inventory_take 
+})
+
+for i, state in ipairs(chest_mark_colors) do
+minetest.register_node(":technic:gold_locked_chest".. state, {
+       description = "Gold Locked Chest",
+       tiles = {"technic_gold_chest_top.png", "technic_gold_chest_top.png", "technic_gold_chest_side.png",
+               "technic_gold_chest_side.png", "technic_gold_chest_side.png", "technic_gold_chest_locked"..state..".png"},
+       paramtype2 = "facedir",
+       drop = "technic:gold_locked_chest",
+       groups = chest_groups2,
+       tube = tubes_properties,
+       legacy_facedir_simple = true,
+       sounds = default.node_sound_wood_defaults(),
+       after_place_node = function(pos, placer)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("owner", placer:get_player_name() or "")
+               meta:set_string("infotext", "Gold Locked Chest (owned by "..
+                               meta:get_string("owner")..")")
+       end,
+       on_construct = function(pos)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("formspec",gold_chest_formspec)
+               meta:set_string("infotext", "Gold Locked Chest")
+               meta:set_string("owner", "")
+               local inv = meta:get_inventory()
+               inv:set_size("main", gold_chest_inv_size)
+       end,
+
+       can_dig = chest_can_dig,
+
+       on_punch = function (pos, node, puncher)
+               local meta = minetest.env:get_meta(pos);
+               if (has_locked_chest_privilege(meta, puncher)) then
+               locked_chest_punched (pos,node,puncher);
+               end
+       end,
+
+       on_receive_fields = function(pos, formname, fields, sender)
+               local meta = minetest.env:get_meta(pos);
+               fields.text = fields.text or ""
+               meta:set_string("text", fields.text)
+               meta:set_string("infotext", '"'..fields.text..'"')
+               meta:set_string("formspec",gold_chest_formspec)
+       end,
+
+       allow_metadata_inventory_move = def_allow_metadata_inventory_move,
+       allow_metadata_inventory_put = def_allow_metadata_inventory_put,
+       allow_metadata_inventory_take = def_allow_metadata_inventory_take,
+       on_metadata_inventory_move = def_on_metadata_inventory_move,
+       on_metadata_inventory_put = def_on_metadata_inventory_put,
+       on_metadata_inventory_take = def_on_metadata_inventory_take 
+})
+end
+
+function chest_punched (pos,node,puncher)
+       
+       local player_tool = puncher:get_wielded_item();
+       local item=player_tool:get_name();
+       if item == "dye:black" then
+               if (hacky_swap_node(pos,"technic:gold_chest_black")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:blue" then
+               if (hacky_swap_node(pos,"technic:gold_chest_blue")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:brown" then
+               if (hacky_swap_node(pos,"technic:gold_chest_brown")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:cyan" then
+               if (hacky_swap_node(pos,"technic:gold_chest_cyan")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:dark_green" then
+               if (hacky_swap_node(pos,"technic:gold_chest_dark_green")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:dark_grey" then
+               if (hacky_swap_node(pos,"technic:gold_chest_dark_grey")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:green" then
+               if (hacky_swap_node(pos,"technic:gold_chest_green")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:grey" then
+               if (hacky_swap_node(pos,"technic:gold_chest_grey")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:magenta" then
+               if (hacky_swap_node(pos,"technic:gold_chest_magenta")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:orange" then
+               if (hacky_swap_node(pos,"technic:gold_chest_orange")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:pink" then
+               if (hacky_swap_node(pos,"technic:gold_chest_pink")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:red" then
+               if (hacky_swap_node(pos,"technic:gold_chest_red")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:violet" then
+               if (hacky_swap_node(pos,"technic:gold_chest_violet")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:white" then
+               if (hacky_swap_node(pos,"technic:gold_chest_white")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:yellow" then
+               if (hacky_swap_node(pos,"technic:gold_chest_yellow")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+
+               local meta = minetest.env:get_meta(pos);
+                meta:set_string("formspec", "hack:sign_text_input")
+       end
+
+
+function locked_chest_punched (pos,node,puncher)
+       
+       local player_tool = puncher:get_wielded_item();
+       local item=player_tool:get_name();
+       if item == "dye:black" then
+               if (hacky_swap_node(pos,"technic:gold_locked_chest_black")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:blue" then
+               if (hacky_swap_node(pos,"technic:gold_locked_chest_blue")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:brown" then
+               if (hacky_swap_node(pos,"technic:gold_locked_chest_brown")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:cyan" then
+               if (hacky_swap_node(pos,"technic:gold_locked_chest_cyan")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:dark_green" then
+               if (hacky_swap_node(pos,"technic:gold_locked_chest_dark_green")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:dark_grey" then
+               if (hacky_swap_node(pos,"technic:gold_locked_chest_dark_grey")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:green" then
+               if (hacky_swap_node(pos,"technic:gold_locked_chest_green")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:grey" then
+               if (hacky_swap_node(pos,"technic:gold_locked_chest_grey")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:magenta" then
+               if (hacky_swap_node(pos,"technic:gold_locked_chest_magenta")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:orange" then
+               if (hacky_swap_node(pos,"technic:gold_locked_chest_orange")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:pink" then
+               if (hacky_swap_node(pos,"technic:gold_locked_chest_pink")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:red" then
+               if (hacky_swap_node(pos,"technic:gold_locked_chest_red")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:violet" then
+               if (hacky_swap_node(pos,"technic:gold_locked_chest_violet")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:white" then
+               if (hacky_swap_node(pos,"technic:gold_locked_chest_white")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+       if item == "dye:yellow" then
+               if (hacky_swap_node(pos,"technic:gold_locked_chest_yellow")) then
+                       player_tool:take_item(1);
+                       puncher:set_wielded_item(player_tool);
+                       return
+                  end
+               end
+
+               local meta = minetest.env:get_meta(pos);
+                meta:set_string("formspec", "hack:sign_text_input")
+       end
+       
diff --git a/technic_chests/init.lua b/technic_chests/init.lua
new file mode 100644 (file)
index 0000000..1afbf54
--- /dev/null
@@ -0,0 +1,13 @@
+-- Minetest 0.4.6 mod: technic_chests
+-- namespace: technic
+-- (c) 2012-2013 by RealBadAngel <mk@realbadangel.pl>
+
+modpath=minetest.get_modpath("technic_chests")
+
+-- chests
+dofile(modpath.."/chest_commons.lua")
+dofile(modpath.."/iron_chest.lua")
+dofile(modpath.."/copper_chest.lua")
+dofile(modpath.."/silver_chest.lua")
+dofile(modpath.."/gold_chest.lua")
+dofile(modpath.."/mithril_chest.lua")
diff --git a/technic_chests/iron_chest.lua b/technic_chests/iron_chest.lua
new file mode 100644 (file)
index 0000000..3b71dfd
--- /dev/null
@@ -0,0 +1,95 @@
+minetest.register_craft({
+       output = 'technic:iron_chest 1',
+       recipe = {
+               {'default:steel_ingot','default:steel_ingot','default:steel_ingot'},
+               {'default:steel_ingot','default:chest','default:steel_ingot'},
+               {'default:steel_ingot','default:steel_ingot','default:steel_ingot'},
+       }
+})
+
+minetest.register_craft({
+       output = 'technic:iron_locked_chest 1',
+       recipe = {
+               {'default:steel_ingot','default:steel_ingot','default:steel_ingot'},
+               {'default:steel_ingot','default:chest_locked','default:steel_ingot'},
+               {'default:steel_ingot','default:steel_ingot','default:steel_ingot'},
+       }
+})
+
+minetest.register_craft({
+       output = 'technic:iron_locked_chest 1',
+       recipe = {
+               {'default:steel_ingot'},
+               {'technic:iron_chest'},
+       }
+})
+
+
+minetest.register_craftitem(":technic:iron_chest", {
+       description = "Iron Chest",
+       stack_max = 99,
+})
+minetest.register_craftitem(":technic:iron_locked_chest", {
+       description = "Iron Locked Chest",
+       stack_max = 99,
+})
+
+minetest.register_node(":technic:iron_chest", {
+       description = "Iron Chest",
+       tiles = {"technic_iron_chest_top.png", "technic_iron_chest_top.png", "technic_iron_chest_side.png",
+               "technic_iron_chest_side.png", "technic_iron_chest_side.png", "technic_iron_chest_front.png"},
+       paramtype2 = "facedir",
+       groups = chest_groups1,
+       tube = tubes_properties,
+       legacy_facedir_simple = true,
+       sounds = default.node_sound_wood_defaults(),
+       on_construct = function(pos)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("formspec",
+                               "invsize[9,9;]"..
+                               "list[current_name;main;0,0;9,4;]"..
+                               "list[current_player;main;0,5;8,4;]")
+               meta:set_string("infotext", "Iron Chest")
+               local inv = meta:get_inventory()
+               inv:set_size("main", 9*4)
+       end,
+       can_dig = chest_can_dig,
+       on_metadata_inventory_move = def_on_metadata_inventory_move,
+       on_metadata_inventory_put = def_on_metadata_inventory_put,
+       on_metadata_inventory_take = def_on_metadata_inventory_take 
+})
+
+minetest.register_node(":technic:iron_locked_chest", {
+       description = "Iron Locked Chest",
+       tiles = {"technic_iron_chest_top.png", "technic_iron_chest_top.png", "technic_iron_chest_side.png",
+               "technic_iron_chest_side.png", "technic_iron_chest_side.png", "technic_iron_chest_locked.png"},
+       paramtype2 = "facedir",
+       groups = chest_groups1,
+       tube = tubes_properties,
+       legacy_facedir_simple = true,
+       sounds = default.node_sound_wood_defaults(),
+       after_place_node = function(pos, placer)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("owner", placer:get_player_name() or "")
+               meta:set_string("infotext", "Locked Iron Chest (owned by "..
+                               meta:get_string("owner")..")")
+       end,
+       on_construct = function(pos)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("formspec",
+                               "invsize[9,9;]"..
+                               "list[current_name;main;0,0;9,4;]"..
+                               "list[current_player;main;0,5;8,4;]")
+               meta:set_string("infotext", "Iron Locked Chest")
+               meta:set_string("owner", "")
+               local inv = meta:get_inventory()
+               inv:set_size("main", 9*4)
+       end,
+       can_dig = chest_can_dig,
+       allow_metadata_inventory_move = def_allow_metadata_inventory_move,
+       allow_metadata_inventory_put = def_allow_metadata_inventory_put,
+       allow_metadata_inventory_take = def_allow_metadata_inventory_take,
+       on_metadata_inventory_move = def_on_metadata_inventory_move,
+       on_metadata_inventory_put = def_on_metadata_inventory_put,
+       on_metadata_inventory_take = def_on_metadata_inventory_take 
+})
diff --git a/technic_chests/mithril_chest.lua b/technic_chests/mithril_chest.lua
new file mode 100644 (file)
index 0000000..d173ab9
--- /dev/null
@@ -0,0 +1,145 @@
+minetest.register_craft({
+       output = 'technic:mithril_chest 1',
+       recipe = {
+               {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'},
+               {'moreores:mithril_ingot','technic:gold_chest','moreores:mithril_ingot'},
+               {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'},
+       }
+})
+
+minetest.register_craft({
+       output = 'technic:mithril_locked_chest 1',
+       recipe = {
+               {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'},
+               {'moreores:mithril_ingot','technic:gold_locked_chest','moreores:mithril_ingot'},
+               {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'},
+       }
+})
+
+minetest.register_craft({
+       output = 'technic:mithril_locked_chest 1',
+       recipe = {
+               {'default:steel_ingot'},
+               {'technic:mithril_chest'},
+       }
+})
+
+minetest.register_node(":technic:mithril_chest", {
+       description = "Mithril Chest",
+       tiles = {"technic_mithril_chest_top.png", "technic_mithril_chest_top.png", "technic_mithril_chest_side.png",
+               "technic_mithril_chest_side.png", "technic_mithril_chest_side.png", "technic_mithril_chest_front.png"},
+       paramtype2 = "facedir",
+       groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
+       legacy_facedir_simple = true,
+       sounds = default.node_sound_wood_defaults(),
+       on_construct = function(pos)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("formspec",
+                               "invsize[13,9;]"..
+                               "list[current_name;main;0,0;13,4;]"..
+                               "list[current_player;main;0,5;8,4;]")
+               meta:set_string("infotext", "Mithril Chest")
+               local inv = meta:get_inventory()
+               inv:set_size("main", 13*4)
+       end,
+       can_dig = function(pos,player)
+               local meta = minetest.env:get_meta(pos);
+               local inv = meta:get_inventory()
+               return inv:is_empty("main")
+       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 chest at "..minetest.pos_to_string(pos))
+               return minetest.node_metadata_inventory_move_allow_all(
+                               pos, from_list, from_index, to_list, to_index, count, player)
+       end,
+    on_metadata_inventory_offer = function(pos, listname, index, stack, player)
+               minetest.log("action", player:get_player_name()..
+                               " moves stuff to chest at "..minetest.pos_to_string(pos))
+               return minetest.node_metadata_inventory_offer_allow_all(
+                               pos, listname, index, stack, player)
+       end,
+    on_metadata_inventory_take = function(pos, listname, index, stack, player)
+               minetest.log("action", player:get_player_name()..
+                               " takes stuff from chest at "..minetest.pos_to_string(pos))
+       end,
+})
+
+minetest.register_node(":technic:mithril_locked_chest", {
+       description = "Mithril Locked Chest",
+       tiles = {"technic_mithril_chest_top.png", "technic_mithril_chest_top.png", "technic_mithril_chest_side.png",
+               "technic_mithril_chest_side.png", "technic_mithril_chest_side.png", "technic_mithril_chest_locked.png"},
+       paramtype2 = "facedir",
+       groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
+       legacy_facedir_simple = true,
+       sounds = default.node_sound_wood_defaults(),
+       after_place_node = function(pos, placer)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("owner", placer:get_player_name() or "")
+               meta:set_string("infotext", "Mithril Locked Chest (owned by "..
+                               meta:get_string("owner")..")")
+       end,
+on_construct = function(pos)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("formspec",
+                               "invsize[13,9;]"..
+                               "list[current_name;main;0,0;13,4;]"..
+                               "list[current_player;main;0,5;8,4;]")
+               meta:set_string("infotext", "Mithril Locked Chest")
+               meta:set_string("owner", "")
+               local inv = meta:get_inventory()
+               inv:set_size("main", 13*4)
+       end,
+       can_dig = function(pos,player)
+               local meta = minetest.env:get_meta(pos);
+               local inv = meta:get_inventory()
+               return inv:is_empty("main")
+       end,
+       allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
+               local meta = minetest.env:get_meta(pos)
+               if not has_locked_chest_privilege(meta, player) then
+                       minetest.log("action", player:get_player_name()..
+                                       " tried to access a locked chest belonging to "..
+                                       meta:get_string("owner").." at "..
+                                       minetest.pos_to_string(pos))
+                       return 0
+               end
+               return count
+       end,
+    allow_metadata_inventory_put = function(pos, listname, index, stack, player)
+               local meta = minetest.env:get_meta(pos)
+               if not has_locked_chest_privilege(meta, player) then
+                       minetest.log("action", player:get_player_name()..
+                                       " tried to access a locked chest belonging to "..
+                                       meta:get_string("owner").." at "..
+                                       minetest.pos_to_string(pos))
+                       return 0
+               end
+               return stack:get_count()
+       end,
+    allow_metadata_inventory_take = function(pos, listname, index, stack, player)
+               local meta = minetest.env:get_meta(pos)
+               if not has_locked_chest_privilege(meta, player) then
+                       minetest.log("action", player:get_player_name()..
+                                       " tried to access a locked chest belonging to "..
+                                       meta:get_string("owner").." at "..
+                                       minetest.pos_to_string(pos))
+                       return 0
+               end
+               return stack:get_count()
+       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 locked chest 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 locked chest 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 locked chest at "..minetest.pos_to_string(pos))
+       end,
+})
diff --git a/technic_chests/silver_chest.lua b/technic_chests/silver_chest.lua
new file mode 100644 (file)
index 0000000..3df092a
--- /dev/null
@@ -0,0 +1,131 @@
+minetest.register_craft({
+       output = 'technic:silver_chest 1',
+       recipe = {
+               {'moreores:silver_ingot','moreores:silver_ingot','moreores:silver_ingot'},
+               {'moreores:silver_ingot','technic:copper_chest','moreores:silver_ingot'},
+               {'moreores:silver_ingot','moreores:silver_ingot','moreores:silver_ingot'},
+       }
+})
+
+minetest.register_craft({
+       output = 'technic:silver_locked_chest 1',
+       recipe = {
+               {'moreores:silver_ingot','moreores:silver_ingot','moreores:silver_ingot'},
+               {'moreores:silver_ingot','technic:copper_locked_chest','moreores:silver_ingot'},
+               {'moreores:silver_ingot','moreores:silver_ingot','moreores:silver_ingot'},
+       }
+})
+
+minetest.register_craft({
+       output = 'technic:silver_locked_chest 1',
+       recipe = {
+               {'default:steel_ingot'},
+               {'technic:silver_chest'},
+       }
+})
+
+minetest.register_craftitem(":technic:silver_chest", {
+       description = "Silver Chest",
+       stack_max = 99,
+})
+minetest.register_craftitem(":technic:silver_locked_chest", {
+       description = "Silver Locked Chest",
+       stack_max = 99,
+})
+
+minetest.register_node(":technic:silver_chest", {
+       description = "Silver Chest",
+       tiles = {"technic_silver_chest_top.png", "technic_silver_chest_top.png", "technic_silver_chest_side.png",
+               "technic_silver_chest_side.png", "technic_silver_chest_side.png", "technic_silver_chest_front.png"},
+       paramtype2 = "facedir",
+       groups = chest_groups1,
+       tube = tubes_properties,
+       legacy_facedir_simple = true,
+       sounds = default.node_sound_wood_defaults(),
+       on_construct = function(pos)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("formspec",
+                               "invsize[11,9;]"..
+                               "list[current_name;main;0,0;11,4;]"..
+                               "list[current_player;main;0,5;8,4;]")
+               meta:set_string("infotext", "Silver Chest")
+               local inv = meta:get_inventory()
+               inv:set_size("main", 11*4)
+       end,
+       can_dig = chest_can_dig,
+
+       on_punch = function (pos, node, puncher)
+               local meta = minetest.env:get_meta(pos);
+                meta:set_string("formspec", "hack:sign_text_input")
+       end,
+       
+       on_receive_fields = function(pos, formname, fields, sender)
+        local meta = minetest.env:get_meta(pos);
+               fields.text = fields.text or ""
+               meta:set_string("text", fields.text)
+               meta:set_string("infotext", '"'..fields.text..'"')
+
+               meta:set_string("formspec",
+                               "invsize[11,9;]"..
+                               "list[current_name;main;0,0;11,4;]"..
+                               "list[current_player;main;0,5;8,4;]")
+       end,
+
+       on_metadata_inventory_move = def_on_metadata_inventory_move,
+       on_metadata_inventory_put = def_on_metadata_inventory_put,
+       on_metadata_inventory_take = def_on_metadata_inventory_take 
+})
+
+minetest.register_node(":technic:silver_locked_chest", {
+       description = "Silver Locked Chest",
+       tiles = {"technic_silver_chest_top.png", "technic_silver_chest_top.png", "technic_silver_chest_side.png",
+               "technic_silver_chest_side.png", "technic_silver_chest_side.png", "technic_silver_chest_locked.png"},
+       paramtype2 = "facedir",
+       groups = chest_groups1,
+       tube = tubes_properties,
+       legacy_facedir_simple = true,
+       sounds = default.node_sound_wood_defaults(),
+       after_place_node = function(pos, placer)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("owner", placer:get_player_name() or "")
+               meta:set_string("infotext", "Silver Locked Chest (owned by "..
+                       meta:get_string("owner")..")")
+       end,
+       on_construct = function(pos)
+               local meta = minetest.env:get_meta(pos)
+               meta:set_string("formspec",
+                               "invsize[11,9;]"..
+                               "list[current_name;main;0,0;11,4;]"..
+                               "list[current_player;main;0,5;8,4;]")
+               meta:set_string("infotext", "Silver Locked Chest")
+               meta:set_string("owner", "")
+               local inv = meta:get_inventory()
+               inv:set_size("main", 11*4)
+       end,
+       can_dig = chest_can_dig,
+
+       on_punch = function (pos, node, puncher)
+               local meta = minetest.env:get_meta(pos);
+                meta:set_string("formspec", "hack:sign_text_input")
+       end,
+       
+       on_receive_fields = function(pos, formname, fields, sender)
+        local meta = minetest.env:get_meta(pos);
+               fields.text = fields.text or ""
+               meta:set_string("text", fields.text)
+               meta:set_string("infotext", '"'..fields.text..'"')
+
+               meta:set_string("formspec",
+                               "invsize[11,9;]"..
+                               "list[current_name;main;0,0;11,4;]"..
+                               "list[current_player;main;0,5;8,4;]")
+       end,
+
+
+       allow_metadata_inventory_move = def_allow_metadata_inventory_move,
+       allow_metadata_inventory_put = def_allow_metadata_inventory_put,
+       allow_metadata_inventory_take = def_allow_metadata_inventory_take,
+       on_metadata_inventory_move = def_on_metadata_inventory_move,
+       on_metadata_inventory_put = def_on_metadata_inventory_put,
+       on_metadata_inventory_take = def_on_metadata_inventory_take 
+})