diff --git a/init.lua b/init.lua index a8c0ed1..7c3220d 100644 --- a/init.lua +++ b/init.lua @@ -1,36 +1,73 @@ +local stairsplus_patterns = { + {"stair", ""}, + {"slab", ""}, + + {"micro", "_1"}, + {"panel", "_1"}, + {"micro", "_2"}, + {"panel", "_2"}, + {"micro", "_4"}, + {"panel", "_4"}, + {"micro", ""}, + {"panel", ""}, + + {"micro", "_12"}, + {"panel", "_12"}, + {"micro", "_14"}, + {"panel", "_14"}, + {"micro", "_15"}, + {"panel", "_15"}, + {"stair", "_outer"}, + + {"stair", "_inner"}, + {"slab", "_1"}, + {"slab", "_2"}, + {"slab", "_quarter"}, + {"slab", "_three_quarter"}, + {"slab", "_14"}, + {"slab", "_15"}, + + {"slab", "_two_sides"}, + {"slab", "_three_sides"}, + {"slab", "_three_sides_u"}, + {"stair", "_half"}, + {"stair", "_alt_1"}, + {"stair", "_alt_2"}, + {"stair", "_alt_4"}, + {"stair", "_alt"}, + + {"slope", ""}, + {"slope", "_half"}, + {"slope", "_half_raised"}, + {"slope", "_inner"}, + {"slope", "_inner_half"}, + {"slope", "_inner_half_raised"}, + {"slope", "_inner_cut"}, + {"slope", "_inner_cut_half"}, + + {"slope", "_inner_cut_half_raised"}, + {"slope", "_outer"}, + {"slope", "_outer_half"}, + {"slope", "_outer_half_raised"}, + {"slope", "_outer_cut"}, + {"slope", "_outer_cut_half"}, + {"slope", "_outer_cut_half_raised"}, + {"slope", "_cut"}, +} + + local function register_stairsplus_alias_force(modname, origname, newmod, newname) - minetest.register_alias_force(modname .. ":slab_" .. origname, newmod..":slab_" .. newname) - minetest.register_alias_force(modname .. ":slab_" .. origname .. "_inverted", newmod..":slab_" .. newname .. "_inverted") - minetest.register_alias_force(modname .. ":slab_" .. origname .. "_wall", newmod..":slab_" .. newname .. "_wall") - minetest.register_alias_force(modname .. ":slab_" .. origname .. "_quarter", newmod..":slab_" .. newname .. "_quarter") - minetest.register_alias_force(modname .. ":slab_" .. origname .. "_quarter_inverted", newmod..":slab_" .. newname .. "_quarter_inverted") - minetest.register_alias_force(modname .. ":slab_" .. origname .. "_quarter_wall", newmod..":slab_" .. newname .. "_quarter_wall") - minetest.register_alias_force(modname .. ":slab_" .. origname .. "_three_quarter", newmod..":slab_" .. newname .. "_three_quarter") - minetest.register_alias_force(modname .. ":slab_" .. origname .. "_three_quarter_inverted", newmod..":slab_" .. newname .. "_three_quarter_inverted") - minetest.register_alias_force(modname .. ":slab_" .. origname .. "_three_quarter_wall", newmod..":slab_" .. newname .. "_three_quarter_wall") - minetest.register_alias_force(modname .. ":stair_" .. origname, newmod..":stair_" .. newname) - minetest.register_alias_force(modname .. ":stair_" .. origname .. "_inverted", newmod..":stair_" .. newname .. "_inverted") - minetest.register_alias_force(modname .. ":stair_" .. origname .. "_wall", newmod..":stair_" .. newname .. "_wall") - minetest.register_alias_force(modname .. ":stair_" .. origname .. "_wall_half", newmod..":stair_" .. newname .. "_wall_half") - minetest.register_alias_force(modname .. ":stair_" .. origname .. "_wall_half_inverted", newmod..":stair_" .. newname .. "_wall_half_inverted") - minetest.register_alias_force(modname .. ":stair_" .. origname .. "_half", newmod..":stair_" .. newname .. "_half") - minetest.register_alias_force(modname .. ":stair_" .. origname .. "_half_inverted", newmod..":stair_" .. newname .. "_half_inverted") - minetest.register_alias_force(modname .. ":stair_" .. origname .. "_right_half", newmod..":stair_" .. newname .. "_right_half") - minetest.register_alias_force(modname .. ":stair_" .. origname .. "_right_half_inverted", newmod..":stair_" .. newname .. "_right_half_inverted") - minetest.register_alias_force(modname .. ":stair_" .. origname .. "_wall_half", newmod..":stair_" .. newname .. "_wall_half") - minetest.register_alias_force(modname .. ":stair_" .. origname .. "_wall_half_inverted", newmod..":stair_" .. newname .. "_wall_half_inverted") - minetest.register_alias_force(modname .. ":stair_" .. origname .. "_inner", newmod..":stair_" .. newname .. "_inner") - minetest.register_alias_force(modname .. ":stair_" .. origname .. "_inner_inverted", newmod..":stair_" .. newname .. "_inner_inverted") - minetest.register_alias_force(modname .. ":stair_" .. origname .. "_outer", newmod..":stair_" .. newname .. "_outer") - minetest.register_alias_force(modname .. ":stair_" .. origname .. "_outer_inverted", newmod..":stair_" .. newname .. "_outer_inverted") - minetest.register_alias_force(modname .. ":panel_" .. origname .. "_bottom", newmod..":panel_" .. newname .. "_bottom") - minetest.register_alias_force(modname .. ":panel_" .. origname .. "_top", newmod..":panel_" .. newname .. "_top") - minetest.register_alias_force(modname .. ":panel_" .. origname .. "_vertical", newmod..":panel_" .. newname .. "_vertical") - minetest.register_alias_force(modname .. ":micro_" .. origname .. "_bottom", newmod..":micro_" .. newname .. "_bottom") - minetest.register_alias_force(modname .. ":micro_" .. origname .. "_top", newmod..":micro_" .. newname .. "_top") + for prefix, suffix in pairs(stairsplus_patterns) do + minetest.register_alias_force( + modname .. ":" .. prefix .. + origname .. suffix, + newmod .. ":" prefix .. + newname .. suffix) + end end +-- register nodes minetest.register_node("marble:white", { description = "Marble", @@ -87,7 +124,7 @@ end -- moreblocks -if minetest.global_exists("moreblocks") then +if minetest.global_exists("stairsplus") then stairsplus:register_all("marble", "white", "marble:white", { description = "Marble", tiles = {"marble_white.png"}, @@ -117,7 +154,7 @@ if minetest.global_exists("moreblocks") then register_stairsplus_alias_force("technic","marble_bricks","marble","white_brick") end --- stairs +-- stairs elseif minetest.global_exists("stairs") then stairs.register_stair_and_slab( "white", diff --git a/mod.conf b/mod.conf index a95f0dd..5e40d40 100644 --- a/mod.conf +++ b/mod.conf @@ -1,4 +1,4 @@ name = marble description = Adds marble nodes to the game depends = -optional_depends = castle_masonry, moreblocks, stairs, technic +optional_depends = castle_masonry, moreblocks, stairs, extranodes, technic