335 lines
8.0 KiB
Lua
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
|