From d119a6748264a4f9825eebdd4ddeb2421cc4784a Mon Sep 17 00:00:00 2001 From: coil <51716565+coil0@users.noreply.github.com> Date: Mon, 26 Aug 2019 19:45:11 +0200 Subject: [PATCH] Refactor switching station ABMs (#508) --- technic_chests/iron_chest.lua | 110 +++++++++++++++---------------------------------------- 1 files changed, 30 insertions(+), 80 deletions(-) diff --git a/technic_chests/iron_chest.lua b/technic_chests/iron_chest.lua index 62a8ae3..237067b 100644 --- a/technic_chests/iron_chest.lua +++ b/technic_chests/iron_chest.lua @@ -1,103 +1,53 @@ +local cast_iron_ingot +if minetest.get_modpath("technic_worldgen") then + cast_iron_ingot = "technic:cast_iron_ingot" +else + cast_iron_ingot = "default:steel_ingot" +end + 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'}, + {cast_iron_ingot,cast_iron_ingot,cast_iron_ingot}, + {cast_iron_ingot,'default:chest',cast_iron_ingot}, + {cast_iron_ingot,cast_iron_ingot,cast_iron_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'}, + {cast_iron_ingot,cast_iron_ingot,cast_iron_ingot}, + {cast_iron_ingot,'default:chest_locked',cast_iron_ingot}, + {cast_iron_ingot,cast_iron_ingot,cast_iron_ingot}, } }) minetest.register_craft({ output = 'technic:iron_locked_chest 1', recipe = { - {'default:steel_ingot'}, + {'basic_materials:padlock'}, {'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, +technic.chests:register("Iron", { + width = 9, + height = 5, + sort = true, + autosort = false, + infotext = false, + color = false, + locked = false, }) -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,10;]".. - "label[0,0;Iron Chest]".. - "list[current_name;main;0,1;9,4;]".. - "list[current_player;main;0,6;8,4;]".. - "background[-0.19,-0.25;9.4,10.75;ui_form_bg.png]".. - "background[0,1;9,4;ui_iron_chest_inventory.png]".. - "background[0,6;8,4;ui_main_inventory.png]") - 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 +technic.chests:register("Iron", { + width = 9, + height = 5, + sort = true, + autosort = false, + infotext = false, + color = false, + locked = true, }) -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,10;]".. - "label[0,0;Iron Locked Chest]".. - "list[current_name;main;0,1;9,4;]".. - "list[current_player;main;0,6;8,4;]".. - "background[-0.19,-0.25;9.4,10.75;ui_form_bg.png]".. - "background[0,1;9,4;ui_iron_chest_inventory.png]".. - "background[0,6;8,4;ui_main_inventory.png]") - 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 -}) -- Gitblit v1.8.0