mirror of
https://github.com/sys4-fr/server-nalc.git
synced 2024-12-26 18:50:38 +01:00
302 lines
8.4 KiB
Lua
Executable File
302 lines
8.4 KiB
Lua
Executable File
-- Fences portion of Colored Wood mod by Vanessa Ezekowitz ~~ 2012-07-17
|
|
-- based on my unified dyes modding template.
|
|
--
|
|
-- License: WTFPL
|
|
|
|
local colored_block_modname = "coloredwood"
|
|
local colored_block_description = "Wooden Fence"
|
|
local neutral_block = "default:fence_wood"
|
|
local colored_block_sunlight = "false"
|
|
local colored_block_walkable = "true"
|
|
local colored_block_groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=2}
|
|
local colored_block_sound = "default.node_sound_wood_defaults()"
|
|
|
|
for shade = 1, 3 do
|
|
|
|
local shadename = coloredwood.shades[shade]
|
|
local shadename2 = coloredwood.shades2[shade]
|
|
|
|
for hue = 1, 12 do
|
|
|
|
local huename = coloredwood.hues[hue]
|
|
local huename2 = coloredwood.hues2[hue]
|
|
|
|
local colorname = colored_block_modname..":fence_"..shadename..huename
|
|
local pngnameinv = colored_block_modname.."_fence_"..shadename..huename..".png"
|
|
local pngname = colored_block_modname.."_wood_"..shadename..huename..".png"
|
|
local nodedesc = shadename2..huename2..colored_block_description
|
|
local stickname = colored_block_modname..":stick_"..shadename..huename
|
|
|
|
local s50colorname = colored_block_modname..":fence_"..shadename..huename.."_s50"
|
|
local s50pngname = colored_block_modname.."_wood_"..shadename..huename.."_s50.png"
|
|
local s50pngnameinv = colored_block_modname.."_fence_"..shadename..huename.."_s50.png"
|
|
local s50nodedesc = shadename2..huename2..colored_block_description.." (50% Saturation)"
|
|
local s50stickname = colored_block_modname..":stick_"..shadename..huename.."_s50"
|
|
|
|
minetest.register_node(colorname, {
|
|
drawtype = "fencelike",
|
|
description = nodedesc,
|
|
tiles = { pngname },
|
|
inventory_image = pngnameinv,
|
|
wield_image = pngnameinv,
|
|
sunlight_propagates = colored_block_sunlight,
|
|
paramtype = "light",
|
|
walkable = colored_block_walkable,
|
|
groups = colored_block_groups,
|
|
sounds = colored_block_sound,
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
|
|
},
|
|
})
|
|
|
|
minetest.register_node(s50colorname, {
|
|
drawtype = "fencelike",
|
|
description = s50nodedesc,
|
|
tiles = { s50pngname },
|
|
inventory_image = s50pngnameinv,
|
|
wield_image = s50pngnameinv,
|
|
sunlight_propagates = colored_block_sunlight,
|
|
paramtype = "light",
|
|
walkable = colored_block_walkable,
|
|
groups = colored_block_groups,
|
|
sounds = colored_block_sound,
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = colorname,
|
|
burntime = 7,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = s50colorname,
|
|
burntime = 7,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = colorname.." 2" ,
|
|
recipe = {
|
|
{stickname, stickname, stickname },
|
|
{stickname, stickname, stickname }
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = s50colorname.." 2",
|
|
recipe = {
|
|
{s50stickname, s50stickname, s50stickname },
|
|
{s50stickname, s50stickname, s50stickname }
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = colorname.." 2",
|
|
recipe = {
|
|
{ "unifieddyes:"..shadename..huename, "", "" },
|
|
{"group:stick", "group:stick", "group:stick"},
|
|
{"group:stick", "group:stick", "group:stick"},
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = s50colorname.." 2",
|
|
recipe = {
|
|
{ "unifieddyes:"..shadename..huename.."_s50", "", "" },
|
|
{"group:stick", "group:stick", "group:stick"},
|
|
{"group:stick", "group:stick", "group:stick"},
|
|
},
|
|
})
|
|
|
|
minetest.register_craft( {
|
|
type = "shapeless",
|
|
output = colorname.." 2",
|
|
recipe = {
|
|
neutral_block,
|
|
neutral_block,
|
|
"unifieddyes:"..shadename..huename
|
|
},
|
|
})
|
|
|
|
minetest.register_craft( {
|
|
type = "shapeless",
|
|
output = colorname.." 2",
|
|
recipe = {
|
|
neutral_block,
|
|
neutral_block,
|
|
"unifieddyes:"..shadename..huename.."_s50"
|
|
},
|
|
})
|
|
|
|
end
|
|
end
|
|
|
|
-- Generate the "light" shades separately, since they don"t have a low-sat version.
|
|
|
|
for hue = 1, 12 do
|
|
local huename = coloredwood.hues[hue]
|
|
local huename2 = coloredwood.hues2[hue]
|
|
local colorname = colored_block_modname..":fence_light_"..huename
|
|
local pngname = colored_block_modname.."_wood_light_"..huename..".png"
|
|
local pngnameinv = colored_block_modname.."_fence_light_"..huename..".png"
|
|
local nodedesc = "Light "..huename2..colored_block_description
|
|
local stickname = colored_block_modname..":stick_light_"..huename
|
|
|
|
minetest.register_node(colorname, {
|
|
drawtype = "fencelike",
|
|
description = nodedesc,
|
|
tiles = { pngname },
|
|
inventory_image = pngnameinv,
|
|
wield_image = pngnameinv,
|
|
sunlight_propagates = colored_block_sunlight,
|
|
paramtype = "light",
|
|
walkable = colored_block_walkable,
|
|
groups = colored_block_groups,
|
|
sounds = colored_block_sound,
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = colorname,
|
|
burntime = 7,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = colorname.." 2",
|
|
recipe = {
|
|
{stickname, stickname, stickname },
|
|
{stickname, stickname, stickname }
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = colorname.." 2",
|
|
recipe = {
|
|
{ "unifieddyes:light_"..huename, "", "" },
|
|
{"group:stick", "group:stick", "group:stick"},
|
|
{"group:stick", "group:stick", "group:stick"},
|
|
},
|
|
})
|
|
|
|
minetest.register_craft( {
|
|
type = "shapeless",
|
|
output = colorname.." 2",
|
|
recipe = {
|
|
neutral_block,
|
|
neutral_block,
|
|
"unifieddyes:light_"..huename
|
|
},
|
|
})
|
|
end
|
|
|
|
-- extra recipes for default dye colors.
|
|
|
|
for _, color in ipairs(coloredwood.default_hues) do
|
|
minetest.register_craft({
|
|
output = "coloredwood:fence_"..color.." 2",
|
|
recipe = {
|
|
{ "dye:"..color, "", "" },
|
|
{"group:stick", "group:stick", "group:stick"},
|
|
{"group:stick", "group:stick", "group:stick"},
|
|
},
|
|
})
|
|
end
|
|
|
|
minetest.register_craft({
|
|
output = "coloredwood:fence_light_red 2",
|
|
recipe = {
|
|
{ "dye:pink", "", "" },
|
|
{"group:stick", "group:stick", "group:stick"},
|
|
{"group:stick", "group:stick", "group:stick"},
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "coloredwood:fence_dark_orange 2",
|
|
recipe = {
|
|
{ "dye:brown", "", "" },
|
|
{"group:stick", "group:stick", "group:stick"},
|
|
{"group:stick", "group:stick", "group:stick"},
|
|
},
|
|
})
|
|
|
|
-- ============================================================
|
|
-- The 5 levels of greyscale.
|
|
--
|
|
-- Oficially these are 0, 25, 50, 75, and 100% relative to white,
|
|
-- but in practice, they"re actually 7.5%, 25%, 50%, 75%, and 95%.
|
|
-- (otherwise black and white would wash out).
|
|
|
|
for grey = 1,5 do
|
|
|
|
local greyname = coloredwood.greys[grey]
|
|
local greyname2 = coloredwood.greys2[grey]
|
|
local greyname3 = coloredwood.greys3[grey]
|
|
|
|
local greyshadename = colored_block_modname..":fence_"..greyname
|
|
local pngname = colored_block_modname.."_wood_"..greyname..".png"
|
|
local pngnameinv = colored_block_modname.."_fence_"..greyname..".png"
|
|
local nodedesc = greyname2..colored_block_description
|
|
local stickname = colored_block_modname..":stick_"..greyname
|
|
|
|
minetest.register_node(greyshadename, {
|
|
drawtype = "fencelike",
|
|
description = nodedesc,
|
|
tiles = { pngname },
|
|
inventory_image = pngnameinv,
|
|
wield_image = pngnameinv,
|
|
sunlight_propagates = colored_block_sunlight,
|
|
paramtype = "light",
|
|
walkable = colored_block_walkable,
|
|
groups = colored_block_groups,
|
|
sounds = colored_block_sound,
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = greyshadename,
|
|
burntime = 7,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = greyshadename.." 2",
|
|
recipe = {
|
|
{stickname, stickname, stickname },
|
|
{stickname, stickname, stickname }
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = greyshadename.." 2",
|
|
recipe = {
|
|
{ greyname3, "", "" },
|
|
{"group:stick", "group:stick", "group:stick"},
|
|
{"group:stick", "group:stick", "group:stick"},
|
|
},
|
|
})
|
|
|
|
minetest.register_craft( {
|
|
type = "shapeless",
|
|
output = greyshadename.." 2",
|
|
recipe = {
|
|
neutral_block,
|
|
neutral_block,
|
|
greyname3
|
|
},
|
|
})
|
|
|
|
end
|