1stairs = {}
2
3-- Node will be called stairs:stair_<subname>
4function stairs.register_stair(subname, recipeitem, groups, images, description)
5	minetest.register_node(":stairs:stair_" .. subname, {
6		description = description,
7		drawtype = "nodebox",
8		tiles = images,
9		paramtype = "light",
10		paramtype2 = "facedir",
11		is_ground_content = true,
12		groups = groups,
13		node_box = {
14			type = "fixed",
15			fixed = {
16				{-0.5, -0.5, -0.5, 0.5, 0, 0.5},
17				{-0.5, 0, 0, 0.5, 0.5, 0.5},
18			},
19		},
20	})
21end
22
23-- Node will be called stairs:slab_<subname>
24function stairs.register_slab(subname, recipeitem, groups, images, description)
25	minetest.register_node(":stairs:slab_" .. subname, {
26		description = description,
27		drawtype = "nodebox",
28		tiles = images,
29		paramtype = "light",
30		is_ground_content = true,
31		groups = groups,
32		node_box = {
33			type = "fixed",
34			fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
35		},
36		selection_box = {
37			type = "fixed",
38			fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
39		},
40	})
41end
42
43-- Nodes will be called stairs:{stair,slab}_<subname>
44function stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab)
45	stairs.register_stair(subname, recipeitem, groups, images, desc_stair)
46	stairs.register_slab(subname, recipeitem, groups, images, desc_slab)
47end
48
49stairs.register_stair_and_slab("stone", "basenodes:stone",
50		{cracky=3},
51		{"default_stone.png"},
52		"Stone Stair",
53		"Stone Slab")
54
55stairs.register_stair_and_slab("desert_stone", "basenodes:desert_stone",
56		{cracky=3},
57		{"default_desert_stone.png"},
58		"Desert Stone Stair",
59		"Desert Stone Slab")
60
61stairs.register_stair_and_slab("cobble", "basenodes:cobble",
62		{cracky=3},
63		{"default_cobble.png"},
64		"Cobblestone Stair",
65		"Cobblestone Slab")
66