From 650de68daffae53afabe337f517112f9b6fa52bf Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Fri, 4 Sep 2015 12:46:22 +0200 Subject: [PATCH] Add many wooden fences - Add fences made out of the four kinds of wood registered in default with their craft recipe --- mods/default/crafting.lua | 8 ----- mods/default/fences.lua | 62 +++++++++++++++++++++++++++++++++++++++ mods/default/init.lua | 1 + mods/default/nodes.lua | 22 -------------- 4 files changed, 63 insertions(+), 30 deletions(-) create mode 100644 mods/default/fences.lua diff --git a/mods/default/crafting.lua b/mods/default/crafting.lua index fa8df2d6..1c165463 100644 --- a/mods/default/crafting.lua +++ b/mods/default/crafting.lua @@ -35,14 +35,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = 'default:fence_wood 2', - recipe = { - {'group:stick', 'group:stick', 'group:stick'}, - {'group:stick', 'group:stick', 'group:stick'}, - } -}) - minetest.register_craft({ output = 'default:sign_wall', recipe = { diff --git a/mods/default/fences.lua b/mods/default/fences.lua new file mode 100644 index 00000000..656248c4 --- /dev/null +++ b/mods/default/fences.lua @@ -0,0 +1,62 @@ +-- +-- Fences +-- +--[[ + + default:fence_wood + default:fence_acacia_wood + default:fence_junglewood + default:fence_pine_wood + +]] + +function default.register_fence(name, desc, groups, sounds) + if groups then + groups.fence = 1 + end + local texture_name = minetest.registered_items["default:" .. name].tiles[1] + local fence_texture = + "default_fence_overlay.png^" .. texture_name .. "^default_fence_overlay.png" .. + "^[makealpha:255,126,126" + minetest.register_node("default:fence_" .. name, { + description = desc, + drawtype = "fencelike", + tiles = {"default_" .. name .. ".png"}, + inventory_image = fence_texture, + wield_image = fence_texture, + paramtype = "light", + sunlight_propagates = true, + is_ground_content = false, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = groups, + sounds = sounds, + }) + + minetest.register_craft({ + output = "default:fence_" .. name .. " 2", + recipe = { + {"default:" .. name, "default:stick", "default:" .. name}, + {"default:" .. name, "default:stick", "default:" .. name}, + } + }) +end + +default.register_fence("wood", "Wooden Fence", + {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + default.node_sound_wood_defaults()) + +default.register_fence("acacia_wood", "Acacia Wood Fence", + {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + default.node_sound_wood_defaults()) + +default.register_fence("junglewood", "Jungle Wood Fence", + {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + default.node_sound_wood_defaults()) + +default.register_fence("pine_wood", "Pine Wood Fence", + {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + default.node_sound_wood_defaults()) + diff --git a/mods/default/init.lua b/mods/default/init.lua index 6f1b148b..ab2f6c95 100644 --- a/mods/default/init.lua +++ b/mods/default/init.lua @@ -37,6 +37,7 @@ default.gui_survival_form = "size[8,8.5]".. -- Load files dofile(minetest.get_modpath("default").."/functions.lua") dofile(minetest.get_modpath("default").."/nodes.lua") +dofile(minetest.get_modpath("default").."/fences.lua") dofile(minetest.get_modpath("default").."/furnace.lua") dofile(minetest.get_modpath("default").."/tools.lua") dofile(minetest.get_modpath("default").."/craftitems.lua") diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua index f7e40181..d7ba8e72 100644 --- a/mods/default/nodes.lua +++ b/mods/default/nodes.lua @@ -146,8 +146,6 @@ default:sign_wall default:ladder -default:fence_wood - default:glass default:obsidian_glass @@ -1612,26 +1610,6 @@ minetest.register_node("default:ladder", { }) -local fence_texture = - "default_fence_overlay.png^default_wood.png^default_fence_overlay.png^[makealpha:255,126,126" -minetest.register_node("default:fence_wood", { - description = "Wooden Fence", - drawtype = "fencelike", - tiles = {"default_wood.png"}, - inventory_image = fence_texture, - wield_image = fence_texture, - paramtype = "light", - sunlight_propagates = true, - is_ground_content = false, - selection_box = { - type = "fixed", - fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, - }, - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults(), -}) - - minetest.register_node("default:glass", { description = "Glass", drawtype = "glasslike_framed_optional",