myfences/picket.lua

237 lines
7.5 KiB
Lua

local fences = { -- name, desc, item, img
{"wood", "Wood", "group:wood", "", {choppy = 2, flammable = 1}},
{"red_wood", "Red", "group:wood", "^myfences_red.png", {choppy = 2, flammable = 1,not_in_creative_inventory=1}},
{"white_wood", "White", "group:wood", "^myfences_white.png",{choppy = 2, flammable = 1,not_in_creative_inventory=1}},
{"green_wood", "Green", "group:wood", "^myfences_green.png",{choppy = 2, flammable = 1,not_in_creative_inventory=1}},
}
for i in ipairs(fences) do
local name = fences[i][1]
local desc = fences[i][2]
local item = fences[i][3]
local stain = fences[i][4]
local gro = fences[i][5]
minetest.register_node("myfences:fence_picketb_"..name, {
description = desc.." Picket Fence",
drawtype = "nodebox",
tiles = {
"myfences_wood.png"..stain,
"myfences_wood.png"..stain,
"myfences_wood.png^[transformR90"..stain,
"myfences_wood.png^[transformR90"..stain,
"myfences_wood.png^[transformR90"..stain,
"myfences_wood.png^[transformR90"..stain,
},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propogates = true,
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.25, -0.4375, 0.1875, 0.4375},
{0.4375, -0.5, 0.25, 0.5, 0.1875, 0.4375},
{-0.2187, -0.5, 0.4375, -0.0313, 0.375, 0.5},
{0.0312, -0.5, 0.4375, 0.2187, 0.375, 0.5},
{0.2812, -0.5, 0.4375, 0.4687, 0.375, 0.5},
{-0.4687, -0.5, 0.4375, -0.2812, 0.375, 0.5},
{-0.5, 0.125, 0.25, 0.5, 0.1875, 0.4375},
{-0.5, -0.375, 0.25, 0.5, -0.3125, 0.4375},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,0.25,0.5,0.5,0.5},
}
},
groups = gro,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("myfences:fence_picket_"..name, {
description = desc.." Picket Fence",
drawtype = "nodebox",
tiles = {
"myfences_wood.png"..stain,
"myfences_wood.png"..stain,
"myfences_wood.png^[transformR90"..stain,
"myfences_wood.png^[transformR90"..stain,
"myfences_wood.png^[transformR90"..stain,
"myfences_wood.png^[transformR90"..stain,
},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propogates = true,
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.25, -0.4375, 0.1875, 0.4375},
{0.4375, -0.5, 0.25, 0.5, 0.1875, 0.4375},
{-0.2187, -0.5, 0.4375, -0.0313, 0.375, 0.5},
{0.0312, -0.5, 0.4375, 0.2187, 0.375, 0.5},
{0.2812, -0.5, 0.4375, 0.4687, 0.375, 0.5},
{-0.4687, -0.5, 0.4375, -0.2812, 0.375, 0.5},
{-0.5, 0.125, 0.25, 0.5, 0.1875, 0.4375},
{-0.5, -0.375, 0.25, 0.5, -0.3125, 0.4375},
{-0.4375, 0.375, 0.4375, -0.3125, 0.4375, 0.5},
{-0.1875, 0.375, 0.4375, -0.0625, 0.4375, 0.5},
{0.0625, 0.375, 0.4375, 0.1875, 0.4375, 0.5},
{0.3125, 0.375, 0.4375, 0.4375, 0.4375, 0.5},
{-0.4087, 0.4375, 0.4375, -0.3437, 0.5, 0.5},
{-0.1562, 0.4375, 0.4375, -0.0937, 0.5, 0.5},
{0.0948, 0.4375, 0.4375, 0.1563, 0.5, 0.5},
{0.3448, 0.4375, 0.4375, 0.4063, 0.5, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,0.25,0.5,0.5,0.5},
}
},
groups = gro,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("myfences:fence_picket_"..name.."_corner", {
description = desc.." Picket Fence Corner",
drawtype = "nodebox",
tiles = {
"myfences_wood.png"..stain,
"myfences_wood.png"..stain,
"myfences_wood.png^[transformR90"..stain,
"myfences_wood.png^[transformR90"..stain,
"myfences_wood.png^[transformR90"..stain,
"myfences_wood.png^[transformR90"..stain,
},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propogates = true,
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.25, -0.4375, 0.1875, 0.4375},
{0.4375, -0.5, 0.25, 0.5, 0.1875, 0.4375},
{-0.2187, -0.5, 0.4375, -0.0313, 0.375, 0.5},
{0.0312, -0.5, 0.4375, 0.2187, 0.375, 0.5},
{0.2812, -0.5, 0.4375, 0.4687, 0.375, 0.5},
{-0.4687, -0.5, 0.4375, -0.2812, 0.375, 0.5},
{-0.5, 0.125, 0.25, 0.5, 0.1875, 0.4375},
{-0.5, -0.375, 0.25, 0.5, -0.3125, 0.4375},
{-0.4375, 0.375, 0.4375, -0.3125, 0.4375, 0.5},
{-0.1875, 0.375, 0.4375, -0.0625, 0.4375, 0.5},
{0.0625, 0.375, 0.4375, 0.1875, 0.4375, 0.5},
{0.3125, 0.375, 0.4375, 0.4375, 0.4375, 0.5},
{-0.4087, 0.4375, 0.4375, -0.3437, 0.5, 0.5},
{-0.1562, 0.4375, 0.4375, -0.0937, 0.5, 0.5},
{0.0948, 0.4375, 0.4375, 0.1563, 0.5, 0.5},
{0.3448, 0.4375, 0.4375, 0.4063, 0.5, 0.5},
{0.25, -0.5, 0.4375, 0.4375, 0.1875, 0.5},
{0.25, -0.5, -0.5, 0.4375, 0.1875, -0.4375},
{0.4375, -0.5, 0.0313, 0.5, 0.375, 0.2187},
{0.4375, -0.5, -0.2187, 0.5, 0.375, -0.0312},
{0.4375, -0.5, -0.4687, 0.5, 0.375, -0.2812},
{0.4375, -0.5, 0.2812, 0.5, 0.375, 0.4687},
{0.25, 0.125, -0.5, 0.4375, 0.1875, 0.5},
{0.25, -0.375, -0.5, 0.4375, -0.3125, 0.5},
{0.4375, 0.375, 0.3125, 0.5, 0.4375, 0.4375},
{0.4375, 0.375, 0.0625, 0.5, 0.4375, 0.1875},
{0.4375, 0.375, -0.1875, 0.5, 0.4375, -0.0625},
{0.4375, 0.375, -0.4375, 0.5, 0.4375, -0.3125},
{0.4375, 0.4375, 0.3437, 0.5, 0.5, 0.4087},
{0.4375, 0.4375, 0.0937, 0.5, 0.5, 0.1562},
{0.4375, 0.4375, -0.1563, 0.5, 0.5, -0.0948},
{0.4375, 0.4375, -0.4063, 0.5, 0.5, -0.3448},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,0.25,0.5,0.5,0.5},
{0.25,-0.5,-0.5,0.5,0.5,0.5},
}
},
groups = gro,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("myfences:fence_picketb_"..name.."_corner", {
description = desc.." Picket Fence Corner",
drawtype = "nodebox",
tiles = {
"myfences_wood.png"..stain,
"myfences_wood.png"..stain,
"myfences_wood.png^[transformR90"..stain,
"myfences_wood.png^[transformR90"..stain,
"myfences_wood.png^[transformR90"..stain,
"myfences_wood.png^[transformR90"..stain,
},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propogates = true,
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.25, -0.4375, 0.1875, 0.4375},
{0.4375, -0.5, 0.25, 0.5, 0.1875, 0.4375},
{-0.2187, -0.5, 0.4375, -0.0313, 0.375, 0.5},
{0.0312, -0.5, 0.4375, 0.2187, 0.375, 0.5},
{0.2812, -0.5, 0.4375, 0.4687, 0.375, 0.5},
{-0.4687, -0.5, 0.4375, -0.2812, 0.375, 0.5},
{-0.5, 0.125, 0.25, 0.5, 0.1875, 0.4375},
{-0.5, -0.375, 0.25, 0.5, -0.3125, 0.4375},
{0.25, -0.5, 0.4375, 0.4375, 0.1875, 0.5},
{0.25, -0.5, -0.5, 0.4375, 0.1875, -0.4375},
{0.4375, -0.5, 0.0313, 0.5, 0.375, 0.2187},
{0.4375, -0.5, -0.2187, 0.5, 0.375, -0.0312},
{0.4375, -0.5, -0.4687, 0.5, 0.375, -0.2812},
{0.4375, -0.5, 0.2812, 0.5, 0.375, 0.4687},
{0.25, 0.125, -0.5, 0.4375, 0.1875, 0.5},
{0.25, -0.375, -0.5, 0.4375, -0.3125, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,0.25,0.5,0.5,0.5},
{0.25,-0.5,-0.5,0.5,0.5,0.5},
}
},
groups = gro,
sounds = default.node_sound_stone_defaults(),
})
end
minetest.register_craft({
output = "myfences:fence_picket_wood",
recipe = {
{"","myfences:board",""},
{"myfences:board","myfences:board","myfences:board"},
{"myfences:board","myfences:board","myfences:board"},
}
})
minetest.register_craft({
output = "myfences:fence_picketb_wood",
recipe = {
{"","",""},
{"myfences:board","myfences:board","myfences:board"},
{"myfences:board","myfences:board","myfences:board"},
}
})
minetest.register_craft({
type = "shapeless",
output = "myfences:fence_picket_wood_corner",
recipe = {"myfences:fence_picket_wood","myfences:fence_picket_wood"},
})
minetest.register_craft({
type = "shapeless",
output = "myfences:fence_picketb_wood_corner",
recipe = {"myfences:fence_picketb_wood","myfences:fence_picketb_wood"},
})