2016-07-28 16:48:15 -07:00

335 lines
8.0 KiB
Lua

-- Node will be called <modname>:stair_<subname>
function stairsplus.register_stair(modname, subname, recipeitem, groups, images, description, drop, sounds, sunlight)
--
-- nodes
--
minetest.register_node(modname .. ":stair_" .. subname, {
description = description,
drawtype = "nodebox",
tiles = images,
paramtype = "light",
paramtype2 = "facedir",
is_ground_content = true,
sunlight_propagates = sunlight,
groups = groups,
drop = modname .. ":stair_" .. drop,
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0, 0.5},
{-0.5, 0, 0, 0.5, 0.5, 0.5},
},
},
sounds = sounds,
})
minetest.register_node(":stairs:stair_" .. subname, {
description = description,
drawtype = "nodebox",
tiles = images,
paramtype = "light",
paramtype2 = "facedir",
is_ground_content = true,
sunlight_propagates = sunlight,
groups = groups,
drop = ":stairs:stair_" .. drop,
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0, 0.5},
{-0.5, 0, 0, 0.5, 0.5, 0.5},
},
},
sounds = sounds,
})
minetest.register_node(modname .. ":stair_" .. subname .. "_inverted", {
description = description,
drawtype = "nodebox",
tiles = images,
paramtype = "light",
paramtype2 = "facedir",
is_ground_content = true,
sunlight_propagates = sunlight,
groups = groups,
drop = modname .. ":stair_" .. drop .. "_inverted",
node_box = {
type = "fixed",
fixed = {
{-0.5, 0, -0.5, 0.5, 0.5, 0.5},
{-0.5, -0.5, 0, 0.5, 0, 0.5},
},
},
sounds = sounds,
})
minetest.register_node(modname .. ":stair_" .. subname .. "_half", {
description = description,
drawtype = "nodebox",
tiles = images,
paramtype = "light",
paramtype2 = "facedir",
is_ground_content = true,
sunlight_propagates = sunlight,
groups = groups,
drop = modname .. ":stair_" .. drop .. "_half",
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0, 0, 0.5},
{-0.5, 0, 0, 0, 0.5, 0.5},
},
},
sounds = sounds,
})
minetest.register_node(modname .. ":stair_" .. subname .. "_half_inverted", {
description = description,
drawtype = "nodebox",
tiles = images,
paramtype = "light",
paramtype2 = "facedir",
is_ground_content = true,
sunlight_propagates = sunlight,
groups = groups,
drop = modname .. ":stair_" .. drop .. "_half_inverted",
node_box = {
type = "fixed",
fixed = {
{-0.5, 0, -0.5, 0, 0.5, 0.5},
{-0.5, -0.5, 0, 0, 0, 0.5},
},
},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node(modname .. ":stair_" .. subname .. "_right_half", {
description = description,
drawtype = "nodebox",
tiles = images,
paramtype = "light",
paramtype2 = "facedir",
is_ground_content = true,
sunlight_propagates = sunlight,
groups = groups,
drop = modname .. ":stair_" .. drop .. "_right_half",
node_box = {
type = "fixed",
fixed = {
{0, -0.5, -0.5, 0.5, 0, 0.5},
{0, 0, 0, 0.5, 0.5, 0.5},
},
},
sounds = sounds,
})
minetest.register_node(modname .. ":stair_" .. subname .. "_right_half_inverted", {
description = description,
drawtype = "nodebox",
tiles = images,
paramtype = "light",
paramtype2 = "facedir",
is_ground_content = true,
sunlight_propagates = sunlight,
groups = groups,
drop = modname .. ":stair_" .. drop .. "_right_half_inverted",
node_box = {
type = "fixed",
fixed = {
{0, 0, -0.5, 0.5, 0.5, 0.5},
{0, -0.5, 0, 0.5, 0, 0.5},
},
},
sounds = sounds,
})
--
-- crafting
--
minetest.register_craft({
output = modname .. ":stair_" .. subname .. " 8",
recipe = {
{recipeitem, "", ""},
{recipeitem, recipeitem, ""},
{recipeitem, recipeitem, recipeitem},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname .. " 8",
recipe = {
{"", "", recipeitem},
{"", recipeitem, recipeitem},
{recipeitem, recipeitem, recipeitem},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname .. "_inverted",
recipe = {
{modname .. ":stair_" .. subname},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname,
recipe = {
{modname .. ":stair_" .. subname .. "_inverted"},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname .. "_half 4 ",
recipe = {
{modname .. ":stair_" .. subname, modname .. ":stair_" .. subname},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname .. "_half_inverted 4 ",
recipe = {
{modname .. ":stair_" .. subname .. "_inverted", modname .. ":stair_" .. subname .. "_inverted"},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname .. "_half_inverted 1",
recipe = {
{modname .. ":stair_" .. subname .. "_half 1"},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname .. "_half_inverted 1",
recipe = {
{modname .. ":stair_" .. subname .. "_half 1"},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname .. "_half 1",
recipe = {
{modname .. ":stair_" .. subname .. "_half_inverted 1"},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname,
recipe = {
{modname .. ":stair_" .. subname .. "_half", modname .. ":stair_" .. subname .. "_half"},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname .. "_right_half 2",
recipe = {
{modname .. ":stair_" .. subname .. "_half"},
{modname .. ":stair_" .. subname .. "_half"},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname,
recipe = {
{modname .. ":stair_" .. subname .. "_right_half", modname .. ":stair_" .. subname .. "_right_half"},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname .. "_half 2",
recipe = {
{modname .. ":stair_" .. subname .. "_right_half"},
{modname .. ":stair_" .. subname .. "_right_half"},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname .. "_right_half_inverted 1",
recipe = {
{modname .. ":stair_" .. subname .. "_right_half"},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname .. "_right_half 1",
recipe = {
{modname .. ":stair_" .. subname .. "_right_half_inverted"},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname .. "_inverted",
recipe = {
{modname .. ":stair_" .. subname .. "_right_half_inverted", modname .. ":stair_" .. subname .. "_right_half_inverted"},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname .. "_half_inverted 2",
recipe = {
{modname .. ":stair_" .. subname .. "_right_half_inverted"},
{modname .. ":stair_" .. subname .. "_right_half_inverted"},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname .. "_inverted",
recipe = {
{modname .. ":stair_" .. subname .. "_half_inverted", modname .. ":stair_" .. subname .. "_half_inverted"},
},
})
minetest.register_craft({
output = modname .. ":stair_" .. subname .. "_right_half_inverted 2",
recipe = {
{modname .. ":stair_" .. subname .. "_half_inverted"},
{modname .. ":stair_" .. subname .. "_half_inverted"},
},
})
--
-- cooking
--
minetest.register_craft({
type = "cooking",
output = modname .. ":stair_stone",
recipe = modname .. ":stair_cobble",
})
minetest.register_craft({
type = "cooking",
output = modname .. ":stair_stone_inverted",
recipe = modname .. ":stair_cobble_inverted",
})
minetest.register_craft({
type = "cooking",
output = modname .. ":stair_stone_half",
recipe = modname .. ":stair_cobble_half",
})
minetest.register_craft({
type = "cooking",
output = modname .. ":stair_stone_half_inverted",
recipe = modname .. ":stair_cobble_half_inverted",
})
minetest.register_craft({
type = "cooking",
output = modname .. ":stair_stone_right_half",
recipe = modname .. ":stair_cobble_right_half",
})
minetest.register_craft({
type = "cooking",
output = modname .. ":stair_stone_half_inverted",
recipe = modname .. ":stair_cobble_half_inverted",
})
end