summaryrefslogtreecommitdiff
path: root/technic_chests/silver_chest.lua
diff options
context:
space:
mode:
Diffstat (limited to 'technic_chests/silver_chest.lua')
-rw-r--r--technic_chests/silver_chest.lua131
1 files changed, 131 insertions, 0 deletions
diff --git a/technic_chests/silver_chest.lua b/technic_chests/silver_chest.lua
new file mode 100644
index 0000000..3df092a
--- /dev/null
+++ b/technic_chests/silver_chest.lua
@@ -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
+})