-- This file adds fences of various types local S = homedecor.gettext minetest.register_node("homedecor:fence_brass", { description = S("Brass Fence/railing"), drawtype = "fencelike", tiles = {"homedecor_tile_brass.png"}, inventory_image = "homedecor_fence_brass.png", wield_image = "homedecor_pole_brass.png", paramtype = "light", selection_box = { type = "fixed", fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, }, groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), walkable = true, }) minetest.register_node("homedecor:fence_wrought_iron", { description = S("Wrought Iron Fence/railing"), drawtype = "fencelike", tiles = {"homedecor_tile_wrought_iron.png"}, inventory_image = "homedecor_fence_wrought_iron.png", wield_image = "homedecor_pole_wrought_iron.png", paramtype = "light", selection_box = { type = "fixed", fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, }, groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), walkable = true, }) -- brass/wrought iron with signs: minetest.register_node("homedecor:fence_brass_with_sign", { description = S("Brass Fence/railing with sign"), drawtype = "nodebox", tiles = { "homedecor_sign_brass_post_top.png", "homedecor_sign_brass_post_bottom.png", "homedecor_sign_brass_post_side.png", "homedecor_sign_brass_post_side.png", "homedecor_sign_brass_post_back.png", "homedecor_sign_brass_post_front.png", }, wield_image = "homedecor_sign_brass_post.png", paramtype = "light", paramtype2 = "facedir", node_box = signs_lib.sign_post_model, groups = {snappy=3,not_in_creative_inventory=1}, sounds = default.node_sound_wood_defaults(), walkable = true, sunlight_propagates = true, drop = { max_items = 2, items = { { items = { "default:sign_wall" }}, { items = { "homedecor:fence_brass" }}, }, }, }) minetest.register_node("homedecor:fence_wrought_iron_with_sign", { description = S("Wrought Iron Fence/railing with sign"), drawtype = "nodebox", tiles = { "homedecor_sign_wrought_iron_post_top.png", "homedecor_sign_wrought_iron_post_bottom.png", "homedecor_sign_wrought_iron_post_side.png", "homedecor_sign_wrought_iron_post_side.png", "homedecor_sign_wrought_iron_post_back.png", "homedecor_sign_wrought_iron_post_front.png", }, wield_image = "homedecor_sign_wrought_iron_post.png", paramtype = "light", paramtype2 = "facedir", node_box = signs_lib.sign_post_model, groups = {snappy=3,not_in_creative_inventory=1}, sounds = default.node_sound_wood_defaults(), walkable = true, sunlight_propagates = true, drop = { max_items = 2, items = { { items = { "default:sign_wall" }}, { items = { "homedecor:fence_wrought_iron" }}, }, }, }) -- other types of fences minetest.register_node("homedecor:fence_picket", { drawtype = "nodebox", description = S("Unpainted Picket Fence"), tiles = { "homedecor_blanktile.png", "homedecor_blanktile.png", "homedecor_fence_picket.png", "homedecor_fence_picket.png", "homedecor_fence_picket_backside.png", "homedecor_fence_picket.png" }, paramtype = "light", is_ground_content = true, groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), walkable = true, paramtype2 = "facedir", selection_box = { type = "fixed", fixed = { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 } }, node_box = { type = "fixed", fixed = { -0.5, -0.5, 0.498, 0.5, 0.5, 0.498 } }, }) minetest.register_node("homedecor:fence_picket_corner", { drawtype = "nodebox", description = S("Unpainted Picket Fence Corner"), tiles = { "homedecor_blanktile.png", "homedecor_blanktile.png", "homedecor_fence_picket.png", "homedecor_fence_picket_backside.png", "homedecor_fence_picket_backside.png", "homedecor_fence_picket.png", }, paramtype = "light", is_ground_content = true, groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), walkable = true, paramtype2 = "facedir", selection_box = { type = "fixed", fixed = { { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 }, { -0.5, -0.5, -0.5, -0.4, 0.5, 0.4 } } }, node_box = { type = "fixed", fixed = { { -0.5, -0.5, 0.498, 0.5, 0.5, 0.5 }, { -0.5, -0.5, -0.5, -0.498, 0.5, 0.5 } } }, }) minetest.register_node("homedecor:fence_picket_white", { drawtype = "nodebox", description = S("White Picket Fence"), tiles = { "homedecor_blanktile.png", "homedecor_blanktile.png", "homedecor_fence_picket_white.png", "homedecor_fence_picket_white.png", "homedecor_fence_picket_white_backside.png", "homedecor_fence_picket_white.png" }, paramtype = "light", is_ground_content = true, groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), walkable = true, paramtype2 = "facedir", selection_box = { type = "fixed", fixed = { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 } }, node_box = { type = "fixed", fixed = { -0.5, -0.5, 0.498, 0.5, 0.5, 0.498 } }, }) minetest.register_node("homedecor:fence_picket_corner_white", { drawtype = "nodebox", description = S("White Picket Fence Corner"), tiles = { "homedecor_blanktile.png", "homedecor_blanktile.png", "homedecor_fence_picket_white.png", "homedecor_fence_picket_white_backside.png", "homedecor_fence_picket_white_backside.png", "homedecor_fence_picket_white.png", }, paramtype = "light", is_ground_content = true, groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), walkable = true, paramtype2 = "facedir", selection_box = { type = "fixed", fixed = { { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 }, { -0.5, -0.5, -0.5, -0.4, 0.5, 0.4 } } }, node_box = { type = "fixed", fixed = { { -0.5, -0.5, 0.498, 0.5, 0.5, 0.5 }, { -0.5, -0.5, -0.5, -0.498, 0.5, 0.5 } } }, }) minetest.register_node("homedecor:fence_privacy", { drawtype = "nodebox", description = S("Wooden Privacy Fence"), tiles = { "homedecor_fence_privacy_tb.png", "homedecor_fence_privacy_tb.png", "homedecor_fence_privacy_sides.png", "homedecor_fence_privacy_sides.png", "homedecor_fence_privacy_backside.png", "homedecor_fence_privacy_front.png" }, paramtype = "light", is_ground_content = true, groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), walkable = true, paramtype2 = "facedir", selection_box = { type = "fixed", fixed = { -0.5, -0.5, 5/16, 0.5, 0.5, 8/16 } }, node_box = { type = "fixed", fixed = { { -8/16, -8/16, 5/16, -5/16, 8/16, 7/16 }, -- left part { -4/16, -8/16, 5/16, 3/16, 8/16, 7/16 }, -- middle part { 4/16, -8/16, 5/16, 8/16, 8/16, 7/16 }, -- right part { -8/16, -2/16, 7/16, 8/16, 2/16, 8/16 }, -- connecting rung } }, }) minetest.register_node("homedecor:fence_privacy_corner", { drawtype = "nodebox", description = S("Wooden Privacy Fence Corner"), tiles = { "homedecor_fence_privacy_corner_top.png", "homedecor_fence_privacy_corner_bottom.png", "homedecor_fence_privacy_corner_right.png", "homedecor_fence_privacy_backside2.png", "homedecor_fence_privacy_backside.png", "homedecor_fence_privacy_corner_front.png" }, paramtype = "light", is_ground_content = true, groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), walkable = true, paramtype2 = "facedir", selection_box = { type = "fixed", fixed = { { -0.5, -0.5, 5/16, 0.5, 0.5, 0.5 }, { -0.5, -0.5, -0.5, -5/16, 0.5, 5/16 }, } }, node_box = { type = "fixed", fixed = { { -7/16, -8/16, 5/16, -5/16, 8/16, 7/16 }, -- left part { -4/16, -8/16, 5/16, 3/16, 8/16, 7/16 }, -- middle part { 4/16, -8/16, 5/16, 8/16, 8/16, 7/16 }, -- right part { -8/16, -2/16, 7/16, 8/16, 2/16, 8/16 }, -- back-side connecting rung { -7/16, -8/16, 4/16, -5/16, 8/16, 7/16 }, -- back-most part { -7/16, -8/16, -4/16, -5/16, 8/16, 3/16 }, -- middle part { -7/16, -8/16, -8/16, -5/16, 8/16, -5/16 }, -- front-most part { -8/16, -2/16, -8/16, -7/16, 2/16, 7/16 }, -- left-side connecting rung } }, }) minetest.register_node("homedecor:fence_barbed_wire", { drawtype = "nodebox", description = S("Barbed Wire Fence"), tiles = {"homedecor_fence_barbed_wire.png"}, paramtype = "light", is_ground_content = true, groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), walkable = true, paramtype2 = "facedir", selection_box = { type = "fixed", fixed = { -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 } }, node_box = { type = "fixed", fixed = { { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, -- left post { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post { -6/16, -8/16, 7/16, 6/16, 8/16, 7/16 } -- the wire } }, }) minetest.register_node("homedecor:fence_barbed_wire_corner", { drawtype = "nodebox", description = S("Barbed Wire Fence Corner"), tiles = { "homedecor_fence_barbed_wire.png" }, paramtype = "light", is_ground_content = true, groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), walkable = true, paramtype2 = "facedir", selection_box = { type = "fixed", fixed = { { -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 }, { -0.5, -0.5, -0.5, -0.375, 0.5, 0.375 } } }, node_box = { type = "fixed", fixed = { { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, -- left post { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post { -6/16, -8/16, 7/16, 6/16, 8/16, 7/16 }, -- the wire { -8/16, -8/16, -8/16, -6/16, 8/16, -6/16 }, -- front post { -7/16, -8/16, -6/16, -7/16, 8/16, 6/16 } -- more wire } }, }) minetest.register_node("homedecor:fence_chainlink", { drawtype = "nodebox", description = S("Chainlink Fence"), tiles = { "homedecor_fence_chainlink_tb.png", "homedecor_fence_chainlink_tb.png", "homedecor_fence_chainlink_sides.png", "homedecor_fence_chainlink_sides.png", "homedecor_fence_chainlink_fb.png", "homedecor_fence_chainlink_fb.png", }, paramtype = "light", is_ground_content = true, groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), walkable = true, paramtype2 = "facedir", selection_box = { type = "fixed", fixed = { -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 } }, node_box = { type = "fixed", fixed = { { -8/16, -8/16, 6/16, -7/16, 8/16, 8/16 }, -- left post { 7/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post { -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece { -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 } -- the chainlink itself } }, }) minetest.register_node("homedecor:fence_chainlink_corner", { drawtype = "nodebox", description = S("Chainlink Fence Corner"), tiles = { "homedecor_fence_chainlink_corner_top.png", "homedecor_fence_chainlink_corner_bottom.png", "homedecor_fence_chainlink_corner_left.png", "homedecor_fence_chainlink_corner_right.png", "homedecor_fence_chainlink_corner_front.png", "homedecor_fence_chainlink_corner_back.png", }, paramtype = "light", is_ground_content = true, groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), walkable = true, paramtype2 = "facedir", selection_box = { type = "fixed", fixed = { { -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 }, { -0.5, -0.5, -0.5, -0.375, 0.5, 0.375 } } }, node_box = { type = "fixed", fixed = { { -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, -- left post, rear { -8/16, -8/16, -8/16, -6/16, 8/16, -7/16 }, -- left post, front { 7/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post, rear { -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece, rear { -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece, rear { -15/32, 7/16, -8/16, -13/32, 8/16, 8/16 }, -- top piece, side { -15/32, -8/16, -8/16, -13/32, -7/16, 8/16 }, -- bottom piece, side { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }, -- the chainlink itself, rear { -7/16, -8/16, -8/16, -7/16, 8/16, 8/16 } -- the chainlink itself, side } }, }) signs_lib.register_fence_with_sign("homedecor:fence_brass", "homedecor:fence_brass_with_sign") signs_lib.register_fence_with_sign("homedecor:fence_wrought_iron", "homedecor:fence_wrought_iron_with_sign")