diff --git a/homedecor/crafts.lua b/homedecor/crafts.lua index a1d5079d..fc5c178d 100644 --- a/homedecor/crafts.lua +++ b/homedecor/crafts.lua @@ -3345,7 +3345,7 @@ minetest.register_craft( { }) minetest.register_craft({ - output = "homedecor:shrubbery 3", + output = "homedecor:shrubbery_green 3", recipe = { { "group:leaves", "group:leaves", "group:leaves" }, { "group:leaves", "group:leaves", "group:leaves" }, @@ -3353,22 +3353,45 @@ minetest.register_craft({ } }) -minetest.register_craft({ - type = "shapeless", - output = "homedecor:shrubbery_large", - recipe = { - "homedecor:shrubbery" - } -}) +for _, color in ipairs(homedecor.shrub_colors) do -minetest.register_craft({ - type = "shapeless", - output = "homedecor:shrubbery", - recipe = { - "homedecor:shrubbery_large" - } -}) + minetest.register_craft({ + type = "shapeless", + output = "homedecor:shrubbery_large_"..color, + recipe = { + "homedecor:shrubbery_"..color + } + }) + minetest.register_craft({ + type = "shapeless", + output = "homedecor:shrubbery_"..color, + recipe = { + "homedecor:shrubbery_large_"..color + } + }) + + if color ~= "green" then + minetest.register_craft({ + type = "shapeless", + output = "homedecor:shrubbery_large_"..color, + recipe = { + "homedecor:shrubbery_large_green", + "dye:"..color + } + }) + + minetest.register_craft({ + type = "shapeless", + output = "homedecor:shrubbery_"..color, + recipe = { + "homedecor:shrubbery_green", + "dye:"..color + } + }) + + end +end for i in ipairs(homedecor.banister_materials) do diff --git a/homedecor/exterior.lua b/homedecor/exterior.lua index 1745c9f5..bcea22bf 100644 --- a/homedecor/exterior.lua +++ b/homedecor/exterior.lua @@ -349,51 +349,60 @@ if minetest.get_modpath("bucket") then }) end -minetest.register_node("homedecor:shrubbery_large", { - description = S("Shrubbery"), - drawtype = "allfaces_optional", - tiles = {"homedecor_shrubbery_top.png"}, - paramtype = "light", - is_ground_content = false, - groups = {snappy=3, flammable=2}, - sounds = default.node_sound_leaves_defaults(), -}) - -minetest.register_node("homedecor:shrubbery", { - description = S("Shrubbery"), - drawtype = "nodebox", - tiles = { - "homedecor_shrubbery_top.png", - "homedecor_shrubbery_bottom.png", - "homedecor_shrubbery_sides.png" - }, - paramtype = "light", - is_ground_content = false, - groups = {snappy=3, flammable=2}, - sounds = default.node_sound_leaves_defaults(), - node_box = { - type = "fixed", - fixed = { - {-0.312500,-0.500000,0.250000,-0.187500,-0.437500,0.375000}, --NodeBox 1 - {0.187500,-0.500000,-0.125000,0.312500,-0.437500,0.000000}, --NodeBox 2 - {0.000000,-0.500000,-0.312500,0.125000,-0.437500,-0.187500}, --NodeBox 3 - {-0.375000,-0.500000,-0.062500,-0.250000,-0.437500,0.062500}, --NodeBox 4 - {0.000000,-0.500000,-0.250000,0.125000,-0.437500,-0.125000}, --NodeBox 5 - {0.187500,-0.437500,-0.187500,0.375000,-0.375000,0.062500}, --NodeBox 6 - {-0.062500,-0.437500,0.125000,0.187500,-0.375000,0.375000}, --NodeBox 7 - {-0.062500,-0.437500,-0.375000,0.187500,-0.375000,-0.062500}, --NodeBox 8 - {-0.375000,-0.437500,0.187500,-0.125000,-0.375000,0.431179}, --NodeBox 9 - {-0.437500,-0.437500,-0.125000,-0.187500,-0.375000,0.125000}, --NodeBox 10 - {-0.437500,-0.375000,-0.437500,0.439966,-0.312500,0.420887}, --NodeBox 11 - {-0.500000,-0.312500,-0.500000,0.500000,0.500000,0.500000}, --NodeBox 12 - {0.000000,-0.500000,0.187500,0.125000,-0.437500,0.312500}, --NodeBox 13 - } +local shrub_model = { + type = "fixed", + fixed = { + {-0.312500,-0.500000,0.250000,-0.187500,-0.437500,0.375000}, --NodeBox 1 + {0.187500,-0.500000,-0.125000,0.312500,-0.437500,0.000000}, --NodeBox 2 + {0.000000,-0.500000,-0.312500,0.125000,-0.437500,-0.187500}, --NodeBox 3 + {-0.375000,-0.500000,-0.062500,-0.250000,-0.437500,0.062500}, --NodeBox 4 + {0.000000,-0.500000,-0.250000,0.125000,-0.437500,-0.125000}, --NodeBox 5 + {0.187500,-0.437500,-0.187500,0.375000,-0.375000,0.062500}, --NodeBox 6 + {-0.062500,-0.437500,0.125000,0.187500,-0.375000,0.375000}, --NodeBox 7 + {-0.062500,-0.437500,-0.375000,0.187500,-0.375000,-0.062500}, --NodeBox 8 + {-0.375000,-0.437500,0.187500,-0.125000,-0.375000,0.431179}, --NodeBox 9 + {-0.437500,-0.437500,-0.125000,-0.187500,-0.375000,0.125000}, --NodeBox 10 + {-0.437500,-0.375000,-0.437500,0.439966,-0.312500,0.420887}, --NodeBox 11 + {-0.500000,-0.312500,-0.500000,0.500000,0.500000,0.500000}, --NodeBox 12 + {0.000000,-0.500000,0.187500,0.125000,-0.437500,0.312500}, --NodeBox 13 } -}) +} +homedecor.shrub_colors = { + "green", + "red", + "yellow" +} + +for _, color in ipairs(homedecor.shrub_colors) do + minetest.register_node("homedecor:shrubbery_large_"..color, { + description = S("Shrubbery ("..color..")"), + drawtype = "allfaces_optional", + tiles = {"homedecor_shrubbery_"..color.."_top.png"}, + paramtype = "light", + is_ground_content = false, + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults(), + }) + + minetest.register_node("homedecor:shrubbery_"..color, { + description = S("Shrubbery ("..color..")"), + drawtype = "nodebox", + tiles = { + "homedecor_shrubbery_"..color.."_top.png", + "homedecor_shrubbery_bottom.png", + "homedecor_shrubbery_"..color.."_sides.png" + }, + paramtype = "light", + is_ground_content = false, + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults(), + node_box = shrub_model + }) +end minetest.register_alias("homedecor:well_top", "air") minetest.register_alias("homedecor:well_base", "homedecor:well") -minetest.register_alias("gloopblocks:shrubbery", "homedecor:shrubbery") -minetest.register_alias("gloopblocks:shrubbery_large", "homedecor:shrubbery_large") +minetest.register_alias("gloopblocks:shrubbery", "homedecor:shrubbery_green") +minetest.register_alias("gloopblocks:shrubbery_large", "homedecor:shrubbery_large_green") diff --git a/homedecor/textures/homedecor_shrubbery_sides.png b/homedecor/textures/homedecor_shrubbery_green_sides.png similarity index 100% rename from homedecor/textures/homedecor_shrubbery_sides.png rename to homedecor/textures/homedecor_shrubbery_green_sides.png diff --git a/homedecor/textures/homedecor_shrubbery_top.png b/homedecor/textures/homedecor_shrubbery_green_top.png similarity index 100% rename from homedecor/textures/homedecor_shrubbery_top.png rename to homedecor/textures/homedecor_shrubbery_green_top.png diff --git a/homedecor/textures/homedecor_shrubbery_red_sides.png b/homedecor/textures/homedecor_shrubbery_red_sides.png new file mode 100644 index 00000000..b961ed13 Binary files /dev/null and b/homedecor/textures/homedecor_shrubbery_red_sides.png differ diff --git a/homedecor/textures/homedecor_shrubbery_red_top.png b/homedecor/textures/homedecor_shrubbery_red_top.png new file mode 100644 index 00000000..76ec3de4 Binary files /dev/null and b/homedecor/textures/homedecor_shrubbery_red_top.png differ diff --git a/homedecor/textures/homedecor_shrubbery_yellow_sides.png b/homedecor/textures/homedecor_shrubbery_yellow_sides.png new file mode 100644 index 00000000..b21fac55 Binary files /dev/null and b/homedecor/textures/homedecor_shrubbery_yellow_sides.png differ diff --git a/homedecor/textures/homedecor_shrubbery_yellow_top.png b/homedecor/textures/homedecor_shrubbery_yellow_top.png new file mode 100644 index 00000000..1a8a496c Binary files /dev/null and b/homedecor/textures/homedecor_shrubbery_yellow_top.png differ