From 8df64423114df1c2c2079d759f85af8dc857d3c7 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Tue, 7 May 2013 01:49:22 -0400 Subject: [PATCH] Hand-merged "slopes" branch, with minor recipe changes. Also changed all single quotes ' to double quotes " in crafts.lua --- crafts.lua | 573 +++++++++--------- init.lua | 1 + shingles.lua | 61 +- slopes.lua | 295 +++++++++ textures/homedecor_shingles_asphalt_c_t.png | Bin 0 -> 668 bytes textures/homedecor_shingles_asphalt_c_x.png | Bin 0 -> 810 bytes textures/homedecor_shingles_asphalt_c_z.png | Bin 0 -> 824 bytes textures/homedecor_shingles_asphalt_inv.png | Bin 2732 -> 3206 bytes textures/homedecor_shingles_asphalt_s_t.png | Bin 0 -> 668 bytes textures/homedecor_shingles_asphalt_s_z.png | Bin 0 -> 824 bytes .../homedecor_shingles_terracotta_c_t.png | Bin 0 -> 394 bytes .../homedecor_shingles_terracotta_c_x.png | Bin 0 -> 597 bytes .../homedecor_shingles_terracotta_c_z.png | Bin 0 -> 650 bytes .../homedecor_shingles_terracotta_inv.png | Bin 3069 -> 3332 bytes .../homedecor_shingles_terracotta_s_t.png | Bin 0 -> 394 bytes .../homedecor_shingles_terracotta_s_z.png | Bin 0 -> 650 bytes textures/homedecor_shingles_wood_c_t.png | Bin 0 -> 567 bytes textures/homedecor_shingles_wood_c_x.png | Bin 0 -> 938 bytes textures/homedecor_shingles_wood_c_z.png | Bin 0 -> 955 bytes textures/homedecor_shingles_wood_inv.png | Bin 2810 -> 2949 bytes textures/homedecor_shingles_wood_s_t.png | Bin 0 -> 567 bytes textures/homedecor_shingles_wood_s_z.png | Bin 0 -> 955 bytes textures/homedecor_skylight_frosted_inv.png | Bin 1850 -> 1440 bytes textures/homedecor_skylight_inv.png | Bin 1428 -> 1879 bytes 24 files changed, 616 insertions(+), 314 deletions(-) create mode 100644 slopes.lua create mode 100644 textures/homedecor_shingles_asphalt_c_t.png create mode 100644 textures/homedecor_shingles_asphalt_c_x.png create mode 100644 textures/homedecor_shingles_asphalt_c_z.png create mode 100644 textures/homedecor_shingles_asphalt_s_t.png create mode 100644 textures/homedecor_shingles_asphalt_s_z.png create mode 100644 textures/homedecor_shingles_terracotta_c_t.png create mode 100644 textures/homedecor_shingles_terracotta_c_x.png create mode 100644 textures/homedecor_shingles_terracotta_c_z.png create mode 100644 textures/homedecor_shingles_terracotta_s_t.png create mode 100644 textures/homedecor_shingles_terracotta_s_z.png create mode 100644 textures/homedecor_shingles_wood_c_t.png create mode 100644 textures/homedecor_shingles_wood_c_x.png create mode 100644 textures/homedecor_shingles_wood_c_z.png create mode 100644 textures/homedecor_shingles_wood_s_t.png create mode 100644 textures/homedecor_shingles_wood_s_z.png diff --git a/crafts.lua b/crafts.lua index a46facf5..cb07f0c8 100644 --- a/crafts.lua +++ b/crafts.lua @@ -30,7 +30,7 @@ minetest.register_craft( { "default:clay_lump", "bucket:bucket_water" }, - replacements = { {'bucket:bucket_water', 'bucket:bucket_empty'}, }, + replacements = { {"bucket:bucket_water", "bucket:bucket_empty"}, }, }) minetest.register_craftitem("homedecor:roof_tile_terracotta", { @@ -45,18 +45,25 @@ minetest.register_craft({ }) minetest.register_craft( { - output = 'homedecor:shingles_terracotta', + output = "homedecor:shingles_terracotta", recipe = { - { 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta'}, - { 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta'}, + { "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta"}, + { "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta"}, }, }) minetest.register_craft( { - output = 'homedecor:flower_pot_terracotta', + output = "homedecor:roof_tile_terracotta 4", recipe = { - { 'homedecor:roof_tile_terracotta', 'default:dirt', 'homedecor:roof_tile_terracotta' }, - { 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta' }, + { "homedecor:shingles_terracotta", "homedecor:shingles_terracotta" } + } +}) + +minetest.register_craft( { + output = "homedecor:flower_pot_terracotta", + recipe = { + { "homedecor:roof_tile_terracotta", "default:dirt", "homedecor:roof_tile_terracotta" }, + { "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta" }, }, }) @@ -75,7 +82,7 @@ minetest.register_craftitem("homedecor:plastic_base", { minetest.register_craft({ type = "shapeless", - output = 'homedecor:plastic_base 6', + output = "homedecor:plastic_base 6", recipe = { "default:junglegrass", "default:junglegrass", "default:junglegrass" @@ -84,7 +91,7 @@ minetest.register_craft({ minetest.register_craft({ type = "shapeless", - output = 'homedecor:plastic_base 3', + output = "homedecor:plastic_base 3", recipe = { "default:dry_shrub", "default:dry_shrub", "default:dry_shrub" @@ -93,7 +100,7 @@ minetest.register_craft({ minetest.register_craft({ type = "shapeless", - output = 'homedecor:plastic_base 4', + output = "homedecor:plastic_base 4", recipe = { "default:leaves", "default:leaves", "default:leaves", @@ -110,71 +117,71 @@ minetest.register_craft({ }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:plastic_base', + type = "fuel", + recipe = "homedecor:plastic_base", burntime = 30, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:plastic_sheeting', + type = "fuel", + recipe = "homedecor:plastic_sheeting", burntime = 30, }) minetest.register_craft( { - output = 'homedecor:flower_pot_green', + output = "homedecor:flower_pot_green", recipe = { - { '', 'group:dye,unicolor_dark_green', '' }, - { 'homedecor:plastic_sheeting', 'default:dirt', 'homedecor:plastic_sheeting' }, - { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + { "", "group:dye,unicolor_dark_green", "" }, + { "homedecor:plastic_sheeting", "default:dirt", "homedecor:plastic_sheeting" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, }, }) minetest.register_craft( { - output = 'homedecor:flower_pot_black', + output = "homedecor:flower_pot_black", recipe = { - { 'group:dye,basecolor_black', 'group:dye,basecolor_black', 'group:dye,basecolor_black' }, - { 'homedecor:plastic_sheeting', 'default:dirt', 'homedecor:plastic_sheeting' }, - { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + { "group:dye,basecolor_black", "group:dye,basecolor_black", "group:dye,basecolor_black" }, + { "homedecor:plastic_sheeting", "default:dirt", "homedecor:plastic_sheeting" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, }, }) -- minetest.register_craft( { - output = 'homedecor:projection_screen 3', + output = "homedecor:projection_screen 3", recipe = { - { '', 'default:glass', '' }, - { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, - { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + { "", "default:glass", "" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:projection_screen', + type = "fuel", + recipe = "homedecor:projection_screen", burntime = 30, }) -- minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:ceiling_paint 20', + type = "shapeless", + output = "homedecor:ceiling_paint 20", recipe = { - 'group:dye,basecolor_white', - 'group:dye,basecolor_white', - 'default:sand', - 'bucket:bucket_water', + "group:dye,basecolor_white", + "group:dye,basecolor_white", + "default:sand", + "bucket:bucket_water", }, - replacements = { { 'bucket:bucket_water','bucket:bucket_empty' } } + replacements = { { "bucket:bucket_water","bucket:bucket_empty" } } }) minetest.register_craft( { - output = 'homedecor:ceiling_tile 10', + output = "homedecor:ceiling_tile 10", recipe = { - { '', 'group:dye,basecolor_white', '' }, - { 'default:steel_ingot', 'default:stone', 'default:steel_ingot' }, + { "", "group:dye,basecolor_white", "" }, + { "default:steel_ingot", "default:stone", "default:steel_ingot" }, }, }) @@ -184,341 +191,341 @@ minetest.register_craft( { -- Items/recipes not requiring smelting of anything new minetest.register_craft( { - output = 'homedecor:glass_table_small_round 15', + output = "homedecor:glass_table_small_round 15", recipe = { - { '', 'default:glass', '' }, - { 'default:glass', 'default:glass', 'default:glass' }, - { '', 'default:glass', '' }, + { "", "default:glass", "" }, + { "default:glass", "default:glass", "default:glass" }, + { "", "default:glass", "" }, }, }) minetest.register_craft( { - output = 'homedecor:glass_table_small_square 4', + output = "homedecor:glass_table_small_square 4", recipe = { - {'homedecor:glass_table_small_round', 'homedecor:glass_table_small_round' }, - {'homedecor:glass_table_small_round', 'homedecor:glass_table_small_round' } + {"homedecor:glass_table_small_round", "homedecor:glass_table_small_round" }, + {"homedecor:glass_table_small_round", "homedecor:glass_table_small_round" } } }) minetest.register_craft( { - output = 'homedecor:glass_table_large 4', + output = "homedecor:glass_table_large 4", recipe = { - { 'homedecor:glass_table_small_square', 'homedecor:glass_table_small_square' }, - { 'homedecor:glass_table_small_square', 'homedecor:glass_table_small_square' } + { "homedecor:glass_table_small_square", "homedecor:glass_table_small_square" }, + { "homedecor:glass_table_small_square", "homedecor:glass_table_small_square" } } }) -- minetest.register_craft( { - output = 'homedecor:wood_table_small_round 15', + output = "homedecor:wood_table_small_round 15", recipe = { - { '', 'default:wood', '' }, - { 'default:wood', 'default:wood', 'default:wood' }, - { '', 'default:wood', '' }, + { "", "default:wood", "" }, + { "default:wood", "default:wood", "default:wood" }, + { "", "default:wood", "" }, }, }) minetest.register_craft( { - output = 'homedecor:wood_table_small_square 4', + output = "homedecor:wood_table_small_square 4", recipe = { - { 'homedecor:wood_table_small_round','homedecor:wood_table_small_round' }, - { 'homedecor:wood_table_small_round','homedecor:wood_table_small_round' } + { "homedecor:wood_table_small_round","homedecor:wood_table_small_round" }, + { "homedecor:wood_table_small_round","homedecor:wood_table_small_round" } } }) minetest.register_craft( { - output = 'homedecor:wood_table_large 4', + output = "homedecor:wood_table_large 4", recipe = { - { 'homedecor:wood_table_small_square', 'homedecor:wood_table_small_square' }, - { 'homedecor:wood_table_small_square', 'homedecor:wood_table_small_square' } + { "homedecor:wood_table_small_square", "homedecor:wood_table_small_square" }, + { "homedecor:wood_table_small_square", "homedecor:wood_table_small_square" } } }) -- minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:wood_table_small_round', + type = "fuel", + recipe = "homedecor:wood_table_small_round", burntime = 30, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:wood_table_small_square', + type = "fuel", + recipe = "homedecor:wood_table_small_square", burntime = 30, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:wood_table_large', + type = "fuel", + recipe = "homedecor:wood_table_large", burntime = 30, }) -- minetest.register_craft( { - output = 'homedecor:shingles_asphalt 6', + output = "homedecor:shingles_asphalt 6", recipe = { - { 'default:gravel', 'group:dye,basecolor_black', 'default:gravel' }, - { 'default:sand', 'group:dye,basecolor_black', 'default:sand' }, - { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, + { "default:gravel", "group:dye,basecolor_black", "default:gravel" }, + { "default:sand", "group:dye,basecolor_black", "default:sand" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, }, }) -- minetest.register_craft( { - output = 'homedecor:shingles_wood 12', + output = "homedecor:shingles_wood 12", recipe = { - { 'default:stick', 'default:wood'}, - { 'default:wood', 'default:stick'}, + { "default:stick", "default:wood"}, + { "default:wood", "default:stick"}, }, }) minetest.register_craft( { - output = 'homedecor:shingles_wood 12', + output = "homedecor:shingles_wood 12", recipe = { - { 'default:wood', 'default:stick'}, - { 'default:stick', 'default:wood'}, + { "default:wood", "default:stick"}, + { "default:stick", "default:wood"}, }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:shingles_wood', + type = "fuel", + recipe = "homedecor:shingles_wood", burntime = 30, }) -- minetest.register_craft( { - output = 'homedecor:skylight 9', + output = "homedecor:skylight 9", recipe = { - { 'default:glass', 'default:glass' }, - { 'default:glass', 'default:glass' }, + { "default:glass", "default:glass" }, + { "default:glass", "default:glass" }, }, }) minetest.register_craft( { type = "shapeless", - output = 'homedecor:skylight', - recipe = { 'homedecor:skylight_frosted' }, + output = "homedecor:skylight", + recipe = { "homedecor:skylight_frosted" }, }) minetest.register_craft( { type = "shapeless", - output = 'homedecor:skylight_frosted', - recipe = { 'homedecor:skylight' }, + output = "homedecor:skylight_frosted", + recipe = { "homedecor:skylight" }, }) -- Various colors of shutters minetest.register_craft( { - output = 'homedecor:shutter_oak 2', + output = "homedecor:shutter_oak 2", recipe = { - { 'default:stick', 'default:stick' }, - { 'default:stick', 'default:stick' }, - { 'default:stick', 'default:stick' }, + { "default:stick", "default:stick" }, + { "default:stick", "default:stick" }, + { "default:stick", "default:stick" }, }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:shutter_oak', + type = "fuel", + recipe = "homedecor:shutter_oak", burntime = 30, }) -- minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:shutter_black 4', + type = "shapeless", + output = "homedecor:shutter_black 4", recipe = { - 'group:dye,basecolor_black', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak' + "group:dye,basecolor_black", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak" }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:shutter_black', + type = "fuel", + recipe = "homedecor:shutter_black", burntime = 30, }) -- minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:shutter_dark_grey 4', + type = "shapeless", + output = "homedecor:shutter_dark_grey 4", recipe = { - 'group:dye,excolor_darkgrey', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak' + "group:dye,excolor_darkgrey", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak" }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:shutter_dark_grey', + type = "fuel", + recipe = "homedecor:shutter_dark_grey", burntime = 30, }) -- minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:shutter_grey 4', + type = "shapeless", + output = "homedecor:shutter_grey 4", recipe = { - 'group:dye,excolor_grey', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak' + "group:dye,excolor_grey", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak" }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:shutter_grey', + type = "fuel", + recipe = "homedecor:shutter_grey", burntime = 30, }) -- minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:shutter_white 4', + type = "shapeless", + output = "homedecor:shutter_white 4", recipe = { - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'group:dye,basecolor_white', + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "group:dye,basecolor_white", }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:shutter_white', + type = "fuel", + recipe = "homedecor:shutter_white", burntime = 30, }) -- minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:shutter_mahogany 4', + type = "shapeless", + output = "homedecor:shutter_mahogany 4", recipe = { - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'group:dye,unicolor_dark_orange', + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "group:dye,unicolor_dark_orange", }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:shutter_mahogany', + type = "fuel", + recipe = "homedecor:shutter_mahogany", burntime = 30, }) minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:shutter_red 4', + type = "shapeless", + output = "homedecor:shutter_red 4", recipe = { - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'group:dye,basecolor_red', + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "group:dye,basecolor_red", }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:shutter_red', + type = "fuel", + recipe = "homedecor:shutter_red", burntime = 30, }) minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:shutter_yellow 4', + type = "shapeless", + output = "homedecor:shutter_yellow 4", recipe = { - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'group:dye,unicolor_yellow', + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "group:dye,unicolor_yellow", }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:shutter_yellow', + type = "fuel", + recipe = "homedecor:shutter_yellow", burntime = 30, }) -- minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:shutter_forest_green 4', + type = "shapeless", + output = "homedecor:shutter_forest_green 4", recipe = { - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'group:dye,unicolor_dark_green', + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "group:dye,unicolor_dark_green", }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:shutter_forest_green', + type = "fuel", + recipe = "homedecor:shutter_forest_green", burntime = 30, }) -- minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:shutter_light_blue 4', + type = "shapeless", + output = "homedecor:shutter_light_blue 4", recipe = { - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'unifieddyes:light_blue', + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "unifieddyes:light_blue", }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:shutter_light_blue', + type = "fuel", + recipe = "homedecor:shutter_light_blue", burntime = 30, }) minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:shutter_purple 4', + type = "shapeless", + output = "homedecor:shutter_purple 4", recipe = { - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'homedecor:shutter_oak', - 'group:dye,excolor_violet', + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "homedecor:shutter_oak", + "group:dye,excolor_violet", }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:shutter_purple', + type = "fuel", + recipe = "homedecor:shutter_purple", burntime = 30, }) @@ -531,86 +538,86 @@ minetest.register_craftitem("homedecor:drawer_small", { minetest.register_craft( { - output = 'homedecor:drawer_small', + output = "homedecor:drawer_small", recipe = { - { 'default:wood', 'default:steel_ingot', 'default:wood' }, + { "default:wood", "default:steel_ingot", "default:wood" }, }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:drawer_small', + type = "fuel", + recipe = "homedecor:drawer_small", burntime = 30, }) -- minetest.register_craft( { - output = 'homedecor:nightstand_oak_one_drawer', + output = "homedecor:nightstand_oak_one_drawer", recipe = { - { 'homedecor:drawer_small' }, - { 'default:wood' }, + { "homedecor:drawer_small" }, + { "default:wood" }, }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:nightstand_oak_one_drawer', + type = "fuel", + recipe = "homedecor:nightstand_oak_one_drawer", burntime = 30, }) minetest.register_craft( { - output = 'homedecor:nightstand_oak_two_drawers', + output = "homedecor:nightstand_oak_two_drawers", recipe = { - { 'homedecor:drawer_small' }, - { 'homedecor:drawer_small' }, - { 'default:wood' }, + { "homedecor:drawer_small" }, + { "homedecor:drawer_small" }, + { "default:wood" }, }, }) minetest.register_craft( { - output = 'homedecor:nightstand_oak_two_drawers', + output = "homedecor:nightstand_oak_two_drawers", recipe = { - { 'homedecor:nightstand_oak_one_drawer' }, - { 'homedecor:drawer_small' }, + { "homedecor:nightstand_oak_one_drawer" }, + { "homedecor:drawer_small" }, }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:nightstand_oak_two_drawers', + type = "fuel", + recipe = "homedecor:nightstand_oak_two_drawers", burntime = 30, }) -- minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:nightstand_mahogany_one_drawer', + type = "shapeless", + output = "homedecor:nightstand_mahogany_one_drawer", recipe = { - 'homedecor:nightstand_oak_one_drawer', - 'group:dye,unicolor_dark_orange', + "homedecor:nightstand_oak_one_drawer", + "group:dye,unicolor_dark_orange", }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:nightstand_mahogany_one_drawer', + type = "fuel", + recipe = "homedecor:nightstand_mahogany_one_drawer", burntime = 30, }) minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:nightstand_mahogany_two_drawers', + type = "shapeless", + output = "homedecor:nightstand_mahogany_two_drawers", recipe = { - 'homedecor:nightstand_oak_two_drawers', - 'group:dye,unicolor_dark_orange', + "homedecor:nightstand_oak_two_drawers", + "group:dye,unicolor_dark_orange", }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:nightstand_mahogany_two_drawers', + type = "fuel", + recipe = "homedecor:nightstand_mahogany_two_drawers", burntime = 30, }) @@ -620,66 +627,66 @@ minetest.register_craftitem("homedecor:brass_ingot", { }) minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:brass_ingot 2', + type = "shapeless", + output = "homedecor:brass_ingot 2", recipe = { - 'moreores:silver_ingot', - 'default:copper_ingot', + "moreores:silver_ingot", + "default:copper_ingot", }, }) -- Table legs minetest.register_craft( { - output = 'homedecor:table_legs_wrought_iron 3', + output = "homedecor:table_legs_wrought_iron 3", recipe = { - { '', 'default:iron_lump', '' }, - { '', 'default:iron_lump', '' }, - { 'default:iron_lump', 'default:iron_lump', 'default:iron_lump' }, + { "", "default:iron_lump", "" }, + { "", "default:iron_lump", "" }, + { "default:iron_lump", "default:iron_lump", "default:iron_lump" }, }, }) minetest.register_craft( { - output = 'homedecor:table_legs_brass 3', + output = "homedecor:table_legs_brass 3", recipe = { - { '', 'homedecor:brass_ingot', '' }, - { '', 'homedecor:brass_ingot', '' }, - { 'homedecor:brass_ingot', 'homedecor:brass_ingot', 'homedecor:brass_ingot' } + { "", "homedecor:brass_ingot", "" }, + { "", "homedecor:brass_ingot", "" }, + { "homedecor:brass_ingot", "homedecor:brass_ingot", "homedecor:brass_ingot" } }, }) minetest.register_craft( { - output = 'homedecor:utility_table_legs', + output = "homedecor:utility_table_legs", recipe = { - { 'default:stick', 'default:stick', 'default:stick' }, - { 'default:stick', '', 'default:stick' }, - { 'default:stick', '', 'default:stick' }, + { "default:stick", "default:stick", "default:stick" }, + { "default:stick", "", "default:stick" }, + { "default:stick", "", "default:stick" }, }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:utility_table_legs', + type = "fuel", + recipe = "homedecor:utility_table_legs", burntime = 30, }) -- vertical poles/lampposts minetest.register_craft( { - output = 'homedecor:pole_brass 4', + output = "homedecor:pole_brass 4", recipe = { - { '', 'homedecor:brass_ingot', '' }, - { '', 'homedecor:brass_ingot', '' }, - { '', 'homedecor:brass_ingot', '' } + { "", "homedecor:brass_ingot", "" }, + { "", "homedecor:brass_ingot", "" }, + { "", "homedecor:brass_ingot", "" } }, }) minetest.register_craft( { - output = 'homedecor:pole_wrought_iron 4', + output = "homedecor:pole_wrought_iron 4", recipe = { - { 'default:iron_lump', }, - { 'default:iron_lump', }, - { 'default:iron_lump', }, + { "default:iron_lump", }, + { "default:iron_lump", }, + { "default:iron_lump", }, }, }) @@ -716,20 +723,20 @@ minetest.register_craftitem("homedecor:ic", { }) minetest.register_craft( { - output = 'homedecor:television', + output = "homedecor:television", recipe = { - { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, - { 'homedecor:plastic_sheeting', 'moreblocks:glowglass', 'homedecor:plastic_sheeting' }, - { 'homedecor:ic', 'homedecor:ic', 'homedecor:ic' }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "homedecor:plastic_sheeting", "moreblocks:glowglass", "homedecor:plastic_sheeting" }, + { "homedecor:ic", "homedecor:ic", "homedecor:ic" }, }, }) minetest.register_craft( { - output = 'homedecor:stereo', + output = "homedecor:stereo", recipe = { - { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' }, - { 'homedecor:plastic_sheeting', 'homedecor:ic', 'homedecor:plastic_sheeting' }, - { 'default:steel_ingot', 'homedecor:ic', 'default:steel_ingot' }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "homedecor:plastic_sheeting", "homedecor:ic", "homedecor:plastic_sheeting" }, + { "default:steel_ingot", "homedecor:ic", "default:steel_ingot" }, }, }) @@ -737,47 +744,47 @@ minetest.register_craft( { -- Recipes that require materials from wool (cotton alternate) minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:rug_small 8', + type = "shapeless", + output = "homedecor:rug_small 8", recipe = { - 'wool:red', - 'wool:yellow', - 'wool:blue', - 'wool:black' + "wool:red", + "wool:yellow", + "wool:blue", + "wool:black" }, }) -- cotton version: minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:rug_small 8', + type = "shapeless", + output = "homedecor:rug_small 8", recipe = { - 'cotton:red', - 'cotton:yellow', - 'cotton:blue', - 'cotton:black' + "cotton:red", + "cotton:yellow", + "cotton:blue", + "cotton:black" }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:rug_small', + type = "fuel", + recipe = "homedecor:rug_small", burntime = 30, }) minetest.register_craft( { - type = 'shapeless', - output = 'homedecor:rug_large 2', + type = "shapeless", + output = "homedecor:rug_large 2", recipe = { - 'homedecor:rug_small', - 'homedecor:rug_small', + "homedecor:rug_small", + "homedecor:rug_small", }, }) minetest.register_craft({ - type = 'fuel', - recipe = 'homedecor:rug_large', + type = "fuel", + recipe = "homedecor:rug_large", burntime = 30, }) @@ -785,38 +792,38 @@ minetest.register_craft({ -- Speakers require copper from moreores minetest.register_craft( { - output = 'homedecor:speaker', + output = "homedecor:speaker", recipe = { - { 'default:wood', 'wool:black', 'default:wood' }, - { 'default:wood', 'moreores:copper_ingot', 'default:wood' }, - { 'default:wood', 'wool:black', 'default:wood' }, + { "default:wood", "wool:black", "default:wood" }, + { "default:wood", "moreores:copper_ingot", "default:wood" }, + { "default:wood", "wool:black", "default:wood" }, }, }) minetest.register_craft( { - output = 'homedecor:speaker_small', + output = "homedecor:speaker_small", recipe = { - { 'default:wood', 'wool:black', 'default:wood' }, - { 'default:wood', 'moreores:copper_ingot', 'default:wood' }, + { "default:wood", "wool:black", "default:wood" }, + { "default:wood", "moreores:copper_ingot", "default:wood" }, }, }) -- cotton version minetest.register_craft( { - output = 'homedecor:speaker', + output = "homedecor:speaker", recipe = { - { 'default:wood', 'cotton:black', 'default:wood' }, - { 'default:wood', 'moreores:copper_ingot', 'default:wood' }, - { 'default:wood', 'cotton:black', 'default:wood' }, + { "default:wood", "cotton:black", "default:wood" }, + { "default:wood", "moreores:copper_ingot", "default:wood" }, + { "default:wood", "cotton:black", "default:wood" }, }, }) minetest.register_craft( { - output = 'homedecor:speaker_small', + output = "homedecor:speaker_small", recipe = { - { 'default:wood', 'cotton:black', 'default:wood' }, - { 'default:wood', 'moreores:copper_ingot', 'default:wood' }, + { "default:wood", "cotton:black", "default:wood" }, + { "default:wood", "moreores:copper_ingot", "default:wood" }, }, }) @@ -1068,18 +1075,18 @@ minetest.register_craft({ minetest.register_craft( { - output = 'homedecor:fence_brass 6', + output = "homedecor:fence_brass 6", recipe = { - { 'homedecor:brass_ingot', 'homedecor:brass_ingot', 'homedecor:brass_ingot' }, - { 'homedecor:brass_ingot', 'homedecor:brass_ingot', 'homedecor:brass_ingot' }, + { "homedecor:brass_ingot", "homedecor:brass_ingot", "homedecor:brass_ingot" }, + { "homedecor:brass_ingot", "homedecor:brass_ingot", "homedecor:brass_ingot" }, }, }) minetest.register_craft( { - output = 'homedecor:fence_wrought_iron 6', + output = "homedecor:fence_wrought_iron 6", recipe = { - { 'default:iron_lump','default:iron_lump','default:iron_lump' }, - { 'default:iron_lump','default:iron_lump','default:iron_lump' }, + { "default:iron_lump","default:iron_lump","default:iron_lump" }, + { "default:iron_lump","default:iron_lump","default:iron_lump" }, }, }) diff --git a/init.lua b/init.lua index 8a885993..685eff80 100644 --- a/init.lua +++ b/init.lua @@ -70,6 +70,7 @@ dofile(minetest.get_modpath("homedecor").."/tables.lua") dofile(minetest.get_modpath("homedecor").."/electronics.lua") dofile(minetest.get_modpath("homedecor").."/shutters.lua") dofile(minetest.get_modpath("homedecor").."/shingles.lua") +dofile(minetest.get_modpath("homedecor").."/slopes.lua") dofile(minetest.get_modpath("homedecor").."/door_models.lua") dofile(minetest.get_modpath("homedecor").."/doors_and_gates.lua") diff --git a/shingles.lua b/shingles.lua index b19eda0c..4ac0cf4e 100644 --- a/shingles.lua +++ b/shingles.lua @@ -9,13 +9,13 @@ else S = function ( s ) return s end end -minetest.register_node('homedecor:skylight', { +minetest.register_node("homedecor:skylight", { description = S("Glass Skylight"), - drawtype = 'raillike', - tiles = { 'default_glass.png' }, - wield_image = 'default_glass.png', - inventory_image = 'homedecor_skylight_inv.png', - paramtype = 'light', + drawtype = "raillike", + tiles = { "default_glass.png" }, + wield_image = "default_glass.png", + inventory_image = "homedecor_skylight_inv.png", + paramtype = "light", sunlight_propagates = true, walkable = true, groups = { snappy = 3 }, @@ -26,13 +26,13 @@ minetest.register_node('homedecor:skylight', { } }) -minetest.register_node('homedecor:skylight_frosted', { +minetest.register_node("homedecor:skylight_frosted", { description = S("Glass Skylight"), - drawtype = 'raillike', - tiles = { 'homedecor_skylight_frosted.png' }, - wield_image = 'homedecor_skylight_frosted.png', - inventory_image = 'homedecor_skylight_frosted_inv.png', - paramtype = 'light', + drawtype = "raillike", + tiles = { "homedecor_skylight_frosted.png" }, + wield_image = "homedecor_skylight_frosted.png", + inventory_image = "homedecor_skylight_frosted_inv.png", + paramtype = "light", sunlight_propagates = true, use_texture_alpha = true, walkable = true, @@ -44,13 +44,13 @@ minetest.register_node('homedecor:skylight_frosted', { } }) -minetest.register_node('homedecor:shingles_wood', { +minetest.register_node("homedecor:shingles_wood", { description = S("Wood Shingles"), - drawtype = 'raillike', - tiles = { 'homedecor_shingles_wood.png' }, - wield_image = 'homedecor_shingles_wood.png', - inventory_image = 'homedecor_shingles_wood_inv.png', - paramtype = 'light', + drawtype = "raillike", + tiles = { "homedecor_shingles_wood.png" }, + wield_image = "homedecor_shingles_wood.png", + inventory_image = "homedecor_shingles_wood_inv.png", + paramtype = "light", sunlight_propagates = false, walkable = false, groups = { snappy = 3 }, @@ -61,13 +61,13 @@ minetest.register_node('homedecor:shingles_wood', { } }) -minetest.register_node('homedecor:shingles_asphalt', { +minetest.register_node("homedecor:shingles_asphalt", { description = S("Asphalt Shingles"), - drawtype = 'raillike', - tiles = { 'homedecor_shingles_asphalt.png' }, - wield_image = 'homedecor_shingles_asphalt.png', - inventory_image = 'homedecor_shingles_asphalt_inv.png', - paramtype = 'light', + drawtype = "raillike", + tiles = { "homedecor_shingles_asphalt.png" }, + wield_image = "homedecor_shingles_asphalt.png", + inventory_image = "homedecor_shingles_asphalt_inv.png", + paramtype = "light", sunlight_propagates = false, walkable = false, groups = { snappy = 3 }, @@ -78,18 +78,17 @@ minetest.register_node('homedecor:shingles_asphalt', { } }) -minetest.register_node('homedecor:shingles_terracotta', { +minetest.register_node("homedecor:shingles_terracotta", { description = S("Terracotta Roofing"), - drawtype = 'raillike', - tiles = { 'homedecor_shingles_terracotta.png' }, - wield_image = 'homedecor_shingles_terracotta.png', - inventory_image = 'homedecor_shingles_terracotta_inv.png', - paramtype = 'light', + drawtype = "raillike", + tiles = { "homedecor_shingles_terracotta.png" }, + wield_image = "homedecor_shingles_terracotta.png", + inventory_image = "homedecor_shingles_terracotta_inv.png", + paramtype = "light", sunlight_propagates = false, walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), - drop = 'homedecor:roof_tile_terracotta 4', selection_box = { type = "fixed", fixed = { -0.5, -0.5, -0.5, 0.5, -0.4, 0.5 } diff --git a/slopes.lua b/slopes.lua new file mode 100644 index 00000000..afefbb24 --- /dev/null +++ b/slopes.lua @@ -0,0 +1,295 @@ +-- Various kinds of shingles + +-- Boilerplate to support localized strings if intllib mod is installed. +local S +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function ( s ) return s end +end + +-- Corner shingle nodes, courtesy Bas080 + +homedecor_detail_level = 256 + +homedecor_register_outer_corner = function(modname, subname, groups, images, description) + local slopeboxedge = {} + local detail = homedecor_detail_level + for i = 0, detail-1 do + slopeboxedge[i+1]={-0.5, -0.5+(4/detail), (i/detail)-0.5, 0.5-(i/detail), (i/detail)-0.5+(5/detail), 0.5} + end + minetest.register_node(modname..":shingle_outer_corner_" .. subname, { + description = S(description.. " (outer corner)"), + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.25, -0.25, 0.25, 0, 0.5}, + {-0.5, 0, 0, 0, 0.25, 0.5}, + {-0.5, 0.25, 0.25, -0.25, 0.5, 0.5} + } + }, + node_box = { + type = "fixed", + fixed = slopeboxedge + }, + groups = groups, + }) +end + +homedecor_register_inner_corner = function(modname, subname, groups, images, description) + local slopeboxedge = {} + local detail = homedecor_detail_level + for i = 0, detail-1 do + slopeboxedge[i+1]={-0.5, -0.5+(4/detail), -0.5, 0.5-(i/detail), (i/detail)-0.5+(5/detail), 0.5} + slopeboxedge[i+detail+1]={-0.5, -0.5+(4/detail), (i/detail)-0.5, 0.5, (i/detail)-0.5+(5/detail), 0.5} + end + minetest.register_node(modname..":shingle_inner_corner_" .. subname, { + description = S(description.. " (inner corner)"), + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5} + }, + node_box = { + type = "fixed", + fixed = slopeboxedge + }, + groups = groups, + }) +end + +homedecor_register_slope = function(modname, subname, recipeitem, groups, images, description) + local slopeboxedge = {} + local detail = homedecor_detail_level + for i = 0, detail-1 do + slopeboxedge[i+1]={-0.5, -0.5+(4/detail), (i/detail)-0.5, 0.5, (i/detail)-0.5+(5/detail), 0.5} + end + minetest.register_node(modname..":shingle_side_" .. subname, { + description = S(description), + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + walkable = true, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.25, -0.25, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.25, 0.5}, + {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5} + } + }, + node_box = { + type = "fixed", + fixed = slopeboxedge, + }, + groups = groups, + }) + + -- convert between flat shingles and slopes + + minetest.register_craft({ + output = modname..":shingle_side_"..subname.." 3", + recipe = { + {recipeitem, recipeitem, recipeitem} + } + }) + + minetest.register_craft({ + output = recipeitem.." 3", + recipe = { + {modname..":shingle_side_"..subname, modname..":shingle_side_"..subname, modname..":shingle_side_"..subname}, + } + }) + + -- craft outer corners + + minetest.register_craft({ + output = modname..":shingle_outer_corner_"..subname.." 3", + recipe = { + { "", recipeitem, "" }, + { recipeitem, "", recipeitem } + } + }) + + minetest.register_craft({ + output = modname..":shingle_outer_corner_"..subname.." 3", + recipe = { + { "", modname..":shingles_side_"..subname, "" }, + { modname..":shingles_side_"..subname, "", modname..":shingles_side_"..subname }, + } + }) + + -- craft inner corners + + minetest.register_craft({ + output = modname..":shingle_inner_corner_"..subname.." 3", + recipe = { + {recipeitem, recipeitem}, + {"", recipeitem} + } + }) + + minetest.register_craft({ + output = modname..":shingle_inner_corner_"..subname.." 3", + recipe = { + {modname..":shingles_side_"..subname, modname..":shingles_side_"..subname}, + {"", modname..":shingles_side_"..subname} + } + }) + -- convert between flat shingles and inner/outer corners + + minetest.register_craft({ + type = "shapeless", + output = recipeitem.." 3", + recipe = { modname..":shingle_outer_corner_"..subname } + }) + + minetest.register_craft({ + type = "shapeless", + output = recipeitem.." 3", + recipe = { modname..":shingle_inner_corner_"..subname } + }) +end + +minetest.register_craft( { + output = "homedecor:roof_tile_terracotta 8", + recipe = { + { "homedecor:shingle_outer_corner_terracotta", "homedecor:shingle_outer_corner_terracotta" } + } +}) + +minetest.register_craft( { + output = "homedecor:roof_tile_terracotta 8", + recipe = { + { "homedecor:shingle_inner_corner_terracotta", "homedecor:shingle_inner_corner_terracotta" } + } +}) + +minetest.register_craft( { + output = "homedecor:roof_tile_terracotta 8", + recipe = { + { "homedecor:shingle_side_terracotta", "homedecor:shingle_side_terracotta" } + } +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:shingle_inner_corner_wood", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:shingle_outer_corner_wood", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:shingle_side_wood", + burntime = 30, +}) + +homedecor_register_roof = function(modname, subname, groups, images , description) + homedecor_register_outer_corner(modname, subname, groups, images, description) + homedecor_register_inner_corner(modname, subname, groups, images, description) +end + +-- corners + +homedecor_register_roof("homedecor", "wood", + { snappy = 3 }, + { + "homedecor_shingles_wood_c_t.png", + "homedecor_shingles_wood_c_x.png", + "homedecor_shingles_wood_c_x.png", + "homedecor_shingles_wood_c_x.png", + "homedecor_shingles_wood_c_z.png", + "homedecor_shingles_wood_c_z.png", + }, + "Wood Shingles" +) + +homedecor_register_roof("homedecor", "asphalt", + { snappy = 3 }, + { + "homedecor_shingles_asphalt_c_t.png", + "homedecor_shingles_asphalt_c_x.png", + "homedecor_shingles_asphalt_c_x.png", + "homedecor_shingles_asphalt_c_x.png", + "homedecor_shingles_asphalt_c_z.png", + "homedecor_shingles_asphalt_c_z.png", + }, + "Asphalt Shingles" +) + +homedecor_register_roof("homedecor", "terracotta", + { snappy = 3 }, + { + "homedecor_shingles_terracotta_c_t.png", + "homedecor_shingles_terracotta_c_x.png", + "homedecor_shingles_terracotta_c_x.png", + "homedecor_shingles_terracotta_c_x.png", + "homedecor_shingles_terracotta_c_z.png", + "homedecor_shingles_terracotta_c_z.png", + }, + "Terracotta Shingles" +) + +-- register just the slopes + +homedecor_register_slope("homedecor", "wood", + "homedecor:shingles_wood", + { snappy = 3 }, + { + "homedecor_shingles_wood_s_t.png", + "homedecor_shingles_wood_s_z.png", + "homedecor_shingles_wood_s_z.png", + "homedecor_shingles_wood_s_z.png", + "homedecor_shingles_wood_s_z.png", + "homedecor_shingles_wood_s_z.png", + }, + "Wood Shingles" +) + +homedecor_register_slope("homedecor", "asphalt", + "homedecor:shingles_asphalt", + { snappy = 3 }, + { + "homedecor_shingles_asphalt_s_t.png", + "homedecor_shingles_asphalt_s_z.png", + "homedecor_shingles_asphalt_s_z.png", + "homedecor_shingles_asphalt_s_z.png", + "homedecor_shingles_asphalt_s_z.png", + "homedecor_shingles_asphalt_s_z.png", + }, + "Asphalt Shingles" +) + +homedecor_register_slope("homedecor", "terracotta", + "homedecor:shingles_terracotta", + { snappy = 3 }, + { + "homedecor_shingles_terracotta_s_t.png", + "homedecor_shingles_terracotta_s_z.png", + "homedecor_shingles_terracotta_s_z.png", + "homedecor_shingles_terracotta_s_z.png", + "homedecor_shingles_terracotta_s_z.png", + "homedecor_shingles_terracotta_s_z.png", + }, + "Terracotta Shingles" +) + diff --git a/textures/homedecor_shingles_asphalt_c_t.png b/textures/homedecor_shingles_asphalt_c_t.png new file mode 100644 index 0000000000000000000000000000000000000000..5641d32b653872b9bf516cd8b3208d5a20432ffd GIT binary patch literal 668 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 JPDHLkV1oYP_{#tQ delta 2693 zcmZ8jdpy(YALmd;5|ZnZ3HdsX#IX8N$Ye9pbTN(4nc?6xi`>8Ep34-FY zDu=xmLvEvCYP6#ru@*w|`<~bDzu)u6^LqaHexJ|f{dvFNPl`s}p?mhAjI`>b8=s^k zB;=ei4t5tK-z^tSyI*B0_k+~SvKW}Guik>58_I1yJ*#8_qkkakO2YSCr|#B@#FQ?w$N&%%YA$f>(_ubu66WR7$+Q)ljPlS%o`&W`-OE3i@l4N zLrBy3^V_E%k|bB>UrD*Ty54}x+!l+eBCPs+f0ovpMq__}|9f~dxPmC|2ya6p%WwtH!97HQgY{r%vrcd#B0?swC1UYYR(5dhzSS(qIdZ98}$sV?5ykFF2Rm~B~*ZruX8Oc-lp~To*hN%W0XG%1b}MBlfZOgr;6O3JUrCp96hM8gLp2N`ypA~CnUs0 z76AcaWtB=Ie0-VZnD{mz37_uwr&Eh38hckU!7#lYjNLS&@$c!$&W7frXjvSsti1w( z0ET!v5p=QkQj+46Kx`X#;wza#xsP;_bQ;S;(J*5wag{wmX;t1`EiEKJYx%Re%@XB? zx@E)sC~c?^#;uj|-g55-b1N%ymxs{%8?rsn~DtQ?al+B!aY^tqR%+_|rH8 zXK=QGb2MEyy-ycvP<&4|iGbAH-_Ji$FZ_T~5R1hIe6Uu_-#yw3&TRJlB}WfIyDpdf({%8|ii)Gu_ny!C-@ViHRSy#k9X@DJ$KSP@ zi|jQ-zesh=(W^`d_ZBV+e+a8Mq)CoxfKeSIC*4fPLa(EH_!S@%jV+aEKQXDYw677Z2bZlI>B z3PFXUC5CY2Q_tq;J$5rxPZTcHZj=@lBJu~6&`K9nG*S%d-xl+)naoVbn+>&)lND3C zACm5~{aOA^V1HvFE(K>mMZmu{@kIsiZv;$ALF1ItiwG>zw7Y2ZKz_$!){8^;eC9_` zg{BWhgTVRL4L+8eY7ObWB1~hBY5@8jL z{nm*AL~%U5viP3!2Dwm*1?}T|Gs@GT55WMW*-aJudu)FSJk_%_ZgH;^Io`KWot+!yb}+3938syfow4P$46ed0ljkdi(R7!DEJb3B7ir zM)bUXF_%?+(MY3)*Bw_Zip*5}X;|DIy;k$MibVL<{rf_gdP;v=~!;L z1C#guJ%YhtI95Nat9#zw?v$g4qMhv^8WgiNZ5}1RUGUc23d7_S%#1AE#66u9hQC>C z415yH69~#cOZn{zM*5lJxq!zNeB94gbQK6ICPjWAGpOawnH2 z`Di-0$gC2yDXau`;*S9OeSS*Z){{0iXaHS1;b*E|Fp6RoFb59}#X&I(NCq z8B)~sbxS6bnWBLO=3>Pz2YHwr;_8!l*JCG^1HFcl6c@x%V{S`=7R0#CPFE3?hyT6gf) zE<{;(S{{B}7=ARZ6q!`N;z|0n(@eHVOwjQmlbPxR;a-!Ileo#%()-Fqx;0mb{kSC|Tcwv(}1!ukr z_cD4Q=j`nKB=8MnaXWq=CC}4d-83(ErVouoD>nA@fOfjaj~_4g81`=(92(NB2v{LE z5yXs@p50Q{s_O+e7T+8?1(wiQ-|f?SEbKu8YD@O%EvGEUqtpu}eJ!@rv$J#vqkWS> z7WH0?{wMQty(1%6hv5+s5rajLbwn%|VM?D}7T(HYJD14ux}w}=5hh5qC;F4g%IfL} z@&b+jyrm_XMEIkmq;TtVly*!^%)iGPys;|885jbm-yR2UukSM5zOvr49QOMoH8pCm z0KwDKFD6Ed{Sb-)(Q)6teNKQzHgl#2~R?QuwURq?r>~ z^yS@e4H^xlWo6WrIh)s}$fB1Nc<5{=Y4R`1AjG*JGeev9b1y?fLu-yv?V6^MJ7A6; z#E+s@0?@Z6o5=*-{_BF$8u9dla;25J2(AJggaF3kq!G0NJf zOY~GkbozJz(j;J42WEl`_6DSI3RgX!sX`=xtZi?@@lR#C-kp-#wP^D@@iQN~o10e6 nvP{j*D+>J5fy)1FANu%bWIEr_2P+)hC7^{tyE@d{`y~7qE{r^} diff --git a/textures/homedecor_shingles_asphalt_s_t.png b/textures/homedecor_shingles_asphalt_s_t.png new file mode 100644 index 0000000000000000000000000000000000000000..384cd79abe811c65b2680fcd2f6ddd8cafdf5117 GIT binary patch literal 668 zcmV;N0%QG&P)Mo2D_w?Du<&F=H&~#u!RzS(ZOPKgc=foXfIov)KT^Fbs8F zuj`62p63|=Fvi|{Aq2+QITt5MqO~5!kq}Zd9LIs$*xQmt~2HqF9zCiXx>H03d`ytKDwL z7`wZ>yS=@YQYxkLJiouc$Jf`_gpg^PuCA{7zOSlkyWQ4x9Yv8bW*o<&D2y?O!{O-Y zsPFrjbIurx00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-sk9RMd6Y>~Th0008lNklO-Tf)B(8KJj%|xA+1zgv)prLe=Wn_Vi4_In`Cw?Yz9a z`2Jcb6cW7IYy{Wqb-{1l0AH%cbB{Dy3?J<3=HKz^ewX*Q@*>Cg)yXUj=`C zeF>h;W`gtiyx{x&u5z7w3)kcvYK&TO1b3Q*m)%4paWDa=M0An*PlgX&#)C`|x{AN8sD;A4_*Xy;a0k;~1`I42C z=D;I0z}%WVCchbX8OzB_=0fA~_*b29oVgI+MdNq=*b|IG=72YIDwT@-cz=Hvyjrc) z2UrJ>Mk6)99}b6tkH@3B4tqh4)s+-NjZuJgUrSi9Xe3Yh~B%Y|ySn*3m&hxtaeS{0m3Ce^)y8X%9|YT{rp zsMgcWm#6{eLd|B=C}a*iOatT}<1{%+Ue4!pHFsj1=Fu(Jr?J;WV^1lU%c*+cnnodW zz^ewxR~qY7H~ZIpfV`*1_zkQdzQ4cKnwzjiO~cl$VQ6fy_AYJl;0Fc=7CZ?xCz31%;qHN$SV z6U@Fo`=>lVCfD7rFjJqrr^LF#C}a+JH0Rl`-~R!@s-p$+d-6~K0000t_O$Z%z&?hMn>cswxItjcWi^?AtORc(X2);~8v{bob}zpI}# zK-9Sb03Z?&2m*uv)wvNo?gc0uC4o9OQ3NE21R+piUgHK)0w_WPj(3Z7?!sI1?IH4e zi|ETDrAXAdTkQPO?`MZik~C{STAp9+L(d}xfGqFdgVmqnIQP$hc4qACLe;}=gC$B>MBZzFyE4><_j?Ppq=Ak7oFr{YujkN7`}<@Q!h zZT_g#c~MA^Ywd+H+l|IEavRdB6wb^`+rImzgd}0JH*jgb-T^I zaPo_TpMRV@Hho{wvxD4A4*tBGKOy6-%l(@Xox=I*{0Fo*t$h3BRPn#m85YZuWX$jK z<<`hFIs5l$cS+UcQ8)KR1h-0;E)v~zo&jn$z=0$Mbh<8#m)8!+5Yfh zmy6Q={>oA6MenW`2TKl#Br&8&{fN==*j8?%%#oMq|G|-eZQkvj^Apxd?~KoXzgc{l z0JFm7hAc++saEUk1VwA6vh7$`!oK%x`Trt~{Wc3cW=*#RD>-nsAY`}Q!N-MMTPJu1 zNl%yNeVjcb_}z-D==Bd&m*`)am+bP#*7=i$2be3tdc zSDUWd$_7z2_ZQ324Dbba61)2@b;l94@5RH<%V!NhQ=bXqLQ_TJVW|ndF@>EPvDfHmb-Pw@NU~ zWLxovG1sdkE%%!I56$0TD;c%w4>Ba cFdgVmqnIQP$hc4qACLelcuMOV@Srmx3kXs9dZyjwmVljKu}e{iOHOQ-q#o2KkDpe zJzRFoO>3h4($;Oe=gqlkdOKuJPD_eKt?q68pRe+d-<3V``0(8Ce_wX;zVP12^!L+F zw!M>{FK7aXBWpY+qW|a7X<9|6{ zyew%+K4kV{)dBn3KOebvotbCavaR=D;`8_adIZ=PoMU{dxkF+bvrg!*6~DM^%nn@= zdtPyWtG)6O#udd2-f^pzh)op@Oq{U#&12c$#!fN~R_rdkC2aL%rONL90*UPr zyTl-3s`1J+TK~RRwNw0O2@&gW=`9uvmAXq>_OeL7S=Dyx&*FR9yUQM)=O|?ORd>KI zc9X6ndr^NUvy5`L?2CQpwrpHm`WhtpN+#loklr+@?$1W7vYF{dhurnfE-t=umCts2 z-(N{ZK8Lx?+s(fh1U`8mQ7*nQtpDS_dtqF=nJ+v(Xu5CehUW9{uJ!&qX?5+-#&&~U zQl?<%?Ni@YZ~T*8|fLgQu&X%Q~loCIF(3E@l7# literal 0 HcmV?d00001 diff --git a/textures/homedecor_shingles_terracotta_inv.png b/textures/homedecor_shingles_terracotta_inv.png index 712a935df50b7c369619a317296b5147b479cc87..ebaede991dfa0a3cd1f6d0c4d70e7c154e00c502 100644 GIT binary patch delta 3298 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 delta 3033 zcmV;~3nui08vPfLLVpJYG<6WG=Kuf;oJmAMRCwC$n%l2!XIaL7@Ar+vJg>vvyA3U1 zN_vAqsuw2qLcAhrYq1S=V~Pf&fp}qJ0|_?-yzw6pZu|p`hepgUA&^?V(MA$mxxgS1 zYNbG7cX#i#)|_h|#_9Xs*NbngxoePE>fUQZn9tpqYpyZg@qdixecr>Eu)_{J?6AWQ zJM6H-4m<3y!wx&_@G}OvQx|^r^8KdW5<#e<@xd=%lb;C!zV?UjxB2oqZPzf&Gc>GO zR%@IHQH@8RIbR~q?PA~f#0Sk;z+w#|sCL9=iD?H0i_M%>y~c?HgNLr14-vQhBHwuG z5%bRBTn^$e1b>Sy8f!!x7HeX=L@k2Bd^Km&tU(-6;n#1oB5vEszy1fmY)-&sBYZK# zPy~ng5)(l%G&G3_92y%!a|$RymBngK)g+SC;E`uulb;F#{{HgYEfdJ|g2TxHnK(>9 z@)<54Vx}M&;tRyU%+Oe&8bBNxHfVF26c7U^%LPrS0e?Xa9=>vGiMVAa`@7$mSuTP& zAuEO)3`(3BE*s&BDFz@8U+m#rj;Vsn!RP4&X2e)Q4462qTNB$QAVdvZTg*AB8Wf@J z0v~zqNPZ#+cGi5l5^Swq8bk6>SE5(roo9YaW(J0_g-?B zVd4;1AV5^3jmmpJ`;43m0pEP;VJmYXcaHh$1b-hllvzg9z>UQbU1*crYlnpf!C@Ht zlL^D3=%ruc%Dp5T49O;(#*(@VWZtvt;MGOd-(cWUQL~pTYQo{(0YyH>G$P^=UjUA1 zO4CIi_}q_2#GC%|%b)yB8)P2u92#phHh^FjiOmUUK*X`G*Bmd8aR>%zY`1BVd(Xjm zihmc6nc|8O8z!vVh!Y|BF;~}0)pm%_$>NGKypEYM9!$7rf1lDBCLUkxAz6uO1eYO_ zg9y=#s*C*6n^eUA`KAB-#G^LMJkANu7eJOg3q`{U%#uTg4Y65}#4Mbwj#yP2#0jQ` zY7LswVpI;;AC8kT0vj3g(kUFR8@$gL7Jns0^*x+5;0lI=A(K3XIvedV8B9=(h|7|a zT#gYz@{}58gfk*O_XT-N1bqLg2Mr8x_`wClWf-Z1Ial`oDOjvi&i5w^%^ZylCPLS> z9GxB!V^5NHSZsRJHx9;QYAd+(`E^sbgPD4!{0!Ni%IDB4maWdnbhkMjr%klD< zkryVp=d@{9)pf5qaDIsM1*(eo8Gi?}Ly9~dJ6GcJDL9W}h|5577EMDH6f@&}fA(eh zkp#SOdEZ<)Qn9lkfHC#5v5B9(e z!|?eOm-VF$L9!B@OLhQgyGATh1!dLLOjweOac$Fa^>l-U6)^_xd;8CG_u<=Ut5ZY- z6Crj>Vz=x=6GF2 zk<@RTk?=nh@Xt@otjuJ4BNwN86h7N_ary89i0`S(@Pk9Fe?lS-dw%&e0jX#B*p(OMM|!|NJU+AiqR&+`X2TJ)@!8Wh zTt35PQ!q_x80_Kw2qOh^(m9%Fh$RF1?(q@prbPrYlwY`ekJ)&Zray5wDM5Otv6yB7 zwe(qR(dKxov>0o&U4NivID~cEF|RjZU>ME~FgNIB7^&TumrjK&HKPPKKloM1NEL7VNW4GGQ1?hN6=$6}(yKHKfn}6gFhT;5>tF=efFrcF3 zqhEeSe(XNrUoP)k;XyIXj0=+)!@R`KykKxhYXyroU<&zQk45Krb+Jj~t{X6B&0TU8 z1AH-KSPYpJDUE!2fMkPSJs_?~hSgIMyA7u8Hl9!~&{+3%31TzHVvU)@6z27Yb<@#k zQp{RQHZkLOpMSk7Z@Cfrrzd7M%>_+<$S^NCm`+F^r2c)$j5aDSpH#Hw7!LOFbX*GG zrf>ntC)_mHf{U|DeTQL~FH&V8Jw3$XT#3=^)&eoCd(s8dK&VeJi!2%?hK>;{Jb^`< znxCqzh^jpD#iiV`R`{zQ+CTF(Q<*dOU$4%*fbl4w%)4aSD*fY z-11@Qh0FU^IO`3|$nr6-w>bi+MvB3VDf6`I!pKDF>KYOH#w16wQLhEaea6LuyZW*P zh$k!dZ+})AfNYQqG4a63>Xdbr_KHq~qthemcC+n0B(8br^WTx%Iu5`1p*>qPN-}Ft zUQW3G?z@yqhp=XuFk8t@6J&R5p z=5lVV8=@JeiiL_-PF7SwaVR6H_`uU&m)kxL-+$ZyO-*Cq{&&2adoSHbUA=~CyL}R& zS)kn}IkgDure?n0+#G>jj?2eqvlQNET-v*Y?-wH`f-m=RzGU5XoK_w90`VE^rsF%u zE3klROH|{-fAhlm>;vA2tDk(tW@VlX3n9c6v6*knmBxjCd~S8y;yjl(u*=UpW+L*2s&K^7YE2gtF@*&3 zZq7-o+kmbuH@yFu}K@$Qu=C31Y?-YWDHNW;(|8;J0-I1TAy!`Qp?P$~R+ES`Q#4)6% zkec`X`M;lgJa_CjLRX%A&t_O$Z%z&?hMn>cswxItjcWi^?AtORc(X2);~8v{bob}zpI}# zK-9Sb03Z?&2m*uv)wvNo?gc0uC4o9OQ3NE21R+piUgHK)0w_WPj(3Z7?!sI1?IH4e zi|ETDrAXAdTkQPO?`MZik~C{STAp9+L(d}xfGqFdgVmqnIATU1YLY9IpxlcuMOV@Srmx3kXs9dZyjwmVljKu}e{iOHOQ-q#o2KkDpe zJzRFoO>3h4($;Oe=gqlkdOKuJPD_eKt?q68pRe+d-<3V``0(8Ce_wX;zVP12^!L+F zw!M>{FK7aXBWpY+qW|a7X<9|6{ zyew%+K4kV{)dBn3KOebvotbCavaR=D;`8_adIZ=PoMU{dxkF+bvrg!*6~DM^%nn@= zdtPyWtG)6O#udd2-f^pzh)op@Oq{U#&12c$#!fN~R_rdkC2aL%rONL90*UPr zyTl-3s`1J+TK~RRwNw0O2@&gW=`9uvmAXq>_OeL7S=Dyx&*FR9yUQM)=O|?ORd>KI zc9X6ndr^NUvy5`L?2CQpwrpHm`WhtpN+#loklr+@?$1W7vYF{dhurnfE-t=umCts2 z-(N{ZK8Lx?+s(fh1U`8mQ7*nQtpDS_dtqF=nJ+v(Xu5CehUW9{uJ!&qX?5+-#&&~U zQl?<%?Ni@YZ~T*8|fLgQu&X%Q~loCIGYIE^Yt- literal 0 HcmV?d00001 diff --git a/textures/homedecor_shingles_wood_c_t.png b/textures/homedecor_shingles_wood_c_t.png new file mode 100644 index 0000000000000000000000000000000000000000..1125f743e89353939a5a6fb19076606ec7271dec GIT binary patch literal 567 zcmV-70?7S|P)6b0b5*52pl zrqdMZfONGlzV;X#mb3Lq1Q9_&)T$)+oc+@eepC4P(~qy$%f7pcdRy_Bd90PQUq4@W zbKA_NVRY1eh6s04gE9=`<$QjB9*?QH)$Qb$efZ`kuE>b?Mo=1}3&YJ#ZUQCAr8X9k znE)aS6etl6YM51Hb2rgVm1s4h z$psNKl5}^H!;NGcDI*DhB+<+^QQfVfN`T7htnTj3C4!x1Hr&jNvM2y>6CI+_P0_Uv zuc{J$`+J^GHl9aS-H*AM2)qCL=6~Gdm%sk>A);@euD9#Q?7qkIhui7Hz8#fo_Nn-C z8Seh`@9+No_2aM4&yP#%Q<7k2S#8Ru#W zFtLsQ4|-Jr*j+2T5~!#u7G;Q8XdJ5p0sx>A8g2lhF$SZeD?1xq@6Q9k<5)4HGb77H zuSp4 literal 0 HcmV?d00001 diff --git a/textures/homedecor_shingles_wood_c_x.png b/textures/homedecor_shingles_wood_c_x.png new file mode 100644 index 0000000000000000000000000000000000000000..50d813eb0a265323f2a8b7b5d32478741f5a27ca GIT binary patch literal 938 zcmV;b16BNqP)00009a7bBm000b5 z000XU0d+08zW@LL2XskIMF-sk9Rdj%gQ`n30009?NklD5^wDOPlP*e_WCIR&s^VhKov*D{o@YW_Hh+IWxBX^zohfbA7mc zv5Z4Z%eZNpWo)fo#$Ill{hXKax1SHo`0dUwBY4^Z#~}zV z&s)K3M0#&J@qe6V#A(>v^wnHJnNXa3*T#v>2tGJ@1rxL80d-(K4!pS-1h2rlZzKjc zuD+NW22?WN@Ap+4b3VD3pm})Tcn<+2ocS?M3L$l1H4a=3o8`k9%0ElsgAc?s;p%+5 zjAzWBV-TGaVioJG0gmd5C-TNLCxwtYuo?&ESv1T89$3e=ieT3kXz?ajjV9Cs8S$H( z;YF;^Gg~RC+HN_7pb%0AR^!0kBzStsCsuqbjbQq$hdwc`njgkVv=GW#6M^FybvE+= zbrD;UT$^UC2h@S}IMBcc_J4*=i#`l+Tx5O*7Crh!?=M7OeZ4uz{a4#+ZD7$CBA3{| z=bX(D6+-I3Y8=@163chHt~#mTaf_)%QJit#BKFJtZI50jcv38SqtIO&FYl1?^CA_Q zF)D=Af%Q1R*q`}4{QHz`~p%2R= zn*}xldQC^~fIYHk6+-I3|EUM|`#mrR%?+$4uEv~{1>c`BuIpdRl%YLXmy z&Z4PmErpOea4H9G?*y;sJ&)gGFZLgg-`|hIB_6-OzP_p2Ipz5MZv~)$p%b|<761SM M07*qoM6N<$f;iZ&asU7T literal 0 HcmV?d00001 diff --git a/textures/homedecor_shingles_wood_c_z.png b/textures/homedecor_shingles_wood_c_z.png new file mode 100644 index 0000000000000000000000000000000000000000..137407e07db404a21c25f5f00ec2838f20f7b7d0 GIT binary patch literal 955 zcmV;s14R6ZP)00009a7bBm000b5 z000XU0d+08zW@LL2XskIMF-sk9Rdg=T)m^m000A8Nkl&f3j(-PE(~Dw*HcR_>cL+x;l(R`Q6E zktVbp0SZnzi$OLo6gI^4d4V!geb6#QK0C= zG!c+i2&n^?a=-(Bh@8edAwh*ON6r{xvC74HGWe4a{-$XH2ZRrCO2zq&%^F74fhXYr zapr5meL~!ATsdZw4`~AKD+X=BG@x#3UtWtB*IKNLu?it|;8G4S##?J4r(GHADV6tx z1~EQCDr266$BFyOWQ@&4ZDySQNB04`8tSZEk>gP696@zhRdn~GYKTKs|6tOPz zb%l^Ra482CIvf6QAE4%mS+Ll7SJX(Q%vnpzm{jHSC_q!X}6R@B3@jTnF_w8)2J4qS_Y%~Go_!h;Z?Zy{1 z*t;)Bg^)UMH4eN2jz1zcuaJXULkX+zy@rB^UTX)(n$@>ijl8IeCw^LQ^B zQU@;O07A3zRy23h*kWEwn|w%#+9@D^W#I`uX&fDhs0Fci=2~!%@7e~1kUDTR4zMm1 zpf?=qLLGWii^0(7BaY!5&o~;B&|mX{-9^0>uaPl+(PPdEA$8zsIKY|=FCICgc3;#? zQ!LhYY$~5SiX+wnriUPZ#7DeS{sx7RI&dim*xOp@cwltpk>djQ8DPw;>qF~vPuSi_ zK7AUXXE@ZdA6ympoM5$2tPWg{1E0P<0N?VD;~>C1Bi*f9!TkYs)p3-%{;w1Dy1b*l zmuCVNizpriD>b44`$^8B_`E_$9k_TOFoNm3-6M|Q1MBY(C+L}fAHNUib2V$pch~=W d{Js^Q{02@YMoS>aX;c6J002ovPDHLkV1hsTzGVOa literal 0 HcmV?d00001 diff --git a/textures/homedecor_shingles_wood_inv.png b/textures/homedecor_shingles_wood_inv.png index 00cd144dd8451abfb884e7ac5c50bd3c6098b487..92f4687a46cd1c59afb30a03156f8d0cd0d9f51a 100644 GIT binary patch delta 2912 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 KMNUMnLSTXb?YpG_ delta 2772 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 a-u?%Zwyq`%SxLtL00006b0b5*52pl zrqdMZfONGlzV;X#mb3Lq1Q9_&)T$)+oc+@eepC4P(~qy$%f7pcdRy_Bd90PQUq4@W zbKA_NVRY1eh6s04gE9=`<$QjB9*?QH)$Qb$efZ`kuE>b?Mo=1}3&YJ#ZUQCAr8X9k znE)aS6etl6YM51Hb2rgVm1s4h z$psNKl5}^H!;NGcDI*DhB+<+^QQfVfN`T7htnTj3C4!x1Hr&jNvM2y>6CI+_P0_Uv zuc{J$`+J^GHl9aS-H*AM2)qCL=6~Gdm%sk>A);@euD9#Q?7qkIhui7Hz8#fo_Nn-C z8Seh`@9+No_2aM4&yP#%Q<7k2S#8Ru#W zFtLsQ4|-Jr*j+2T5~!#u7G;Q8XdJ5p0sx>A8g2lhF$SZeD?1xq@6Q9k<5)4HGb77H zu00009a7bBm000b5 z000XU0d+08zW@LL2XskIMF-sk9RM#h1}{Jh000A8Nkl&f3j(-PE(~Dw*HcR_>cL+x;l(R`Q6E zktVbp0SZnzi$OLo6gI^4d4V!geb6#QK0C= zG!c+i2&n^?a=-(Bh@8edAwh*ON6r{xvC74HGWe4a{-$XH2ZRrCO2zq&%^F74fhXYr zapr5meL~!ATsdZw4`~AKD+X=BG@x#3UtWtB*IKNLu?it|;8G4S##?J4r(GHADV6tx z1~EQCDr266$BFyOWQ@&4ZDySQNB04`8tSZEk>gP696@zhRdn~GYKTKs|6tOPz zb%l^Ra482CIvf6QAE4%mS+Ll7SJX(Q%vnpzm{jHSC_q!X}6R@B3@jTnF_w8)2J4qS_Y%~Go_!h;Z?Zy{1 z*t;)Bg^)UMH4eN2jz1zcuaJXULkX+zy@rB^UTX)(n$@>ijl8IeCw^LQ^B zQU@;O07A3zRy23h*kWEwn|w%#+9@D^W#I`uX&fDhs0Fci=2~!%@7e~1kUDTR4zMm1 zpf?=qLLGWii^0(7BaY!5&o~;B&|mX{-9^0>uaPl+(PPdEA$8zsIKY|=FCICgc3;#? zQ!LhYY$~5SiX+wnriUPZ#7DeS{sx7RI&dim*xOp@cwltpk>djQ8DPw;>qF~vPuSi_ zK7AUXXE@ZdA6ympoM5$2tPWg{1E0P<0N?VD;~>C1Bi*f9!TkYs)p3-%{;w1Dy1b*l zmuCVNizpriD>b44`$^8B_`E_$9k_TOFoNm3-6M|Q1MBY(C+L}fAHNUib2V$pch~=W d{Js^Q{02@YMoS>aX;c6J002ovPDHLkV1ft(yqEw0 literal 0 HcmV?d00001 diff --git a/textures/homedecor_skylight_frosted_inv.png b/textures/homedecor_skylight_frosted_inv.png index 1ef5b50a1bc42e060dc769f21fc699b974a73889..7472641af3dd40af92d98af495efc7a8223710ca 100644 GIT binary patch delta 1392 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 diff --git a/textures/homedecor_skylight_inv.png b/textures/homedecor_skylight_inv.png index b07995202c6552d7fffb69799f0e102d6a6f31a1..42f26e166eed5ee7a0a544a5ce9292d7ee4156e6 100644 GIT binary patch delta 1834 zcmV+_2i5qL3)c>iLVpDu1kzU5d;kCj_DMuRRCwC$nb}ht*Am9RGmE6rGC~MTX0gEp zu8nQB>muOTRjG3FnEbzaNGh?Ds+eoUBEU!>b_58tYc!hCEPWriWuwayh25$7y-m%i zd-^+ly8Da(2L}fS2L}fS2L}fS2L}fShnwZsU;jh5>7U(}<9|Q?m?cpZ!SfudRR!g8 z1wa1yhW+CO`0!zgIF7-xY}mF1%OdbRgUjWHuIs2)tN8x=3HFZ?U}`E!ic*Hp=SRI> z2V)H1d^6PGdv=K3kK7zp(h@yyeI*n*Fibs#y&b0UOV~RW;5t^pq>C?w-YAQ|~$AK}1(a~q@x8HuJ zNF;(%sfd>^$IrAgJ-tjWmxxlS1c2eyt6_Fy0?f^=6Js`fK0i#;M7dnS*w~Y%ZOqRv z)8OF0K7TzwGqXseqn}s&|1;z~;_+2-x!lk+4FE2@-J1H*=4Os~UO=IcN3B*vTU!LZ zy=}KPL^X=KPPT2sFbo)mftN1_*_8;ew6sl@WkHsMuq+FeN*SW)!oWb+oe2CmZ{Nm9 zk|elXE?AZY0C@4DxlB6o(DL#g1%oZHEEAPV1%FB&5?j@cRQ8A3wdjZ~(Bdut}j%D|nuVD2nLszt7GJers!&`ucjYzP>|8 z!hda$+wH;JT!M~PVS&6}32STHS8~c*TwI~XRbFhke)n$jgrAX-J~leq&p3{uqoWHR zj|bD!Ns7gm>C6n+*eHhFKZj<>w0PcJ_N zy?ZxF(P#vUqTt1gK{h!#LvFVlhGAfAY=4-=;|a1X8yv@QJOfW|jTF^tRd5^!N%Df@ z7zPJ>Pd>l4c1ZjCRodTIX>&72iA0)idtb+5^VB#`tWslZUi!;-oSsflEVfJw3mdeu zvQJY}NjkR+Y;5Go?RKG9EJBuLbau*LL=il#pmQ8Up-@DrEM}z3mnHF2m**0ve^t?zdl)*&kZV*sgZ44&@>H z!1Fx1yIcSAJ(~_>Z%-jf^1`+)6n~3F^!DDn6CzAaC8(_}f}^iVM-ywkuH);kpEdP< zT(gea+x<+_YT$Vu9*+mx+a=oFtu)mo4i8HW&#kU*HeCPtXY4}VCLUj-P$-0Qxd=s3 zP_OG48R=uq27jUBa59-DS#E)%RM6fYMK+s5PtVy0qxJP&0tjxmgpQ6@mVZdB5n~Lt zZDU~ID;A5*6JrcMp9ha0_ceVuJ3Kr@INS!?wjl^YQ|W$XY;NYLQXyJj&r&9%QYNFG zyMiA-rW)@5{PSCCOyf8;x6cnKmD;1NtpcS|8H&f(D3RE?)U3iTTX;gDFho&6sZ_q! zLsOw((ZRt!Ow&ZQT7@hJ@qgq==cWCz%V)#U2ptT%P%PE~5boXcT$vCX8#&Un8jcDu zK@>&g^H~fH_1@kmv6CX?NtR{UHeqjX7cDI<=<2#$Hf(Jb2mlnNf^hgAL{UVgQbKok z_-=g^{aoy_)ZQM3t^)v}T2;}};lGgmWHL>XBth48gu@ZkYSn8S$A7QfXg+U}%f+Ku ztboXZ-|t5#BsS$|ceg@jYZ_Xi=0{FT;{OAkVShj3VAs;VLo2qF*&z%+Fn9_pvItDT)P`FuVw z#t;gH;PVAgE|+d3_ye z5ZN$I3-!7VuUCR$*tZt^jb*^`p~>r&!1Dr%#loFAQQjz}k|RZMaBy&NaBy&NaJY5; Y3vokc7zp>4W&i*H07*qoM6N<$f{{0Eg#Z8m delta 1379 zcmV-p1)TcV4wMU!LVpJZ5KstycK`qdGf6~2RCwC$TKQ8GNfiEGcTWPM?7C~Mu4}mq zMlQjFDz#9wgrz+GXt9(-4y6jj$Z2$SRV-ORjwCbP{q~1R2-zhNAQw8{Z&T^%e&085 z-ZcRN1PBlyK!5-N0t5&UAV7cs0lqU(xeo5_eak`!5D_*u)_?HeK@)u!0z7*37fUHY zL`Wp!kWxZQ1pqKcqr3YL`X&W<{P;bmiF%%kuCB9LXFq%xW2GEut?}odr4ym(2le%R zWGMvzf-wfSZv9I6dI~ep-F=o0r2sy01tA2iHMnu(7uuW0{LMlLFk4t_aOX~Ogedr? z{r#Uu+bVhIQTMmcAu+~Cr{l8bIVg%^#|HO_Hf)El~d+6vmL4}SX zN;xpbz!(o*UB6RB2+-H}k*lhzQ?71t_3Do~_gq+TSt$k2^Kj}^n1+WJ*;+ zeuEvyf#-QRbLL3SJ)S)Iz(Pn^tKoUxfdghiR2&&u;(u$`j_0-4!h*{uPlmQ#`{6^J zPoJ))d_9hcV68zinM6-d9hF3Yfq~DPPyEW2nz9vATRlQ41!FXl$pm_O>ZvFK3=MtZ zaJU*$N?2=f`EvQm|JNgg5YSpACG1bF)N3s+Ykfs_)=jEfhmDvJ1aLhL2; zBWym6Dj7a}O-S$jA~4Au&3-!T{hnAtr~+mz=n;oiOMV3?EG^t5Fn+8k6gHy^HGI5f1#>D0~4xPJYoZS5DiHfU@V z&uFjg75vZEfx5E1|VPbF->QZx|h2VJQWe z0U}0wd+n}virp5pxBozq2oYdG1UQbY*ncOlls{`^&X4?_F*TK}_}5@`ba_uU?pvjq z8O=&bSj&h+c2AelsK-hvSnH?P>1i(&qzLEF`_VR$@B^>wx;S=h_slas9%mwg)*9{Y zNB6}=>{kFHPQ7b{xjDP5>MbqlEW)WE>ri^13>ZYni~PhylGBAv*#;t$lWSa4Q-8B1 zKx#BJ6gORtkH=Xl2h2A0QDuF{DO5=&La`WgS_Eq?A`w{>5njIZ*f*I$L}+O_cs3G+ zFs!bQ$XWv;zvh1Zy6`nardJ^tV+%sQU>=ak5`Hg{rf-ZvByuoAqfwLkJ^&B_iNr=h zr%^?5)i-aLt@RCNX4Kd3uc?}zwto!xdEFR`3l|DsfE6uZ&Ch!*rOIlm8XEFzs-n>( zJ5FfxUe_&NLnewPz`1h{`CosLsvtvo-8VaHIlWd&U~TPdQM=KS)bukm32tcEeV95w zpUx(}%QrR_zvn1RQxl6>HpXrS$k|z)stSE?aa|8hO{E#amRx{$@0g9r)Laai0W2T{ zu)4aAwzi|+&i@0p_W;d+NOf*V1v`uSdRcONL^%Ygt5c-43!-$YG-V-QcFfGgd1`8% l5g