minetest.register_node("darkage:chain", { description = "Chain", drawtype = "signlike", tiles = {"darkage_chain.png"}, inventory_image = "darkage_chain.png", wield_image = "darkage_chain.png", paramtype = "light", paramtype2 = "wallmounted", is_ground_content = false, walkable = false, climbable = true, selection_box = { type = "wallmounted", --wall_top = = --wall_bottom = = --wall_side = = }, groups = {snappy=1, cracky=2, oddly_breakable_by_hand=2, not_cuttable=1}, legacy_wallmounted = true }) local box_formspec = [[ size[8,9] list[context;main;0,0.3;8,4;] list[current_player;main;0,4.85;8,1;] list[current_player;main;0,6.08;8,3;8] listring[context;main] listring[current_player;main] ]].. darkage.formbg minetest.register_node("darkage:box", { description = "Box", tiles = { "darkage_box_top.png","darkage_box_top.png","darkage_box.png"}, groups = { snappy = 3, not_cuttable=1 }, sounds = default.node_sound_wood_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) meta:set_string("formspec", box_formspec ) meta:set_string("infotext", "Box") local inv = meta:get_inventory() inv:set_size("main", 16) end, can_dig = function(pos,player) local meta = minetest.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 box 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 box 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 box at "..minetest.pos_to_string(pos)) end, }) local shelves_formspec = [[ size[8,9] list[context;up;0,0;8,2;] list[context;down;0,2.3;8,2;] list[current_player;main;0,4.85;8,1;] list[current_player;main;0,6.08;8,3;8] listring[context;up] listring[context;down] listring[current_player;main] ]].. darkage.formbg minetest.register_node("darkage:wood_shelves", { description = "Wooden Shelves", tiles = { "darkage_shelves.png","darkage_shelves.png","darkage_shelves.png", "darkage_shelves.png","darkage_shelves.png","darkage_shelves_front.png"}, paramtype2 = "facedir", groups = { snappy = 3, not_cuttable=1 }, sounds = default.node_sound_wood_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) meta:set_string("formspec", shelves_formspec) meta:set_string("infotext", "Wooden Shelves") local inv = meta:get_inventory() inv:set_size("up", 16) inv:set_size("down", 16) end, can_dig = function(pos,player) local meta = minetest.get_meta(pos); local inv = meta:get_inventory() return inv:is_empty("up") and inv:is_empty("down") 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 shelves 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 shelves 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 shelves at "..minetest.pos_to_string(pos)) end, }) --minetest.register_node("darkage:rosace", { -- description = "Rose Window", -- tiles = {"darkage_rosace.png"}, -- is_ground_content = false, -- groups = {cracky=3}, -- sounds = default.node_sound_stone_defaults() --}) minetest.register_node("darkage:iron_bars", { description = "Iron Bars", drawtype = "glasslike", tiles = {"darkage_iron_bars.png"}, inventory_image = "darkage_iron_bars.png", wield_image = "darkage_iron_bars.png", is_ground_content = false, paramtype = "light", sunlight_propagates = true, groups = {cracky=3 , not_cuttable=1}, sounds = default.node_sound_stone_defaults() }) minetest.register_node("darkage:lamp", { description = "Lamp", tiles = { "darkage_lamp.png" }, paramtype = "light", sunlight_propagates = true, light_source = default.LIGHT_MAX-1, groups = {snappy=2, cracky=3, oddly_breakable_by_hand=3, flammable=1 , not_cuttable=1}, sounds = default.node_sound_glass_defaults(), }) minetest.register_node("darkage:iron_grille", { description = "Iron Grille", drawtype = "glasslike", tiles = {"darkage_iron_grille.png"}, inventory_image = "darkage_iron_grille.png", wield_image = "darkage_iron_grille.png", is_ground_content = false, paramtype = "light", sunlight_propagates = true, groups = {cracky=3 , not_cuttable=1}, sounds = default.node_sound_stone_defaults() }) minetest.register_node("darkage:wood_bars", { description = "Wooden Bars", drawtype = "glasslike", tiles = {"darkage_wood_bars.png"}, inventory_image = "darkage_wood_bars.png", wield_image = "darkage_wood_bars.png", is_ground_content = false, paramtype = "light", sunlight_propagates = true, groups = {snappy=1, choppy=2, not_cuttable=1}, sounds = default.node_sound_stone_defaults() }) minetest.register_node("darkage:wood_grille", { description = "Wooden Grille", drawtype = "glasslike", tiles = {"darkage_wood_grille.png"}, inventory_image = "darkage_wood_grille.png", wield_image = "darkage_wood_grille.png", is_ground_content = false, paramtype = "light", sunlight_propagates = true, groups = {snappy=1, choppy=2, not_cuttable=1}, sounds = default.node_sound_stone_defaults() }) minetest.register_node("darkage:wood_frame", { description = "Wooden Frame", drawtype = "glasslike_framed", tiles = {"darkage_wood_frame.png"}, inventory_image = "darkage_wood_frame.png", wield_image = "darkage_wood_frame.png", is_ground_content = false, paramtype = "light", sunlight_propagates = true, groups = {snappy=1, choppy=2, oddly_breakable_by_hand = 3, not_cuttable=1}, sounds = default.node_sound_stone_defaults() }) --------------- -- Crafts Item --------------- ---------- -- Crafts ---------- minetest.register_craft({ output = "darkage:box", recipe = { {"default:wood", "", "default:wood"}, {"", "", ""}, {"default:wood", "", "default:wood"}, } }) minetest.register_craft({ output = "darkage:chain 2", recipe = { {"darkage:iron_stick"}, {"darkage:iron_stick"}, {"darkage:iron_stick"}, } }) minetest.register_craft({ output = "darkage:iron_bars 2", recipe = { {"darkage:iron_stick", "", "darkage:iron_stick"}, {"darkage:iron_stick", "", "darkage:iron_stick"}, {"darkage:iron_stick", "", "darkage:iron_stick"}, } }) minetest.register_craft({ output = "darkage:iron_grille 3", recipe = { {"", "darkage:iron_bars", ""}, {"darkage:iron_bars", "", "darkage:iron_bars"}, {"", "darkage:iron_bars", ""}, } }) minetest.register_craft({ output = "darkage:lamp", recipe = { {"group:stick", "", "group:stick"}, {"", "default:torch", ""}, {"group:stick", "", "group:stick"}, } }) minetest.register_craft({ output = "darkage:wood_bars 2", recipe = { {"group:stick", "", "group:stick"}, {"group:stick", "", "group:stick"}, {"group:stick", "", "group:stick"}, } }) minetest.register_craft({ output = "darkage:wood_grille 3", recipe = { {"", "darkage:wood_bars", ""}, {"darkage:wood_bars", "", "darkage:wood_bars"}, {"", "darkage:wood_bars", ""}, } }) minetest.register_craft({ output = "darkage:wood_shelves", recipe = { {"darkage:box"}, {"darkage:box"}, } }) minetest.register_craft({ output = "darkage:wood_frame", recipe = { {"group:stick", "", "group:stick"}, {"", "default:glass", ""}, {"group:stick", "", "group:stick"}, } }) -- Cookings minetest.register_craft({ type = "cooking", output = "default:glass", recipe = "darkage:wood_frame", })