summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2019-05-27 15:07:25 -0400
committerVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2019-05-27 15:07:25 -0400
commit65fce91b5c5cd26c945bec2b4073df8664b9a8e4 (patch)
tree719ab3b1594c1b874697536808e635200a15b424
parent9e49bc6167e9ee9900fdd205026c3143687ed33e (diff)
downloaddreambuilder_modpack-65fce91b5c5cd26c945bec2b4073df8664b9a8e4.tar
dreambuilder_modpack-65fce91b5c5cd26c945bec2b4073df8664b9a8e4.tar.gz
dreambuilder_modpack-65fce91b5c5cd26c945bec2b4073df8664b9a8e4.tar.bz2
dreambuilder_modpack-65fce91b5c5cd26c945bec2b4073df8664b9a8e4.tar.xz
dreambuilder_modpack-65fce91b5c5cd26c945bec2b4073df8664b9a8e4.zip
update digistuff, farming, homedecor, signs_lib, simple streetlights
-rw-r--r--digistuff/touchscreen.lua26
-rw-r--r--farming/farming.conf_example1
-rw-r--r--homedecor_doors_and_gates/init.lua205
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_closet.obj518
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_closet_a.obj878
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_closet_b.obj878
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_closet_right.obj518
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_fancy.obj112
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_fancy_a.obj108
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_fancy_b.obj108
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_fancy_right.obj112
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_plain.obj35
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_plain_right.obj35
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_wood_glass.obj243
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_wood_glass_3_a.obj138
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_wood_glass_3_b.obj138
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_wood_glass_a.obj334
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_wood_glass_b.obj334
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_wood_glass_right.obj243
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_woodglass_typea.obj114
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_woodglass_typea_right.obj114
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_wrought_iron.obj88
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_wrought_iron_a.obj124
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_wrought_iron_b.obj123
-rw-r--r--homedecor_doors_and_gates/models/homedecor_door_wrought_iron_right.obj88
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_bedroom.pngbin3627 -> 2448 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_closet_mahogany.pngbin5802 -> 5093 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_closet_oak.pngbin5966 -> 5163 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy.pngbin2256 -> 2607 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy_inv.pngbin1410 -> 1410 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_glass.pngbin731 -> 649 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_wood_glass_mahogany.pngbin8292 -> 7697 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_wood_glass_oak.pngbin8659 -> 7964 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white.pngbin4442 -> 2516 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white_inv.pngbin1315 -> 1107 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_wood_plain.pngbin9153 -> 8084 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_wood_plain_inv.pngbin3305 -> 3289 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_woodglass.pngbin2488 -> 2186 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_woodglass2.pngbin2482 -> 2391 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_woodglass2_inv.pngbin1242 -> 1242 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_door_wrought_iron.pngbin27961 -> 16933 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_gate_half_door_fb.pngbin2085 -> 2028 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_gate_half_door_lr.pngbin684 -> 674 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_gate_half_door_tb.pngbin421 -> 408 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_fb.pngbin1080 -> 712 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_lr.pngbin384 -> 246 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_tb.pngbin310 -> 171 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_gate_picket_front.pngbin1956 -> 1940 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_gate_picket_white_back.pngbin514 -> 498 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_gate_picket_white_front.pngbin556 -> 540 bytes
-rw-r--r--homedecor_doors_and_gates/textures/homedecor_japanese_paper.pngbin591 -> 591 bytes
-rw-r--r--homedecor_electrical/depends.txt2
-rw-r--r--homedecor_electrical/init.lua109
-rw-r--r--homedecor_electrical/textures/homedecor_light_switch_back.pngbin310 -> 368 bytes
-rw-r--r--homedecor_electrical/textures/homedecor_light_switch_edges.pngbin175 -> 167 bytes
-rw-r--r--homedecor_electrical/textures/homedecor_light_switch_front.pngbin142 -> 0 bytes
-rw-r--r--homedecor_electrical/textures/homedecor_light_switch_front_off.pngbin0 -> 281 bytes
-rw-r--r--homedecor_electrical/textures/homedecor_light_switch_front_on.pngbin0 -> 284 bytes
-rw-r--r--homedecor_exterior/init.lua174
-rw-r--r--homedecor_furniture/init.lua236
-rw-r--r--homedecor_lighting/depends.txt1
-rw-r--r--homedecor_lighting/init.lua1389
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_base.pngbin0 -> 83 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_bottom.pngbin95 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_cube_sides.pngbin93 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_cube_sides_edges.pngbin0 -> 106 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_cube_sides_glare.png (renamed from homedecor_lighting/textures/homedecor_glowlight_cube_sides_overlay.png)bin203 -> 203 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_cube_tb.pngbin94 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_cube_tb_edges.pngbin0 -> 104 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_cube_top_glare.png (renamed from homedecor_lighting/textures/homedecor_glowlight_cube_tb_overlay.png)bin204 -> 204 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_tb_edges.pngbin0 -> 96 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thick_sides.pngbin95 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thick_sides_edges.pngbin0 -> 100 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thick_sides_glare.png (renamed from homedecor_lighting/textures/homedecor_glowlight_top_overlay.png)bin423 -> 423 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thick_sides_overlay.pngbin307 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thin_sides.pngbin96 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thin_sides_edges.pngbin0 -> 97 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thin_sides_glare.pngbin0 -> 313 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thin_sides_overlay.pngbin187 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_top.pngbin93 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_top_glare.pngbin0 -> 423 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_large.pngbin360 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_large_light.pngbin0 -> 661 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_large_overlay.pngbin0 -> 210 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_small_sides.pngbin377 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_light.pngbin0 -> 493 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_overlay.pngbin0 -> 282 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_small_tb.pngbin379 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_light.pngbin0 -> 493 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_overlay.pngbin0 -> 287 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_plasma_lamp_off.pngbin0 -> 68 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_table_generic_light_source_off.pngbin0 -> 450 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_table_generic_light_source_on.png (renamed from homedecor_lighting/textures/homedecor_table_standing_lamp_lightbulb.png)bin594 -> 594 bytes
-rw-r--r--homedecor_office/init.lua53
-rw-r--r--homedecor_seating/README.txt (renamed from lrfurn/README.txt)0
-rw-r--r--homedecor_seating/armchairs.lua (renamed from lrfurn/armchairs.lua)54
-rw-r--r--homedecor_seating/depends.txt (renamed from lrfurn/depends.txt)0
-rw-r--r--homedecor_seating/init.lua (renamed from lrfurn/init.lua)13
-rw-r--r--homedecor_seating/longsofas.lua (renamed from lrfurn/longsofas.lua)4
-rw-r--r--homedecor_seating/misc.lua334
-rw-r--r--homedecor_seating/models/forniture_armchair.obj (renamed from homedecor_furniture/models/forniture_armchair.obj)0
-rw-r--r--homedecor_seating/models/homedecor_bench_large_1.obj (renamed from homedecor_exterior/models/homedecor_bench_large_1.obj)0
-rw-r--r--homedecor_seating/models/homedecor_bench_large_2.obj (renamed from homedecor_exterior/models/homedecor_bench_large_2.obj)0
-rw-r--r--homedecor_seating/models/homedecor_deckchair.obj (renamed from homedecor_exterior/models/homedecor_deckchair.obj)0
-rw-r--r--homedecor_seating/models/homedecor_kitchen_chair.obj (renamed from homedecor_furniture/models/homedecor_kitchen_chair.obj)0
-rw-r--r--homedecor_seating/models/homedecor_office_chair_basic.obj (renamed from homedecor_office/models/homedecor_office_chair_basic.obj)0
-rw-r--r--homedecor_seating/models/homedecor_office_chair_upscale.obj (renamed from homedecor_office/models/homedecor_office_chair_upscale.obj)0
-rw-r--r--homedecor_seating/models/lrfurn_armchair.obj (renamed from lrfurn/models/lrfurn_armchair.obj)0
-rw-r--r--homedecor_seating/models/lrfurn_sofa_long.obj (renamed from lrfurn/models/lrfurn_sofa_long.obj)0
-rw-r--r--homedecor_seating/models/lrfurn_sofa_short.obj (renamed from lrfurn/models/lrfurn_sofa_short.obj)0
-rw-r--r--homedecor_seating/sofas.lua (renamed from lrfurn/sofas.lua)4
-rw-r--r--homedecor_seating/textures/homedecor_armchair_inv.png (renamed from homedecor_furniture/textures/homedecor_armchair_inv.png)bin6376 -> 6376 bytes
-rw-r--r--homedecor_seating/textures/homedecor_bench_large_1_inv.png (renamed from homedecor_exterior/textures/homedecor_bench_large_1_inv.png)bin6154 -> 6154 bytes
-rw-r--r--homedecor_seating/textures/homedecor_bench_large_2_inv.png (renamed from homedecor_exterior/textures/homedecor_bench_large_2_inv.png)bin6581 -> 6581 bytes
-rw-r--r--homedecor_seating/textures/homedecor_chair_padded_inv.png (renamed from homedecor_furniture/textures/homedecor_chair_padded_inv.png)bin4554 -> 4554 bytes
-rw-r--r--homedecor_seating/textures/homedecor_chair_wood_inv.png (renamed from homedecor_furniture/textures/homedecor_chair_wood_inv.png)bin4411 -> 4411 bytes
-rw-r--r--homedecor_seating/textures/homedecor_deckchair.png (renamed from homedecor_exterior/textures/homedecor_deckchair.png)bin314 -> 314 bytes
-rw-r--r--homedecor_seating/textures/homedecor_deckchair_striped_blue.png (renamed from homedecor_exterior/textures/homedecor_deckchair_striped_blue.png)bin355 -> 355 bytes
-rw-r--r--homedecor_seating/textures/homedecor_office_chair_basic.png (renamed from homedecor_office/textures/homedecor_office_chair_basic.png)bin5309 -> 5309 bytes
-rw-r--r--homedecor_seating/textures/homedecor_office_chair_upscale.png (renamed from homedecor_office/textures/homedecor_office_chair_upscale.png)bin4558 -> 4558 bytes
-rw-r--r--homedecor_seating/textures/lrfurn_armchair_inv.png (renamed from lrfurn/textures/lrfurn_armchair_inv.png)bin6841 -> 6841 bytes
-rw-r--r--homedecor_seating/textures/lrfurn_longsofa_inv.png (renamed from lrfurn/textures/lrfurn_longsofa_inv.png)bin4423 -> 4423 bytes
-rw-r--r--homedecor_seating/textures/lrfurn_sofa_bottom.png (renamed from lrfurn/textures/lrfurn_sofa_bottom.png)bin642 -> 642 bytes
-rw-r--r--homedecor_seating/textures/lrfurn_sofa_inv.png (renamed from lrfurn/textures/lrfurn_sofa_inv.png)bin5297 -> 5297 bytes
-rw-r--r--homedecor_seating/textures/lrfurn_upholstery.png (renamed from lrfurn/textures/lrfurn_upholstery.png)bin2309 -> 2309 bytes
-rw-r--r--homedecor_tables/coffeetable.lua (renamed from lrfurn/coffeetable.lua)43
-rw-r--r--homedecor_tables/endtable.lua (renamed from lrfurn/endtable.lua)3
-rw-r--r--homedecor_tables/init.lua373
-rw-r--r--homedecor_tables/misc.lua370
-rw-r--r--homedecor_tables/textures/lrfurn_coffeetable_back.png (renamed from lrfurn/textures/lrfurn_coffeetable_back.png)bin488 -> 488 bytes
-rw-r--r--homedecor_tables/textures/lrfurn_coffeetable_front.png (renamed from lrfurn/textures/lrfurn_coffeetable_front.png)bin473 -> 473 bytes
-rw-r--r--signs_lib/init.lua64
-rw-r--r--simple_streetlights/simple.lua32
133 files changed, 5159 insertions, 3714 deletions
diff --git a/digistuff/touchscreen.lua b/digistuff/touchscreen.lua
index 5b3c5b7..285590b 100644
--- a/digistuff/touchscreen.lua
+++ b/digistuff/touchscreen.lua
@@ -37,6 +37,15 @@ digistuff.update_ts_formspec = function (pos)
end
choices = string.sub(choices,1,-2)
fs = fs..string.format("dropdown[%s,%s;%s,%s;%s;%s;%s]",field.X,field.Y,field.W,field.H,field.name,choices,field.selected_id)
+ elseif field.type == "textlist" then
+ local listelements = ""
+ for _,i in ipairs(field.listelements) do
+ if type(i) == "string" then
+ listelements = listelements..minetest.formspec_escape(i)..","
+ end
+ end
+ listelements = string.sub(listelements,1,-2)
+ fs = fs..string.format("textlist[%s,%s;%s,%s;%s;%s;%s;%s]",field.X,field.Y,field.W,field.H,field.name,listelements,field.selected_id,field.transparent)
end
end
end
@@ -209,6 +218,23 @@ digistuff.process_command = function (meta, data, msg)
end
local field = {type="dropdown",X=msg.X,Y=msg.Y,W=msg.W,H=msg.H,name=msg.name,selected_id=msg.selected_id,choices=msg.choices}
table.insert(data,field)
+ elseif msg.command == "addtextlist" then
+ for _,i in pairs({"X","Y","W","H","selected_id"}) do
+ if not msg[i] or type(msg[i]) ~= "number" then
+ return
+ end
+ end
+ if not msg.name or type(msg.name) ~= "string" then
+ return
+ end
+ if not msg.listelements or type(msg.listelements) ~= "table" or #msg.listelements < 1 then
+ return
+ end
+ if not msg.transparent or type(msg.transparent) ~= "boolean" then
+ msg.transparent = false
+ end
+ local field = {type="textlist",X=msg.X,Y=msg.Y,W=msg.W,H=msg.H,name=msg.name,selected_id=msg.selected_id,listelements=msg.listelements,transparent=msg.transparent}
+ table.insert(data,field)
elseif msg.command == "lock" then
meta:set_int("locked",1)
elseif msg.command == "unlock" then
diff --git a/farming/farming.conf_example b/farming/farming.conf_example
index d108bb5..9338142 100644
--- a/farming/farming.conf_example
+++ b/farming/farming.conf_example
@@ -30,7 +30,6 @@ farming.pineapple = 0.001
farming.peas = 0.001
farming.beetroot = 0.001
farming.grains = true -- true or false only
-farming.rarety = 0.002
-- default rarety of crops on map (higher number = more crops)
farming.rarety = 0.002
diff --git a/homedecor_doors_and_gates/init.lua b/homedecor_doors_and_gates/init.lua
index effc695..5a1e881 100644
--- a/homedecor_doors_and_gates/init.lua
+++ b/homedecor_doors_and_gates/init.lua
@@ -1,6 +1,18 @@
-- Node definitions for Homedecor doors
local S = homedecor.gettext
+local mesecons_mp = minetest.get_modpath("mesecons")
+
+-- clone node
+
+function hd_doors_clone_node(name)
+ local node2 = {}
+ local node = minetest.registered_nodes[name]
+ for k,v in pairs(node) do
+ node2[k]=v
+ end
+ return node2
+end
-- new doors using minetest_game doors API
@@ -24,7 +36,8 @@ local door_list = {
close = "homedecor_door_close",
},
backface = true,
- alpha = true
+ alpha = true,
+ custom_model = "homedecor_door_fancy"
},
{ name = "wood_glass_oak",
@@ -33,6 +46,9 @@ local door_list = {
sounds = {
main = default.node_sound_glass_defaults(),
},
+ backface = true,
+ alpha = true,
+ custom_model = "homedecor_door_wood_glass"
},
{ name = "wood_glass_mahogany",
@@ -41,6 +57,9 @@ local door_list = {
sounds = {
main = default.node_sound_glass_defaults(),
},
+ backface = true,
+ alpha = true,
+ custom_model = "homedecor_door_wood_glass"
},
{ name = "wood_glass_white",
@@ -49,6 +68,9 @@ local door_list = {
sounds = {
main = default.node_sound_glass_defaults(),
},
+ backface = true,
+ alpha = true,
+ custom_model = "homedecor_door_wood_glass"
},
{ name = "bedroom",
@@ -70,10 +92,11 @@ local door_list = {
close = "doors_steel_door_close",
},
backface = true,
+ custom_model = "homedecor_door_wrought_iron"
},
- { name = "woodglass",
- description = "Wooden door with glass insert",
+ { name = "woodglass2",
+ description = "Wooden door with glass insert, type 2",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = {
main = default.node_sound_wood_defaults(),
@@ -84,8 +107,8 @@ local door_list = {
alpha = true
},
- { name = "woodglass2",
- description = "Wooden door with glass insert, type 2",
+ { name = "woodglass",
+ description = "Wooden door with glass insert, type 3",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = {
main = default.node_sound_wood_defaults(),
@@ -93,7 +116,8 @@ local door_list = {
close = "homedecor_door_close",
},
backface = true,
- alpha = true
+ alpha = true,
+ custom_model = "homedecor_door_wood_glass_3"
},
{ name = "closet_mahogany",
@@ -101,7 +125,8 @@ local door_list = {
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = {
main = default.node_sound_wood_defaults(),
- }
+ },
+ custom_model = "homedecor_door_closet"
},
{ name = "closet_oak",
@@ -109,11 +134,34 @@ local door_list = {
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = {
main = default.node_sound_wood_defaults(),
- }
+ },
+ custom_model = "homedecor_door_closet"
},
}
local old_doors = {}
+local mesecons
+
+-- This part blatantly copied from Mesecons, and modified :-)
+if mesecons_mp then
+ mesecons = {
+ effector = {
+ action_on = function(pos, node)
+ local door = doors.get(pos)
+ if door then
+ door:open()
+ end
+ end,
+ action_off = function(pos, node)
+ local door = doors.get(pos)
+ if door then
+ door:close()
+ end
+ end,
+ rules = mesecon.rules.pplate
+ }
+ }
+end
for _, door in ipairs(door_list) do
doors.register(door.name, {
@@ -123,16 +171,35 @@ for _, door in ipairs(door_list) do
groups = table.copy(door.groups),
sounds = door.sounds.main,
sound_open = door.sounds.open,
- sound_close = door.sounds.close
+ sound_close = door.sounds.close,
+ mesecons = mesecons
})
+
+ local nn_a = "doors:"..door.name.."_a"
+ local nn_b = "doors:"..door.name.."_b"
+
+
if door.alpha then
- minetest.override_item("doors:"..door.name.."_a", {
- use_texture_apha = true
- })
- minetest.override_item("doors:"..door.name.."_b", {
- use_texture_apha = true
- })
- end
+ local def = hd_doors_clone_node(nn_a)
+ def.use_texture_alpha = true
+ def.mesh = "door_a.obj" -- leaving this out will break the _a model
+ minetest.register_node(":"..nn_a, def) -- assignment when the override takes place
+
+ def = hd_doors_clone_node(nn_b)
+ def.use_texture_alpha = true
+ minetest.register_node(":"..nn_b, def)
+ end
+
+ if door.custom_model then
+ def = hd_doors_clone_node(nn_a)
+ def.mesh = door.custom_model.."_a.obj"
+ minetest.register_node(":"..nn_a, def)
+
+ def = hd_doors_clone_node(nn_b)
+ def.mesh = door.custom_model.."_b.obj"
+ minetest.register_node(":"..nn_b, def)
+ end
+
old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_left"
old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_right"
end
@@ -250,13 +317,16 @@ for i, g in ipairs(gate_list) do
homedecor.flip_gate(pos, node, clicker, gate, "closed")
return itemstack
end,
- mesecons = {
+ }
+
+ if mesecons_mp then
+ def.mesecons = {
effector = {
- rules = m_rules,
+ rules = mesecon.rules.pplate,
action_on = function(pos,node) homedecor.flip_gate(pos,node,nil,gate, "closed") end
}
}
- }
+ end
-- gates when placed default to closed, closed.
@@ -280,10 +350,13 @@ for i, g in ipairs(gate_list) do
homedecor.flip_gate(pos, node, clicker, gate, "open")
return itemstack
end
- def.mesecons.effector = {
- rules = m_rules,
- action_off = function(pos,node) homedecor.flip_gate(pos,node,nil,gate, "open") end
- }
+
+ if mesecons_mp then
+ def.mesecons.effector = {
+ rules = mesecon.rules.pplate,
+ action_off = function(pos,node) homedecor.flip_gate(pos,node,nil,gate, "open") end
+ }
+ end
minetest.register_node(":homedecor:gate_"..gate.."_open", def)
end
@@ -391,17 +464,8 @@ minetest.register_craft( {
type = "shapeless",
output = "homedecor:gate_half_door_closed 4",
recipe = {
- "homedecor:door_wood_plain_left",
- "homedecor:door_wood_plain_left"
- },
-})
-
-minetest.register_craft( {
- type = "shapeless",
- output = "homedecor:gate_half_door_closed 4",
- recipe = {
- "homedecor:door_wood_plain_right",
- "homedecor:door_wood_plain_right"
+ "homedecor:door_wood_plain_a",
+ "homedecor:door_wood_plain_a"
},
})
@@ -409,17 +473,8 @@ minetest.register_craft( {
type = "shapeless",
output = "homedecor:gate_half_door_white_closed 4",
recipe = {
- "homedecor:door_bedroom_left",
- "homedecor:door_bedroom_left"
- },
-})
-
-minetest.register_craft( {
- type = "shapeless",
- output = "homedecor:gate_half_door_white_closed 4",
- recipe = {
- "homedecor:door_bedroom_right",
- "homedecor:door_bedroom_right"
+ "homedecor:door_bedroom_a",
+ "homedecor:door_bedroom_a"
},
})
@@ -494,7 +549,7 @@ minetest.register_craft( {
-- plain wood, non-windowed
minetest.register_craft( {
- output = "homedecor:door_wood_plain_left 2",
+ output = "homedecor:door_wood_plain_a 2",
recipe = {
{ "group:wood", "group:wood", "" },
{ "group:wood", "group:wood", "default:steel_ingot" },
@@ -505,7 +560,7 @@ minetest.register_craft( {
-- fancy exterior
minetest.register_craft( {
- output = "homedecor:door_exterior_fancy_left 2",
+ output = "homedecor:door_exterior_fancy_a 2",
recipe = {
{ "group:wood", "default:glass" },
{ "group:wood", "group:wood" },
@@ -518,7 +573,7 @@ minetest.register_craft( {
-- bare
minetest.register_craft( {
- output = "homedecor:door_wood_glass_oak_left 2",
+ output = "homedecor:door_wood_glass_oak_a 2",
recipe = {
{ "default:glass", "group:wood" },
{ "group:wood", "default:glass" },
@@ -527,7 +582,7 @@ minetest.register_craft( {
})
minetest.register_craft( {
- output = "homedecor:door_wood_glass_oak_left 2",
+ output = "homedecor:door_wood_glass_oak_a 2",
recipe = {
{ "group:wood", "default:glass" },
{ "default:glass", "group:wood" },
@@ -539,22 +594,11 @@ minetest.register_craft( {
minetest.register_craft( {
type = "shapeless",
- output = "homedecor:door_wood_glass_mahogany_left 2",
- recipe = {
- "default:dirt",
- "default:coal_lump",
- "homedecor:door_wood_glass_oak_left",
- "homedecor:door_wood_glass_oak_left"
- },
-})
-
-minetest.register_craft( {
- type = "shapeless",
- output = "homedecor:door_wood_glass_mahogany_left 2",
+ output = "homedecor:door_wood_glass_mahogany_a 2",
recipe = {
"dye:brown",
- "homedecor:door_wood_glass_oak_left",
- "homedecor:door_wood_glass_oak_left"
+ "homedecor:door_wood_glass_oak_a",
+ "homedecor:door_wood_glass_oak_a"
},
})
@@ -562,11 +606,11 @@ minetest.register_craft( {
minetest.register_craft( {
type = "shapeless",
- output = "homedecor:door_wood_glass_white_left 2",
+ output = "homedecor:door_wood_glass_white_a 2",
recipe = {
"dye:white",
- "homedecor:door_wood_glass_oak_left",
- "homedecor:door_wood_glass_oak_left"
+ "homedecor:door_wood_glass_oak_a",
+ "homedecor:door_wood_glass_oak_a"
},
})
@@ -575,7 +619,7 @@ minetest.register_craft( {
-- oak
minetest.register_craft( {
- output = "homedecor:door_closet_oak_left 2",
+ output = "homedecor:door_closet_oak_a 2",
recipe = {
{ "", "group:stick", "group:stick" },
{ "default:steel_ingot", "group:stick", "group:stick" },
@@ -587,21 +631,10 @@ minetest.register_craft( {
minetest.register_craft( {
type = "shapeless",
- output = "homedecor:door_closet_mahogany_left 2",
- recipe = {
- "homedecor:door_closet_oak_left",
- "homedecor:door_closet_oak_left",
- "default:dirt",
- "default:coal_lump",
- },
-})
-
-minetest.register_craft( {
- type = "shapeless",
- output = "homedecor:door_closet_mahogany_left 2",
+ output = "homedecor:door_closet_mahogany_a 2",
recipe = {
- "homedecor:door_closet_oak_left",
- "homedecor:door_closet_oak_left",
+ "homedecor:door_closet_oak_a",
+ "homedecor:door_closet_oak_a",
"dye:brown"
},
})
@@ -609,7 +642,7 @@ minetest.register_craft( {
-- wrought fence-like door
minetest.register_craft( {
- output = "homedecor:door_wrought_iron_left 2",
+ output = "homedecor:door_wrought_iron_a 2",
recipe = {
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
@@ -620,10 +653,10 @@ minetest.register_craft( {
-- bedroom door
minetest.register_craft( {
- output = "homedecor:door_bedroom_left",
+ output = "homedecor:door_bedroom_a",
recipe = {
{ "dye:white", "dye:white", "" },
- { "homedecor:door_wood_plain_left", "basic_materials:brass_ingot", "" },
+ { "homedecor:door_wood_plain_a", "basic_materials:brass_ingot", "" },
{ "", "", "" },
},
})
@@ -631,7 +664,7 @@ minetest.register_craft( {
-- woodglass door
minetest.register_craft( {
- output = "homedecor:door_woodglass_left",
+ output = "homedecor:door_woodglass_a",
recipe = {
{ "group:wood", "default:glass", "" },
{ "group:wood", "default:glass", "basic_materials:brass_ingot" },
@@ -642,7 +675,7 @@ minetest.register_craft( {
-- woodglass door type 2
minetest.register_craft( {
- output = "homedecor:door_woodglass2_left",
+ output = "homedecor:door_woodglass2_a",
recipe = {
{ "default:glass", "default:glass", "" },
{ "group:wood", "group:wood", "default:iron_lump" },
diff --git a/homedecor_doors_and_gates/models/homedecor_door_closet.obj b/homedecor_doors_and_gates/models/homedecor_door_closet.obj
deleted file mode 100644
index 3cbfca7..0000000
--- a/homedecor_doors_and_gates/models/homedecor_door_closet.obj
+++ /dev/null
@@ -1,518 +0,0 @@
-# Blender v2.73 (sub 0) OBJ File: 'door-closet.blend'
-# www.blender.org
-o Cylinder
-v 0.499750 1.499500 0.499969
-v -0.499750 1.499500 0.499969
-v 0.499750 -0.499500 0.499969
-v -0.499750 -0.499500 0.499969
-v -0.499750 1.499500 0.375031
-v 0.499750 1.499500 0.375031
-v -0.499750 -0.499500 0.375031
-v 0.499750 -0.499500 0.375031
-v -0.499750 -0.374531 0.499969
-v 0.499750 1.374531 0.499969
-v 0.499750 -0.374531 0.375031
-v -0.499750 1.374531 0.375031
-v 0.374875 0.437531 0.499969
-v -0.374875 0.437531 0.499969
-v -0.374875 1.374531 0.499969
-v -0.374875 0.437531 0.375031
-v 0.374875 0.437531 0.375031
-v 0.374875 1.374531 0.375031
-v -0.374875 1.374531 0.375031
-v 0.374875 1.374531 0.499969
-v -0.499750 1.374531 0.499969
-v 0.499750 -0.374531 0.499969
-v 0.499750 1.374531 0.375031
-v -0.499750 -0.374531 0.375031
-v 0.374875 -0.374531 0.499969
-v -0.374875 -0.374531 0.499969
-v -0.374875 0.562469 0.499969
-v -0.374875 -0.374531 0.375031
-v 0.374875 -0.374531 0.375031
-v 0.374875 0.562469 0.375031
-v -0.374875 0.562469 0.375031
-v 0.374875 0.562469 0.499969
-v 0.375000 1.365847 0.454073
-v 0.375000 1.360323 0.459597
-v -0.375000 1.360323 0.459597
-v -0.375000 1.365847 0.454073
-v 0.375000 1.327177 0.415403
-v 0.375000 1.321653 0.420927
-v -0.375000 1.321653 0.420927
-v -0.375000 1.327177 0.415403
-v 0.375000 1.303347 0.454073
-v 0.375000 1.297823 0.459597
-v -0.375000 1.297823 0.459597
-v -0.375000 1.303347 0.454073
-v 0.375000 1.264677 0.415403
-v 0.375000 1.259153 0.420927
-v -0.375000 1.259153 0.420927
-v -0.375000 1.264677 0.415403
-v 0.375000 1.240847 0.454073
-v 0.375000 1.235323 0.459597
-v -0.375000 1.235323 0.459597
-v -0.375000 1.240847 0.454073
-v 0.375000 1.202177 0.415403
-v 0.375000 1.196653 0.420927
-v -0.375000 1.196653 0.420927
-v -0.375000 1.202177 0.415403
-v 0.375000 1.178347 0.454073
-v 0.375000 1.172823 0.459597
-v -0.375000 1.172823 0.459597
-v -0.375000 1.178347 0.454073
-v 0.375000 1.139677 0.415403
-v 0.375000 1.134153 0.420927
-v -0.375000 1.134153 0.420927
-v -0.375000 1.139677 0.415403
-v 0.375000 1.115847 0.454073
-v 0.375000 1.110323 0.459597
-v -0.375000 1.110323 0.459597
-v -0.375000 1.115847 0.454073
-v 0.375000 1.077177 0.415403
-v 0.375000 1.071653 0.420927
-v -0.375000 1.071653 0.420927
-v -0.375000 1.077177 0.415403
-v 0.375000 1.053347 0.454073
-v 0.375000 1.047823 0.459597
-v -0.375000 1.047823 0.459597
-v -0.375000 1.053347 0.454073
-v 0.375000 1.014677 0.415403
-v 0.375000 1.009153 0.420927
-v -0.375000 1.009153 0.420927
-v -0.375000 1.014677 0.415403
-v 0.375000 0.928347 0.454073
-v 0.375000 0.922823 0.459597
-v -0.375000 0.922823 0.459597
-v -0.375000 0.928347 0.454073
-v 0.375000 0.889677 0.415403
-v 0.375000 0.884153 0.420927
-v -0.375000 0.884153 0.420927
-v -0.375000 0.889677 0.415403
-v 0.375000 0.990847 0.454073
-v 0.375000 0.985323 0.459597
-v -0.375000 0.985323 0.459597
-v -0.375000 0.990847 0.454073
-v 0.375000 0.952177 0.415403
-v 0.375000 0.946653 0.420927
-v -0.375000 0.946653 0.420927
-v -0.375000 0.952177 0.415403
-v 0.375000 0.865847 0.454073
-v 0.375000 0.860323 0.459597
-v -0.375000 0.860323 0.459597
-v -0.375000 0.865847 0.454073
-v 0.375000 0.827177 0.415403
-v 0.375000 0.821653 0.420927
-v -0.375000 0.821653 0.420927
-v -0.375000 0.827177 0.415403
-v 0.375000 0.803347 0.454073
-v 0.375000 0.797823 0.459597
-v -0.375000 0.797823 0.459597
-v -0.375000 0.803347 0.454073
-v 0.375000 0.764677 0.415403
-v 0.375000 0.759153 0.420927
-v -0.375000 0.759153 0.420927
-v -0.375000 0.764677 0.415403
-v 0.375000 0.740847 0.454073
-v 0.375000 0.735323 0.459597
-v -0.375000 0.735323 0.459597
-v -0.375000 0.740847 0.454073
-v 0.375000 0.702177 0.415403
-v 0.375000 0.696653 0.420927
-v -0.375000 0.696653 0.420927
-v -0.375000 0.702177 0.415403
-v 0.375000 0.678347 0.454073
-v 0.375000 0.672823 0.459597
-v -0.375000 0.672823 0.459597
-v -0.375000 0.678347 0.454073
-v 0.375000 0.639677 0.415403
-v 0.375000 0.634153 0.420927
-v -0.375000 0.634153 0.420927
-v -0.375000 0.639677 0.415403
-v 0.375000 0.615847 0.454073
-v 0.375000 0.610323 0.459597
-v -0.375000 0.610323 0.459597
-v -0.375000 0.615847 0.454073
-v 0.375000 0.577177 0.415403
-v 0.375000 0.571653 0.420927
-v -0.375000 0.571653 0.420927
-v -0.375000 0.577177 0.415403
-v 0.375000 0.428347 0.454073
-v 0.375000 0.422823 0.459597
-v -0.375000 0.422823 0.459597
-v -0.375000 0.428347 0.454073
-v 0.375000 0.389677 0.415403
-v 0.375000 0.384153 0.420927
-v -0.375000 0.384153 0.420927
-v -0.375000 0.389677 0.415403
-v 0.375000 0.365847 0.454073
-v 0.375000 0.360323 0.459597
-v -0.375000 0.360323 0.459597
-v -0.375000 0.365847 0.454073
-v 0.375000 0.327177 0.415403
-v 0.375000 0.321653 0.420927
-v -0.375000 0.321653 0.420927
-v -0.375000 0.327177 0.415403
-v 0.375000 0.303347 0.454073
-v 0.375000 0.297823 0.459597
-v -0.375000 0.297823 0.459597
-v -0.375000 0.303347 0.454073
-v 0.375000 0.264677 0.415403
-v 0.375000 0.259153 0.420927
-v -0.375000 0.259153 0.420927
-v -0.375000 0.264677 0.415403
-v 0.375000 0.240847 0.454073
-v 0.375000 0.235323 0.459597
-v -0.375000 0.235323 0.459597
-v -0.375000 0.240847 0.454073
-v 0.375000 0.202177 0.415403
-v 0.375000 0.196653 0.420927
-v -0.375000 0.196653 0.420927
-v -0.375000 0.202177 0.415403
-v 0.375000 0.178347 0.454073
-v 0.375000 0.172823 0.459597
-v -0.375000 0.172823 0.459597
-v -0.375000 0.178347 0.454073
-v 0.375000 0.139677 0.415403
-v 0.375000 0.134153 0.420927
-v -0.375000 0.134153 0.420927
-v -0.375000 0.139677 0.415403
-v 0.375000 0.115847 0.454073
-v 0.375000 0.110323 0.459597
-v -0.375000 0.110323 0.459597
-v -0.375000 0.115847 0.454073
-v 0.375000 0.077177 0.415403
-v 0.375000 0.071653 0.420927
-v -0.375000 0.071653 0.420927
-v -0.375000 0.077177 0.415403
-v 0.375000 -0.009153 0.454073
-v 0.375000 -0.014677 0.459597
-v -0.375000 -0.014677 0.459597
-v -0.375000 -0.009153 0.454073
-v 0.375000 -0.047823 0.415403
-v 0.375000 -0.053347 0.420927
-v -0.375000 -0.053347 0.420927
-v -0.375000 -0.047823 0.415403
-v 0.375000 0.053347 0.454073
-v 0.375000 0.047823 0.459597
-v -0.375000 0.047823 0.459597
-v -0.375000 0.053347 0.454073
-v 0.375000 0.014677 0.415403
-v 0.375000 0.009153 0.420927
-v -0.375000 0.009153 0.420927
-v -0.375000 0.014677 0.415403
-v 0.375000 -0.071653 0.454073
-v 0.375000 -0.077177 0.459597
-v -0.375000 -0.077177 0.459597
-v -0.375000 -0.071653 0.454073
-v 0.375000 -0.110323 0.415403
-v 0.375000 -0.115847 0.420927
-v -0.375000 -0.115847 0.420927
-v -0.375000 -0.110323 0.415403
-v 0.375000 -0.134153 0.454073
-v 0.375000 -0.139677 0.459597
-v -0.375000 -0.139677 0.459597
-v -0.375000 -0.134153 0.454073
-v 0.375000 -0.172823 0.415403
-v 0.375000 -0.178347 0.420927
-v -0.375000 -0.178347 0.420927
-v -0.375000 -0.172823 0.415403
-v 0.375000 -0.196653 0.454073
-v 0.375000 -0.202177 0.459597
-v -0.375000 -0.202177 0.459597
-v -0.375000 -0.196653 0.454073
-v 0.375000 -0.235323 0.415403
-v 0.375000 -0.240847 0.420927
-v -0.375000 -0.240847 0.420927
-v -0.375000 -0.235323 0.415403
-v 0.375000 -0.259153 0.454073
-v 0.375000 -0.264677 0.459597
-v -0.375000 -0.264677 0.459597
-v -0.375000 -0.259153 0.454073
-v 0.375000 -0.297823 0.415403
-v 0.375000 -0.303347 0.420927
-v -0.375000 -0.303347 0.420927
-v -0.375000 -0.297823 0.415403
-v 0.375000 -0.321653 0.454073
-v 0.375000 -0.327177 0.459597
-v -0.375000 -0.327177 0.459597
-v -0.375000 -0.321653 0.454073
-v 0.375000 -0.360323 0.415403
-v 0.375000 -0.365847 0.420927
-v -0.375000 -0.365847 0.420927
-v -0.375000 -0.360323 0.415403
-vt 0.515625 0.937500
-vt 0.140625 0.937500
-vt 0.078125 0.937500
-vt 0.078125 1.000000
-vt 0.578125 1.000000
-vt 0.578125 0.937500
-vt 0.515625 0.468750
-vt 0.515625 0.531250
-vt 0.140625 0.531250
-vt 0.140625 0.468750
-vt 0.015625 1.000000
-vt 0.015625 0.937500
-vt 0.015625 0.062500
-vt 0.015625 -0.000000
-vt 0.078125 -0.000000
-vt 0.078125 0.062500
-vt 0.734375 0.250000
-vt 0.734375 0.750000
-vt 0.671875 0.750000
-vt 0.671875 0.250000
-vt 0.765625 0.750000
-vt 0.765625 0.250000
-vt 0.828125 0.250000
-vt 0.828125 0.750000
-vt 0.578125 0.062500
-vt 0.515625 0.062500
-vt 0.140625 0.062500
-vt 0.578125 0.000000
-vt 0.640625 0.000000
-vt 0.640625 0.062500
-vt 0.640625 0.937500
-vt 0.640625 1.000000
-vt 0.140625 0.906250
-vt 0.515625 0.906250
-vt 0.015625 0.531250
-vt 0.078125 0.531250
-vt 0.671875 0.687500
-vt 0.671875 0.312500
-vt 0.734375 0.312500
-vt 0.734375 0.687500
-vt 0.578125 0.531250
-vt 0.640625 0.531250
-vt 0.828125 0.687500
-vt 0.765625 0.687500
-vt 0.765625 0.312500
-vt 0.828125 0.312500
-vt 0.015625 0.468750
-vt 0.078125 0.468750
-vt 0.640625 0.468750
-vt 0.578125 0.468750
-vt 0.515625 0.921875
-vt 0.140625 0.921875
-vt 0.140625 0.875000
-vt 0.515625 0.875000
-vt 0.515625 0.890625
-vt 0.140625 0.890625
-vt 0.140625 0.843750
-vt 0.515625 0.843750
-vt 0.515625 0.859375
-vt 0.140625 0.859375
-vt 0.140625 0.812500
-vt 0.515625 0.812500
-vt 0.515625 0.828125
-vt 0.140625 0.828125
-vt 0.140625 0.781250
-vt 0.515625 0.781250
-vt 0.515625 0.796875
-vt 0.140625 0.796875
-vt 0.140625 0.750000
-vt 0.515625 0.750000
-vt 0.515625 0.765625
-vt 0.140625 0.765625
-vt 0.140625 0.687500
-vt 0.140625 0.718750
-vt 0.515625 0.718750
-vt 0.515625 0.687500
-vt 0.515625 0.703125
-vt 0.140625 0.703125
-vt 0.515625 0.734375
-vt 0.140625 0.734375
-vt 0.140625 0.656250
-vt 0.515625 0.656250
-vt 0.515625 0.671875
-vt 0.140625 0.671875
-vt 0.140625 0.625000
-vt 0.515625 0.625000
-vt 0.515625 0.640625
-vt 0.140625 0.640625
-vt 0.140625 0.609375
-vt 0.515625 0.609375
-vt 0.140625 0.578125
-vt 0.515625 0.578125
-vt 0.515625 0.593750
-vt 0.140625 0.593750
-vt 0.140625 0.546875
-vt 0.515625 0.546875
-vt 0.515625 0.562500
-vt 0.140625 0.562500
-vt 0.140625 0.421875
-vt 0.140625 0.453125
-vt 0.515625 0.453125
-vt 0.515625 0.421875
-vt 0.515625 0.437500
-vt 0.140625 0.437500
-vt 0.140625 0.390625
-vt 0.515625 0.390625
-vt 0.515625 0.406250
-vt 0.140625 0.406250
-vt 0.140625 0.359375
-vt 0.515625 0.359375
-vt 0.515625 0.375000
-vt 0.140625 0.375000
-vt 0.140625 0.328125
-vt 0.515625 0.328125
-vt 0.515625 0.343750
-vt 0.140625 0.343750
-vt 0.140625 0.296875
-vt 0.515625 0.296875
-vt 0.515625 0.312500
-vt 0.140625 0.312500
-vt 0.140625 0.265625
-vt 0.515625 0.265625
-vt 0.515625 0.281250
-vt 0.140625 0.281250
-vt 0.140625 0.203125
-vt 0.140625 0.234375
-vt 0.515625 0.234375
-vt 0.515625 0.203125
-vt 0.515625 0.218750
-vt 0.140625 0.218750
-vt 0.515625 0.250000
-vt 0.140625 0.250000
-vt 0.140625 0.171875
-vt 0.515625 0.171875
-vt 0.515625 0.187500
-vt 0.140625 0.187500
-vt 0.140625 0.140625
-vt 0.515625 0.140625
-vt 0.515625 0.156250
-vt 0.140625 0.156250
-vt 0.140625 0.125000
-vt 0.515625 0.125000
-vt 0.140625 0.093750
-vt 0.515625 0.093750
-vt 0.515625 0.109375
-vt 0.140625 0.109375
-vt 0.515625 0.078125
-vt 0.140625 0.078125
-s off
-f 15/1 20/2 10/3 1/4 2/5 21/6
-f 16/7 31/8 30/9 17/10
-f 23/3 6/4 1/11 10/12 22/13 3/14 8/15 11/16
-f 18/2 19/1 12/6 5/5 6/4 23/3
-f 2/17 1/18 6/19 5/20
-f 3/21 4/22 7/23 8/24
-f 13/10 32/9 27/8 14/7
-f 24/25 12/6 19/1 31/8 16/7 28/26
-f 22/16 10/3 20/2 32/9 13/10 25/27
-f 24/25 7/28 4/29 9/30 21/31 2/32 5/5 12/6
-f 26/26 14/7 27/8 15/1 21/6 9/25
-f 29/27 17/10 30/9 18/2 23/3 11/16
-f 8/15 7/28 24/25 28/26 29/27 11/16
-f 4/28 3/15 22/16 25/27 26/26 9/25
-f 33/33 37/2 40/1 36/34
-f 35/1 39/34 38/33 34/2
-f 15/12 27/35 31/36 19/3
-f 30/37 31/38 27/39 32/40
-f 18/6 30/41 32/42 20/31
-f 18/43 20/44 15/45 19/46
-f 14/47 26/13 28/16 16/48
-f 29/37 28/38 26/39 25/40
-f 13/49 17/50 29/25 25/30
-f 17/43 13/44 14/45 16/46
-f 40/51 37/52 38/2 39/1
-f 33/52 36/51 35/34 34/33
-f 41/53 45/33 48/34 44/54
-f 43/34 47/54 46/53 42/33
-f 48/55 45/56 46/33 47/34
-f 41/56 44/55 43/54 42/53
-f 49/57 53/53 56/54 52/58
-f 51/54 55/58 54/57 50/53
-f 56/59 53/60 54/53 55/54
-f 49/60 52/59 51/58 50/57
-f 57/61 61/57 64/58 60/62
-f 59/58 63/62 62/61 58/57
-f 64/63 61/64 62/57 63/58
-f 57/64 60/63 59/62 58/61
-f 65/65 69/61 72/62 68/66
-f 67/62 71/66 70/65 66/61
-f 72/67 69/68 70/61 71/62
-f 65/68 68/67 67/66 66/65
-f 73/69 77/65 80/66 76/70
-f 75/66 79/70 78/69 74/65
-f 80/71 77/72 78/65 79/66
-f 73/72 76/71 75/70 74/69
-f 81/73 85/74 88/75 84/76
-f 83/75 87/76 86/73 82/74
-f 88/77 85/78 86/74 87/75
-f 81/78 84/77 83/76 82/73
-f 89/74 93/69 96/70 92/75
-f 91/70 95/75 94/74 90/69
-f 96/79 93/80 94/69 95/70
-f 89/80 92/79 91/75 90/74
-f 97/81 101/73 104/76 100/82
-f 99/76 103/82 102/81 98/73
-f 104/83 101/84 102/73 103/76
-f 97/84 100/83 99/82 98/81
-f 105/85 109/81 112/82 108/86
-f 107/82 111/86 110/85 106/81
-f 112/87 109/88 110/81 111/82
-f 105/88 108/87 107/86 106/85
-f 113/89 117/88 120/87 116/90
-f 115/87 119/90 118/89 114/88
-f 120/86 117/85 118/88 119/87
-f 113/85 116/86 115/90 114/89
-f 121/91 125/89 128/90 124/92
-f 123/90 127/92 126/91 122/89
-f 128/93 125/94 126/89 127/90
-f 121/94 124/93 123/92 122/91
-f 129/95 133/91 136/92 132/96
-f 131/92 135/96 134/95 130/91
-f 136/97 133/98 134/91 135/92
-f 129/98 132/97 131/96 130/95
-f 137/99 141/100 144/101 140/102
-f 139/101 143/102 142/99 138/100
-f 144/103 141/104 142/100 143/101
-f 137/104 140/103 139/102 138/99
-f 145/105 149/99 152/102 148/106
-f 147/102 151/106 150/105 146/99
-f 152/107 149/108 150/99 151/102
-f 145/108 148/107 147/106 146/105
-f 153/109 157/105 160/106 156/110
-f 155/106 159/110 158/109 154/105
-f 160/111 157/112 158/105 159/106
-f 153/112 156/111 155/110 154/109
-f 161/113 165/109 168/110 164/114
-f 163/110 167/114 166/113 162/109
-f 168/115 165/116 166/109 167/110
-f 161/116 164/115 163/114 162/113
-f 169/117 173/113 176/114 172/118
-f 171/114 175/118 174/117 170/113
-f 176/119 173/120 174/113 175/114
-f 169/120 172/119 171/118 170/117
-f 177/121 181/117 184/118 180/122
-f 179/118 183/122 182/121 178/117
-f 184/123 181/124 182/117 183/118
-f 177/124 180/123 179/122 178/121
-f 185/125 189/126 192/127 188/128
-f 187/127 191/128 190/125 186/126
-f 192/129 189/130 190/126 191/127
-f 185/130 188/129 187/128 186/125
-f 193/126 197/121 200/122 196/127
-f 195/122 199/127 198/126 194/121
-f 200/131 197/132 198/121 199/122
-f 193/132 196/131 195/127 194/126
-f 201/133 205/125 208/128 204/134
-f 203/128 207/134 206/133 202/125
-f 208/135 205/136 206/125 207/128
-f 201/136 204/135 203/134 202/133
-f 209/137 213/133 216/134 212/138
-f 211/134 215/138 214/137 210/133
-f 216/139 213/140 214/133 215/134
-f 209/140 212/139 211/138 210/137
-f 217/141 221/140 224/139 220/142
-f 219/139 223/142 222/141 218/140
-f 224/138 221/137 222/140 223/139
-f 217/137 220/138 219/142 218/141
-f 225/143 229/141 232/142 228/144
-f 227/142 231/144 230/143 226/141
-f 232/145 229/146 230/141 231/142
-f 225/146 228/145 227/144 226/143
-f 233/27 237/143 240/144 236/26
-f 235/144 239/26 238/27 234/143
-f 240/147 237/148 238/143 239/144
-f 233/148 236/147 235/26 234/27
diff --git a/homedecor_doors_and_gates/models/homedecor_door_closet_a.obj b/homedecor_doors_and_gates/models/homedecor_door_closet_a.obj
new file mode 100644
index 0000000..8cbc5bc
--- /dev/null
+++ b/homedecor_doors_and_gates/models/homedecor_door_closet_a.obj
@@ -0,0 +1,878 @@
+# Blender v2.79 (sub 0) OBJ File: 'door-closet.blend'
+# www.blender.org
+o Cylinder
+v -0.500000 1.500000 -0.375000
+v 0.500000 1.500000 -0.375000
+v -0.500000 -0.500000 -0.375000
+v 0.500000 -0.500000 -0.375000
+v 0.500000 1.500000 -0.500000
+v -0.500000 1.500000 -0.500000
+v 0.500000 -0.500000 -0.500000
+v -0.500000 -0.500000 -0.500000
+v 0.500000 -0.375000 -0.375000
+v -0.500000 1.375000 -0.375000
+v -0.500000 -0.375000 -0.500000
+v 0.500000 1.375000 -0.500000
+v -0.374999 0.437500 -0.375000
+v 0.375000 0.437500 -0.375000
+v 0.375000 1.375000 -0.375000
+v 0.375000 0.437500 -0.500000
+v -0.374999 0.437500 -0.500000
+v -0.374999 1.375000 -0.500000
+v 0.375000 1.375000 -0.500000
+v -0.374999 1.375000 -0.375000
+v 0.500000 1.375000 -0.375000
+v -0.500000 -0.375000 -0.375000
+v -0.500000 1.375000 -0.500000
+v 0.500000 -0.375000 -0.500000
+v -0.374999 -0.375000 -0.375000
+v 0.375000 -0.375000 -0.375000
+v 0.375000 0.562500 -0.375000
+v 0.375000 -0.375000 -0.500000
+v -0.374999 -0.375000 -0.500000
+v -0.374999 0.562500 -0.500000
+v 0.375000 0.562500 -0.500000
+v -0.374999 0.562500 -0.375000
+v -0.374999 1.365847 -0.420927
+v -0.374999 1.360323 -0.415403
+v 0.375000 1.360323 -0.415403
+v 0.375000 1.365847 -0.420927
+v -0.374999 1.327177 -0.459597
+v -0.374999 1.321653 -0.454073
+v 0.375000 1.321653 -0.454073
+v 0.375000 1.327177 -0.459597
+v -0.374999 1.303347 -0.420927
+v -0.374999 1.297823 -0.415403
+v 0.375000 1.297823 -0.415403
+v 0.375000 1.303347 -0.420927
+v -0.374999 1.264677 -0.459597
+v -0.374999 1.259153 -0.454073
+v 0.375000 1.259153 -0.454073
+v 0.375000 1.264677 -0.459597
+v -0.374999 1.240847 -0.420927
+v -0.374999 1.235323 -0.415403
+v 0.375000 1.235323 -0.415403
+v 0.375000 1.240847 -0.420927
+v -0.374999 1.202177 -0.459597
+v -0.374999 1.196653 -0.454073
+v 0.375000 1.196653 -0.454073
+v 0.375000 1.202177 -0.459597
+v -0.374999 1.178347 -0.420927
+v -0.374999 1.172823 -0.415403
+v 0.375000 1.172823 -0.415403
+v 0.375000 1.178347 -0.420927
+v -0.374999 1.139677 -0.459597
+v -0.374999 1.134153 -0.454073
+v 0.375000 1.134153 -0.454073
+v 0.375000 1.139677 -0.459597
+v -0.374999 1.115847 -0.420927
+v -0.374999 1.110323 -0.415403
+v 0.375000 1.110323 -0.415403
+v 0.375000 1.115847 -0.420927
+v -0.374999 1.077177 -0.459597
+v -0.374999 1.071653 -0.454073
+v 0.375000 1.071653 -0.454073
+v 0.375000 1.077177 -0.459597
+v -0.374999 1.053347 -0.420927
+v -0.374999 1.047823 -0.415403
+v 0.375000 1.047823 -0.415403
+v 0.375000 1.053347 -0.420927
+v -0.374999 1.014677 -0.459597
+v -0.374999 1.009153 -0.454073
+v 0.375000 1.009153 -0.454073
+v 0.375000 1.014677 -0.459597
+v -0.374999 0.928347 -0.420927
+v -0.374999 0.922823 -0.415403
+v 0.375000 0.922823 -0.415403
+v 0.375000 0.928347 -0.420927
+v -0.374999 0.889677 -0.459597
+v -0.374999 0.884153 -0.454073
+v 0.375000 0.884153 -0.454073
+v 0.375000 0.889677 -0.459597
+v -0.374999 0.990847 -0.420927
+v -0.374999 0.985323 -0.415403
+v 0.375000 0.985323 -0.415403
+v 0.375000 0.990847 -0.420927
+v -0.374999 0.952177 -0.459597
+v -0.374999 0.946653 -0.454073
+v 0.375000 0.946653 -0.454073
+v 0.375000 0.952177 -0.459597
+v -0.374999 0.865847 -0.420927
+v -0.374999 0.860323 -0.415403
+v 0.375000 0.860323 -0.415403
+v 0.375000 0.865847 -0.420927
+v -0.374999 0.827177 -0.459597
+v -0.374999 0.821653 -0.454073
+v 0.375000 0.821653 -0.454073
+v 0.375000 0.827177 -0.459597
+v -0.374999 0.803347 -0.420927
+v -0.374999 0.797823 -0.415403
+v 0.375000 0.797823 -0.415403
+v 0.375000 0.803347 -0.420927
+v -0.374999 0.764677 -0.459597
+v -0.374999 0.759153 -0.454073
+v 0.375000 0.759153 -0.454073
+v 0.375000 0.764677 -0.459597
+v -0.374999 0.740847 -0.420927
+v -0.374999 0.735323 -0.415403
+v 0.375000 0.735323 -0.415403
+v 0.375000 0.740847 -0.420927
+v -0.374999 0.702177 -0.459597
+v -0.374999 0.696653 -0.454073
+v 0.375000 0.696653 -0.454073
+v 0.375000 0.702177 -0.459597
+v -0.374999 0.678347 -0.420927
+v -0.374999 0.672823 -0.415403
+v 0.375000 0.672823 -0.415403
+v 0.375000 0.678347 -0.420927
+v -0.374999 0.639677 -0.459597
+v -0.374999 0.634153 -0.454073
+v 0.375000 0.634153 -0.454073
+v 0.375000 0.639677 -0.459597
+v -0.374999 0.615847 -0.420927
+v -0.374999 0.610323 -0.415403
+v 0.375000 0.610323 -0.415403
+v 0.375000 0.615847 -0.420927
+v -0.374999 0.577177 -0.459597
+v -0.374999 0.571653 -0.454073
+v 0.375000 0.571653 -0.454073
+v 0.375000 0.577177 -0.459597
+v -0.374999 0.428347 -0.420927
+v -0.374999 0.422823 -0.415403
+v 0.375000 0.422823 -0.415403
+v 0.375000 0.428347 -0.420927
+v -0.374999 0.389677 -0.459597
+v -0.374999 0.384153 -0.454073
+v 0.375000 0.384153 -0.454073
+v 0.375000 0.389677 -0.459597
+v -0.374999 0.365847 -0.420927
+v -0.374999 0.360323 -0.415403
+v 0.375000 0.360323 -0.415403
+v 0.375000 0.365847 -0.420927
+v -0.374999 0.327177 -0.459597
+v -0.374999 0.321653 -0.454073
+v 0.375000 0.321653 -0.454073
+v 0.375000 0.327177 -0.459597
+v -0.374999 0.303347 -0.420927
+v -0.374999 0.297823 -0.415403
+v 0.375000 0.297823 -0.415403
+v 0.375000 0.303347 -0.420927
+v -0.374999 0.264677 -0.459597
+v -0.374999 0.259153 -0.454073
+v 0.375000 0.259153 -0.454073
+v 0.375000 0.264677 -0.459597
+v -0.374999 0.240847 -0.420927
+v -0.374999 0.235323 -0.415403
+v 0.375000 0.235323 -0.415403
+v 0.375000 0.240847 -0.420927
+v -0.374999 0.202177 -0.459597
+v -0.374999 0.196653 -0.454073
+v 0.375000 0.196653 -0.454073
+v 0.375000 0.202177 -0.459597
+v -0.374999 0.178347 -0.420927
+v -0.374999 0.172823 -0.415403
+v 0.375000 0.172823 -0.415403
+v 0.375000 0.178347 -0.420927
+v -0.374999 0.139677 -0.459597
+v -0.374999 0.134153 -0.454073
+v 0.375000 0.134153 -0.454073
+v 0.375000 0.139677 -0.459597
+v -0.374999 0.115847 -0.420927
+v -0.374999 0.110323 -0.415403
+v 0.375000 0.110323 -0.415403
+v 0.375000 0.115847 -0.420927
+v -0.374999 0.077177 -0.459597
+v -0.374999 0.071653 -0.454073
+v 0.375000 0.071653 -0.454073
+v 0.375000 0.077177 -0.459597
+v -0.374999 -0.009153 -0.420927
+v -0.374999 -0.014677 -0.415403
+v 0.375000 -0.014677 -0.415403
+v 0.375000 -0.009153 -0.420927
+v -0.374999 -0.047823 -0.459597
+v -0.374999 -0.053347 -0.454073
+v 0.375000 -0.053347 -0.454073
+v 0.375000 -0.047823 -0.459597
+v -0.374999 0.053347 -0.420927
+v -0.374999 0.047823 -0.415403
+v 0.375000 0.047823 -0.415403
+v 0.375000 0.053347 -0.420927
+v -0.374999 0.014677 -0.459597
+v -0.374999 0.009153 -0.454073
+v 0.375000 0.009153 -0.454073
+v 0.375000 0.014677 -0.459597
+v -0.374999 -0.071653 -0.420927
+v -0.374999 -0.077177 -0.415403
+v 0.375000 -0.077177 -0.415403
+v 0.375000 -0.071653 -0.420927
+v -0.374999 -0.110323 -0.459597
+v -0.374999 -0.115847 -0.454073
+v 0.375000 -0.115847 -0.454073
+v 0.375000 -0.110323 -0.459597
+v -0.374999 -0.134153 -0.420927
+v -0.374999 -0.139677 -0.415403
+v 0.375000 -0.139677 -0.415403
+v 0.375000 -0.134153 -0.420927
+v -0.374999 -0.172823 -0.459597
+v -0.374999 -0.178347 -0.454073
+v 0.375000 -0.178347 -0.454073
+v 0.375000 -0.172823 -0.459597
+v -0.374999 -0.196653 -0.420927
+v -0.374999 -0.202177 -0.415403
+v 0.375000 -0.202177 -0.415403
+v 0.375000 -0.196653 -0.420927
+v -0.374999 -0.235323 -0.459597
+v -0.374999 -0.240847 -0.454073
+v 0.375000 -0.240847 -0.454073
+v 0.375000 -0.235323 -0.459597
+v -0.374999 -0.259153 -0.420927
+v -0.374999 -0.264677 -0.415403
+v 0.375000 -0.264677 -0.415403
+v 0.375000 -0.259153 -0.420927
+v -0.374999 -0.297823 -0.459597
+v -0.374999 -0.303347 -0.454073
+v 0.375000 -0.303347 -0.454073
+v 0.375000 -0.297823 -0.459597
+v -0.374999 -0.321653 -0.420927
+v -0.374999 -0.327177 -0.415403
+v 0.375000 -0.327177 -0.415403
+v 0.375000 -0.321653 -0.420927
+v -0.374999 -0.360323 -0.459597
+v -0.374999 -0.365847 -0.454073
+v 0.375000 -0.365847 -0.454073
+v 0.375000 -0.360323 -0.459597
+vt 0.473684 0.937500
+vt 0.421053 0.937500
+vt 0.421053 1.000000
+vt 0.842105 1.000000
+vt 0.842105 0.937500
+vt 0.789474 0.937500
+vt 0.368421 0.468750
+vt 0.052632 0.468750
+vt 0.052632 0.531250
+vt 0.368421 0.531250
+vt 0.894737 0.937500
+vt 0.894737 0.062500
+vt 0.894737 0.000000
+vt 0.842105 0.000000
+vt 0.842105 0.062500
+vt 0.894737 1.000000
+vt 0.052632 0.937500
+vt 0.000000 0.937500
+vt 0.000000 1.000000
+vt 0.421053 1.000000
+vt 0.421053 0.937500
+vt 0.368421 0.937500
+vt 0.947368 0.500000
+vt 1.000000 0.500000
+vt 1.000000 0.000000
+vt 0.947368 0.000000
+vt 0.947368 1.000000
+vt 1.000000 1.000000
+vt 1.000000 0.500000
+vt 0.947368 0.500000
+vt 0.789474 0.468750
+vt 0.473684 0.468750
+vt 0.473684 0.531250
+vt 0.789474 0.531250
+vt 0.421053 0.062500
+vt 0.368421 0.062500
+vt 0.789474 0.062500
+vt 0.894737 0.062500
+vt 0.894737 0.937500
+vt 0.894737 1.000000
+vt 0.947368 1.000000
+vt 0.947368 0.937500
+vt 0.947368 0.062500
+vt 0.947368 0.000000
+vt 0.894737 0.000000
+vt 0.473684 0.062500
+vt 0.421053 0.062500
+vt 0.052632 0.062500
+vt 0.000000 0.062500
+vt 0.000000 0.000000
+vt 0.421053 0.000000
+vt 0.421053 0.000000
+vt 0.052632 0.937500
+vt 0.368421 0.937500
+vt 0.368421 0.906250
+vt 0.052632 0.906250
+vt 0.473684 0.937500
+vt 0.789474 0.937500
+vt 0.789474 0.906250
+vt 0.473684 0.906250
+vt 0.842105 0.937500
+vt 0.894737 0.937500
+vt 0.894737 0.531250
+vt 0.842105 0.531250
+vt 1.000000 0.062500
+vt 0.947368 0.062500
+vt 0.947368 0.437500
+vt 1.000000 0.437500
+vt 0.894737 0.937500
+vt 0.947368 0.937500
+vt 0.947368 0.531250
+vt 0.894737 0.531250
+vt 1.000000 0.937500
+vt 1.000000 0.562500
+vt 0.947368 0.562500
+vt 0.842105 0.468750
+vt 0.894737 0.468750
+vt 0.894737 0.062500
+vt 0.842105 0.062500
+vt 1.000000 0.062500
+vt 0.947368 0.062500
+vt 0.947368 0.437500
+vt 1.000000 0.437500
+vt 0.947368 0.468750
+vt 0.894737 0.062500
+vt 0.894737 0.468750
+vt 1.000000 0.937500
+vt 1.000000 0.562500
+vt 0.947368 0.562500
+vt 0.947368 0.937500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.906250
+vt 0.368421 0.906250
+vt 0.368421 0.875000
+vt 0.052632 0.875000
+vt 0.473684 0.906250
+vt 0.789474 0.906250
+vt 0.789474 0.875000
+vt 0.473684 0.875000
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.875000
+vt 0.368421 0.875000
+vt 0.368421 0.843750
+vt 0.052632 0.843750
+vt 0.473684 0.875000
+vt 0.789474 0.875000
+vt 0.789474 0.843750
+vt 0.473684 0.843750
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.843750
+vt 0.368421 0.843750
+vt 0.368421 0.812500
+vt 0.052632 0.812500
+vt 0.473684 0.843750
+vt 0.789474 0.843750
+vt 0.789474 0.812500
+vt 0.473684 0.812500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.812500
+vt 0.368421 0.812500
+vt 0.368421 0.781250
+vt 0.052632 0.781250
+vt 0.473684 0.812500
+vt 0.789474 0.812500
+vt 0.789474 0.781250
+vt 0.473684 0.781250
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.781250
+vt 0.368421 0.781250
+vt 0.368421 0.750000
+vt 0.052632 0.750000
+vt 0.473684 0.781250
+vt 0.789474 0.781250
+vt 0.789474 0.750000
+vt 0.473684 0.750000
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.718750
+vt 0.368421 0.718750
+vt 0.368421 0.687500
+vt 0.052632 0.687500
+vt 0.473684 0.718750
+vt 0.789474 0.718750
+vt 0.789474 0.687500
+vt 0.473684 0.687500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.750000
+vt 0.368421 0.750000
+vt 0.368421 0.718750
+vt 0.052632 0.718750
+vt 0.473684 0.750000
+vt 0.789474 0.750000
+vt 0.789474 0.718750
+vt 0.473684 0.718750
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.687500
+vt 0.368421 0.687500
+vt 0.368421 0.656250
+vt 0.052632 0.656250
+vt 0.473684 0.687500
+vt 0.789474 0.687500
+vt 0.789474 0.656250
+vt 0.473684 0.656250
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.656250
+vt 0.368421 0.656250
+vt 0.368421 0.625000
+vt 0.052632 0.625000
+vt 0.473684 0.656250
+vt 0.789474 0.656250
+vt 0.789474 0.625000
+vt 0.473684 0.625000
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.625000
+vt 0.368421 0.625000
+vt 0.368421 0.593750
+vt 0.052632 0.593750
+vt 0.473684 0.625000
+vt 0.789474 0.625000
+vt 0.789474 0.593750
+vt 0.473684 0.593750
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.593750
+vt 0.368421 0.593750
+vt 0.368421 0.562500
+vt 0.052632 0.562500
+vt 0.473684 0.593750
+vt 0.789474 0.593750
+vt 0.789474 0.562500
+vt 0.473684 0.562500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.562500
+vt 0.368421 0.562500
+vt 0.368421 0.531250
+vt 0.052632 0.531250
+vt 0.473684 0.562500
+vt 0.789474 0.562500
+vt 0.789474 0.531250
+vt 0.473684 0.531250
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.468750
+vt 0.368421 0.468750
+vt 0.368421 0.437500
+vt 0.052632 0.437500
+vt 0.473684 0.468750
+vt 0.789474 0.468750
+vt 0.789474 0.437500
+vt 0.473684 0.437500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.437500
+vt 0.368421 0.437500
+vt 0.368421 0.406250
+vt 0.052632 0.406250
+vt 0.473684 0.437500
+vt 0.789474 0.437500
+vt 0.789474 0.406250
+vt 0.473684 0.406250
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.406250
+vt 0.368421 0.406250
+vt 0.368421 0.375000
+vt 0.052632 0.375000
+vt 0.473684 0.406250
+vt 0.789474 0.406250
+vt 0.789474 0.375000
+vt 0.473684 0.375000
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.375000
+vt 0.368421 0.375000
+vt 0.368421 0.343750
+vt 0.052632 0.343750
+vt 0.473684 0.375000
+vt 0.789474 0.375000
+vt 0.789474 0.343750
+vt 0.473684 0.343750
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.343750
+vt 0.368421 0.343750
+vt 0.368421 0.312500
+vt 0.052632 0.312500
+vt 0.473684 0.343750
+vt 0.789474 0.343750
+vt 0.789474 0.312500
+vt 0.473684 0.312500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.312500
+vt 0.368421 0.312500
+vt 0.368421 0.281250
+vt 0.052632 0.281250
+vt 0.473684 0.312500
+vt 0.789474 0.312500
+vt 0.789474 0.281250
+vt 0.473684 0.281250
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.250000
+vt 0.368421 0.250000
+vt 0.368421 0.218750
+vt 0.052632 0.218750
+vt 0.473684 0.250000
+vt 0.789474 0.250000
+vt 0.789474 0.218750
+vt 0.473684 0.218750
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.281250
+vt 0.368421 0.281250
+vt 0.368421 0.250000
+vt 0.052632 0.250000
+vt 0.473684 0.281250
+vt 0.789474 0.281250
+vt 0.789474 0.250000
+vt 0.473684 0.250000
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.218750
+vt 0.368421 0.218750
+vt 0.368421 0.187500
+vt 0.052632 0.187500
+vt 0.473684 0.218750
+vt 0.789474 0.218750
+vt 0.789474 0.187500
+vt 0.473684 0.187500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.187500
+vt 0.368421 0.187500
+vt 0.368421 0.156250
+vt 0.052632 0.156250
+vt 0.473684 0.187500
+vt 0.789474 0.187500
+vt 0.789474 0.156250
+vt 0.473684 0.156250
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.156250
+vt 0.368421 0.156250
+vt 0.368421 0.125000
+vt 0.052632 0.125000
+vt 0.473684 0.156250
+vt 0.789474 0.156250
+vt 0.789474 0.125000
+vt 0.473684 0.125000
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.125000
+vt 0.368421 0.125000
+vt 0.368421 0.093750
+vt 0.052632 0.093750
+vt 0.473684 0.125000
+vt 0.789474 0.125000
+vt 0.789474 0.093750
+vt 0.473684 0.093750
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.093750
+vt 0.368421 0.093750
+vt 0.368421 0.062500
+vt 0.052632 0.062500
+vt 0.473684 0.093750
+vt 0.789474 0.093750
+vt 0.789474 0.062500
+vt 0.473684 0.062500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vn -0.0000 -0.0000 1.0000
+vn 0.0000 0.0000 -1.0000
+vn -1.0000 0.0000 0.0000
+vn 0.0000 1.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.7071 -0.7071
+vn -0.0000 -0.7071 0.7071
+vn 0.0000 -0.7071 -0.7071
+vn -0.0000 0.7071 0.7071
+s off
+f 15/1/1 21/2/1 2/3/1 1/4/1 10/5/1 20/6/1
+f 16/7/2 17/8/2 30/9/2 31/10/2
+f 23/11/3 11/12/3 8/13/3 3/14/3 22/15/3 10/5/3 1/4/3 6/16/3
+f 18/17/2 23/18/2 6/19/2 5/20/2 12/21/2 19/22/2
+f 2/23/4 5/24/4 6/25/4 1/26/4
+f 3/27/5 8/28/5 7/29/5 4/30/5
+f 13/31/1 14/32/1 27/33/1 32/34/1
+f 24/35/2 28/36/2 16/7/2 31/10/2 19/22/2 12/21/2
+f 22/15/1 25/37/1 13/31/1 32/34/1 20/6/1 10/5/1
+f 24/38/6 12/39/6 5/40/6 2/41/6 21/42/6 9/43/6 4/44/6 7/45/6
+f 26/46/1 9/47/1 21/2/1 15/1/1 27/33/1 14/32/1
+f 29/48/2 11/49/2 23/18/2 18/17/2 30/9/2 17/8/2
+f 8/50/2 11/49/2 29/48/2 28/36/2 24/35/2 7/51/2
+f 4/52/1 9/47/1 26/46/1 25/37/1 22/15/1 3/14/1
+f 33/53/7 36/54/7 40/55/7 37/56/7
+f 35/57/8 34/58/8 38/59/8 39/60/8
+f 15/61/3 19/62/3 31/63/3 27/64/3
+f 30/65/4 32/66/4 27/67/4 31/68/4
+f 18/69/6 20/70/6 32/71/6 30/72/6
+f 18/73/5 19/74/5 15/75/5 20/70/5
+f 14/76/3 16/77/3 28/78/3 26/79/3
+f 29/80/4 25/81/4 26/82/4 28/83/4
+f 13/84/6 25/81/6 29/85/6 17/86/6
+f 17/87/5 16/88/5 14/89/5 13/90/5
+f 40/91/9 39/92/9 38/93/9 37/94/9
+f 33/95/10 34/96/10 35/97/10 36/98/10
+f 41/99/7 44/100/7 48/101/7 45/102/7
+f 43/103/8 42/104/8 46/105/8 47/106/8
+f 48/107/9 47/108/9 46/109/9 45/110/9
+f 41/111/10 42/112/10 43/113/10 44/114/10
+f 49/115/7 52/116/7 56/117/7 53/118/7
+f 51/119/8 50/120/8 54/121/8 55/122/8
+f 56/123/9 55/124/9 54/125/9 53/126/9
+f 49/127/10 50/128/10 51/129/10 52/130/10
+f 57/131/7 60/132/7 64/133/7 61/134/7
+f 59/135/8 58/136/8 62/137/8 63/138/8
+f 64/139/9 63/140/9 62/141/9 61/142/9
+f 57/143/10 58/144/10 59/145/10 60/146/10
+f 65/147/7 68/148/7 72/149/7 69/150/7
+f 67/151/8 66/152/8 70/153/8 71/154/8
+f 72/155/9 71/156/9 70/157/9 69/158/9
+f 65/159/10 66/160/10 67/161/10 68/162/10
+f 73/163/7 76/164/7 80/165/7 77/166/7
+f 75/167/8 74/168/8 78/169/8 79/170/8
+f 80/171/9 79/172/9 78/173/9 77/174/9
+f 73/175/10 74/176/10 75/177/10 76/178/10
+f 81/179/7 84/180/7 88/181/7 85/182/7
+f 83/183/8 82/184/8 86/185/8 87/186/8
+f 88/187/9 87/188/9 86/189/9 85/190/9
+f 81/191/10 82/192/10 83/193/10 84/194/10
+f 89/195/7 92/196/7 96/197/7 93/198/7
+f 91/199/8 90/200/8 94/201/8 95/202/8
+f 96/203/9 95/204/9 94/205/9 93/206/9
+f 89/207/10 90/208/10 91/209/10 92/210/10
+f 97/211/7 100/212/7 104/213/7 101/214/7
+f 99/215/8 98/216/8 102/217/8 103/218/8
+f 104/219/9 103/220/9 102/221/9 101/222/9
+f 97/223/10 98/224/10 99/225/10 100/226/10
+f 105/227/7 108/228/7 112/229/7 109/230/7
+f 107/231/8 106/232/8 110/233/8 111/234/8
+f 112/235/9 111/236/9 110/237/9 109/238/9
+f 105/239/10 106/240/10 107/241/10 108/242/10
+f 113/243/7 116/244/7 120/245/7 117/246/7
+f 115/247/8 114/248/8 118/249/8 119/250/8
+f 120/251/9 119/252/9 118/253/9 117/254/9
+f 113/255/10 114/256/10 115/257/10 116/258/10
+f 121/259/7 124/260/7 128/261/7 125/262/7
+f 123/263/8 122/264/8 126/265/8 127/266/8
+f 128/267/9 127/268/9 126/269/9 125/270/9
+f 121/271/10 122/272/10 123/273/10 124/274/10
+f 129/275/7 132/276/7 136/277/7 133/278/7
+f 131/279/8 130/280/8 134/281/8 135/282/8
+f 136/283/9 135/284/9 134/285/9 133/286/9
+f 129/287/10 130/288/10 131/289/10 132/290/10
+f 137/291/7 140/292/7 144/293/7 141/294/7
+f 139/295/8 138/296/8 142/297/8 143/298/8
+f 144/299/9 143/300/9 142/301/9 141/302/9
+f 137/303/10 138/304/10 139/305/10 140/306/10
+f 145/307/7 148/308/7 152/309/7 149/310/7
+f 147/311/8 146/312/8 150/313/8 151/314/8
+f 152/315/9 151/316/9 150/317/9 149/318/9
+f 145/319/10 146/320/10 147/321/10 148/322/10
+f 153/323/7 156/324/7 160/325/7 157/326/7
+f 155/327/8 154/328/8 158/329/8 159/330/8
+f 160/331/9 159/332/9 158/333/9 157/334/9
+f 153/335/10 154/336/10 155/337/10 156/338/10
+f 161/339/7 164/340/7 168/341/7 165/342/7
+f 163/343/8 162/344/8 166/345/8 167/346/8
+f 168/347/9 167/348/9 166/349/9 165/350/9
+f 161/351/10 162/352/10 163/353/10 164/354/10
+f 169/355/7 172/356/7 176/357/7 173/358/7
+f 171/359/8 170/360/8 174/361/8 175/362/8
+f 176/363/9 175/364/9 174/365/9 173/366/9
+f 169/367/10 170/368/10 171/369/10 172/370/10
+f 177/371/7 180/372/7 184/373/7 181/374/7
+f 179/375/8 178/376/8 182/377/8 183/378/8
+f 184/379/9 183/380/9 182/381/9 181/382/9
+f 177/383/10 178/384/10 179/385/10 180/386/10
+f 185/387/7 188/388/7 192/389/7 189/390/7
+f 187/391/8 186/392/8 190/393/8 191/394/8
+f 192/395/9 191/396/9 190/397/9 189/398/9
+f 185/399/10 186/400/10 187/401/10 188/402/10
+f 193/403/7 196/404/7 200/405/7 197/406/7
+f 195/407/8 194/408/8 198/409/8 199/410/8
+f 200/411/9 199/412/9 198/413/9 197/414/9
+f 193/415/10 194/416/10 195/417/10 196/418/10
+f 201/419/7 204/420/7 208/421/7 205/422/7
+f 203/423/8 202/424/8 206/425/8 207/426/8
+f 208/427/9 207/428/9 206/429/9 205/430/9
+f 201/431/10 202/432/10 203/433/10 204/434/10
+f 209/435/7 212/436/7 216/437/7 213/438/7
+f 211/439/8 210/440/8 214/441/8 215/442/8
+f 216/443/9 215/444/9 214/445/9 213/446/9
+f 209/447/10 210/448/10 211/449/10 212/450/10
+f 217/451/7 220/452/7 224/453/7 221/454/7
+f 219/455/8 218/456/8 222/457/8 223/458/8
+f 224/459/9 223/460/9 222/461/9 221/462/9
+f 217/463/10 218/464/10 219/465/10 220/466/10
+f 225/467/7 228/468/7 232/469/7 229/470/7
+f 227/471/8 226/472/8 230/473/8 231/474/8
+f 232/475/9 231/476/9 230/477/9 229/478/9
+f 225/479/10 226/480/10 227/481/10 228/482/10
+f 233/483/7 236/484/7 240/485/7 237/486/7
+f 235/487/8 234/488/8 238/489/8 239/490/8
+f 240/491/9 239/492/9 238/493/9 237/494/9
+f 233/495/10 234/496/10 235/497/10 236/498/10
diff --git a/homedecor_doors_and_gates/models/homedecor_door_closet_b.obj b/homedecor_doors_and_gates/models/homedecor_door_closet_b.obj
new file mode 100644
index 0000000..94daf10
--- /dev/null
+++ b/homedecor_doors_and_gates/models/homedecor_door_closet_b.obj
@@ -0,0 +1,878 @@
+# Blender v2.79 (sub 0) OBJ File: 'door-closet.blend'
+# www.blender.org
+o Cylinder
+v 0.500000 1.500000 -0.500000
+v -0.500000 1.500000 -0.500000
+v 0.500000 -0.500000 -0.500000
+v -0.500000 -0.500000 -0.500000
+v -0.500000 1.500000 -0.375000
+v 0.500000 1.500000 -0.375000
+v -0.500000 -0.500000 -0.375000
+v 0.500000 -0.500000 -0.375000
+v -0.500000 -0.375000 -0.500000
+v 0.500000 1.375000 -0.500000
+v 0.500000 -0.375000 -0.375000
+v -0.500000 1.375000 -0.375000
+v 0.374999 0.437500 -0.500000
+v -0.375000 0.437500 -0.500000
+v -0.375000 1.375000 -0.500000
+v -0.375000 0.437500 -0.375000
+v 0.374999 0.437500 -0.375000
+v 0.374999 1.375000 -0.375000
+v -0.375000 1.375000 -0.375000
+v 0.374999 1.375000 -0.500000
+v -0.500000 1.375000 -0.500000
+v 0.500000 -0.375000 -0.500000
+v 0.500000 1.375000 -0.375000
+v -0.500000 -0.375000 -0.375000
+v 0.374999 -0.375000 -0.500000
+v -0.375000 -0.375000 -0.500000
+v -0.375000 0.562500 -0.500000
+v -0.375000 -0.375000 -0.375000
+v 0.374999 -0.375000 -0.375000
+v 0.374999 0.562500 -0.375000
+v -0.375000 0.562500 -0.375000
+v 0.374999 0.562500 -0.500000
+v 0.374999 1.365847 -0.454073
+v 0.374999 1.360323 -0.459597
+v -0.375000 1.360323 -0.459597
+v -0.375000 1.365847 -0.454073
+v 0.374999 1.327177 -0.415403
+v 0.374999 1.321653 -0.420927
+v -0.375000 1.321653 -0.420927
+v -0.375000 1.327177 -0.415403
+v 0.374999 1.303347 -0.454073
+v 0.374999 1.297823 -0.459597
+v -0.375000 1.297823 -0.459597
+v -0.375000 1.303347 -0.454073
+v 0.374999 1.264677 -0.415403
+v 0.374999 1.259153 -0.420927
+v -0.375000 1.259153 -0.420927
+v -0.375000 1.264677 -0.415403
+v 0.374999 1.240847 -0.454073
+v 0.374999 1.235323 -0.459597
+v -0.375000 1.235323 -0.459597
+v -0.375000 1.240847 -0.454073
+v 0.374999 1.202177 -0.415403
+v 0.374999 1.196653 -0.420927
+v -0.375000 1.196653 -0.420927
+v -0.375000 1.202177 -0.415403
+v 0.374999 1.178347 -0.454073
+v 0.374999 1.172823 -0.459597
+v -0.375000 1.172823 -0.459597
+v -0.375000 1.178347 -0.454073
+v 0.374999 1.139677 -0.415403
+v 0.374999 1.134153 -0.420927
+v -0.375000 1.134153 -0.420927
+v -0.375000 1.139677 -0.415403
+v 0.374999 1.115847 -0.454073
+v 0.374999 1.110323 -0.459597
+v -0.375000 1.110323 -0.459597
+v -0.375000 1.115847 -0.454073
+v 0.374999 1.077177 -0.415403
+v 0.374999 1.071653 -0.420927
+v -0.375000 1.071653 -0.420927
+v -0.375000 1.077177 -0.415403
+v 0.374999 1.053347 -0.454073
+v 0.374999 1.047823 -0.459597
+v -0.375000 1.047823 -0.459597
+v -0.375000 1.053347 -0.454073
+v 0.374999 1.014677 -0.415403
+v 0.374999 1.009153 -0.420927
+v -0.375000 1.009153 -0.420927
+v -0.375000 1.014677 -0.415403
+v 0.374999 0.928347 -0.454073
+v 0.374999 0.922823 -0.459597
+v -0.375000 0.922823 -0.459597
+v -0.375000 0.928347 -0.454073
+v 0.374999 0.889677 -0.415403
+v 0.374999 0.884153 -0.420927
+v -0.375000 0.884153 -0.420927
+v -0.375000 0.889677 -0.415403
+v 0.374999 0.990847 -0.454073
+v 0.374999 0.985323 -0.459597
+v -0.375000 0.985323 -0.459597
+v -0.375000 0.990847 -0.454073
+v 0.374999 0.952177 -0.415403
+v 0.374999 0.946653 -0.420927
+v -0.375000 0.946653 -0.420927
+v -0.375000 0.952177 -0.415403
+v 0.374999 0.865847 -0.454073
+v 0.374999 0.860323 -0.459597
+v -0.375000 0.860323 -0.459597
+v -0.375000 0.865847 -0.454073
+v 0.374999 0.827177 -0.415403
+v 0.374999 0.821653 -0.420927
+v -0.375000 0.821653 -0.420927
+v -0.375000 0.827177 -0.415403
+v 0.374999 0.803347 -0.454073
+v 0.374999 0.797823 -0.459597
+v -0.375000 0.797823 -0.459597
+v -0.375000 0.803347 -0.454073
+v 0.374999 0.764677 -0.415403
+v 0.374999 0.759153 -0.420927
+v -0.375000 0.759153 -0.420927
+v -0.375000 0.764677 -0.415403
+v 0.374999 0.740847 -0.454073
+v 0.374999 0.735323 -0.459597
+v -0.375000 0.735323 -0.459597
+v -0.375000 0.740847 -0.454073
+v 0.374999 0.702177 -0.415403
+v 0.374999 0.696653 -0.420927
+v -0.375000 0.696653 -0.420927
+v -0.375000 0.702177 -0.415403
+v 0.374999 0.678347 -0.454073
+v 0.374999 0.672823 -0.459597
+v -0.375000 0.672823 -0.459597
+v -0.375000 0.678347 -0.454073
+v 0.374999 0.639677 -0.415403
+v 0.374999 0.634153 -0.420927
+v -0.375000 0.634153 -0.420927
+v -0.375000 0.639677 -0.415403
+v 0.374999 0.615847 -0.454073
+v 0.374999 0.610323 -0.459597
+v -0.375000 0.610323 -0.459597
+v -0.375000 0.615847 -0.454073
+v 0.374999 0.577177 -0.415403
+v 0.374999 0.571653 -0.420927
+v -0.375000 0.571653 -0.420927
+v -0.375000 0.577177 -0.415403
+v 0.374999 0.428347 -0.454073
+v 0.374999 0.422823 -0.459597
+v -0.375000 0.422823 -0.459597
+v -0.375000 0.428347 -0.454073
+v 0.374999 0.389677 -0.415403
+v 0.374999 0.384153 -0.420927
+v -0.375000 0.384153 -0.420927
+v -0.375000 0.389677 -0.415403
+v 0.374999 0.365847 -0.454073
+v 0.374999 0.360323 -0.459597
+v -0.375000 0.360323 -0.459597
+v -0.375000 0.365847 -0.454073
+v 0.374999 0.327177 -0.415403
+v 0.374999 0.321653 -0.420927
+v -0.375000 0.321653 -0.420927
+v -0.375000 0.327177 -0.415403
+v 0.374999 0.303347 -0.454073
+v 0.374999 0.297823 -0.459597
+v -0.375000 0.297823 -0.459597
+v -0.375000 0.303347 -0.454073
+v 0.374999 0.264677 -0.415403
+v 0.374999 0.259153 -0.420927
+v -0.375000 0.259153 -0.420927
+v -0.375000 0.264677 -0.415403
+v 0.374999 0.240847 -0.454073
+v 0.374999 0.235323 -0.459597
+v -0.375000 0.235323 -0.459597
+v -0.375000 0.240847 -0.454073
+v 0.374999 0.202177 -0.415403
+v 0.374999 0.196653 -0.420927
+v -0.375000 0.196653 -0.420927
+v -0.375000 0.202177 -0.415403
+v 0.374999 0.178347 -0.454073
+v 0.374999 0.172823 -0.459597
+v -0.375000 0.172823 -0.459597
+v -0.375000 0.178347 -0.454073
+v 0.374999 0.139677 -0.415403
+v 0.374999 0.134153 -0.420927
+v -0.375000 0.134153 -0.420927
+v -0.375000 0.139677 -0.415403
+v 0.374999 0.115847 -0.454073
+v 0.374999 0.110323 -0.459597
+v -0.375000 0.110323 -0.459597
+v -0.375000 0.115847 -0.454073
+v 0.374999 0.077177 -0.415403
+v 0.374999 0.071653 -0.420927
+v -0.375000 0.071653 -0.420927
+v -0.375000 0.077177 -0.415403
+v 0.374999 -0.009153 -0.454073
+v 0.374999 -0.014677 -0.459597
+v -0.375000 -0.014677 -0.459597
+v -0.375000 -0.009153 -0.454073
+v 0.374999 -0.047823 -0.415403
+v 0.374999 -0.053347 -0.420927
+v -0.375000 -0.053347 -0.420927
+v -0.375000 -0.047823 -0.415403
+v 0.374999 0.053347 -0.454073
+v 0.374999 0.047823 -0.459597
+v -0.375000 0.047823 -0.459597
+v -0.375000 0.053347 -0.454073
+v 0.374999 0.014677 -0.415403
+v 0.374999 0.009153 -0.420927
+v -0.375000 0.009153 -0.420927
+v -0.375000 0.014677 -0.415403
+v 0.374999 -0.071653 -0.454073
+v 0.374999 -0.077177 -0.459597
+v -0.375000 -0.077177 -0.459597
+v -0.375000 -0.071653 -0.454073
+v 0.374999 -0.110323 -0.415403
+v 0.374999 -0.115847 -0.420927
+v -0.375000 -0.115847 -0.420927
+v -0.375000 -0.110323 -0.415403
+v 0.374999 -0.134153 -0.454073
+v 0.374999 -0.139677 -0.459597
+v -0.375000 -0.139677 -0.459597
+v -0.375000 -0.134153 -0.454073
+v 0.374999 -0.172823 -0.415403
+v 0.374999 -0.178347 -0.420927
+v -0.375000 -0.178347 -0.420927
+v -0.375000 -0.172823 -0.415403
+v 0.374999 -0.196653 -0.454073
+v 0.374999 -0.202177 -0.459597
+v -0.375000 -0.202177 -0.459597
+v -0.375000 -0.196653 -0.454073
+v 0.374999 -0.235323 -0.415403
+v 0.374999 -0.240847 -0.420927
+v -0.375000 -0.240847 -0.420927
+v -0.375000 -0.235323 -0.415403
+v 0.374999 -0.259153 -0.454073
+v 0.374999 -0.264677 -0.459597
+v -0.375000 -0.264677 -0.459597
+v -0.375000 -0.259153 -0.454073
+v 0.374999 -0.297823 -0.415403
+v 0.374999 -0.303347 -0.420927
+v -0.375000 -0.303347 -0.420927
+v -0.375000 -0.297823 -0.415403
+v 0.374999 -0.321653 -0.454073
+v 0.374999 -0.327177 -0.459597
+v -0.375000 -0.327177 -0.459597
+v -0.375000 -0.321653 -0.454073
+v 0.374999 -0.360323 -0.415403
+v 0.374999 -0.365847 -0.420927
+v -0.375000 -0.365847 -0.420927
+v -0.375000 -0.360323 -0.415403
+vt 0.473684 0.937500
+vt 0.421053 0.937500
+vt 0.421053 1.000000
+vt 0.842105 1.000000
+vt 0.842105 0.937500
+vt 0.789474 0.937500
+vt 0.368421 0.468750
+vt 0.052632 0.468750
+vt 0.052632 0.531250
+vt 0.368421 0.531250
+vt 0.894737 0.937500
+vt 0.894737 0.062500
+vt 0.894737 0.000000
+vt 0.842105 0.000000
+vt 0.842105 0.062500
+vt 0.894737 1.000000
+vt 0.052632 0.937500
+vt 0.000000 0.937500
+vt 0.000000 1.000000
+vt 0.421053 1.000000
+vt 0.421053 0.937500
+vt 0.368421 0.937500
+vt 0.947368 0.500000
+vt 1.000000 0.500000
+vt 1.000000 0.000000
+vt 0.947368 0.000000
+vt 0.947368 1.000000
+vt 1.000000 1.000000
+vt 1.000000 0.500000
+vt 0.947368 0.500000
+vt 0.789474 0.468750
+vt 0.473684 0.468750
+vt 0.473684 0.531250
+vt 0.789474 0.531250
+vt 0.421053 0.062500
+vt 0.368421 0.062500
+vt 0.789474 0.062500
+vt 0.894737 0.062500
+vt 0.894737 0.937500
+vt 0.894737 1.000000
+vt 0.947368 1.000000
+vt 0.947368 0.937500
+vt 0.947368 0.062500
+vt 0.947368 0.000000
+vt 0.894737 0.000000
+vt 0.473684 0.062500
+vt 0.421053 0.062500
+vt 0.052632 0.062500
+vt 0.000000 0.062500
+vt 0.000000 0.000000
+vt 0.421053 0.000000
+vt 0.421053 0.000000
+vt 0.052632 0.937500
+vt 0.368421 0.937500
+vt 0.368421 0.906250
+vt 0.052632 0.906250
+vt 0.473684 0.937500
+vt 0.789474 0.937500
+vt 0.789474 0.906250
+vt 0.473684 0.906250
+vt 0.842105 0.937500
+vt 0.894737 0.937500
+vt 0.894737 0.531250
+vt 0.842105 0.531250
+vt 1.000000 0.062500
+vt 0.947368 0.062500
+vt 0.947368 0.437500
+vt 1.000000 0.437500
+vt 0.894737 0.937500
+vt 0.947368 0.937500
+vt 0.947368 0.531250
+vt 0.894737 0.531250
+vt 1.000000 0.937500
+vt 1.000000 0.562500
+vt 0.947368 0.562500
+vt 0.842105 0.468750
+vt 0.894737 0.468750
+vt 0.894737 0.062500
+vt 0.842105 0.062500
+vt 1.000000 0.062500
+vt 0.947368 0.062500
+vt 0.947368 0.437500
+vt 1.000000 0.437500
+vt 0.947368 0.468750
+vt 0.894737 0.062500
+vt 0.894737 0.468750
+vt 1.000000 0.937500
+vt 1.000000 0.562500
+vt 0.947368 0.562500
+vt 0.947368 0.937500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.906250
+vt 0.368421 0.906250
+vt 0.368421 0.875000
+vt 0.052632 0.875000
+vt 0.473684 0.906250
+vt 0.789474 0.906250
+vt 0.789474 0.875000
+vt 0.473684 0.875000
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.875000
+vt 0.368421 0.875000
+vt 0.368421 0.843750
+vt 0.052632 0.843750
+vt 0.473684 0.875000
+vt 0.789474 0.875000
+vt 0.789474 0.843750
+vt 0.473684 0.843750
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.843750
+vt 0.368421 0.843750
+vt 0.368421 0.812500
+vt 0.052632 0.812500
+vt 0.473684 0.843750
+vt 0.789474 0.843750
+vt 0.789474 0.812500
+vt 0.473684 0.812500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.812500
+vt 0.368421 0.812500
+vt 0.368421 0.781250
+vt 0.052632 0.781250
+vt 0.473684 0.812500
+vt 0.789474 0.812500
+vt 0.789474 0.781250
+vt 0.473684 0.781250
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.781250
+vt 0.368421 0.781250
+vt 0.368421 0.750000
+vt 0.052632 0.750000
+vt 0.473684 0.781250
+vt 0.789474 0.781250
+vt 0.789474 0.750000
+vt 0.473684 0.750000
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.718750
+vt 0.368421 0.718750
+vt 0.368421 0.687500
+vt 0.052632 0.687500
+vt 0.473684 0.718750
+vt 0.789474 0.718750
+vt 0.789474 0.687500
+vt 0.473684 0.687500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.750000
+vt 0.368421 0.750000
+vt 0.368421 0.718750
+vt 0.052632 0.718750
+vt 0.473684 0.750000
+vt 0.789474 0.750000
+vt 0.789474 0.718750
+vt 0.473684 0.718750
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.687500
+vt 0.368421 0.687500
+vt 0.368421 0.656250
+vt 0.052632 0.656250
+vt 0.473684 0.687500
+vt 0.789474 0.687500
+vt 0.789474 0.656250
+vt 0.473684 0.656250
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.656250
+vt 0.368421 0.656250
+vt 0.368421 0.625000
+vt 0.052632 0.625000
+vt 0.473684 0.656250
+vt 0.789474 0.656250
+vt 0.789474 0.625000
+vt 0.473684 0.625000
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.625000
+vt 0.368421 0.625000
+vt 0.368421 0.593750
+vt 0.052632 0.593750
+vt 0.473684 0.625000
+vt 0.789474 0.625000
+vt 0.789474 0.593750
+vt 0.473684 0.593750
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.593750
+vt 0.368421 0.593750
+vt 0.368421 0.562500
+vt 0.052632 0.562500
+vt 0.473684 0.593750
+vt 0.789474 0.593750
+vt 0.789474 0.562500
+vt 0.473684 0.562500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.562500
+vt 0.368421 0.562500
+vt 0.368421 0.531250
+vt 0.052632 0.531250
+vt 0.473684 0.562500
+vt 0.789474 0.562500
+vt 0.789474 0.531250
+vt 0.473684 0.531250
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.468750
+vt 0.368421 0.468750
+vt 0.368421 0.437500
+vt 0.052632 0.437500
+vt 0.473684 0.468750
+vt 0.789474 0.468750
+vt 0.789474 0.437500
+vt 0.473684 0.437500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.437500
+vt 0.368421 0.437500
+vt 0.368421 0.406250
+vt 0.052632 0.406250
+vt 0.473684 0.437500
+vt 0.789474 0.437500
+vt 0.789474 0.406250
+vt 0.473684 0.406250
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.406250
+vt 0.368421 0.406250
+vt 0.368421 0.375000
+vt 0.052632 0.375000
+vt 0.473684 0.406250
+vt 0.789474 0.406250
+vt 0.789474 0.375000
+vt 0.473684 0.375000
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.375000
+vt 0.368421 0.375000
+vt 0.368421 0.343750
+vt 0.052632 0.343750
+vt 0.473684 0.375000
+vt 0.789474 0.375000
+vt 0.789474 0.343750
+vt 0.473684 0.343750
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.343750
+vt 0.368421 0.343750
+vt 0.368421 0.312500
+vt 0.052632 0.312500
+vt 0.473684 0.343750
+vt 0.789474 0.343750
+vt 0.789474 0.312500
+vt 0.473684 0.312500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.312500
+vt 0.368421 0.312500
+vt 0.368421 0.281250
+vt 0.052632 0.281250
+vt 0.473684 0.312500
+vt 0.789474 0.312500
+vt 0.789474 0.281250
+vt 0.473684 0.281250
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.250000
+vt 0.368421 0.250000
+vt 0.368421 0.218750
+vt 0.052632 0.218750
+vt 0.473684 0.250000
+vt 0.789474 0.250000
+vt 0.789474 0.218750
+vt 0.473684 0.218750
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.281250
+vt 0.368421 0.281250
+vt 0.368421 0.250000
+vt 0.052632 0.250000
+vt 0.473684 0.281250
+vt 0.789474 0.281250
+vt 0.789474 0.250000
+vt 0.473684 0.250000
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.218750
+vt 0.368421 0.218750
+vt 0.368421 0.187500
+vt 0.052632 0.187500
+vt 0.473684 0.218750
+vt 0.789474 0.218750
+vt 0.789474 0.187500
+vt 0.473684 0.187500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.187500
+vt 0.368421 0.187500
+vt 0.368421 0.156250
+vt 0.052632 0.156250
+vt 0.473684 0.187500
+vt 0.789474 0.187500
+vt 0.789474 0.156250
+vt 0.473684 0.156250
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.156250
+vt 0.368421 0.156250
+vt 0.368421 0.125000
+vt 0.052632 0.125000
+vt 0.473684 0.156250
+vt 0.789474 0.156250
+vt 0.789474 0.125000
+vt 0.473684 0.125000
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.125000
+vt 0.368421 0.125000
+vt 0.368421 0.093750
+vt 0.052632 0.093750
+vt 0.473684 0.125000
+vt 0.789474 0.125000
+vt 0.789474 0.093750
+vt 0.473684 0.093750
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vt 0.052632 0.093750
+vt 0.368421 0.093750
+vt 0.368421 0.062500
+vt 0.052632 0.062500
+vt 0.473684 0.093750
+vt 0.789474 0.093750
+vt 0.789474 0.062500
+vt 0.473684 0.062500
+vt 0.986842 0.562500
+vt 0.973684 0.562500
+vt 0.973684 0.937500
+vt 0.986842 0.937500
+vt 0.973684 0.062500
+vt 0.960526 0.062500
+vt 0.960526 0.437500
+vt 0.973684 0.437500
+vn 0.0000 0.0000 -1.0000
+vn 0.0000 0.0000 1.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 1.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn -1.0000 0.0000 0.0000
+vn 0.0000 0.7071 0.7071
+vn 0.0000 -0.7071 -0.7071
+vn 0.0000 -0.7071 0.7071
+vn 0.0000 0.7071 -0.7071
+s off
+f 15/1/1 21/2/1 2/3/1 1/4/1 10/5/1 20/6/1
+f 16/7/2 17/8/2 30/9/2 31/10/2
+f 23/11/3 11/12/3 8/13/3 3/14/3 22/15/3 10/5/3 1/4/3 6/16/3
+f 18/17/2 23/18/2 6/19/2 5/20/2 12/21/2 19/22/2
+f 2/23/4 5/24/4 6/25/4 1/26/4
+f 3/27/5 8/28/5 7/29/5 4/30/5
+f 13/31/1 14/32/1 27/33/1 32/34/1
+f 24/35/2 28/36/2 16/7/2 31/10/2 19/22/2 12/21/2
+f 22/15/1 25/37/1 13/31/1 32/34/1 20/6/1 10/5/1
+f 24/38/6 12/39/6 5/40/6 2/41/6 21/42/6 9/43/6 4/44/6 7/45/6
+f 26/46/1 9/47/1 21/2/1 15/1/1 27/33/1 14/32/1
+f 29/48/2 11/49/2 23/18/2 18/17/2 30/9/2 17/8/2
+f 8/50/2 11/49/2 29/48/2 28/36/2 24/35/2 7/51/2
+f 4/52/1 9/47/1 26/46/1 25/37/1 22/15/1 3/14/1
+f 33/53/7 36/54/7 40/55/7 37/56/7
+f 35/57/8 34/58/8 38/59/8 39/60/8
+f 15/61/3 19/62/3 31/63/3 27/64/3
+f 30/65/4 32/66/4 27/67/4 31/68/4
+f 18/69/6 20/70/6 32/71/6 30/72/6
+f 18/73/5 19/74/5 15/75/5 20/70/5
+f 14/76/3 16/77/3 28/78/3 26/79/3
+f 29/80/4 25/81/4 26/82/4 28/83/4
+f 13/84/6 25/81/6 29/85/6 17/86/6
+f 17/87/5 16/88/5 14/89/5 13/90/5
+f 40/91/9 39/92/9 38/93/9 37/94/9
+f 33/95/10 34/96/10 35/97/10 36/98/10
+f 41/99/7 44/100/7 48/101/7 45/102/7
+f 43/103/8 42/104/8 46/105/8 47/106/8
+f 48/107/9 47/108/9 46/109/9 45/110/9
+f 41/111/10 42/112/10 43/113/10 44/114/10
+f 49/115/7 52/116/7 56/117/7 53/118/7
+f 51/119/8 50/120/8 54/121/8 55/122/8
+f 56/123/9 55/124/9 54/125/9 53/126/9
+f 49/127/10 50/128/10 51/129/10 52/130/10
+f 57/131/7 60/132/7 64/133/7 61/134/7
+f 59/135/8 58/136/8 62/137/8 63/138/8
+f 64/139/9 63/140/9 62/141/9 61/142/9
+f 57/143/10 58/144/10 59/145/10 60/146/10
+f 65/147/7 68/148/7 72/149/7 69/150/7
+f 67/151/8 66/152/8 70/153/8 71/154/8
+f 72/155/9 71/156/9 70/157/9 69/158/9
+f 65/159/10 66/160/10 67/161/10 68/162/10
+f 73/163/7 76/164/7 80/165/7 77/166/7
+f 75/167/8 74/168/8 78/169/8 79/170/8
+f 80/171/9 79/172/9 78/173/9 77/174/9
+f 73/175/10 74/176/10 75/177/10 76/178/10
+f 81/179/7 84/180/7 88/181/7 85/182/7
+f 83/183/8 82/184/8 86/185/8 87/186/8
+f 88/187/9 87/188/9 86/189/9 85/190/9
+f 81/191/10 82/192/10 83/193/10 84/194/10
+f 89/195/7 92/196/7 96/197/7 93/198/7
+f 91/199/8 90/200/8 94/201/8 95/202/8
+f 96/203/9 95/204/9 94/205/9 93/206/9
+f 89/207/10 90/208/10 91/209/10 92/210/10
+f 97/211/7 100/212/7 104/213/7 101/214/7
+f 99/215/8 98/216/8 102/217/8 103/218/8
+f 104/219/9 103/220/9 102/221/9 101/222/9
+f 97/223/10 98/224/10 99/225/10 100/226/10
+f 105/227/7 108/228/7 112/229/7 109/230/7
+f 107/231/8 106/232/8 110/233/8 111/234/8
+f 112/235/9 111/236/9 110/237/9 109/238/9
+f 105/239/10 106/240/10 107/241/10 108/242/10
+f 113/243/7 116/244/7 120/245/7 117/246/7
+f 115/247/8 114/248/8 118/249/8 119/250/8
+f 120/251/9 119/252/9 118/253/9 117/254/9
+f 113/255/10 114/256/10 115/257/10 116/258/10
+f 121/259/7 124/260/7 128/261/7 125/262/7
+f 123/263/8 122/264/8 126/265/8 127/266/8
+f 128/267/9 127/268/9 126/269/9 125/270/9
+f 121/271/10 122/272/10 123/273/10 124/274/10
+f 129/275/7 132/276/7 136/277/7 133/278/7
+f 131/279/8 130/280/8 134/281/8 135/282/8
+f 136/283/9 135/284/9 134/285/9 133/286/9
+f 129/287/10 130/288/10 131/289/10 132/290/10
+f 137/291/7 140/292/7 144/293/7 141/294/7
+f 139/295/8 138/296/8 142/297/8 143/298/8
+f 144/299/9 143/300/9 142/301/9 141/302/9
+f 137/303/10 138/304/10 139/305/10 140/306/10
+f 145/307/7 148/308/7 152/309/7 149/310/7
+f 147/311/8 146/312/8 150/313/8 151/314/8
+f 152/315/9 151/316/9 150/317/9 149/318/9
+f 145/319/10 146/320/10 147/321/10 148/322/10
+f 153/323/7 156/324/7 160/325/7 157/326/7
+f 155/327/8 154/328/8 158/329/8 159/330/8
+f 160/331/9 159/332/9 158/333/9 157/334/9
+f 153/335/10 154/336/10 155/337/10 156/338/10
+f 161/339/7 164/340/7 168/341/7 165/342/7
+f 163/343/8 162/344/8 166/345/8 167/346/8
+f 168/347/9 167/348/9 166/349/9 165/350/9
+f 161/351/10 162/352/10 163/353/10 164/354/10
+f 169/355/7 172/356/7 176/357/7 173/358/7
+f 171/359/8 170/360/8 174/361/8 175/362/8
+f 176/363/9 175/364/9 174/365/9 173/366/9
+f 169/367/10 170/368/10 171/369/10 172/370/10
+f 177/371/7 180/372/7 184/373/7 181/374/7
+f 179/375/8 178/376/8 182/377/8 183/378/8
+f 184/379/9 183/380/9 182/381/9 181/382/9
+f 177/383/10 178/384/10 179/385/10 180/386/10
+f 185/387/7 188/388/7 192/389/7 189/390/7
+f 187/391/8 186/392/8 190/393/8 191/394/8
+f 192/395/9 191/396/9 190/397/9 189/398/9
+f 185/399/10 186/400/10 187/401/10 188/402/10
+f 193/403/7 196/404/7 200/405/7 197/406/7
+f 195/407/8 194/408/8 198/409/8 199/410/8
+f 200/411/9 199/412/9 198/413/9 197/414/9
+f 193/415/10 194/416/10 195/417/10 196/418/10
+f 201/419/7 204/420/7 208/421/7 205/422/7
+f 203/423/8 202/424/8 206/425/8 207/426/8
+f 208/427/9 207/428/9 206/429/9 205/430/9
+f 201/431/10 202/432/10 203/433/10 204/434/10
+f 209/435/7 212/436/7 216/437/7 213/438/7
+f 211/439/8 210/440/8 214/441/8 215/442/8
+f 216/443/9 215/444/9 214/445/9 213/446/9
+f 209/447/10 210/448/10 211/449/10 212/450/10
+f 217/451/7 220/452/7 224/453/7 221/454/7
+f 219/455/8 218/456/8 222/457/8 223/458/8
+f 224/459/9 223/460/9 222/461/9 221/462/9
+f 217/463/10 218/464/10 219/465/10 220/466/10
+f 225/467/7 228/468/7 232/469/7 229/470/7
+f 227/471/8 226/472/8 230/473/8 231/474/8
+f 232/475/9 231/476/9 230/477/9 229/478/9
+f 225/479/10 226/480/10 227/481/10 228/482/10
+f 233/483/7 236/484/7 240/485/7 237/486/7
+f 235/487/8 234/488/8 238/489/8 239/490/8
+f 240/491/9 239/492/9 238/493/9 237/494/9
+f 233/495/10 234/496/10 235/497/10 236/498/10
diff --git a/homedecor_doors_and_gates/models/homedecor_door_closet_right.obj b/homedecor_doors_and_gates/models/homedecor_door_closet_right.obj
deleted file mode 100644
index 196860b..0000000
--- a/homedecor_doors_and_gates/models/homedecor_door_closet_right.obj
+++ /dev/null
@@ -1,518 +0,0 @@
-# Blender v2.73 (sub 0) OBJ File: 'door-closet-right.blend'
-# www.blender.org
-o Cylinder
-v 0.499750 1.499500 0.499969
-v -0.499750 1.499500 0.499969
-v 0.499750 -0.499500 0.499969
-v -0.499750 -0.499500 0.499969
-v -0.499750 1.499500 0.375031
-v 0.499750 1.499500 0.375031
-v -0.499750 -0.499500 0.375031
-v 0.499750 -0.499500 0.375031
-v -0.499750 -0.374531 0.499969
-v 0.499750 1.374531 0.499969
-v 0.499750 -0.374531 0.375031
-v -0.499750 1.374531 0.375031
-v 0.374875 0.437531 0.499969
-v -0.374875 0.437531 0.499969
-v -0.374875 1.374531 0.499969
-v -0.374875 0.437531 0.375031
-v 0.374875 0.437531 0.375031
-v 0.374875 1.374531 0.375031
-v -0.374875 1.374531 0.375031
-v 0.374875 1.374531 0.499969
-v -0.499750 1.374531 0.499969
-v 0.499750 -0.374531 0.499969
-v 0.499750 1.374531 0.375031
-v -0.499750 -0.374531 0.375031
-v 0.374875 -0.374531 0.499969
-v -0.374875 -0.374531 0.499969
-v -0.374875 0.562469 0.499969
-v -0.374875 -0.374531 0.375031
-v 0.374875 -0.374531 0.375031
-v 0.374875 0.562469 0.375031
-v -0.374875 0.562469 0.375031
-v 0.374875 0.562469 0.499969
-v 0.375000 1.365847 0.454073
-v 0.375000 1.360323 0.459597
-v -0.375000 1.360323 0.459597
-v -0.375000 1.365847 0.454073
-v 0.375000 1.327177 0.415403
-v 0.375000 1.321653 0.420927
-v -0.375000 1.321653 0.420927
-v -0.375000 1.327177 0.415403
-v 0.375000 1.303347 0.454073
-v 0.375000 1.297823 0.459597
-v -0.375000 1.297823 0.459597
-v -0.375000 1.303347 0.454073
-v 0.375000 1.264677 0.415403
-v 0.375000 1.259153 0.420927
-v -0.375000 1.259153 0.420927
-v -0.375000 1.264677 0.415403
-v 0.375000 1.240847 0.454073
-v 0.375000 1.235323 0.459597
-v -0.375000 1.235323 0.459597
-v -0.375000 1.240847 0.454073
-v 0.375000 1.202177 0.415403
-v 0.375000 1.196653 0.420927
-v -0.375000 1.196653 0.420927
-v -0.375000 1.202177 0.415403
-v 0.375000 1.178347 0.454073
-v 0.375000 1.172823 0.459597
-v -0.375000 1.172823 0.459597
-v -0.375000 1.178347 0.454073
-v 0.375000 1.139677 0.415403
-v 0.375000 1.134153 0.420927
-v -0.375000 1.134153 0.420927
-v -0.375000 1.139677 0.415403
-v 0.375000 1.115847 0.454073
-v 0.375000 1.110323 0.459597
-v -0.375000 1.110323 0.459597
-v -0.375000 1.115847 0.454073
-v 0.375000 1.077177 0.415403
-v 0.375000 1.071653 0.420927
-v -0.375000 1.071653 0.420927
-v -0.375000 1.077177 0.415403
-v 0.375000 1.053347 0.454073
-v 0.375000 1.047823 0.459597
-v -0.375000 1.047823 0.459597
-v -0.375000 1.053347 0.454073
-v 0.375000 1.014677 0.415403
-v 0.375000 1.009153 0.420927
-v -0.375000 1.009153 0.420927
-v -0.375000 1.014677 0.415403
-v 0.375000 0.928347 0.454073
-v 0.375000 0.922823 0.459597
-v -0.375000 0.922823 0.459597
-v -0.375000 0.928347 0.454073
-v 0.375000 0.889677 0.415403
-v 0.375000 0.884153 0.420927
-v -0.375000 0.884153 0.420927
-v -0.375000 0.889677 0.415403
-v 0.375000 0.990847 0.454073
-v 0.375000 0.985323 0.459597
-v -0.375000 0.985323 0.459597
-v -0.375000 0.990847 0.454073
-v 0.375000 0.952177 0.415403
-v 0.375000 0.946653 0.420927
-v -0.375000 0.946653 0.420927
-v -0.375000 0.952177 0.415403
-v 0.375000 0.865847 0.454073
-v 0.375000 0.860323 0.459597
-v -0.375000 0.860323 0.459597
-v -0.375000 0.865847 0.454073
-v 0.375000 0.827177 0.415403
-v 0.375000 0.821653 0.420927
-v -0.375000 0.821653 0.420927
-v -0.375000 0.827177 0.415403
-v 0.375000 0.803347 0.454073
-v 0.375000 0.797823 0.459597
-v -0.375000 0.797823 0.459597
-v -0.375000 0.803347 0.454073
-v 0.375000 0.764677 0.415403
-v 0.375000 0.759153 0.420927
-v -0.375000 0.759153 0.420927
-v -0.375000 0.764677 0.415403
-v 0.375000 0.740847 0.454073
-v 0.375000 0.735323 0.459597
-v -0.375000 0.735323 0.459597
-v -0.375000 0.740847 0.454073
-v 0.375000 0.702177 0.415403
-v 0.375000 0.696653 0.420927
-v -0.375000 0.696653 0.420927
-v -0.375000 0.702177 0.415403
-v 0.375000 0.678347 0.454073
-v 0.375000 0.672823 0.459597
-v -0.375000 0.672823 0.459597
-v -0.375000 0.678347 0.454073
-v 0.375000 0.639677 0.415403
-v 0.375000 0.634153 0.420927
-v -0.375000 0.634153 0.420927
-v -0.375000 0.639677 0.415403
-v 0.375000 0.615847 0.454073
-v 0.375000 0.610323 0.459597
-v -0.375000 0.610323 0.459597
-v -0.375000 0.615847 0.454073
-v 0.375000 0.577177 0.415403
-v 0.375000 0.571653 0.420927
-v -0.375000 0.571653 0.420927
-v -0.375000 0.577177 0.415403
-v 0.375000 0.428347 0.454073
-v 0.375000 0.422823 0.459597
-v -0.375000 0.422823 0.459597
-v -0.375000 0.428347 0.454073
-v 0.375000 0.389677 0.415403
-v 0.375000 0.384153 0.420927
-v -0.375000 0.384153 0.420927
-v -0.375000 0.389677 0.415403
-v 0.375000 0.365847 0.454073
-v 0.375000 0.360323 0.459597
-v -0.375000 0.360323 0.459597
-v -0.375000 0.365847 0.454073
-v 0.375000 0.327177 0.415403
-v 0.375000 0.321653 0.420927
-v -0.375000 0.321653 0.420927
-v -0.375000 0.327177 0.415403
-v 0.375000 0.303347 0.454073
-v 0.375000 0.297823 0.459597
-v -0.375000 0.297823 0.459597
-v -0.375000 0.303347 0.454073
-v 0.375000 0.264677 0.415403
-v 0.375000 0.259153 0.420927
-v -0.375000 0.259153 0.420927
-v -0.375000 0.264677 0.415403
-v 0.375000 0.240847 0.454073
-v 0.375000 0.235323 0.459597
-v -0.375000 0.235323 0.459597
-v -0.375000 0.240847 0.454073
-v 0.375000 0.202177 0.415403
-v 0.375000 0.196653 0.420927
-v -0.375000 0.196653 0.420927
-v -0.375000 0.202177 0.415403
-v 0.375000 0.178347 0.454073
-v 0.375000 0.172823 0.459597
-v -0.375000 0.172823 0.459597
-v -0.375000 0.178347 0.454073
-v 0.375000 0.139677 0.415403
-v 0.375000 0.134153 0.420927
-v -0.375000 0.134153 0.420927
-v -0.375000 0.139677 0.415403
-v 0.375000 0.115847 0.454073
-v 0.375000 0.110323 0.459597
-v -0.375000 0.110323 0.459597
-v -0.375000 0.115847 0.454073
-v 0.375000 0.077177 0.415403
-v 0.375000 0.071653 0.420927
-v -0.375000 0.071653 0.420927
-v -0.375000 0.077177 0.415403
-v 0.375000 -0.009153 0.454073
-v 0.375000 -0.014677 0.459597
-v -0.375000 -0.014677 0.459597
-v -0.375000 -0.009153 0.454073
-v 0.375000 -0.047823 0.415403
-v 0.375000 -0.053347 0.420927
-v -0.375000 -0.053347 0.420927
-v -0.375000 -0.047823 0.415403
-v 0.375000 0.053347 0.454073
-v 0.375000 0.047823 0.459597
-v -0.375000 0.047823 0.459597
-v -0.375000 0.053347 0.454073
-v 0.375000 0.014677 0.415403
-v 0.375000 0.009153 0.420927
-v -0.375000 0.009153 0.420927
-v -0.375000 0.014677 0.415403
-v 0.375000 -0.071653 0.454073
-v 0.375000 -0.077177 0.459597
-v -0.375000 -0.077177 0.459597
-v -0.375000 -0.071653 0.454073
-v 0.375000 -0.110323 0.415403
-v 0.375000 -0.115847 0.420927
-v -0.375000 -0.115847 0.420927
-v -0.375000 -0.110323 0.415403
-v 0.375000 -0.134153 0.454073
-v 0.375000 -0.139677 0.459597
-v -0.375000 -0.139677 0.459597
-v -0.375000 -0.134153 0.454073
-v 0.375000 -0.172823 0.415403
-v 0.375000 -0.178347 0.420927
-v -0.375000 -0.178347 0.420927
-v -0.375000 -0.172823 0.415403
-v 0.375000 -0.196653 0.454073
-v 0.375000 -0.202177 0.459597
-v -0.375000 -0.202177 0.459597
-v -0.375000 -0.196653 0.454073
-v 0.375000 -0.235323 0.415403
-v 0.375000 -0.240847 0.420927
-v -0.375000 -0.240847 0.420927
-v -0.375000 -0.235323 0.415403
-v 0.375000 -0.259153 0.454073
-v 0.375000 -0.264677 0.459597
-v -0.375000 -0.264677 0.459597
-v -0.375000 -0.259153 0.454073
-v 0.375000 -0.297823 0.415403
-v 0.375000 -0.303347 0.420927
-v -0.375000 -0.303347 0.420927
-v -0.375000 -0.297823 0.415403
-v 0.375000 -0.321653 0.454073
-v 0.375000 -0.327177 0.459597
-v -0.375000 -0.327177 0.459597
-v -0.375000 -0.321653 0.454073
-v 0.375000 -0.360323 0.415403
-v 0.375000 -0.365847 0.420927
-v -0.375000 -0.365847 0.420927
-v -0.375000 -0.360323 0.415403
-vt 0.140625 0.937500
-vt 0.515625 0.937500
-vt 0.578125 0.937500
-vt 0.578125 1.000000
-vt 0.078125 1.000000
-vt 0.078125 0.937500
-vt 0.140625 0.468750
-vt 0.140625 0.531250
-vt 0.515625 0.531250
-vt 0.515625 0.468750
-vt 0.640625 1.000000
-vt 0.640625 0.937500
-vt 0.640625 0.062500
-vt 0.640625 0.000000
-vt 0.578125 0.000000
-vt 0.578125 0.062500
-vt 0.671875 0.750000
-vt 0.671875 0.250000
-vt 0.734375 0.250000
-vt 0.734375 0.750000
-vt 0.828125 0.250000
-vt 0.828125 0.750000
-vt 0.765625 0.750000
-vt 0.765625 0.250000
-vt 0.078125 0.062500
-vt 0.140625 0.062500
-vt 0.515625 0.062500
-vt 0.078125 0.000000
-vt 0.015625 0.000000
-vt 0.015625 0.062500
-vt 0.015625 0.937500
-vt 0.015625 1.000000
-vt 0.515625 0.906250
-vt 0.140625 0.906250
-vt 0.640625 0.531250
-vt 0.578125 0.531250
-vt 0.734375 0.312500
-vt 0.734375 0.687500
-vt 0.671875 0.687500
-vt 0.671875 0.312500
-vt 0.078125 0.531250
-vt 0.015625 0.531250
-vt 0.765625 0.312500
-vt 0.828125 0.312500
-vt 0.828125 0.687500
-vt 0.765625 0.687500
-vt 0.640625 0.468750
-vt 0.578125 0.468750
-vt 0.015625 0.468750
-vt 0.078125 0.468750
-vt 0.140625 0.921875
-vt 0.515625 0.921875
-vt 0.515625 0.875000
-vt 0.140625 0.875000
-vt 0.140625 0.890625
-vt 0.515625 0.890625
-vt 0.515625 0.843750
-vt 0.140625 0.843750
-vt 0.140625 0.859375
-vt 0.515625 0.859375
-vt 0.515625 0.812500
-vt 0.140625 0.812500
-vt 0.140625 0.828125
-vt 0.515625 0.828125
-vt 0.515625 0.781250
-vt 0.140625 0.781250
-vt 0.140625 0.796875
-vt 0.515625 0.796875
-vt 0.515625 0.750000
-vt 0.140625 0.750000
-vt 0.140625 0.765625
-vt 0.515625 0.765625
-vt 0.515625 0.687500
-vt 0.515625 0.718750
-vt 0.140625 0.718750
-vt 0.140625 0.687500
-vt 0.140625 0.703125
-vt 0.515625 0.703125
-vt 0.140625 0.734375
-vt 0.515625 0.734375
-vt 0.515625 0.656250
-vt 0.140625 0.656250
-vt 0.140625 0.671875
-vt 0.515625 0.671875
-vt 0.515625 0.625000
-vt 0.140625 0.625000
-vt 0.140625 0.640625
-vt 0.515625 0.640625
-vt 0.515625 0.609375
-vt 0.140625 0.609375
-vt 0.515625 0.578125
-vt 0.140625 0.578125
-vt 0.140625 0.593750
-vt 0.515625 0.593750
-vt 0.515625 0.546875
-vt 0.140625 0.546875
-vt 0.140625 0.562500
-vt 0.515625 0.562500
-vt 0.515625 0.421875
-vt 0.515625 0.453125
-vt 0.140625 0.453125
-vt 0.140625 0.421875
-vt 0.140625 0.437500
-vt 0.515625 0.437500
-vt 0.515625 0.390625
-vt 0.140625 0.390625
-vt 0.140625 0.406250
-vt 0.515625 0.406250
-vt 0.515625 0.359375
-vt 0.140625 0.359375
-vt 0.140625 0.375000
-vt 0.515625 0.375000
-vt 0.515625 0.328125
-vt 0.140625 0.328125
-vt 0.140625 0.343750
-vt 0.515625 0.343750
-vt 0.515625 0.296875
-vt 0.140625 0.296875
-vt 0.140625 0.312500
-vt 0.515625 0.312500
-vt 0.515625 0.265625
-vt 0.140625 0.265625
-vt 0.140625 0.281250
-vt 0.515625 0.281250
-vt 0.515625 0.203125
-vt 0.515625 0.234375
-vt 0.140625 0.234375
-vt 0.140625 0.203125
-vt 0.140625 0.218750
-vt 0.515625 0.218750
-vt 0.140625 0.250000
-vt 0.515625 0.250000
-vt 0.515625 0.171875
-vt 0.140625 0.171875
-vt 0.140625 0.187500
-vt 0.515625 0.187500
-vt 0.515625 0.140625
-vt 0.140625 0.140625
-vt 0.140625 0.156250
-vt 0.515625 0.156250
-vt 0.515625 0.125000
-vt 0.140625 0.125000
-vt 0.515625 0.093750
-vt 0.140625 0.093750
-vt 0.140625 0.109375
-vt 0.515625 0.109375
-vt 0.140625 0.078125
-vt 0.515625 0.078125
-s off
-f 15/1 20/2 10/3 1/4 2/5 21/6
-f 16/7 31/8 30/9 17/10
-f 23/3 6/4 1/11 10/12 22/13 3/14 8/15 11/16
-f 18/2 19/1 12/6 5/5 6/4 23/3
-f 2/17 1/18 6/19 5/20
-f 3/21 4/22 7/23 8/24
-f 13/10 32/9 27/8 14/7
-f 24/25 12/6 19/1 31/8 16/7 28/26
-f 22/16 10/3 20/2 32/9 13/10 25/27
-f 24/25 7/28 4/29 9/30 21/31 2/32 5/5 12/6
-f 26/26 14/7 27/8 15/1 21/6 9/25
-f 29/27 17/10 30/9 18/2 23/3 11/16
-f 8/15 7/28 24/25 28/26 29/27 11/16
-f 4/28 3/15 22/16 25/27 26/26 9/25
-f 33/33 37/2 40/1 36/34
-f 35/1 39/34 38/33 34/2
-f 15/12 27/35 31/36 19/3
-f 30/37 31/38 27/39 32/40
-f 18/6 30/41 32/42 20/31
-f 18/43 20/44 15/45 19/46
-f 14/47 26/13 28/16 16/48
-f 29/37 28/38 26/39 25/40
-f 13/49 17/50 29/25 25/30
-f 17/43 13/44 14/45 16/46
-f 40/51 37/52 38/2 39/1
-f 33/52 36/51 35/34 34/33
-f 41/53 45/33 48/34 44/54
-f 43/34 47/54 46/53 42/33
-f 48/55 45/56 46/33 47/34
-f 41/56 44/55 43/54 42/53
-f 49/57 53/53 56/54 52/58
-f 51/54 55/58 54/57 50/53
-f 56/59 53/60 54/53 55/54
-f 49/60 52/59 51/58 50/57
-f 57/61 61/57 64/58 60/62
-f 59/58 63/62 62/61 58/57
-f 64/63 61/64 62/57 63/58
-f 57/64 60/63 59/62 58/61
-f 65/65 69/61 72/62 68/66
-f 67/62 71/66 70/65 66/61
-f 72/67 69/68 70/61 71/62
-f 65/68 68/67 67/66 66/65
-f 73/69 77/65 80/66 76/70
-f 75/66 79/70 78/69 74/65
-f 80/71 77/72 78/65 79/66
-f 73/72 76/71 75/70 74/69
-f 81/73 85/74 88/75 84/76
-f 83/75 87/76 86/73 82/74
-f 88/77 85/78 86/74 87/75
-f 81/78 84/77 83/76 82/73
-f 89/74 93/69 96/70 92/75
-f 91/70 95/75 94/74 90/69
-f 96/79 93/80 94/69 95/70
-f 89/80 92/79 91/75 90/74
-f 97/81 101/73 104/76 100/82
-f 99/76 103/82 102/81 98/73
-f 104/83 101/84 102/73 103/76
-f 97/84 100/83 99/82 98/81
-f 105/85 109/81 112/82 108/86
-f 107/82 111/86 110/85 106/81
-f 112/87 109/88 110/81 111/82
-f 105/88 108/87 107/86 106/85
-f 113/89 117/88 120/87 116/90
-f 115/87 119/90 118/89 114/88
-f 120/86 117/85 118/88 119/87
-f 113/85 116/86 115/90 114/89
-f 121/91 125/89 128/90 124/92
-f 123/90 127/92 126/91 122/89
-f 128/93 125/94 126/89 127/90
-f 121/94 124/93 123/92 122/91
-f 129/95 133/91 136/92 132/96
-f 131/92 135/96 134/95 130/91
-f 136/97 133/98 134/91 135/92
-f 129/98 132/97 131/96 130/95
-f 137/99 141/100 144/101 140/102
-f 139/101 143/102 142/99 138/100
-f 144/103 141/104 142/100 143/101
-f 137/104 140/103 139/102 138/99
-f 145/105 149/99 152/102 148/106
-f 147/102 151/106 150/105 146/99
-f 152/107 149/108 150/99 151/102
-f 145/108 148/107 147/106 146/105
-f 153/109 157/105 160/106 156/110
-f 155/106 159/110 158/109 154/105
-f 160/111 157/112 158/105 159/106
-f 153/112 156/111 155/110 154/109
-f 161/113 165/109 168/110 164/114
-f 163/110 167/114 166/113 162/109
-f 168/115 165/116 166/109 167/110
-f 161/116 164/115 163/114 162/113
-f 169/117 173/113 176/114 172/118
-f 171/114 175/118 174/117 170/113
-f 176/119 173/120 174/113 175/114
-f 169/120 172/119 171/118 170/117
-f 177/121 181/117 184/118 180/122
-f 179/118 183/122 182/121 178/117
-f 184/123 181/124 182/117 183/118
-f 177/124 180/123 179/122 178/121
-f 185/125 189/126 192/127 188/128
-f 187/127 191/128 190/125 186/126
-f 192/129 189/130 190/126 191/127
-f 185/130 188/129 187/128 186/125
-f 193/126 197/121 200/122 196/127
-f 195/122 199/127 198/126 194/121
-f 200/131 197/132 198/121 199/122
-f 193/132 196/131 195/127 194/126
-f 201/133 205/125 208/128 204/134
-f 203/128 207/134 206/133 202/125
-f 208/135 205/136 206/125 207/128
-f 201/136 204/135 203/134 202/133
-f 209/137 213/133 216/134 212/138
-f 211/134 215/138 214/137 210/133
-f 216/139 213/140 214/133 215/134
-f 209/140 212/139 211/138 210/137
-f 217/141 221/140 224/139 220/142
-f 219/139 223/142 222/141 218/140
-f 224/138 221/137 222/140 223/139
-f 217/137 220/138 219/142 218/141
-f 225/143 229/141 232/142 228/144
-f 227/142 231/144 230/143 226/141
-f 232/145 229/146 230/141 231/142
-f 225/146 228/145 227/144 226/143
-f 233/27 237/143 240/144 236/26
-f 235/144 239/26 238/27 234/143
-f 240/147 237/148 238/143 239/144
-f 233/148 236/147 235/26 234/27
diff --git a/homedecor_doors_and_gates/models/homedecor_door_fancy.obj b/homedecor_doors_and_gates/models/homedecor_door_fancy.obj
deleted file mode 100644
index 2996ee8..0000000
--- a/homedecor_doors_and_gates/models/homedecor_door_fancy.obj
+++ /dev/null
@@ -1,112 +0,0 @@
-# Blender v2.73 (sub 0) OBJ File: 'door-fancy.blend'
-# www.blender.org
-o Cylinder
-v 0.499750 1.499500 0.499969
-v -0.499750 1.499500 0.499969
-v 0.499750 -0.499500 0.499969
-v -0.499750 -0.499500 0.499969
-v -0.499750 1.499500 0.375031
-v 0.499750 1.499500 0.375031
-v -0.499750 -0.499500 0.375031
-v 0.499750 -0.499500 0.375031
-v -0.499750 -0.374531 0.499969
-v 0.499750 1.374531 0.499969
-v 0.499750 -0.374531 0.375031
-v -0.499750 1.374531 0.375031
-v -0.374875 1.374531 0.499969
-v 0.374875 1.374531 0.375031
-v -0.374875 1.374531 0.375031
-v 0.374875 1.374531 0.499969
-v -0.499750 1.374531 0.499969
-v 0.499750 -0.374531 0.499969
-v 0.499750 1.374531 0.375031
-v -0.499750 -0.374531 0.375031
-v 0.374875 -0.374531 0.499969
-v -0.374875 -0.374531 0.499969
-v -0.374875 0.374969 0.499969
-v -0.374875 -0.374531 0.375031
-v 0.374875 -0.374531 0.375031
-v 0.374875 0.374969 0.375031
-v -0.374875 0.374969 0.375031
-v 0.374875 0.374969 0.499969
-v -0.375000 0.375000 0.438458
-v 0.375000 0.375000 0.438458
-v -0.375000 1.375000 0.438458
-v 0.375000 1.375000 0.438458
-v 0.375000 0.375000 0.436542
-v -0.375000 0.375000 0.436542
-v 0.375000 1.375000 0.436542
-v -0.375000 1.375000 0.436542
-vt 0.765625 0.312500
-vt 0.828125 0.312500
-vt 0.828125 0.687500
-vt 0.765625 0.687500
-vt 0.078125 0.062500
-vt 0.078125 0.000000
-vt 0.578125 0.000000
-vt 0.578125 0.062500
-vt 0.515625 0.937500
-vt 0.515625 0.062500
-vt 0.578125 0.937500
-vt 0.140625 0.437500
-vt 0.140625 0.062500
-vt 0.515625 0.437500
-vt 0.140625 0.937500
-vt 0.078125 0.937500
-vt 0.578125 1.000000
-vt 0.078125 1.000000
-vt 0.765625 0.250000
-vt 0.828125 0.250000
-vt 0.828125 0.750000
-vt 0.765625 0.750000
-vt 0.734375 0.250000
-vt 0.734375 0.750000
-vt 0.671875 0.750000
-vt 0.671875 0.250000
-vt 0.640625 0.000000
-vt 0.640625 1.000000
-vt 0.015625 1.000000
-vt 0.015625 0.000000
-vt 0.734375 0.312500
-vt 0.734375 0.687500
-vt 0.671875 0.687500
-vt 0.671875 0.312500
-vt 0.640625 0.937500
-vt 0.578125 0.437500
-vt 0.640625 0.437500
-vt 0.015625 0.937500
-vt 0.015625 0.437500
-vt 0.078125 0.437500
-vt 0.125000 1.000000
-vt 0.875000 1.000000
-vt 0.875000 0.000000
-vt 0.125000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-g Cylinder_Cylinder_door
-s off
-f 14/1/1 16/2/1 13/3/1 15/4/1
-f 11/5/2 8/6/2 7/7/2 20/8/2
-f 15/9/2 24/10/2 20/8/2 12/11/2
-f 26/12/2 25/13/2 24/10/2 27/14/2
-f 11/5/2 25/13/2 14/15/2 19/16/2
-f 19/16/2 12/11/2 5/17/2 6/18/2
-f 9/8/3 4/7/3 3/6/3 18/5/3
-f 9/8/3 22/10/3 13/9/3 17/11/3
-f 17/11/3 10/16/3 1/18/3 2/17/3
-f 16/15/3 21/13/3 18/5/3 10/16/3
-f 23/14/3 22/10/3 21/13/3 28/12/3
-f 8/19/1 3/20/1 4/21/1 7/22/1
-f 6/23/4 5/24/4 2/25/4 1/26/4
-f 5/17/5 7/7/5 4/27/5 2/28/5
-f 8/6/6 6/18/6 1/29/6 3/30/6
-f 26/31/4 27/32/4 23/33/4 28/34/4
-f 16/35/5 14/11/5 26/36/5 28/37/5
-f 15/16/6 13/38/6 23/39/6 27/40/6
-g Cylinder_Cylinder_glass
-f 32/41/3 31/42/3 29/43/3 30/44/3
-f 36/42/2 35/41/2 33/44/2 34/43/2
diff --git a/homedecor_doors_and_gates/models/homedecor_door_fancy_a.obj b/homedecor_doors_and_gates/models/homedecor_door_fancy_a.obj
new file mode 100644
index 0000000..1456e9c
--- /dev/null
+++ b/homedecor_doors_and_gates/models/homedecor_door_fancy_a.obj
@@ -0,0 +1,108 @@
+# Blender v2.79 (sub 0) OBJ File: 'door-fancy.blend'
+# www.blender.org
+o Cylinder_Cylinder_door
+v -0.375000 1.375000 -0.375000
+v -0.375000 1.375000 -0.500000
+v 0.375000 1.375000 -0.500000
+v 0.375000 1.375000 -0.375000
+v -0.500000 -0.500000 -0.375000
+v 0.500000 -0.500000 -0.375000
+v -0.375000 0.375000 -0.375000
+v 0.375000 0.375000 -0.375000
+v 0.500000 1.500000 -0.375000
+v -0.500000 1.500000 -0.375000
+v 0.500000 -0.500000 -0.500000
+v -0.500000 -0.500000 -0.500000
+v -0.500000 1.500000 -0.500000
+v 0.500000 1.500000 -0.500000
+v 0.375000 0.375000 -0.500000
+v -0.375000 0.375000 -0.500000
+v -0.375000 1.375000 -0.437500
+v 0.375000 1.375000 -0.437500
+v 0.375000 0.375000 -0.437500
+v -0.375000 0.375000 -0.437500
+v 0.375000 1.375000 -0.436500
+v -0.375000 1.375000 -0.436500
+v -0.375000 0.375000 -0.436500
+v 0.375000 0.375000 -0.436500
+vt 1.000000 0.937500
+vt 0.947368 0.937500
+vt 0.947368 0.562500
+vt 1.000000 0.562500
+vt 0.789474 0.437500
+vt 0.473684 0.437500
+vt 0.421053 -0.000000
+vt 0.842105 -0.000000
+vt 0.368421 0.437500
+vt 0.052632 0.437500
+vt 0.000000 -0.000000
+vt 0.421053 -0.000000
+vt 0.052632 0.937500
+vt 0.000000 1.000000
+vt 0.421053 1.000000
+vt 0.368421 0.937500
+vt 0.789474 0.937500
+vt 0.842105 1.000000
+vt 0.421053 1.000000
+vt 0.473684 0.937500
+vt 1.000000 1.000000
+vt 0.947368 1.000000
+vt 0.947368 0.500000
+vt 1.000000 0.500000
+vt 1.000000 -0.000000
+vt 1.000000 0.500000
+vt 0.947368 0.500000
+vt 0.947368 -0.000000
+vt 0.842105 1.000000
+vt 0.842105 -0.000000
+vt 0.894737 -0.000000
+vt 0.894737 1.000000
+vt 0.947368 -0.000000
+vt 0.947368 1.000000
+vt 0.894737 1.000000
+vt 0.894737 -0.000000
+vt 1.000000 0.062500
+vt 1.000000 0.437500
+vt 0.947368 0.437500
+vt 0.947368 0.062500
+vt 0.894737 0.937500
+vt 0.842105 0.937500
+vt 0.842105 0.437500
+vt 0.894737 0.437500
+vt 0.947368 0.937500
+vt 0.894737 0.937500
+vt 0.894737 0.437500
+vt 0.947368 0.437500
+vt 0.789474 0.937500
+vt 0.473684 0.937500
+vt 0.473684 0.437500
+vt 0.789474 0.437500
+vt 0.368421 0.937500
+vt 0.052632 0.937500
+vt 0.052632 0.437500
+vt 0.368421 0.437500
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 1.0000 0.0000
+vn 1.0000 0.0000 0.0000
+vn -1.0000 0.0000 0.0000
+s off
+f 1/1/1 2/2/1 3/3/1 4/4/1
+f 16/5/2 15/6/2 11/7/2 12/8/2
+f 8/9/3 7/10/3 5/11/3 6/12/3
+f 5/11/3 7/10/3 1/13/3 10/14/3
+f 6/12/3 9/15/3 4/16/3 8/9/3
+f 9/15/3 10/14/3 1/13/3 4/16/3
+f 2/17/2 16/5/2 12/8/2 13/18/2
+f 14/19/2 3/20/2 2/17/2 13/18/2
+f 3/20/2 14/19/2 11/7/2 15/6/2
+f 5/21/1 12/22/1 11/23/1 6/24/1
+f 10/25/4 9/26/4 14/27/4 13/28/4
+f 9/29/5 6/30/5 11/31/5 14/32/5
+f 5/33/6 10/34/6 13/35/6 12/36/6
+f 7/37/4 8/38/4 15/39/4 16/40/4
+f 2/41/5 1/42/5 7/43/5 16/44/5
+f 4/45/6 3/46/6 15/47/6 8/48/6
+f 17/49/2 18/50/2 19/51/2 20/52/2
+f 21/53/3 22/54/3 23/55/3 24/56/3
diff --git a/homedecor_doors_and_gates/models/homedecor_door_fancy_b.obj b/homedecor_doors_and_gates/models/homedecor_door_fancy_b.obj
new file mode 100644
index 0000000..3f894c3
--- /dev/null
+++ b/homedecor_doors_and_gates/models/homedecor_door_fancy_b.obj
@@ -0,0 +1,108 @@
+# Blender v2.79 (sub 0) OBJ File: 'door-fancy.blend'
+# www.blender.org
+o Cylinder_Cylinder_door
+v 0.375000 1.375000 -0.500000
+v 0.375000 1.375000 -0.375000
+v -0.375000 1.375000 -0.375000
+v -0.375000 1.375000 -0.500000
+v 0.500000 -0.500000 -0.500000
+v -0.500000 -0.500000 -0.500000
+v 0.375000 0.375000 -0.500000
+v -0.375000 0.375000 -0.500000
+v -0.500000 1.500000 -0.500000
+v 0.500000 1.500000 -0.500000
+v -0.500000 -0.500000 -0.375000
+v 0.500000 -0.500000 -0.375000
+v 0.500000 1.500000 -0.375000
+v -0.500000 1.500000 -0.375000
+v -0.375000 0.375000 -0.375000
+v 0.375000 0.375000 -0.375000
+v 0.375000 1.375000 -0.437500
+v -0.375000 1.375000 -0.437500
+v -0.375000 0.375000 -0.437500
+v 0.375000 0.375000 -0.437500
+v -0.375000 1.375000 -0.438500
+v 0.375000 1.375000 -0.438500
+v 0.375000 0.375000 -0.438500
+v -0.375000 0.375000 -0.438500
+vt 1.000000 0.937500
+vt 0.947368 0.937500
+vt 0.947368 0.562500
+vt 1.000000 0.562500
+vt 0.789474 0.437500
+vt 0.473684 0.437500
+vt 0.421053 -0.000000
+vt 0.842105 -0.000000
+vt 0.368421 0.437500
+vt 0.052632 0.437500
+vt 0.000000 -0.000000
+vt 0.421053 -0.000000
+vt 0.052632 0.937500
+vt 0.000000 1.000000
+vt 0.421053 1.000000
+vt 0.368421 0.937500
+vt 0.789474 0.937500
+vt 0.842105 1.000000
+vt 0.421053 1.000000
+vt 0.473684 0.937500
+vt 1.000000 1.000000
+vt 0.947368 1.000000
+vt 0.947368 0.500000
+vt 1.000000 0.500000
+vt 1.000000 -0.000000
+vt 1.000000 0.500000
+vt 0.947368 0.500000
+vt 0.947368 -0.000000
+vt 0.842105 1.000000
+vt 0.842105 -0.000000
+vt 0.894737 -0.000000
+vt 0.894737 1.000000
+vt 0.947368 -0.000000
+vt 0.947368 1.000000
+vt 0.894737 1.000000
+vt 0.894737 -0.000000
+vt 1.000000 0.062500
+vt 1.000000 0.437500
+vt 0.947368 0.437500
+vt 0.947368 0.062500
+vt 0.894737 0.937500
+vt 0.842105 0.937500
+vt 0.842105 0.437500
+vt 0.894737 0.437500
+vt 0.947368 0.937500
+vt 0.894737 0.937500
+vt 0.894737 0.437500
+vt 0.947368 0.437500
+vt 0.789474 0.937500
+vt 0.473684 0.937500
+vt 0.473684 0.437500
+vt 0.789474 0.437500
+vt 0.368421 0.937500
+vt 0.052632 0.937500
+vt 0.052632 0.437500
+vt 0.368421 0.437500
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn -0.0000 -0.0000 -1.0000
+vn 0.0000 1.0000 0.0000
+vn -1.0000 0.0000 0.0000
+vn 1.0000 0.0000 0.0000
+s off
+f 1/1/1 2/2/1 3/3/1 4/4/1
+f 16/5/2 15/6/2 11/7/2 12/8/2
+f 8/9/3 7/10/3 5/11/3 6/12/3
+f 5/11/3 7/10/3 1/13/3 10/14/3
+f 6/12/3 9/15/3 4/16/3 8/9/3
+f 9/15/3 10/14/3 1/13/3 4/16/3
+f 2/17/2 16/5/2 12/8/2 13/18/2
+f 14/19/2 3/20/2 2/17/2 13/18/2
+f 3/20/2 14/19/2 11/7/2 15/6/2
+f 5/21/1 12/22/1 11/23/1 6/24/1
+f 10/25/4 9/26/4 14/27/4 13/28/4
+f 9/29/5 6/30/5 11/31/5 14/32/5
+f 5/33/6 10/34/6 13/35/6 12/36/6
+f 7/37/4 8/38/4 15/39/4 16/40/4
+f 2/41/5 1/42/5 7/43/5 16/44/5
+f 4/45/6 3/46/6 15/47/6 8/48/6
+f 17/49/2 18/50/2 19/51/2 20/52/2
+f 21/53/3 22/54/3 23/55/3 24/56/3
diff --git a/homedecor_doors_and_gates/models/homedecor_door_fancy_right.obj b/homedecor_doors_and_gates/models/homedecor_door_fancy_right.obj
deleted file mode 100644
index a7bab10..0000000
--- a/homedecor_doors_and_gates/models/homedecor_door_fancy_right.obj
+++ /dev/null
@@ -1,112 +0,0 @@
-# Blender v2.73 (sub 0) OBJ File: 'door-fancy-right.blend'
-# www.blender.org
-o Cylinder
-v 0.499750 1.499500 0.499969
-v -0.499750 1.499500 0.499969
-v 0.499750 -0.499500 0.499969
-v -0.499750 -0.499500 0.499969
-v -0.499750 1.499500 0.375031
-v 0.499750 1.499500 0.375031
-v -0.499750 -0.499500 0.375031
-v 0.499750 -0.499500 0.375031
-v -0.499750 -0.374531 0.499969
-v 0.499750 1.374531 0.499969
-v 0.499750 -0.374531 0.375031
-v -0.499750 1.374531 0.375031
-v -0.374875 1.374531 0.499969
-v 0.374875 1.374531 0.375031
-v -0.374875 1.374531 0.375031
-v 0.374875 1.374531 0.499969
-v -0.499750 1.374531 0.499969
-v 0.499750 -0.374531 0.499969
-v 0.499750 1.374531 0.375031
-v -0.499750 -0.374531 0.375031
-v 0.374875 -0.374531 0.499969
-v -0.374875 -0.374531 0.499969
-v -0.374875 0.374969 0.499969
-v -0.374875 -0.374531 0.375031
-v 0.374875 -0.374531 0.375031
-v 0.374875 0.374969 0.375031
-v -0.374875 0.374969 0.375031
-v 0.374875 0.374969 0.499969
-v -0.375000 0.375000 0.438458
-v 0.375000 0.375000 0.438458
-v -0.375000 1.375000 0.438458
-v 0.375000 1.375000 0.438458
-v 0.375000 0.375000 0.436542
-v -0.375000 0.375000 0.436542
-v 0.375000 1.375000 0.436542
-v -0.375000 1.375000 0.436542
-vt 0.765625 0.312500
-vt 0.828125 0.312500
-vt 0.828125 0.687500
-vt 0.765625 0.687500
-vt 0.578125 0.062500
-vt 0.578125 0.000000
-vt 0.078125 0.000000
-vt 0.078125 0.062500
-vt 0.140625 0.937500
-vt 0.140625 0.062500
-vt 0.078125 0.937500
-vt 0.515625 0.437500
-vt 0.515625 0.062500
-vt 0.140625 0.437500
-vt 0.515625 0.937500
-vt 0.578125 0.937500
-vt 0.078125 1.000000
-vt 0.578125 1.000000
-vt 0.765625 0.250000
-vt 0.828125 0.250000
-vt 0.828125 0.750000
-vt 0.765625 0.750000
-vt 0.734375 0.250000
-vt 0.734375 0.750000
-vt 0.671875 0.750000
-vt 0.671875 0.250000
-vt 0.015625 0.000000
-vt 0.015625 1.000000
-vt 0.640625 1.000000
-vt 0.640625 0.000000
-vt 0.734375 0.312500
-vt 0.734375 0.687500
-vt 0.671875 0.687500
-vt 0.671875 0.312500
-vt 0.015625 0.937500
-vt 0.078125 0.437500
-vt 0.015625 0.437500
-vt 0.640625 0.937500
-vt 0.640625 0.437500
-vt 0.578125 0.437500
-vt 0.875000 1.000000
-vt 0.125000 1.000000
-vt 0.125000 0.000000
-vt 0.875000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-g Cylinder_Cylinder_door
-s off
-f 14/1/1 16/2/1 13/3/1 15/4/1
-f 11/5/2 8/6/2 7/7/2 20/8/2
-f 15/9/2 24/10/2 20/8/2 12/11/2
-f 26/12/2 25/13/2 24/10/2 27/14/2
-f 11/5/2 25/13/2 14/15/2 19/16/2
-f 19/16/2 12/11/2 5/17/2 6/18/2
-f 9/8/3 4/7/3 3/6/3 18/5/3
-f 9/8/3 22/10/3 13/9/3 17/11/3
-f 17/11/3 10/16/3 1/18/3 2/17/3
-f 16/15/3 21/13/3 18/5/3 10/16/3
-f 23/14/3 22/10/3 21/13/3 28/12/3
-f 8/19/1 3/20/1 4/21/1 7/22/1
-f 6/23/4 5/24/4 2/25/4 1/26/4
-f 5/17/5 7/7/5 4/27/5 2/28/5
-f 8/6/6 6/18/6 1/29/6 3/30/6
-f 26/31/4 27/32/4 23/33/4 28/34/4
-f 16/35/5 14/11/5 26/36/5 28/37/5
-f 15/16/6 13/38/6 23/39/6 27/40/6
-g Cylinder_Cylinder_glass
-f 32/41/3 31/42/3 29/43/3 30/44/3
-f 36/42/2 35/41/2 33/44/2 34/43/2
diff --git a/homedecor_doors_and_gates/models/homedecor_door_plain.obj b/homedecor_doors_and_gates/models/homedecor_door_plain.obj
deleted file mode 100644
index 035c0c0..0000000
--- a/homedecor_doors_and_gates/models/homedecor_door_plain.obj
+++ /dev/null
@@ -1,35 +0,0 @@
-# Blender v2.73 (sub 0) OBJ File: 'door-plain.blend'
-# www.blender.org
-o Cylinder
-v 0.497500 1.495000 0.496875
-v -0.497500 1.495000 0.496875
-v 0.497500 -0.495000 0.496875
-v -0.497500 -0.495000 0.496875
-v -0.497500 1.495000 0.378125
-v 0.497500 1.495000 0.378125
-v -0.497500 -0.495000 0.378125
-v 0.497500 -0.495000 0.378125
-vt 0.578125 0.000000
-vt 0.078125 0.000000
-vt 0.078125 1.000000
-vt 0.578125 1.000000
-vt 0.015625 -0.000000
-vt 0.015625 1.000000
-vt 0.640625 1.000000
-vt 0.640625 0.000000
-vt 0.671875 0.250000
-vt 0.734375 0.250000
-vt 0.734375 0.750000
-vt 0.671875 0.750000
-vt 0.765625 0.750000
-vt 0.828125 0.750000
-vt 0.828125 0.250000
-vt 0.765625 0.250000
-g Cylinder_Cylinder_None
-s off
-f 4/1 3/2 1/3 2/4
-f 8/2 7/1 5/4 6/3
-f 3/5 8/2 6/3 1/6
-f 2/4 5/7 7/8 4/1
-f 1/9 6/10 5/11 2/12
-f 4/13 7/14 8/15 3/16
diff --git a/homedecor_doors_and_gates/models/homedecor_door_plain_right.obj b/homedecor_doors_and_gates/models/homedecor_door_plain_right.obj
deleted file mode 100644
index f735e3e..0000000
--- a/homedecor_doors_and_gates/models/homedecor_door_plain_right.obj
+++ /dev/null
@@ -1,35 +0,0 @@
-# Blender v2.73 (sub 0) OBJ File: 'door-plain-right.blend'
-# www.blender.org
-o Cylinder
-v 0.497500 1.495000 0.496875
-v -0.497500 1.495000 0.496875
-v 0.497500 -0.495000 0.496875
-v -0.497500 -0.495000 0.496875
-v -0.497500 1.495000 0.378125
-v 0.497500 1.495000 0.378125
-v -0.497500 -0.495000 0.378125
-v 0.497500 -0.495000 0.378125
-vt 0.078125 0.000000
-vt 0.578125 0.000000
-vt 0.578125 1.000000
-vt 0.078125 1.000000
-vt 0.640625 0.000000
-vt 0.640625 1.000000
-vt 0.015625 1.000000
-vt 0.015625 0.000000
-vt 0.734375 0.750000
-vt 0.671875 0.750000
-vt 0.671875 0.250000
-vt 0.734375 0.250000
-vt 0.828125 0.250000
-vt 0.765625 0.250000
-vt 0.765625 0.750000
-vt 0.828125 0.750000
-g Cylinder_Cylinder_None
-s off
-f 4/1 3/2 1/3 2/4
-f 8/2 7/1 5/4 6/3
-f 3/5 8/2 6/3 1/6
-f 2/4 5/7 7/8 4/1
-f 1/9 6/10 5/11 2/12
-f 4/13 7/14 8/15 3/16
diff --git a/homedecor_doors_and_gates/models/homedecor_door_wood_glass.obj b/homedecor_doors_and_gates/models/homedecor_door_wood_glass.obj
deleted file mode 100644
index b1b6b40..0000000
--- a/homedecor_doors_and_gates/models/homedecor_door_wood_glass.obj
+++ /dev/null
@@ -1,243 +0,0 @@
-# Blender v2.73 (sub 0) OBJ File: 'door-woodglass-standard.blend'
-# www.blender.org
-o Cylinder
-v 0.499750 1.499500 0.499969
-v -0.499750 1.499500 0.499969
-v 0.499750 -0.499500 0.499969
-v -0.499750 -0.499500 0.499969
-v -0.499750 1.499500 0.375031
-v 0.499750 1.499500 0.375031
-v -0.499750 -0.499500 0.375031
-v 0.499750 -0.499500 0.375031
-v -0.499750 -0.374531 0.499969
-v 0.499750 1.374531 0.499969
-v 0.499750 -0.374531 0.375031
-v -0.499750 1.374531 0.375031
-v 0.374875 0.437531 0.499969
-v -0.374875 0.437531 0.499969
-v -0.374875 1.374531 0.499969
-v -0.374875 0.437531 0.375031
-v 0.374875 0.437531 0.375031
-v 0.374875 1.374531 0.375031
-v -0.374875 1.374531 0.375031
-v 0.374875 1.374531 0.499969
-v -0.499750 1.374531 0.499969
-v 0.499750 -0.374531 0.499969
-v 0.499750 1.374531 0.375031
-v -0.499750 -0.374531 0.375031
-v 0.374875 -0.374531 0.499969
-v -0.374875 -0.374531 0.499969
-v -0.374875 0.562469 0.499969
-v -0.374875 -0.374531 0.375031
-v 0.374875 -0.374531 0.375031
-v 0.374875 0.562469 0.375031
-v -0.374875 0.562469 0.375031
-v 0.374875 0.562469 0.499969
-v 0.374875 -0.031219 0.499969
-v -0.374875 -0.031219 0.499969
-v -0.374875 -0.031219 0.375031
-v 0.374875 -0.031219 0.375031
-v -0.374875 0.093719 0.499969
-v 0.374875 0.093719 0.375031
-v -0.374875 0.093719 0.375031
-v 0.374875 0.093719 0.499969
-v 0.374875 1.031219 0.499969
-v -0.374875 1.031219 0.375031
-v 0.374875 1.031219 0.375031
-v -0.374875 1.031219 0.499969
-v 0.374875 0.906281 0.375031
-v -0.374875 0.906281 0.375031
-v -0.374875 0.906281 0.499969
-v 0.374875 0.906281 0.499969
-v -0.062500 1.031250 0.500000
-v -0.062500 1.031250 0.375000
-v 0.062500 1.031250 0.375000
-v 0.062500 1.031250 0.500000
-v -0.062500 1.375000 0.500000
-v -0.062500 1.375000 0.375000
-v 0.062500 1.375000 0.375000
-v 0.062500 1.375000 0.500000
-v -0.062500 0.562500 0.500000
-v -0.062500 0.562500 0.375000
-v 0.062500 0.562500 0.375000
-v 0.062500 0.562500 0.500000
-v -0.062500 0.906250 0.500000
-v -0.062500 0.906250 0.375000
-v 0.062500 0.906250 0.375000
-v 0.062500 0.906250 0.500000
-v -0.062500 0.093750 0.500000
-v -0.062500 0.093750 0.375000
-v 0.062500 0.093750 0.375000
-v 0.062500 0.093750 0.500000
-v -0.062500 0.437500 0.500000
-v -0.062500 0.437500 0.375000
-v 0.062500 0.437500 0.375000
-v 0.062500 0.437500 0.500000
-v -0.062500 -0.375000 0.500000
-v -0.062500 -0.375000 0.375000
-v 0.062500 -0.375000 0.375000
-v 0.062500 -0.375000 0.500000
-v -0.062500 -0.031250 0.500000
-v -0.062500 -0.031250 0.375000
-v 0.062500 -0.031250 0.375000
-v 0.062500 -0.031250 0.500000
-v -0.375000 -0.375000 0.438458
-v 0.375000 -0.375000 0.438458
-v -0.375000 1.375000 0.438458
-v 0.375000 1.375000 0.438458
-v 0.375000 -0.375000 0.436542
-v -0.375000 -0.375000 0.436542
-v 0.375000 1.375000 0.436542
-v -0.375000 1.375000 0.436542
-vt 0.515625 0.937500
-vt 0.140625 0.937500
-vt 0.078125 0.937500
-vt 0.078125 1.000000
-vt 0.578125 1.000000
-vt 0.578125 0.937500
-vt 0.515625 0.468750
-vt 0.515625 0.531250
-vt 0.140625 0.531250
-vt 0.140625 0.468750
-vt 0.015625 1.000000
-vt 0.015625 0.937500
-vt 0.015625 0.062500
-vt 0.015625 0.000000
-vt 0.078125 0.000000
-vt 0.078125 0.062500
-vt 0.671875 0.750000
-vt 0.671875 0.250000
-vt 0.734375 0.250000
-vt 0.734375 0.750000
-vt 0.828125 0.250000
-vt 0.828125 0.750000
-vt 0.765625 0.750000
-vt 0.765625 0.250000
-vt 0.578125 0.062500
-vt 0.515625 0.062500
-vt 0.140625 0.062500
-vt 0.578125 -0.000000
-vt 0.640625 -0.000000
-vt 0.640625 0.062500
-vt 0.640625 0.937500
-vt 0.640625 1.000000
-vt 0.015625 0.531250
-vt 0.078125 0.531250
-vt 0.734375 0.312500
-vt 0.734375 0.687500
-vt 0.671875 0.687500
-vt 0.671875 0.312500
-vt 0.578125 0.531250
-vt 0.640625 0.531250
-vt 0.765625 0.312500
-vt 0.828125 0.312500
-vt 0.828125 0.687500
-vt 0.765625 0.687500
-vt 0.015625 0.468750
-vt 0.078125 0.468750
-vt 0.640625 0.468750
-vt 0.578125 0.468750
-vt 0.515625 0.234375
-vt 0.515625 0.296875
-vt 0.140625 0.296875
-vt 0.140625 0.234375
-vt 0.140625 0.703125
-vt 0.140625 0.765625
-vt 0.515625 0.765625
-vt 0.515625 0.703125
-vt 0.578125 0.765625
-vt 0.640625 0.765625
-vt 0.359375 0.937500
-vt 0.296875 0.937500
-vt 0.296875 0.765625
-vt 0.359375 0.765625
-vt 0.015625 0.765625
-vt 0.078125 0.765625
-vt 0.000000 0.000000
-vt 0.640625 0.703125
-vt 0.578125 0.703125
-vt 0.359375 0.703125
-vt 0.296875 0.703125
-vt 0.296875 0.531250
-vt 0.359375 0.531250
-vt 0.078125 0.703125
-vt 0.015625 0.703125
-vt 0.578125 0.296875
-vt 0.640625 0.296875
-vt 0.359375 0.468750
-vt 0.296875 0.468750
-vt 0.296875 0.296875
-vt 0.359375 0.296875
-vt 0.015625 0.296875
-vt 0.078125 0.296875
-vt 0.640625 0.234375
-vt 0.578125 0.234375
-vt 0.359375 0.234375
-vt 0.296875 0.234375
-vt 0.296875 0.062500
-vt 0.359375 0.062500
-vt 0.078125 0.234375
-vt 0.015625 0.234375
-vt 0.390625 0.109375
-vt 0.015625 0.109375
-vt 0.015625 0.984375
-vt 0.390625 0.984375
-vn 0.000000 0.000000 1.000000
-vn -0.000000 0.000000 -1.000000
-vn 1.000000 0.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-g Cylinder_Cylinder_door
-s off
-f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
-f 16/7/2 31/8/2 30/9/2 17/10/2
-f 23/3/3 6/4/3 1/11/3 10/12/3 22/13/3 3/14/3 8/15/3 11/16/3
-f 18/2/2 19/1/2 12/6/2 5/5/2 6/4/2 23/3/2
-f 2/17/4 1/18/4 6/19/4 5/20/4
-f 3/21/5 4/22/5 7/23/5 8/24/5
-f 13/10/1 32/9/1 27/8/1 14/7/1
-f 24/25/2 12/6/2 19/1/2 31/8/2 16/7/2 28/26/2
-f 22/16/1 10/3/1 20/2/1 32/9/1 13/10/1 25/27/1
-f 24/25/6 7/28/6 4/29/6 9/30/6 21/31/6 2/32/6 5/5/6 12/6/6
-f 26/26/1 14/7/1 27/8/1 15/1/1 21/6/1 9/25/1
-f 29/27/2 17/10/2 30/9/2 18/2/2 23/3/2 11/16/2
-f 8/15/2 7/28/2 24/25/2 28/26/2 29/27/2 11/16/2
-f 4/28/1 3/15/1 22/16/1 25/27/1 26/26/1 9/25/1
-f 15/12/3 27/33/3 31/34/3 19/3/3
-f 30/35/4 31/36/4 27/37/4 32/38/4
-f 18/6/6 30/39/6 32/40/6 20/31/6
-f 18/41/5 20/42/5 15/43/5 19/44/5
-f 14/45/3 26/13/3 28/16/3 16/46/3
-f 29/35/4 28/36/4 26/37/4 25/38/4
-f 13/47/6 17/48/6 29/25/6 25/30/6
-f 17/41/5 13/42/5 14/43/5 16/44/5
-f 35/49/2 39/50/2 38/51/2 36/52/2
-f 33/52/1 40/51/1 37/50/1 34/49/1
-f 38/35/4 39/36/4 37/37/4 40/38/4
-f 36/41/5 33/42/5 34/43/5 35/44/5
-f 45/41/5 48/42/5 47/43/5 46/44/5
-f 43/35/4 42/36/4 44/37/4 41/38/4
-f 48/53/1 41/54/1 44/55/1 47/56/1
-f 46/56/2 42/55/2 43/54/2 45/53/2
-f 53/31/6 54/6/6 50/57/6 49/58/6
-f 54/59/2 55/60/2 51/61/2 50/62/2
-f 55/3/3 56/12/3 52/63/3 51/64/3
-f 56/60/1 53/59/1 49/62/1 52/61/1
-f 49/65/5 50/65/5 51/65/5 52/65/5
-f 56/65/4 55/65/4 54/65/4 53/65/4
-f 61/66/6 62/67/6 58/39/6 57/40/6
-f 62/68/2 63/69/2 59/70/2 58/71/2
-f 63/72/3 64/73/3 60/33/3 59/34/3
-f 64/69/1 61/68/1 57/71/1 60/70/1
-f 69/47/6 70/48/6 66/74/6 65/75/6
-f 70/76/2 71/77/2 67/78/2 66/79/2
-f 71/46/3 72/45/3 68/80/3 67/81/3
-f 72/77/1 69/76/1 65/79/1 68/78/1
-f 77/82/6 78/83/6 74/25/6 73/30/6
-f 78/84/2 79/85/2 75/86/2 74/87/2
-f 79/88/3 80/89/3 76/13/3 75/16/3
-f 80/85/1 77/84/1 73/87/1 76/86/1
-g Cylinder_Cylinder_glass
-f 81/90/1 82/91/1 84/92/1 83/93/1
-f 85/91/2 86/90/2 88/93/2 87/92/2
diff --git a/homedecor_doors_and_gates/models/homedecor_door_wood_glass_3_a.obj b/homedecor_doors_and_gates/models/homedecor_door_wood_glass_3_a.obj
new file mode 100644
index 0000000..aa82672
--- /dev/null
+++ b/homedecor_doors_and_gates/models/homedecor_door_wood_glass_3_a.obj
@@ -0,0 +1,138 @@
+# Blender v2.79 (sub 0) OBJ File: 'door-woodglass-typea.blend'
+# www.blender.org
+o Cylinder
+v -0.499750 1.499500 -0.499969
+v 0.499750 1.499500 -0.499969
+v -0.499750 -0.499500 -0.499969
+v 0.499750 -0.499500 -0.499969
+v 0.499750 1.499500 -0.375031
+v -0.499750 1.499500 -0.375031
+v 0.499750 -0.499500 -0.375031
+v -0.499750 -0.499500 -0.375031
+v 0.499750 -0.374531 -0.499969
+v -0.499750 1.312031 -0.499969
+v -0.499750 -0.374531 -0.375031
+v 0.499750 1.312031 -0.375031
+v -0.187375 0.437531 -0.499969
+v 0.187375 0.437531 -0.499969
+v 0.187375 1.312031 -0.499969
+v 0.187375 0.437531 -0.375031
+v -0.187375 0.437531 -0.375031
+v -0.187375 1.312031 -0.375031
+v 0.187375 1.312031 -0.375031
+v -0.187375 1.312031 -0.499969
+v 0.499750 1.312031 -0.499969
+v -0.499750 -0.374531 -0.499969
+v -0.499750 1.312031 -0.375031
+v 0.499750 -0.374531 -0.375031
+v -0.187375 -0.374531 -0.499969
+v 0.187375 -0.374531 -0.499969
+v 0.187375 -0.374531 -0.375031
+v -0.187375 -0.374531 -0.375031
+v 0.187500 0.437500 -0.438458
+v -0.187500 0.437500 -0.438458
+v 0.187500 1.312500 -0.438458
+v -0.187500 1.312500 -0.438458
+v -0.187500 0.437500 -0.436542
+v 0.187500 0.437500 -0.436542
+v -0.187500 1.312500 -0.436542
+v 0.187500 1.312500 -0.436542
+vt 0.552632 0.906250
+vt 0.710526 0.906250
+vt 0.842105 0.906250
+vt 0.842105 1.000000
+vt 0.421053 1.000000
+vt 0.421053 0.906250
+vt 0.894737 0.906250
+vt 0.894737 1.000000
+vt 0.842105 0.062500
+vt 0.842105 0.000000
+vt 0.894737 0.000000
+vt 0.894737 0.062500
+vt 0.131579 0.906250
+vt 0.289474 0.906250
+vt 0.421053 0.906250
+vt 0.421053 1.000000
+vt 0.000000 1.000000
+vt 0.000000 0.906250
+vt 0.947368 0.500000
+vt 0.947368 0.000000
+vt 1.000000 0.000000
+vt 1.000000 0.500000
+vt 0.947368 1.000000
+vt 0.947368 0.500000
+vt 1.000000 0.500000
+vt 1.000000 1.000000
+vt 0.421053 0.062500
+vt 0.289474 0.468750
+vt 0.289474 0.062500
+vt 0.710526 0.468750
+vt 0.710526 0.062500
+vt 0.894737 0.062500
+vt 0.894737 0.000000
+vt 0.947368 0.000000
+vt 0.947368 0.062500
+vt 0.947368 0.906250
+vt 0.947368 1.000000
+vt 0.894737 1.000000
+vt 0.894737 0.906250
+vt 0.552632 0.062500
+vt 0.552632 0.468750
+vt 0.421053 0.062500
+vt 0.131579 0.062500
+vt 0.131579 0.468750
+vt 0.000000 0.062500
+vt 0.000000 0.000000
+vt 0.421053 0.000000
+vt 0.421053 0.000000
+vt 1.000000 0.343750
+vt 0.947368 0.343750
+vt 0.947368 0.156250
+vt 1.000000 0.156250
+vt 1.000000 0.843750
+vt 0.947368 0.843750
+vt 0.947368 0.656250
+vt 1.000000 0.656250
+vt 0.552632 0.468750
+vt 0.710526 0.468750
+vt 0.710526 0.906250
+vt 0.552632 0.906250
+vt 0.131579 0.468750
+vt 0.289474 0.468750
+vt 0.289474 0.906250
+vt 0.131579 0.906250
+vt 0.894737 0.906250
+vt 0.894737 0.468750
+vt 0.947368 0.468750
+vt 0.947368 0.906250
+vt 0.894737 0.468750
+vt 0.894737 0.906250
+vt 0.842105 0.906250
+vt 0.842105 0.468750
+vn 0.0000 0.0000 -1.0000
+vn -1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 1.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn 1.0000 0.0000 0.0000
+s off
+f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
+f 23/7/2 6/8/2 1/4/2 10/3/2 22/9/2 3/10/2 8/11/2 11/12/2
+f 18/13/3 19/14/3 12/15/3 5/16/3 6/17/3 23/18/3
+f 2/19/4 1/20/4 6/21/4 5/22/4
+f 3/23/5 4/24/5 7/25/5 8/26/5
+f 24/27/3 12/15/3 19/14/3 16/28/3 27/29/3
+f 22/9/1 10/3/1 20/2/1 13/30/1 25/31/1
+f 24/32/6 7/33/6 4/34/6 9/35/6 21/36/6 2/37/6 5/38/6 12/39/6
+f 26/40/1 14/41/1 15/1/1 21/6/1 9/42/1
+f 28/43/3 17/44/3 18/13/3 23/18/3 11/45/3
+f 8/46/3 7/47/3 24/27/3 27/29/3 28/43/3 11/45/3
+f 4/48/1 3/10/1 22/9/1 25/31/1 26/40/1 9/42/1
+f 16/49/4 14/50/4 13/51/4 17/52/4
+f 18/53/5 20/54/5 15/55/5 19/56/5
+f 16/28/3 17/44/3 28/43/3 27/29/3
+f 13/30/1 14/41/1 26/40/1 25/31/1
+f 29/57/1 30/58/1 32/59/1 31/60/1
+f 33/61/3 34/62/3 36/63/3 35/64/3
+f 18/65/6 17/66/6 13/67/6 20/68/6
+f 16/69/2 19/70/2 15/71/2 14/72/2
diff --git a/homedecor_doors_and_gates/models/homedecor_door_wood_glass_3_b.obj b/homedecor_doors_and_gates/models/homedecor_door_wood_glass_3_b.obj
new file mode 100644
index 0000000..0fcfb2d
--- /dev/null
+++ b/homedecor_doors_and_gates/models/homedecor_door_wood_glass_3_b.obj
@@ -0,0 +1,138 @@
+# Blender v2.79 (sub 0) OBJ File: 'door-woodglass-typea.blend'
+# www.blender.org
+o Cylinder
+v 0.499250 1.499500 -0.374969
+v -0.500250 1.499500 -0.374969
+v 0.499250 -0.499500 -0.374969
+v -0.500250 -0.499500 -0.374969
+v -0.500250 1.499500 -0.499906
+v 0.499250 1.499500 -0.499906
+v -0.500250 -0.499500 -0.499906
+v 0.499250 -0.499500 -0.499907
+v -0.500250 -0.374531 -0.374969
+v 0.499250 1.312031 -0.374969
+v 0.499250 -0.374531 -0.499907
+v -0.500250 1.312031 -0.499906
+v 0.186875 0.437531 -0.374969
+v -0.187875 0.437531 -0.374969
+v -0.187875 1.312031 -0.374969
+v -0.187875 0.437531 -0.499906
+v 0.186875 0.437531 -0.499906
+v 0.186875 1.312031 -0.499906
+v -0.187875 1.312031 -0.499906
+v 0.186875 1.312031 -0.374969
+v -0.500250 1.312031 -0.374969
+v 0.499250 -0.374531 -0.374969
+v 0.499250 1.312031 -0.499906
+v -0.500250 -0.374531 -0.499906
+v 0.186875 -0.374531 -0.374969
+v -0.187875 -0.374531 -0.374969
+v -0.187875 -0.374531 -0.499906
+v 0.186875 -0.374531 -0.499906
+v -0.188000 0.437500 -0.436479
+v 0.187000 0.437500 -0.436479
+v -0.188000 1.312500 -0.436479
+v 0.187000 1.312500 -0.436480
+v 0.187000 0.437500 -0.438396
+v -0.188000 0.437500 -0.438396
+v 0.187000 1.312500 -0.438396
+v -0.188000 1.312500 -0.438396
+vt 0.552632 0.906250
+vt 0.710526 0.906250
+vt 0.842105 0.906250
+vt 0.842105 1.000000
+vt 0.421053 1.000000
+vt 0.421053 0.906250
+vt 0.894737 0.906250
+vt 0.894737 1.000000
+vt 0.842105 0.062500
+vt 0.842105 0.000000
+vt 0.894737 0.000000
+vt 0.894737 0.062500
+vt 0.131579 0.906250
+vt 0.289474 0.906250
+vt 0.421053 0.906250
+vt 0.421053 1.000000
+vt 0.000000 1.000000
+vt 0.000000 0.906250
+vt 0.947368 0.500000
+vt 0.947368 0.000000
+vt 1.000000 0.000000
+vt 1.000000 0.500000
+vt 0.947368 1.000000
+vt 0.947368 0.500000
+vt 1.000000 0.500000
+vt 1.000000 1.000000
+vt 0.421053 0.062500
+vt 0.289474 0.468750
+vt 0.289474 0.062500
+vt 0.710526 0.468750
+vt 0.710526 0.062500
+vt 0.894737 0.062500
+vt 0.894737 0.000000
+vt 0.947368 0.000000
+vt 0.947368 0.062500
+vt 0.947368 0.906250
+vt 0.947368 1.000000
+vt 0.894737 1.000000
+vt 0.894737 0.906250
+vt 0.552632 0.062500
+vt 0.552632 0.468750
+vt 0.421053 0.062500
+vt 0.131579 0.062500
+vt 0.131579 0.468750
+vt 0.000000 0.062500
+vt 0.000000 0.000000
+vt 0.421053 0.000000
+vt 0.421053 0.000000
+vt 1.000000 0.343750
+vt 0.947368 0.343750
+vt 0.947368 0.156250
+vt 1.000000 0.156250
+vt 1.000000 0.843750
+vt 0.947368 0.843750
+vt 0.947368 0.656250
+vt 1.000000 0.656250
+vt 0.552632 0.468750
+vt 0.710526 0.468750
+vt 0.710526 0.906250
+vt 0.552632 0.906250
+vt 0.131579 0.468750
+vt 0.289474 0.468750
+vt 0.289474 0.906250
+vt 0.131579 0.906250
+vt 0.894737 0.906250
+vt 0.894737 0.468750
+vt 0.947368 0.468750
+vt 0.947368 0.906250
+vt 0.894737 0.468750
+vt 0.894737 0.906250
+vt 0.842105 0.906250
+vt 0.842105 0.468750
+vn 0.0000 0.0000 1.0000
+vn 1.0000 0.0000 0.0000
+vn -0.0000 0.0000 -1.0000
+vn 0.0000 1.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn -1.0000 0.0000 0.0000
+s off
+f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
+f 23/7/2 6/8/2 1/4/2 10/3/2 22/9/2 3/10/2 8/11/2 11/12/2
+f 18/13/3 19/14/3 12/15/3 5/16/3 6/17/3 23/18/3
+f 2/19/4 1/20/4 6/21/4 5/22/4
+f 3/23/5 4/24/5 7/25/5 8/26/5
+f 24/27/3 12/15/3 19/14/3 16/28/3 27/29/3
+f 22/9/1 10/3/1 20/2/1 13/30/1 25/31/1
+f 24/32/6 7/33/6 4/34/6 9/35/6 21/36/6 2/37/6 5/38/6 12/39/6
+f 26/40/1 14/41/1 15/1/1 21/6/1 9/42/1
+f 28/43/3 17/44/3 18/13/3 23/18/3 11/45/3
+f 8/46/3 7/47/3 24/27/3 27/29/3 28/43/3 11/45/3
+f 4/48/1 3/10/1 22/9/1 25/31/1 26/40/1 9/42/1
+f 16/49/4 14/50/4 13/51/4 17/52/4
+f 18/53/5 20/54/5 15/55/5 19/56/5
+f 16/28/3 17/44/3 28/43/3 27/29/3
+f 13/30/1 14/41/1 26/40/1 25/31/1
+f 29/57/1 30/58/1 32/59/1 31/60/1
+f 33/61/3 34/62/3 36/63/3 35/64/3
+f 18/65/6 17/66/6 13/67/6 20/68/6
+f 16/69/2 19/70/2 15/71/2 14/72/2
diff --git a/homedecor_doors_and_gates/models/homedecor_door_wood_glass_a.obj b/homedecor_doors_and_gates/models/homedecor_door_wood_glass_a.obj
new file mode 100644
index 0000000..55c1af0
--- /dev/null
+++ b/homedecor_doors_and_gates/models/homedecor_door_wood_glass_a.obj
@@ -0,0 +1,334 @@
+# Blender v2.79 (sub 0) OBJ File: 'door-woodglass-standard.blend'
+# www.blender.org
+o Cylinder
+v -0.500000 1.500000 -0.500000
+v 0.500000 1.500000 -0.500000
+v -0.500000 -0.500000 -0.500000
+v 0.500000 -0.500000 -0.500000
+v 0.500000 1.500000 -0.375000
+v -0.500000 1.500000 -0.375000
+v 0.500000 -0.500000 -0.375000
+v -0.500000 -0.500000 -0.375000
+v 0.500000 -0.375000 -0.500000
+v -0.500000 1.375000 -0.500000
+v -0.500000 -0.375000 -0.375000
+v 0.500000 1.375000 -0.375000
+v -0.375000 0.437500 -0.500000
+v 0.375000 0.437500 -0.500000
+v 0.375000 1.375000 -0.500000
+v 0.375000 0.437500 -0.375000
+v -0.375000 0.437500 -0.375000
+v -0.375000 1.375000 -0.375000
+v 0.375000 1.375000 -0.375000
+v -0.375000 1.375000 -0.500000
+v 0.500000 1.375000 -0.500000
+v -0.500000 -0.375000 -0.500000
+v -0.500000 1.375000 -0.375000
+v 0.500000 -0.375000 -0.375000
+v -0.375000 -0.375000 -0.500000
+v 0.375000 -0.375000 -0.500000
+v 0.375000 0.562500 -0.500000
+v 0.375000 -0.375000 -0.375000
+v -0.375000 -0.375000 -0.375000
+v -0.375000 0.562500 -0.375000
+v 0.375000 0.562500 -0.375000
+v -0.375000 0.562500 -0.500000
+v -0.375000 -0.031250 -0.500000
+v 0.375000 -0.031250 -0.500000
+v 0.375000 -0.031250 -0.375000
+v -0.375000 -0.031250 -0.375000
+v 0.375000 0.093750 -0.500000
+v -0.375000 0.093750 -0.375000
+v 0.375000 0.093750 -0.375000
+v -0.375000 0.093750 -0.500000
+v -0.375000 1.031250 -0.500000
+v 0.375000 1.031250 -0.375000
+v -0.375000 1.031250 -0.375000
+v 0.375000 1.031250 -0.500000
+v -0.375000 0.906250 -0.375000
+v 0.375000 0.906250 -0.375000
+v 0.375000 0.906250 -0.500000
+v -0.375000 0.906250 -0.500000
+v 0.062500 1.031250 -0.500000
+v 0.062500 1.031250 -0.375000
+v -0.062500 1.031250 -0.375000
+v -0.062500 1.031250 -0.500000
+v 0.062500 1.375000 -0.500000
+v 0.062500 1.375000 -0.375000
+v -0.062500 1.375000 -0.375000
+v -0.062500 1.375000 -0.500000
+v 0.062500 0.562500 -0.500000
+v 0.062500 0.562500 -0.375000
+v -0.062500 0.562500 -0.375000
+v -0.062500 0.562500 -0.500000
+v 0.062500 0.906250 -0.500000
+v 0.062500 0.906250 -0.375000
+v -0.062500 0.906250 -0.375000
+v -0.062500 0.906250 -0.500000
+v 0.062500 0.093750 -0.500000
+v 0.062500 0.093750 -0.375000
+v -0.062500 0.093750 -0.375000
+v -0.062500 0.093750 -0.500000
+v 0.062500 0.437500 -0.500000
+v 0.062500 0.437500 -0.375000
+v -0.062500 0.437500 -0.375000
+v -0.062500 0.437500 -0.500000
+v 0.062500 -0.375000 -0.500000
+v 0.062500 -0.375000 -0.375000
+v -0.062500 -0.375000 -0.375000
+v -0.062500 -0.375000 -0.500000
+v 0.062500 -0.031250 -0.500000
+v 0.062500 -0.031250 -0.375000
+v -0.062500 -0.031250 -0.375000
+v -0.062500 -0.031250 -0.500000
+v 0.375000 -0.375000 -0.437500
+v -0.375000 -0.375000 -0.437500
+v 0.375000 1.375000 -0.437500
+v -0.375000 1.375000 -0.437500
+v -0.375000 -0.375000 -0.436500
+v 0.375000 -0.375000 -0.436500
+v -0.375000 1.375000 -0.436500
+v 0.375000 1.375000 -0.436500
+vt 0.473684 0.937500
+vt 0.789474 0.937500
+vt 0.842105 0.937500
+vt 0.842105 1.000000
+vt 0.421053 1.000000
+vt 0.421053 0.937500
+vt 0.368421 0.468750
+vt 0.368421 0.531250
+vt 0.052632 0.531250
+vt 0.052632 0.468750
+vt 0.894737 0.937500
+vt 0.894737 1.000000
+vt 0.842105 0.062500
+vt 0.842105 0.000000
+vt 0.894737 0.000000
+vt 0.894737 0.062500
+vt 0.052632 0.937500
+vt 0.368421 0.937500
+vt 0.421053 0.937500
+vt 0.421053 1.000000
+vt 0.000000 1.000000
+vt 0.000000 0.937500
+vt 0.947368 0.500000
+vt 0.947368 0.000000
+vt 1.000000 0.000000
+vt 1.000000 0.500000
+vt 0.947368 1.000000
+vt 0.947368 0.500000
+vt 1.000000 0.500000
+vt 1.000000 1.000000
+vt 0.789474 0.468750
+vt 0.789474 0.531250
+vt 0.473684 0.531250
+vt 0.473684 0.468750
+vt 0.421053 0.062500
+vt 0.368421 0.062500
+vt 0.789474 0.062500
+vt 0.894737 0.062500
+vt 0.894737 0.000000
+vt 0.947368 0.000000
+vt 0.947368 0.062500
+vt 0.947368 0.937500
+vt 0.947368 1.000000
+vt 0.894737 1.000000
+vt 0.894737 0.937500
+vt 0.473684 0.062500
+vt 0.421053 0.062500
+vt 0.052632 0.062500
+vt 0.000000 0.062500
+vt 0.000000 0.000000
+vt 0.421053 0.000000
+vt 0.421053 0.000000
+vt 0.842105 0.937500
+vt 0.842105 0.531250
+vt 0.894737 0.531250
+vt 0.894737 0.937500
+vt 1.000000 0.062500
+vt 1.000000 0.437500
+vt 0.947368 0.437500
+vt 0.947368 0.062500
+vt 0.894737 0.937500
+vt 0.894737 0.531250
+vt 0.947368 0.531250
+vt 0.947368 0.937500
+vt 1.000000 0.937500
+vt 0.947368 0.562500
+vt 1.000000 0.562500
+vt 0.842105 0.468750
+vt 0.842105 0.062500
+vt 0.894737 0.062500
+vt 0.894737 0.468750
+vt 1.000000 0.062500
+vt 1.000000 0.437500
+vt 0.947368 0.437500
+vt 0.947368 0.062500
+vt 0.947368 0.468750
+vt 0.894737 0.468750
+vt 0.894737 0.062500
+vt 1.000000 0.937500
+vt 0.947368 0.937500
+vt 0.947368 0.562500
+vt 1.000000 0.562500
+vt 0.368421 0.234375
+vt 0.368421 0.296875
+vt 0.052632 0.296875
+vt 0.052632 0.234375
+vt 0.789474 0.234375
+vt 0.789474 0.296875
+vt 0.473684 0.296875
+vt 0.473684 0.234375
+vt 1.000000 0.062500
+vt 1.000000 0.437500
+vt 0.947368 0.437500
+vt 0.947368 0.062500
+vt 1.000000 0.937500
+vt 0.947368 0.937500
+vt 0.947368 0.562500
+vt 1.000000 0.562500
+vt 1.000000 0.937500
+vt 0.947368 0.937500
+vt 0.947368 0.562500
+vt 1.000000 0.562500
+vt 1.000000 0.062500
+vt 1.000000 0.437500
+vt 0.947368 0.437500
+vt 0.947368 0.062500
+vt 0.789474 0.703125
+vt 0.789474 0.765625
+vt 0.473684 0.765625
+vt 0.473684 0.703125
+vt 0.368421 0.703125
+vt 0.368421 0.765625
+vt 0.052632 0.765625
+vt 0.052632 0.703125
+vt 0.947368 0.937500
+vt 0.894737 0.937500
+vt 0.894737 0.765625
+vt 0.947368 0.765625
+vt 0.236842 0.937500
+vt 0.184211 0.937500
+vt 0.184211 0.765625
+vt 0.236842 0.765625
+vt 0.894737 0.937500
+vt 0.842105 0.937500
+vt 0.842105 0.765625
+vt 0.894737 0.765625
+vt 0.657895 0.937500
+vt 0.605263 0.937500
+vt 0.605263 0.765625
+vt 0.657895 0.765625
+vt 0.947368 0.703125
+vt 0.894737 0.703125
+vt 0.894737 0.531250
+vt 0.947368 0.531250
+vt 0.236842 0.703125
+vt 0.184211 0.703125
+vt 0.184211 0.531250
+vt 0.236842 0.531250
+vt 0.894737 0.703125
+vt 0.842105 0.703125
+vt 0.842105 0.531250
+vt 0.894737 0.531250
+vt 0.657895 0.703125
+vt 0.605263 0.703125
+vt 0.605263 0.531250
+vt 0.657895 0.531250
+vt 0.947368 0.468750
+vt 0.894737 0.468750
+vt 0.894737 0.296875
+vt 0.947368 0.296875
+vt 0.236842 0.468750
+vt 0.184211 0.468750
+vt 0.184211 0.296875
+vt 0.236842 0.296875
+vt 0.894737 0.468750
+vt 0.842105 0.468750
+vt 0.842105 0.296875
+vt 0.894737 0.296875
+vt 0.657895 0.468750
+vt 0.605263 0.468750
+vt 0.605263 0.296875
+vt 0.657895 0.296875
+vt 0.947368 0.234375
+vt 0.894737 0.234375
+vt 0.894737 0.062500
+vt 0.947368 0.062500
+vt 0.236842 0.234375
+vt 0.184211 0.234375
+vt 0.184211 0.062500
+vt 0.236842 0.062500
+vt 0.894737 0.234375
+vt 0.842105 0.234375
+vt 0.842105 0.062500
+vt 0.894737 0.062500
+vt 0.657895 0.234375
+vt 0.605263 0.234375
+vt 0.605263 0.062500
+vt 0.657895 0.062500
+vt 0.473684 0.062500
+vt 0.789474 0.062500
+vt 0.789474 0.937500
+vt 0.473684 0.937500
+vt 0.052632 0.062500
+vt 0.368421 0.062500
+vt 0.368421 0.937500
+vt 0.052632 0.937500
+vn 0.0000 0.0000 -1.0000
+vn 0.0000 0.0000 1.0000
+vn -1.0000 0.0000 0.0000
+vn 0.0000 1.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn 1.0000 0.0000 0.0000
+g Cylinder_Cylinder_door
+s off
+f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
+f 16/7/2 31/8/2 30/9/2 17/10/2
+f 23/11/3 6/12/3 1/4/3 10/3/3 22/13/3 3/14/3 8/15/3 11/16/3
+f 18/17/2 19/18/2 12/19/2 5/20/2 6/21/2 23/22/2
+f 2/23/4 1/24/4 6/25/4 5/26/4
+f 3/27/5 4/28/5 7/29/5 8/30/5
+f 13/31/1 32/32/1 27/33/1 14/34/1
+f 24/35/2 12/19/2 19/18/2 31/8/2 16/7/2 28/36/2
+f 22/13/1 10/3/1 20/2/1 32/32/1 13/31/1 25/37/1
+f 24/38/6 7/39/6 4/40/6 9/41/6 21/42/6 2/43/6 5/44/6 12/45/6
+f 26/46/1 14/34/1 27/33/1 15/1/1 21/6/1 9/47/1
+f 29/48/2 17/10/2 30/9/2 18/17/2 23/22/2 11/49/2
+f 8/50/2 7/51/2 24/35/2 28/36/2 29/48/2 11/49/2
+f 4/52/1 3/14/1 22/13/1 25/37/1 26/46/1 9/47/1
+f 15/53/3 27/54/3 31/55/3 19/56/3
+f 30/57/4 31/58/4 27/59/4 32/60/4
+f 18/61/6 30/62/6 32/63/6 20/64/6
+f 18/65/5 20/64/5 15/66/5 19/67/5
+f 14/68/3 26/69/3 28/70/3 16/71/3
+f 29/72/4 28/73/4 26/74/4 25/75/4
+f 13/76/6 17/77/6 29/78/6 25/75/6
+f 17/79/5 13/80/5 14/81/5 16/82/5
+f 35/83/2 39/84/2 38/85/2 36/86/2
+f 33/87/1 40/88/1 37/89/1 34/90/1
+f 38/91/4 39/92/4 37/93/4 40/94/4
+f 36/95/5 33/96/5 34/97/5 35/98/5
+f 45/99/5 48/100/5 47/101/5 46/102/5
+f 43/103/4 42/104/4 44/105/4 41/106/4
+f 48/107/1 41/108/1 44/109/1 47/110/1
+f 46/111/2 42/112/2 43/113/2 45/114/2
+f 53/115/6 54/116/6 50/117/6 49/118/6
+f 54/119/2 55/120/2 51/121/2 50/122/2
+f 55/123/3 56/124/3 52/125/3 51/126/3
+f 56/127/1 53/128/1 49/129/1 52/130/1
+f 61/131/6 62/132/6 58/133/6 57/134/6
+f 62/135/2 63/136/2 59/137/2 58/138/2
+f 63/139/3 64/140/3 60/141/3 59/142/3
+f 64/143/1 61/144/1 57/145/1 60/146/1
+f 69/147/6 70/148/6 66/149/6 65/150/6
+f 70/151/2 71/152/2 67/153/2 66/154/2
+f 71/155/3 72/156/3 68/157/3 67/158/3
+f 72/159/1 69/160/1 65/161/1 68/162/1
+f 77/163/6 78/164/6 74/165/6 73/166/6
+f 78/167/2 79/168/2 75/169/2 74/170/2
+f 79/171/3 80/172/3 76/173/3 75/174/3
+f 80/175/1 77/176/1 73/177/1 76/178/1
+g Cylinder_Cylinder_glass
+f 81/179/1 82/180/1 84/181/1 83/182/1
+f 85/183/2 86/184/2 88/185/2 87/186/2
diff --git a/homedecor_doors_and_gates/models/homedecor_door_wood_glass_b.obj b/homedecor_doors_and_gates/models/homedecor_door_wood_glass_b.obj
new file mode 100644
index 0000000..7cb59de
--- /dev/null
+++ b/homedecor_doors_and_gates/models/homedecor_door_wood_glass_b.obj
@@ -0,0 +1,334 @@
+# Blender v2.79 (sub 0) OBJ File: 'door-woodglass-standard.blend'
+# www.blender.org
+o Cylinder
+v 0.500000 1.500000 -0.375000
+v -0.500000 1.500000 -0.375000
+v 0.500000 -0.500000 -0.375000
+v -0.500000 -0.500000 -0.375000
+v -0.500000 1.500000 -0.500000
+v 0.500000 1.500000 -0.500000
+v -0.500000 -0.500000 -0.500000
+v 0.500000 -0.500000 -0.500000
+v -0.500000 -0.375000 -0.375000
+v 0.500000 1.375000 -0.375000
+v 0.500000 -0.375000 -0.500000
+v -0.500000 1.375000 -0.500000
+v 0.375000 0.437500 -0.375000
+v -0.375000 0.437500 -0.375000
+v -0.375000 1.375000 -0.375000
+v -0.375000 0.437500 -0.500000
+v 0.375000 0.437500 -0.500000
+v 0.375000 1.375000 -0.500000
+v -0.375000 1.375000 -0.500000
+v 0.375000 1.375000 -0.375000
+v -0.500000 1.375000 -0.375000
+v 0.500000 -0.375000 -0.375000
+v 0.500000 1.375000 -0.500000
+v -0.500000 -0.375000 -0.500000
+v 0.375000 -0.375000 -0.375000
+v -0.375000 -0.375000 -0.375000
+v -0.375000 0.562500 -0.375000
+v -0.375000 -0.375000 -0.500000
+v 0.375000 -0.375000 -0.500000
+v 0.375000 0.562500 -0.500000
+v -0.375000 0.562500 -0.500000
+v 0.375000 0.562500 -0.375000
+v 0.375000 -0.031250 -0.375000
+v -0.375000 -0.031250 -0.375000
+v -0.375000 -0.031250 -0.500000
+v 0.375000 -0.031250 -0.500000
+v -0.375000 0.093750 -0.375000
+v 0.375000 0.093750 -0.500000
+v -0.375000 0.093750 -0.500000
+v 0.375000 0.093750 -0.375000
+v 0.375000 1.031250 -0.375000
+v -0.375000 1.031250 -0.500000
+v 0.375000 1.031250 -0.500000
+v -0.375000 1.031250 -0.375000
+v 0.375000 0.906250 -0.500000
+v -0.375000 0.906250 -0.500000
+v -0.375000 0.906250 -0.375000
+v 0.375000 0.906250 -0.375000
+v -0.062500 1.031250 -0.375000
+v -0.062500 1.031250 -0.500000
+v 0.062500 1.031250 -0.500000
+v 0.062500 1.031250 -0.375000
+v -0.062500 1.375000 -0.375000
+v -0.062500 1.375000 -0.500000
+v 0.062500 1.375000 -0.500000
+v 0.062500 1.375000 -0.375000
+v -0.062500 0.562500 -0.375000
+v -0.062500 0.562500 -0.500000
+v 0.062500 0.562500 -0.500000
+v 0.062500 0.562500 -0.375000
+v -0.062500 0.906250 -0.375000
+v -0.062500 0.906250 -0.500000
+v 0.062500 0.906250 -0.500000
+v 0.062500 0.906250 -0.375000
+v -0.062500 0.093750 -0.375000
+v -0.062500 0.093750 -0.500000
+v 0.062500 0.093750 -0.500000
+v 0.062500 0.093750 -0.375000
+v -0.062500 0.437500 -0.375000
+v -0.062500 0.437500 -0.500000
+v 0.062500 0.437500 -0.500000
+v 0.062500 0.437500 -0.375000
+v -0.062500 -0.375000 -0.375000
+v -0.062500 -0.375000 -0.500000
+v 0.062500 -0.375000 -0.500000
+v 0.062500 -0.375000 -0.375000
+v -0.062500 -0.031250 -0.375000
+v -0.062500 -0.031250 -0.500000
+v 0.062500 -0.031250 -0.500000
+v 0.062500 -0.031250 -0.375000
+v -0.375000 -0.375000 -0.437500
+v 0.375000 -0.375000 -0.437500
+v -0.375000 1.375000 -0.437500
+v 0.375000 1.375000 -0.437500
+v 0.375000 -0.375000 -0.438500
+v -0.375000 -0.375000 -0.438500
+v 0.375000 1.375000 -0.438500
+v -0.375000 1.375000 -0.438500
+vt 0.473684 0.937500
+vt 0.789474 0.937500
+vt 0.842105 0.937500
+vt 0.842105 1.000000
+vt 0.421053 1.000000
+vt 0.421053 0.937500
+vt 0.368421 0.468750
+vt 0.368421 0.531250
+vt 0.052632 0.531250
+vt 0.052632 0.468750
+vt 0.894737 0.937500
+vt 0.894737 1.000000
+vt 0.842105 0.062500
+vt 0.842105 0.000000
+vt 0.894737 0.000000
+vt 0.894737 0.062500
+vt 0.052632 0.937500
+vt 0.368421 0.937500
+vt 0.421053 0.937500
+vt 0.421053 1.000000
+vt 0.000000 1.000000
+vt 0.000000 0.937500
+vt 0.947368 0.500000
+vt 0.947368 0.000000
+vt 1.000000 0.000000
+vt 1.000000 0.500000
+vt 0.947368 1.000000
+vt 0.947368 0.500000
+vt 1.000000 0.500000
+vt 1.000000 1.000000
+vt 0.789474 0.468750
+vt 0.789474 0.531250
+vt 0.473684 0.531250
+vt 0.473684 0.468750
+vt 0.421053 0.062500
+vt 0.368421 0.062500
+vt 0.789474 0.062500
+vt 0.894737 0.062500
+vt 0.894737 0.000000
+vt 0.947368 0.000000
+vt 0.947368 0.062500
+vt 0.947368 0.937500
+vt 0.947368 1.000000
+vt 0.894737 1.000000
+vt 0.894737 0.937500
+vt 0.473684 0.062500
+vt 0.421053 0.062500
+vt 0.052632 0.062500
+vt 0.000000 0.062500
+vt 0.000000 0.000000
+vt 0.421053 0.000000
+vt 0.421053 0.000000
+vt 0.842105 0.937500
+vt 0.842105 0.531250
+vt 0.894737 0.531250
+vt 0.894737 0.937500
+vt 1.000000 0.062500
+vt 1.000000 0.437500
+vt 0.947368 0.437500
+vt 0.947368 0.062500
+vt 0.894737 0.937500
+vt 0.894737 0.531250
+vt 0.947368 0.531250
+vt 0.947368 0.937500
+vt 1.000000 0.937500
+vt 0.947368 0.562500
+vt 1.000000 0.562500
+vt 0.842105 0.468750
+vt 0.842105 0.062500
+vt 0.894737 0.062500
+vt 0.894737 0.468750
+vt 1.000000 0.062500
+vt 1.000000 0.437500
+vt 0.947368 0.437500
+vt 0.947368 0.062500
+vt 0.947368 0.468750
+vt 0.894737 0.468750
+vt 0.894737 0.062500
+vt 1.000000 0.937500
+vt 0.947368 0.937500
+vt 0.947368 0.562500
+vt 1.000000 0.562500
+vt 0.368421 0.234375
+vt 0.368421 0.296875
+vt 0.052632 0.296875
+vt 0.052632 0.234375
+vt 0.789474 0.234375
+vt 0.789474 0.296875
+vt 0.473684 0.296875
+vt 0.473684 0.234375
+vt 1.000000 0.062500
+vt 1.000000 0.437500
+vt 0.947368 0.437500
+vt 0.947368 0.062500
+vt 1.000000 0.937500
+vt 0.947368 0.937500
+vt 0.947368 0.562500
+vt 1.000000 0.562500
+vt 1.000000 0.937500
+vt 0.947368 0.937500
+vt 0.947368 0.562500
+vt 1.000000 0.562500
+vt 1.000000 0.062500
+vt 1.000000 0.437500
+vt 0.947368 0.437500
+vt 0.947368 0.062500
+vt 0.789474 0.703125
+vt 0.789474 0.765625
+vt 0.473684 0.765625
+vt 0.473684 0.703125
+vt 0.368421 0.703125
+vt 0.368421 0.765625
+vt 0.052632 0.765625
+vt 0.052632 0.703125
+vt 0.947368 0.937500
+vt 0.894737 0.937500
+vt 0.894737 0.765625
+vt 0.947368 0.765625
+vt 0.236842 0.937500
+vt 0.184211 0.937500
+vt 0.184211 0.765625
+vt 0.236842 0.765625
+vt 0.894737 0.937500
+vt 0.842105 0.937500
+vt 0.842105 0.765625
+vt 0.894737 0.765625
+vt 0.657895 0.937500
+vt 0.605263 0.937500
+vt 0.605263 0.765625
+vt 0.657895 0.765625
+vt 0.947368 0.703125
+vt 0.894737 0.703125
+vt 0.894737 0.531250
+vt 0.947368 0.531250
+vt 0.236842 0.703125
+vt 0.184211 0.703125
+vt 0.184211 0.531250
+vt 0.236842 0.531250
+vt 0.894737 0.703125
+vt 0.842105 0.703125
+vt 0.842105 0.531250
+vt 0.894737 0.531250
+vt 0.657895 0.703125
+vt 0.605263 0.703125
+vt 0.605263 0.531250
+vt 0.657895 0.531250
+vt 0.947368 0.468750
+vt 0.894737 0.468750
+vt 0.894737 0.296875
+vt 0.947368 0.296875
+vt 0.236842 0.468750
+vt 0.184211 0.468750
+vt 0.184211 0.296875
+vt 0.236842 0.296875
+vt 0.894737 0.468750
+vt 0.842105 0.468750
+vt 0.842105 0.296875
+vt 0.894737 0.296875
+vt 0.657895 0.468750
+vt 0.605263 0.468750
+vt 0.605263 0.296875
+vt 0.657895 0.296875
+vt 0.947368 0.234375
+vt 0.894737 0.234375
+vt 0.894737 0.062500
+vt 0.947368 0.062500
+vt 0.236842 0.234375
+vt 0.184211 0.234375
+vt 0.184211 0.062500
+vt 0.236842 0.062500
+vt 0.894737 0.234375
+vt 0.842105 0.234375
+vt 0.842105 0.062500
+vt 0.894737 0.062500
+vt 0.657895 0.234375
+vt 0.605263 0.234375
+vt 0.605263 0.062500
+vt 0.657895 0.062500
+vt 0.473684 0.062500
+vt 0.789474 0.062500
+vt 0.789474 0.937500
+vt 0.473684 0.937500
+vt 0.052632 0.062500
+vt 0.368421 0.062500
+vt 0.368421 0.937500
+vt 0.052632 0.937500
+vn 0.0000 0.0000 1.0000
+vn -0.0000 0.0000 -1.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 1.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn -1.0000 0.0000 0.0000
+g Cylinder_Cylinder_door
+s off
+f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
+f 16/7/2 31/8/2 30/9/2 17/10/2
+f 23/11/3 6/12/3 1/4/3 10/3/3 22/13/3 3/14/3 8/15/3 11/16/3
+f 18/17/2 19/18/2 12/19/2 5/20/2 6/21/2 23/22/2
+f 2/23/4 1/24/4 6/25/4 5/26/4
+f 3/27/5 4/28/5 7/29/5 8/30/5
+f 13/31/1 32/32/1 27/33/1 14/34/1
+f 24/35/2 12/19/2 19/18/2 31/8/2 16/7/2 28/36/2
+f 22/13/1 10/3/1 20/2/1 32/32/1 13/31/1 25/37/1
+f 24/38/6 7/39/6 4/40/6 9/41/6 21/42/6 2/43/6 5/44/6 12/45/6
+f 26/46/1 14/34/1 27/33/1 15/1/1 21/6/1 9/47/1
+f 29/48/2 17/10/2 30/9/2 18/17/2 23/22/2 11/49/2
+f 8/50/2 7/51/2 24/35/2 28/36/2 29/48/2 11/49/2
+f 4/52/1 3/14/1 22/13/1 25/37/1 26/46/1 9/47/1
+f 15/53/3 27/54/3 31/55/3 19/56/3
+f 30/57/4 31/58/4 27/59/4 32/60/4
+f 18/61/6 30/62/6 32/63/6 20/64/6
+f 18/65/5 20/64/5 15/66/5 19/67/5
+f 14/68/3 26/69/3 28/70/3 16/71/3
+f 29/72/4 28/73/4 26/74/4 25/75/4
+f 13/76/6 17/77/6 29/78/6 25/75/6
+f 17/79/5 13/80/5 14/81/5 16/82/5
+f 35/83/2 39/84/2 38/85/2 36/86/2
+f 33/87/1 40/88/1 37/89/1 34/90/1
+f 38/91/4 39/92/4 37/93/4 40/94/4
+f 36/95/5 33/96/5 34/97/5 35/98/5
+f 45/99/5 48/100/5 47/101/5 46/102/5
+f 43/103/4 42/104/4 44/105/4 41/106/4
+f 48/107/1 41/108/1 44/109/1 47/110/1
+f 46/111/2 42/112/2 43/113/2 45/114/2
+f 53/115/6 54/116/6 50/117/6 49/118/6
+f 54/119/2 55/120/2 51/121/2 50/122/2
+f 55/123/3 56/124/3 52/125/3 51/126/3
+f 56/127/1 53/128/1 49/129/1 52/130/1
+f 61/131/6 62/132/6 58/133/6 57/134/6
+f 62/135/2 63/136/2 59/137/2 58/138/2
+f 63/139/3 64/140/3 60/141/3 59/142/3
+f 64/143/1 61/144/1 57/145/1 60/146/1
+f 69/147/6 70/148/6 66/149/6 65/150/6
+f 70/151/2 71/152/2 67/153/2 66/154/2
+f 71/155/3 72/156/3 68/157/3 67/158/3
+f 72/159/1 69/160/1 65/161/1 68/162/1
+f 77/163/6 78/164/6 74/165/6 73/166/6
+f 78/167/2 79/168/2 75/169/2 74/170/2
+f 79/171/3 80/172/3 76/173/3 75/174/3
+f 80/175/1 77/176/1 73/177/1 76/178/1
+g Cylinder_Cylinder_glass
+f 81/179/1 82/180/1 84/181/1 83/182/1
+f 85/183/2 86/184/2 88/185/2 87/186/2
diff --git a/homedecor_doors_and_gates/models/homedecor_door_wood_glass_right.obj b/homedecor_doors_and_gates/models/homedecor_door_wood_glass_right.obj
deleted file mode 100644
index 3c544b8..0000000
--- a/homedecor_doors_and_gates/models/homedecor_door_wood_glass_right.obj
+++ /dev/null
@@ -1,243 +0,0 @@
-# Blender v2.73 (sub 0) OBJ File: 'door-woodglass-standard-right.blend'
-# www.blender.org
-o Cylinder
-v 0.499750 1.499500 0.499969
-v -0.499750 1.499500 0.499969
-v 0.499750 -0.499500 0.499969
-v -0.499750 -0.499500 0.499969
-v -0.499750 1.499500 0.375031
-v 0.499750 1.499500 0.375031
-v -0.499750 -0.499500 0.375031
-v 0.499750 -0.499500 0.375031
-v -0.499750 -0.374531 0.499969
-v 0.499750 1.374531 0.499969
-v 0.499750 -0.374531 0.375031
-v -0.499750 1.374531 0.375031
-v 0.374875 0.437531 0.499969
-v -0.374875 0.437531 0.499969
-v -0.374875 1.374531 0.499969
-v -0.374875 0.437531 0.375031
-v 0.374875 0.437531 0.375031
-v 0.374875 1.374531 0.375031
-v -0.374875 1.374531 0.375031
-v 0.374875 1.374531 0.499969
-v -0.499750 1.374531 0.499969
-v 0.499750 -0.374531 0.499969
-v 0.499750 1.374531 0.375031
-v -0.499750 -0.374531 0.375031
-v 0.374875 -0.374531 0.499969
-v -0.374875 -0.374531 0.499969
-v -0.374875 0.562469 0.499969
-v -0.374875 -0.374531 0.375031
-v 0.374875 -0.374531 0.375031
-v 0.374875 0.562469 0.375031
-v -0.374875 0.562469 0.375031
-v 0.374875 0.562469 0.499969
-v 0.374875 -0.031219 0.499969
-v -0.374875 -0.031219 0.499969
-v -0.374875 -0.031219 0.375031
-v 0.374875 -0.031219 0.375031
-v -0.374875 0.093719 0.499969
-v 0.374875 0.093719 0.375031
-v -0.374875 0.093719 0.375031
-v 0.374875 0.093719 0.499969
-v 0.374875 1.031219 0.499969
-v -0.374875 1.031219 0.375031
-v 0.374875 1.031219 0.375031
-v -0.374875 1.031219 0.499969
-v 0.374875 0.906281 0.375031
-v -0.374875 0.906281 0.375031
-v -0.374875 0.906281 0.499969
-v 0.374875 0.906281 0.499969
-v -0.062500 1.031250 0.500000
-v -0.062500 1.031250 0.375000
-v 0.062500 1.031250 0.375000
-v 0.062500 1.031250 0.500000
-v -0.062500 1.375000 0.500000
-v -0.062500 1.375000 0.375000
-v 0.062500 1.375000 0.375000
-v 0.062500 1.375000 0.500000
-v -0.062500 0.562500 0.500000
-v -0.062500 0.562500 0.375000
-v 0.062500 0.562500 0.375000
-v 0.062500 0.562500 0.500000
-v -0.062500 0.906250 0.500000
-v -0.062500 0.906250 0.375000
-v 0.062500 0.906250 0.375000
-v 0.062500 0.906250 0.500000
-v -0.062500 0.093750 0.500000
-v -0.062500 0.093750 0.375000
-v 0.062500 0.093750 0.375000
-v 0.062500 0.093750 0.500000
-v -0.062500 0.437500 0.500000
-v -0.062500 0.437500 0.375000
-v 0.062500 0.437500 0.375000
-v 0.062500 0.437500 0.500000
-v -0.062500 -0.375000 0.500000
-v -0.062500 -0.375000 0.375000
-v 0.062500 -0.375000 0.375000
-v 0.062500 -0.375000 0.500000
-v -0.062500 -0.031250 0.500000
-v -0.062500 -0.031250 0.375000
-v 0.062500 -0.031250 0.375000
-v 0.062500 -0.031250 0.500000
-v -0.375000 -0.375000 0.438458
-v 0.375000 -0.375000 0.438458
-v -0.375000 1.375000 0.438458
-v 0.375000 1.375000 0.438458
-v 0.375000 -0.375000 0.436542
-v -0.375000 -0.375000 0.436542
-v 0.375000 1.375000 0.436542
-v -0.375000 1.375000 0.436542
-vt 0.140625 0.937500
-vt 0.515625 0.937500
-vt 0.578125 0.937500
-vt 0.578125 1.000000
-vt 0.078125 1.000000
-vt 0.078125 0.937500
-vt 0.140625 0.468750
-vt 0.140625 0.531250
-vt 0.515625 0.531250
-vt 0.515625 0.468750
-vt 0.640625 1.000000
-vt 0.640625 0.937500
-vt 0.640625 0.062500
-vt 0.640625 -0.000000
-vt 0.578125 -0.000000
-vt 0.578125 0.062500
-vt 0.671875 0.750000
-vt 0.671875 0.250000
-vt 0.734375 0.250000
-vt 0.734375 0.750000
-vt 0.828125 0.250000
-vt 0.828125 0.750000
-vt 0.765625 0.750000
-vt 0.765625 0.250000
-vt 0.078125 0.062500
-vt 0.140625 0.062500
-vt 0.515625 0.062500
-vt 0.078125 -0.000000
-vt 0.015625 -0.000000
-vt 0.015625 0.062500
-vt 0.015625 0.937500
-vt 0.015625 1.000000
-vt 0.640625 0.531250
-vt 0.578125 0.531250
-vt 0.734375 0.312500
-vt 0.734375 0.687500
-vt 0.671875 0.687500
-vt 0.671875 0.312500
-vt 0.078125 0.531250
-vt 0.015625 0.531250
-vt 0.765625 0.312500
-vt 0.828125 0.312500
-vt 0.828125 0.687500
-vt 0.765625 0.687500
-vt 0.640625 0.468750
-vt 0.578125 0.468750
-vt 0.015625 0.468750
-vt 0.078125 0.468750
-vt 0.140625 0.234375
-vt 0.140625 0.296875
-vt 0.515625 0.296875
-vt 0.515625 0.234375
-vt 0.515625 0.703125
-vt 0.515625 0.765625
-vt 0.140625 0.765625
-vt 0.140625 0.703125
-vt 0.078125 0.765625
-vt 0.015625 0.765625
-vt 0.296875 0.937500
-vt 0.359375 0.937500
-vt 0.359375 0.765625
-vt 0.296875 0.765625
-vt 0.640625 0.765625
-vt 0.578125 0.765625
-vt 0.656250 -0.000000
-vt 0.015625 0.703125
-vt 0.078125 0.703125
-vt 0.296875 0.703125
-vt 0.359375 0.703125
-vt 0.359375 0.531250
-vt 0.296875 0.531250
-vt 0.578125 0.703125
-vt 0.640625 0.703125
-vt 0.078125 0.296875
-vt 0.015625 0.296875
-vt 0.296875 0.468750
-vt 0.359375 0.468750
-vt 0.359375 0.296875
-vt 0.296875 0.296875
-vt 0.640625 0.296875
-vt 0.578125 0.296875
-vt 0.015625 0.234375
-vt 0.078125 0.234375
-vt 0.296875 0.234375
-vt 0.359375 0.234375
-vt 0.359375 0.062500
-vt 0.296875 0.062500
-vt 0.578125 0.234375
-vt 0.640625 0.234375
-vt 0.015625 0.109375
-vt 0.390625 0.109375
-vt 0.390625 0.984375
-vt 0.015625 0.984375
-vn 0.000000 0.000000 1.000000
-vn -0.000000 0.000000 -1.000000
-vn 1.000000 0.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-g Cylinder_Cylinder_door
-s off
-f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
-f 16/7/2 31/8/2 30/9/2 17/10/2
-f 23/3/3 6/4/3 1/11/3 10/12/3 22/13/3 3/14/3 8/15/3 11/16/3
-f 18/2/2 19/1/2 12/6/2 5/5/2 6/4/2 23/3/2
-f 2/17/4 1/18/4 6/19/4 5/20/4
-f 3/21/5 4/22/5 7/23/5 8/24/5
-f 13/10/1 32/9/1 27/8/1 14/7/1
-f 24/25/2 12/6/2 19/1/2 31/8/2 16/7/2 28/26/2
-f 22/16/1 10/3/1 20/2/1 32/9/1 13/10/1 25/27/1
-f 24/25/6 7/28/6 4/29/6 9/30/6 21/31/6 2/32/6 5/5/6 12/6/6
-f 26/26/1 14/7/1 27/8/1 15/1/1 21/6/1 9/25/1
-f 29/27/2 17/10/2 30/9/2 18/2/2 23/3/2 11/16/2
-f 8/15/2 7/28/2 24/25/2 28/26/2 29/27/2 11/16/2
-f 4/28/1 3/15/1 22/16/1 25/27/1 26/26/1 9/25/1
-f 15/12/3 27/33/3 31/34/3 19/3/3
-f 30/35/4 31/36/4 27/37/4 32/38/4
-f 18/6/6 30/39/6 32/40/6 20/31/6
-f 18/41/5 20/42/5 15/43/5 19/44/5
-f 14/45/3 26/13/3 28/16/3 16/46/3
-f 29/35/4 28/36/4 26/37/4 25/38/4
-f 13/47/6 17/48/6 29/25/6 25/30/6
-f 17/41/5 13/42/5 14/43/5 16/44/5
-f 35/49/2 39/50/2 38/51/2 36/52/2
-f 33/52/1 40/51/1 37/50/1 34/49/1
-f 38/35/4 39/36/4 37/37/4 40/38/4
-f 36/41/5 33/42/5 34/43/5 35/44/5
-f 45/41/5 48/42/5 47/43/5 46/44/5
-f 43/35/4 42/36/4 44/37/4 41/38/4
-f 48/53/1 41/54/1 44/55/1 47/56/1
-f 46/56/2 42/55/2 43/54/2 45/53/2
-f 53/31/6 54/6/6 50/57/6 49/58/6
-f 54/59/2 55/60/2 51/61/2 50/62/2
-f 55/3/3 56/12/3 52/63/3 51/64/3
-f 56/60/1 53/59/1 49/62/1 52/61/1
-f 49/65/5 50/65/5 51/65/5 52/65/5
-f 56/65/4 55/65/4 54/65/4 53/65/4
-f 61/66/6 62/67/6 58/39/6 57/40/6
-f 62/68/2 63/69/2 59/70/2 58/71/2
-f 63/72/3 64/73/3 60/33/3 59/34/3
-f 64/69/1 61/68/1 57/71/1 60/70/1
-f 69/47/6 70/48/6 66/74/6 65/75/6
-f 70/76/2 71/77/2 67/78/2 66/79/2
-f 71/46/3 72/45/3 68/80/3 67/81/3
-f 72/77/1 69/76/1 65/79/1 68/78/1
-f 77/82/6 78/83/6 74/25/6 73/30/6
-f 78/84/2 79/85/2 75/86/2 74/87/2
-f 79/88/3 80/89/3 76/13/3 75/16/3
-f 80/85/1 77/84/1 73/87/1 76/86/1
-g Cylinder_Cylinder_glass
-f 81/90/1 82/91/1 84/92/1 83/93/1
-f 85/91/2 86/90/2 88/93/2 87/92/2
diff --git a/homedecor_doors_and_gates/models/homedecor_door_woodglass_typea.obj b/homedecor_doors_and_gates/models/homedecor_door_woodglass_typea.obj
deleted file mode 100644
index 68fbf86..0000000
--- a/homedecor_doors_and_gates/models/homedecor_door_woodglass_typea.obj
+++ /dev/null
@@ -1,114 +0,0 @@
-# Blender v2.73 (sub 0) OBJ File: 'door-woodglass-inset.blend'
-# www.blender.org
-o Cylinder
-v 0.499750 1.499500 0.499969
-v -0.499750 1.499500 0.499969
-v 0.499750 -0.499500 0.499969
-v -0.499750 -0.499500 0.499969
-v -0.499750 1.499500 0.375031
-v 0.499750 1.499500 0.375031
-v -0.499750 -0.499500 0.375031
-v 0.499750 -0.499500 0.375031
-v -0.499750 -0.374531 0.499969
-v 0.499750 1.312031 0.499969
-v 0.499750 -0.374531 0.375031
-v -0.499750 1.312031 0.375031
-v 0.187375 0.437531 0.499969
-v -0.187375 0.437531 0.499969
-v -0.187375 1.312031 0.499969
-v -0.187375 0.437531 0.375031
-v 0.187375 0.437531 0.375031
-v 0.187375 1.312031 0.375031
-v -0.187375 1.312031 0.375031
-v 0.187375 1.312031 0.499969
-v -0.499750 1.312031 0.499969
-v 0.499750 -0.374531 0.499969
-v 0.499750 1.312031 0.375031
-v -0.499750 -0.374531 0.375031
-v 0.187375 -0.374531 0.499969
-v -0.187375 -0.374531 0.499969
-v -0.187375 -0.374531 0.375031
-v 0.187375 -0.374531 0.375031
-v -0.187500 0.437500 0.438458
-v 0.187500 0.437500 0.438458
-v -0.187500 1.312500 0.438458
-v 0.187500 1.312500 0.438458
-v 0.187500 0.437500 0.436542
-v -0.187500 0.437500 0.436542
-v 0.187500 1.312500 0.436542
-v -0.187500 1.312500 0.436542
-vt 0.421875 0.906250
-vt 0.234375 0.906250
-vt 0.078125 0.906250
-vt 0.078125 1.000000
-vt 0.578125 1.000000
-vt 0.578125 0.906250
-vt 0.015625 1.000000
-vt 0.015625 0.906250
-vt 0.015625 0.062500
-vt 0.015625 0.000000
-vt 0.078125 0.000000
-vt 0.078125 0.062500
-vt 0.671875 0.750000
-vt 0.671875 0.250000
-vt 0.734375 0.250000
-vt 0.734375 0.750000
-vt 0.828125 0.250000
-vt 0.828125 0.750000
-vt 0.765625 0.750000
-vt 0.765625 0.250000
-vt 0.578125 0.062500
-vt 0.421875 0.468750
-vt 0.421875 0.062500
-vt 0.234375 0.468750
-vt 0.234375 0.062500
-vt 0.578125 0.000000
-vt 0.640625 0.000000
-vt 0.640625 0.062500
-vt 0.640625 0.906250
-vt 0.640625 1.000000
-vt 0.734375 0.593750
-vt 0.671875 0.593750
-vt 0.671875 0.406250
-vt 0.734375 0.406250
-vt 0.765625 0.406250
-vt 0.828125 0.406250
-vt 0.828125 0.593750
-vt 0.765625 0.593750
-vt 0.578125 0.468750
-vt 0.640625 0.468750
-vt 0.078125 0.468750
-vt 0.015625 0.468750
-vt 0.031250 0.093750
-vt 0.406250 0.093750
-vt 0.406250 0.968750
-vt 0.031250 0.968750
-vn 0.000000 0.000000 1.000000
-vn 1.000000 0.000000 0.000000
-vn -0.000000 0.000000 -1.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-g Cylinder_Cylinder_door
-s off
-f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
-f 23/3/2 6/4/2 1/7/2 10/8/2 22/9/2 3/10/2 8/11/2 11/12/2
-f 18/2/3 19/1/3 12/6/3 5/5/3 6/4/3 23/3/3
-f 2/13/4 1/14/4 6/15/4 5/16/4
-f 3/17/5 4/18/5 7/19/5 8/20/5
-f 24/21/3 12/6/3 19/1/3 16/22/3 27/23/3
-f 22/12/1 10/3/1 20/2/1 13/24/1 25/25/1
-f 24/21/6 7/26/6 4/27/6 9/28/6 21/29/6 2/30/6 5/5/6 12/6/6
-f 26/23/1 14/22/1 15/1/1 21/6/1 9/21/1
-f 28/25/3 17/24/3 18/2/3 23/3/3 11/12/3
-f 8/11/3 7/26/3 24/21/3 27/23/3 28/25/3 11/12/3
-f 4/26/1 3/11/1 22/12/1 25/25/1 26/23/1 9/21/1
-f 16/31/4 14/32/4 13/33/4 17/34/4
-f 18/35/5 20/36/5 15/37/5 19/38/5
-f 16/22/3 17/24/3 28/25/3 27/23/3
-f 13/24/1 14/22/1 26/23/1 25/25/1
-f 18/6/6 17/39/6 13/40/6 20/29/6
-f 16/41/2 19/3/2 15/8/2 14/42/2
-g Cylinder_Cylinder_glass
-f 29/43/1 30/44/1 32/45/1 31/46/1
-f 33/44/3 34/43/3 36/46/3 35/45/3
diff --git a/homedecor_doors_and_gates/models/homedecor_door_woodglass_typea_right.obj b/homedecor_doors_and_gates/models/homedecor_door_woodglass_typea_right.obj
deleted file mode 100644
index 51c3e26..0000000
--- a/homedecor_doors_and_gates/models/homedecor_door_woodglass_typea_right.obj
+++ /dev/null
@@ -1,114 +0,0 @@
-# Blender v2.73 (sub 0) OBJ File: 'door-woodglass-typea-right.blend'
-# www.blender.org
-o Cylinder
-v 0.499750 1.499500 0.499969
-v -0.499750 1.499500 0.499969
-v 0.499750 -0.499500 0.499969
-v -0.499750 -0.499500 0.499969
-v -0.499750 1.499500 0.375031
-v 0.499750 1.499500 0.375031
-v -0.499750 -0.499500 0.375031
-v 0.499750 -0.499500 0.375031
-v -0.499750 -0.374531 0.499969
-v 0.499750 1.312031 0.499969
-v 0.499750 -0.374531 0.375031
-v -0.499750 1.312031 0.375031
-v 0.187375 0.437531 0.499969
-v -0.187375 0.437531 0.499969
-v -0.187375 1.312031 0.499969
-v -0.187375 0.437531 0.375031
-v 0.187375 0.437531 0.375031
-v 0.187375 1.312031 0.375031
-v -0.187375 1.312031 0.375031
-v 0.187375 1.312031 0.499969
-v -0.499750 1.312031 0.499969
-v 0.499750 -0.374531 0.499969
-v 0.499750 1.312031 0.375031
-v -0.499750 -0.374531 0.375031
-v 0.187375 -0.374531 0.499969
-v -0.187375 -0.374531 0.499969
-v -0.187375 -0.374531 0.375031
-v 0.187375 -0.374531 0.375031
-v -0.187500 0.437500 0.438458
-v 0.187500 0.437500 0.438458
-v -0.187500 1.312500 0.438458
-v 0.187500 1.312500 0.438458
-v 0.187500 0.437500 0.436542
-v -0.187500 0.437500 0.436542
-v 0.187500 1.312500 0.436542
-v -0.187500 1.312500 0.436542
-vt 0.234375 0.906250
-vt 0.421875 0.906250
-vt 0.578125 0.906250
-vt 0.578125 1.000000
-vt 0.078125 1.000000
-vt 0.078125 0.906250
-vt 0.640625 1.000000
-vt 0.640625 0.906250
-vt 0.640625 0.062500
-vt 0.640625 0.000000
-vt 0.578125 0.000000
-vt 0.578125 0.062500
-vt 0.671875 0.750000
-vt 0.671875 0.250000
-vt 0.734375 0.250000
-vt 0.734375 0.750000
-vt 0.828125 0.250000
-vt 0.828125 0.750000
-vt 0.765625 0.750000
-vt 0.765625 0.250000
-vt 0.078125 0.062500
-vt 0.234375 0.468750
-vt 0.234375 0.062500
-vt 0.421875 0.468750
-vt 0.421875 0.062500
-vt 0.078125 0.000000
-vt 0.015625 0.000000
-vt 0.015625 0.062500
-vt 0.015625 0.906250
-vt 0.015625 1.000000
-vt 0.734375 0.593750
-vt 0.671875 0.593750
-vt 0.671875 0.406250
-vt 0.734375 0.406250
-vt 0.765625 0.406250
-vt 0.828125 0.406250
-vt 0.828125 0.593750
-vt 0.765625 0.593750
-vt 0.078125 0.468750
-vt 0.015625 0.468750
-vt 0.578125 0.468750
-vt 0.640625 0.468750
-vt 0.406250 0.093750
-vt 0.031250 0.093750
-vt 0.031250 0.968750
-vt 0.406250 0.968750
-vn 0.000000 0.000000 1.000000
-vn 1.000000 0.000000 0.000000
-vn -0.000000 0.000000 -1.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-g Cylinder_Cylinder_door
-s off
-f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
-f 23/3/2 6/4/2 1/7/2 10/8/2 22/9/2 3/10/2 8/11/2 11/12/2
-f 18/2/3 19/1/3 12/6/3 5/5/3 6/4/3 23/3/3
-f 2/13/4 1/14/4 6/15/4 5/16/4
-f 3/17/5 4/18/5 7/19/5 8/20/5
-f 24/21/3 12/6/3 19/1/3 16/22/3 27/23/3
-f 22/12/1 10/3/1 20/2/1 13/24/1 25/25/1
-f 24/21/6 7/26/6 4/27/6 9/28/6 21/29/6 2/30/6 5/5/6 12/6/6
-f 26/23/1 14/22/1 15/1/1 21/6/1 9/21/1
-f 28/25/3 17/24/3 18/2/3 23/3/3 11/12/3
-f 8/11/3 7/26/3 24/21/3 27/23/3 28/25/3 11/12/3
-f 4/26/1 3/11/1 22/12/1 25/25/1 26/23/1 9/21/1
-f 16/31/4 14/32/4 13/33/4 17/34/4
-f 18/35/5 20/36/5 15/37/5 19/38/5
-f 16/22/3 17/24/3 28/25/3 27/23/3
-f 13/24/1 14/22/1 26/23/1 25/25/1
-f 18/6/6 17/39/6 13/40/6 20/29/6
-f 16/41/2 19/3/2 15/8/2 14/42/2
-g Cylinder_Cylinder_glass
-f 29/43/1 30/44/1 32/45/1 31/46/1
-f 33/44/3 34/43/3 36/46/3 35/45/3
diff --git a/homedecor_doors_and_gates/models/homedecor_door_wrought_iron.obj b/homedecor_doors_and_gates/models/homedecor_door_wrought_iron.obj
deleted file mode 100644
index 6d89066..0000000
--- a/homedecor_doors_and_gates/models/homedecor_door_wrought_iron.obj
+++ /dev/null
@@ -1,88 +0,0 @@
-# Blender v2.73 (sub 0) OBJ File: 'door-wrought-iron.blend'
-# www.blender.org
-mtllib homedecor_door_wrought_iron.mtl
-o Cylinder
-v 0.500000 1.500000 0.500000
-v -0.500000 1.500000 0.500000
-v 0.500000 -0.500000 0.500000
-v -0.500000 -0.500000 0.500000
-v -0.500000 1.500000 0.375000
-v 0.500000 1.500000 0.375000
-v -0.500000 -0.500000 0.375000
-v 0.500000 -0.500000 0.375000
-v 0.484375 1.484375 0.438451
-v -0.484375 1.484375 0.438451
-v 0.484375 -0.484375 0.438451
-v -0.484375 -0.484375 0.438451
-v -0.484375 1.484375 0.436547
-v 0.484375 1.484375 0.436547
-v -0.484375 -0.484375 0.436547
-v 0.484375 -0.484375 0.436547
-v 0.468750 -0.500000 0.500000
-v -0.468750 -0.500000 0.500000
-v 0.500000 1.484375 0.500000
-v -0.500000 1.484375 0.500000
-v -0.500000 1.484375 0.375000
-v 0.500000 1.484375 0.375000
-v 0.500000 -0.484375 0.500000
-v -0.500000 -0.484375 0.500000
-v -0.500000 -0.484375 0.375000
-v 0.500000 -0.484375 0.375000
-v 0.484375 1.484375 0.500000
-v 0.484375 -0.484375 0.500000
-v 0.484375 1.484375 0.375000
-v 0.484375 -0.484375 0.375000
-v -0.484375 1.484375 0.500000
-v -0.484375 -0.484375 0.500000
-v -0.484375 1.484375 0.375000
-v -0.484375 -0.484375 0.375000
-vt 0.085938 0.007812
-vt 0.570312 0.007812
-vt 0.570312 0.992188
-vt 0.085938 0.992188
-vt 0.578125 0.007812
-vt 0.578125 0.992188
-vt 0.078125 0.007812
-vt 0.078125 0.992188
-vt 0.015625 0.992188
-vt 0.015625 0.007812
-vt 0.828125 0.250000
-vt 0.828125 0.750000
-vt 0.765625 0.750000
-vt 0.765625 0.250000
-vt 0.078125 1.000000
-vt 0.578125 1.000000
-vt 0.671875 0.750000
-vt 0.671875 0.250000
-vt 0.734375 0.250000
-vt 0.734375 0.750000
-vt 0.578125 0.000000
-vt 0.078125 0.000000
-vt 0.640625 0.007812
-vt 0.640625 0.992188
-vt 0.640625 0.000000
-vt 0.640625 1.000000
-vt 0.015625 1.000000
-vt 0.015625 0.000000
-usemtl None
-s off
-f 16/1 15/2 13/3 14/4
-f 12/2 11/1 9/4 10/3
-f 25/5 21/6 33/3 34/2
-f 23/7 19/8 27/4 28/1
-f 31/9 32/10 34/7 33/8
-f 30/1 29/4 22/8 26/7
-f 32/2 31/3 20/6 24/5
-f 19/11 20/12 21/13 22/14
-f 6/15 22/8 21/6 5/16
-f 2/16 20/6 19/8 1/15
-f 24/17 23/18 26/19 25/20
-f 7/21 25/5 26/7 8/22
-f 3/22 23/7 24/5 4/21
-f 28/23 27/24 29/6 30/5
-f 4/25 2/26 5/16 7/21
-f 1/18 6/19 5/20 2/17
-f 1/27 3/28 8/22 6/15
-f 4/12 7/13 8/14 3/11
-l 17 3
-l 4 18
diff --git a/homedecor_doors_and_gates/models/homedecor_door_wrought_iron_a.obj b/homedecor_doors_and_gates/models/homedecor_door_wrought_iron_a.obj
new file mode 100644
index 0000000..dde98da
--- /dev/null
+++ b/homedecor_doors_and_gates/models/homedecor_door_wrought_iron_a.obj
@@ -0,0 +1,124 @@
+# Blender v2.79 (sub 0) OBJ File: 'door-wrought-iron.blend'
+# www.blender.org
+o Cylinder
+v -0.500000 1.500000 -0.500000
+v 0.500000 1.500000 -0.500000
+v -0.500000 -0.500000 -0.500000
+v 0.500000 -0.500000 -0.500000
+v 0.500000 1.500000 -0.375000
+v -0.500000 1.500000 -0.375000
+v 0.500000 -0.500000 -0.375000
+v -0.500000 -0.500000 -0.375000
+v -0.484375 1.484375 -0.438451
+v 0.484375 1.484375 -0.438451
+v -0.484375 -0.484375 -0.438451
+v 0.484375 -0.484375 -0.438451
+v 0.484375 1.484375 -0.436547
+v -0.484375 1.484375 -0.436547
+v 0.484375 -0.484375 -0.436547
+v -0.484375 -0.484375 -0.436547
+v -0.468750 -0.500000 -0.500000
+v 0.468750 -0.500000 -0.500000
+v -0.500000 1.484375 -0.500000
+v 0.500000 1.484375 -0.500000
+v 0.500000 1.484375 -0.375000
+v -0.500000 1.484375 -0.375000
+v -0.500000 -0.484375 -0.500000
+v 0.500000 -0.484375 -0.500000
+v 0.500000 -0.484375 -0.375000
+v -0.500000 -0.484375 -0.375000
+v -0.484375 1.484375 -0.500000
+v -0.484375 -0.484375 -0.500000
+v -0.484375 1.484375 -0.375000
+v -0.484375 -0.484375 -0.375000
+v 0.484375 1.484375 -0.500000
+v 0.484375 -0.484375 -0.500000
+v 0.484375 1.484375 -0.375000
+v 0.484375 -0.484375 -0.375000
+vt 0.006579 0.007812
+vt 0.414474 0.007812
+vt 0.414474 0.992188
+vt 0.006579 0.992188
+vt 0.427632 0.007812
+vt 0.835526 0.007812
+vt 0.835526 0.992188
+vt 0.427632 0.992188
+vt 0.421053 0.007812
+vt 0.421053 0.992188
+vt 0.414474 0.992188
+vt 0.414474 0.007812
+vt 0.842105 0.007812
+vt 0.842105 0.992188
+vt 0.835526 0.992188
+vt 0.835526 0.007812
+vt 0.842105 0.992188
+vt 0.842105 0.007812
+vt 0.894737 0.007812
+vt 0.894737 0.992188
+vt 0.006579 0.007812
+vt 0.006579 0.992188
+vt 0.000000 0.992188
+vt 0.000000 0.007812
+vt 0.427632 0.007812
+vt 0.427632 0.992188
+vt 0.421053 0.992188
+vt 0.421053 0.007812
+vt 0.947368 1.000000
+vt 0.947368 0.500000
+vt 1.000000 0.500000
+vt 1.000000 1.000000
+vt 0.000000 1.000000
+vt 0.421053 1.000000
+vt 0.421053 1.000000
+vt 0.842105 1.000000
+vt 0.947368 0.500000
+vt 0.947368 0.000000
+vt 1.000000 0.000000
+vt 1.000000 0.500000
+vt 0.421053 0.000000
+vt 0.000000 0.000000
+vt 0.842105 0.000000
+vt 0.421053 0.000000
+vt 0.947368 0.007812
+vt 0.947368 0.992188
+vt 0.894737 0.992188
+vt 0.894737 0.007812
+vt 0.947368 0.000000
+vt 0.947368 1.000000
+vt 0.894737 1.000000
+vt 0.894737 0.000000
+vt 0.947368 0.000000
+vt 1.000000 0.000000
+vt 1.000000 0.500000
+vt 0.947368 0.500000
+vt 0.894737 0.000000
+vt 0.894737 1.000000
+vt 0.947368 0.500000
+vt 1.000000 0.500000
+vt 1.000000 1.000000
+vt 0.947368 1.000000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 0.0000 -1.0000
+vn -1.0000 -0.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 1.0000 0.0000
+vn 1.0000 -0.0000 0.0000
+s off
+f 16/1/1 15/2/1 13/3/1 14/4/1
+f 12/5/2 11/6/2 9/7/2 10/8/2
+f 25/9/1 21/10/1 33/11/1 34/12/1
+f 23/13/2 19/14/2 27/15/2 28/16/2
+f 31/17/3 32/18/3 34/19/3 33/20/3
+f 30/21/1 29/22/1 22/23/1 26/24/1
+f 32/25/2 31/26/2 20/27/2 24/28/2
+f 19/29/4 20/30/4 21/31/4 22/32/4
+f 6/33/1 22/23/1 21/10/1 5/34/1
+f 2/35/2 20/27/2 19/14/2 1/36/2
+f 24/37/5 23/38/5 26/39/5 25/40/5
+f 7/41/1 25/9/1 26/24/1 8/42/1
+f 3/43/2 23/13/2 24/28/2 4/44/2
+f 28/45/6 27/46/6 29/47/6 30/48/6
+f 4/49/6 2/50/6 5/51/6 7/52/6
+f 1/53/5 6/54/5 5/55/5 2/56/5
+f 1/36/3 3/43/3 8/57/3 6/58/3
+f 4/59/4 7/60/4 8/61/4 3/62/4
diff --git a/homedecor_doors_and_gates/models/homedecor_door_wrought_iron_b.obj b/homedecor_doors_and_gates/models/homedecor_door_wrought_iron_b.obj
new file mode 100644
index 0000000..06fbe12
--- /dev/null
+++ b/homedecor_doors_and_gates/models/homedecor_door_wrought_iron_b.obj
@@ -0,0 +1,123 @@
+# Blender v2.79 (sub 0) OBJ File: 'door-wrought-iron.blend'
+# www.blender.org
+o Cylinder
+v 0.500000 1.500000 -0.375000
+v -0.500000 1.500000 -0.375000
+v 0.500000 -0.500000 -0.375000
+v -0.500000 -0.500000 -0.375000
+v -0.500000 1.500000 -0.500000
+v 0.500000 1.500000 -0.500000
+v -0.500000 -0.500000 -0.500000
+v 0.500000 -0.500000 -0.500000
+v 0.484375 1.484375 -0.436549
+v -0.484375 1.484375 -0.436549
+v 0.484375 -0.484375 -0.436549
+v -0.484375 -0.484375 -0.436549
+v -0.484375 1.484375 -0.438453
+v 0.484375 1.484375 -0.438453
+v -0.484375 -0.484375 -0.438453
+v 0.484375 -0.484375 -0.438454
+v 0.468750 -0.500000 -0.375000
+v 0.500000 1.484375 -0.375000
+v -0.500000 1.484375 -0.375000
+v -0.500000 1.484375 -0.500000
+v 0.500000 1.484375 -0.500000
+v 0.500000 -0.484375 -0.375000
+v -0.500000 -0.484375 -0.375000
+v -0.500000 -0.484375 -0.500000
+v 0.500000 -0.484375 -0.500000
+v 0.484375 1.484375 -0.375000
+v 0.484375 -0.484375 -0.375000
+v 0.484375 1.484375 -0.500000
+v 0.484375 -0.484375 -0.500000
+v -0.484375 1.484375 -0.375000
+v -0.484375 -0.484375 -0.375000
+v -0.484375 1.484375 -0.500000
+v -0.484375 -0.484375 -0.500000
+vt 0.006579 0.007812
+vt 0.414474 0.007812
+vt 0.414474 0.992188
+vt 0.006579 0.992188
+vt 0.427632 0.007812
+vt 0.835526 0.007812
+vt 0.835526 0.992188
+vt 0.427632 0.992188
+vt 0.421053 0.007812
+vt 0.421053 0.992188
+vt 0.414474 0.992188
+vt 0.414474 0.007812
+vt 0.842105 0.007812
+vt 0.842105 0.992188
+vt 0.835526 0.992188
+vt 0.835526 0.007812
+vt 0.842105 0.992188
+vt 0.842105 0.007812
+vt 0.894737 0.007812
+vt 0.894737 0.992188
+vt 0.006579 0.007812
+vt 0.006579 0.992188
+vt 0.000000 0.992188
+vt 0.000000 0.007812
+vt 0.427632 0.007812
+vt 0.427632 0.992188
+vt 0.421053 0.992188
+vt 0.421053 0.007812
+vt 0.947368 1.000000
+vt 0.947368 0.500000
+vt 1.000000 0.500000
+vt 1.000000 1.000000
+vt 0.000000 1.000000
+vt 0.421053 1.000000
+vt 0.421053 1.000000
+vt 0.842105 1.000000
+vt 0.947368 0.500000
+vt 0.947368 0.000000
+vt 1.000000 0.000000
+vt 1.000000 0.500000
+vt 0.421053 0.000000
+vt 0.000000 0.000000
+vt 0.842105 0.000000
+vt 0.421053 0.000000
+vt 0.947368 0.007812
+vt 0.947368 0.992188
+vt 0.894737 0.992188
+vt 0.894737 0.007812
+vt 0.947368 0.000000
+vt 0.947368 1.000000
+vt 0.894737 1.000000
+vt 0.894737 0.000000
+vt 0.947368 0.000000
+vt 1.000000 0.000000
+vt 1.000000 0.500000
+vt 0.947368 0.500000
+vt 0.894737 0.000000
+vt 0.894737 1.000000
+vt 0.947368 0.500000
+vt 1.000000 0.500000
+vt 1.000000 1.000000
+vt 0.947368 1.000000
+vn -0.0000 0.0000 -1.0000
+vn 0.0000 0.0000 1.0000
+vn 1.0000 -0.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 1.0000 0.0000
+vn -1.0000 -0.0000 0.0000
+s off
+f 16/1/1 15/2/1 13/3/1 14/4/1
+f 12/5/2 11/6/2 9/7/2 10/8/2
+f 24/9/1 20/10/1 32/11/1 33/12/1
+f 22/13/2 18/14/2 26/15/2 27/16/2
+f 30/17/3 31/18/3 33/19/3 32/20/3
+f 29/21/1 28/22/1 21/23/1 25/24/1
+f 31/25/2 30/26/2 19/27/2 23/28/2
+f 18/29/4 19/30/4 20/31/4 21/32/4
+f 6/33/1 21/23/1 20/10/1 5/34/1
+f 2/35/2 19/27/2 18/14/2 1/36/2
+f 23/37/5 22/38/5 25/39/5 24/40/5
+f 7/41/1 24/9/1 25/24/1 8/42/1
+f 3/43/2 22/13/2 23/28/2 4/44/2
+f 27/45/6 26/46/6 28/47/6 29/48/6
+f 4/49/6 2/50/6 5/51/6 7/52/6
+f 1/53/5 6/54/5 5/55/5 2/56/5
+f 1/36/3 3/43/3 8/57/3 6/58/3
+f 4/59/4 7/60/4 8/61/4 3/62/4
diff --git a/homedecor_doors_and_gates/models/homedecor_door_wrought_iron_right.obj b/homedecor_doors_and_gates/models/homedecor_door_wrought_iron_right.obj
deleted file mode 100644
index fe55003..0000000
--- a/homedecor_doors_and_gates/models/homedecor_door_wrought_iron_right.obj
+++ /dev/null
@@ -1,88 +0,0 @@
-# Blender v2.73 (sub 0) OBJ File: 'door-wrought-iron-right.blend'
-# www.blender.org
-mtllib homedecor_door_wrought_iron_right.mtl
-o Cylinder
-v 0.500000 1.500000 0.500000
-v -0.500000 1.500000 0.500000
-v 0.500000 -0.500000 0.500000
-v -0.500000 -0.500000 0.500000
-v -0.500000 1.500000 0.375000
-v 0.500000 1.500000 0.375000
-v -0.500000 -0.500000 0.375000
-v 0.500000 -0.500000 0.375000
-v 0.484375 1.484375 0.438451
-v -0.484375 1.484375 0.438451
-v 0.484375 -0.484375 0.438451
-v -0.484375 -0.484375 0.438451
-v -0.484375 1.484375 0.436547
-v 0.484375 1.484375 0.436547
-v -0.484375 -0.484375 0.436547
-v 0.484375 -0.484375 0.436547
-v 0.468750 -0.500000 0.500000
-v -0.468750 -0.500000 0.500000
-v 0.500000 1.484375 0.500000
-v -0.500000 1.484375 0.500000
-v -0.500000 1.484375 0.375000
-v 0.500000 1.484375 0.375000
-v 0.500000 -0.484375 0.500000
-v -0.500000 -0.484375 0.500000
-v -0.500000 -0.484375 0.375000
-v 0.500000 -0.484375 0.375000
-v 0.484375 1.484375 0.500000
-v 0.484375 -0.484375 0.500000
-v 0.484375 1.484375 0.375000
-v 0.484375 -0.484375 0.375000
-v -0.484375 1.484375 0.500000
-v -0.484375 -0.484375 0.500000
-v -0.484375 1.484375 0.375000
-v -0.484375 -0.484375 0.375000
-vt 0.570312 0.007812
-vt 0.085938 0.007812
-vt 0.085938 0.992188
-vt 0.570312 0.992188
-vt 0.078125 0.007812
-vt 0.078125 0.992188
-vt 0.578125 0.007812
-vt 0.578125 0.992188
-vt 0.640625 0.992188
-vt 0.640625 0.007812
-vt 0.765625 0.750000
-vt 0.765625 0.250000
-vt 0.828125 0.250000
-vt 0.828125 0.750000
-vt 0.578125 1.000000
-vt 0.078125 1.000000
-vt 0.734375 0.250000
-vt 0.734375 0.750000
-vt 0.671875 0.750000
-vt 0.671875 0.250000
-vt 0.078125 -0.000000
-vt 0.578125 -0.000000
-vt 0.015625 0.007812
-vt 0.015625 0.992188
-vt 0.015625 -0.000000
-vt 0.015625 1.000000
-vt 0.640625 1.000000
-vt 0.640625 -0.000000
-usemtl None
-s off
-f 16/1 15/2 13/3 14/4
-f 12/2 11/1 9/4 10/3
-f 25/5 21/6 33/3 34/2
-f 23/7 19/8 27/4 28/1
-f 31/9 32/10 34/7 33/8
-f 30/1 29/4 22/8 26/7
-f 32/2 31/3 20/6 24/5
-f 19/11 20/12 21/13 22/14
-f 6/15 22/8 21/6 5/16
-f 2/16 20/6 19/8 1/15
-f 24/17 23/18 26/19 25/20
-f 7/21 25/5 26/7 8/22
-f 3/22 23/7 24/5 4/21
-f 28/23 27/24 29/6 30/5
-f 4/25 2/26 5/16 7/21
-f 1/18 6/19 5/20 2/17
-f 1/27 3/28 8/22 6/15
-f 4/12 7/13 8/14 3/11
-l 17 3
-l 4 18
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_bedroom.png b/homedecor_doors_and_gates/textures/homedecor_door_bedroom.png
index b2614b0..a63ccc0 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_bedroom.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_bedroom.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_closet_mahogany.png b/homedecor_doors_and_gates/textures/homedecor_door_closet_mahogany.png
index 4f696d4..19d5701 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_closet_mahogany.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_closet_mahogany.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_closet_oak.png b/homedecor_doors_and_gates/textures/homedecor_door_closet_oak.png
index 53fd556..de5e92c 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_closet_oak.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_closet_oak.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy.png b/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy.png
index b4a70ba..2951afd 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy_inv.png
index a7ec3f3..9a9c64e 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy_inv.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy_inv.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_glass.png b/homedecor_doors_and_gates/textures/homedecor_door_glass.png
index 4e5ea5a..1920a0e 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_glass.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_glass.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_mahogany.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_mahogany.png
index b61fa6d..d44f859 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_mahogany.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_mahogany.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_oak.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_oak.png
index b1a5254..5e3e786 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_oak.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_oak.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white.png
index 85b645e..4c4ad11 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white_inv.png
index 61c50ad..7153a83 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white_inv.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white_inv.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_wood_plain.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_plain.png
index 574d6fb..9e7dcc7 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_wood_plain.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_wood_plain.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_wood_plain_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_plain_inv.png
index 0e9e7a0..8d398ff 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_wood_plain_inv.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_wood_plain_inv.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_woodglass.png b/homedecor_doors_and_gates/textures/homedecor_door_woodglass.png
index b3187ff..fd399c3 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_woodglass.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_woodglass.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_woodglass2.png b/homedecor_doors_and_gates/textures/homedecor_door_woodglass2.png
index 7dc3918..d5081e2 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_woodglass2.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_woodglass2.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_woodglass2_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_woodglass2_inv.png
index 9afd7cf..2fdd342 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_woodglass2_inv.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_woodglass2_inv.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_door_wrought_iron.png b/homedecor_doors_and_gates/textures/homedecor_door_wrought_iron.png
index c2034c3..191cc26 100644
--- a/homedecor_doors_and_gates/textures/homedecor_door_wrought_iron.png
+++ b/homedecor_doors_and_gates/textures/homedecor_door_wrought_iron.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_gate_half_door_fb.png b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_fb.png
index c9be70a..15f4db3 100644
--- a/homedecor_doors_and_gates/textures/homedecor_gate_half_door_fb.png
+++ b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_fb.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_gate_half_door_lr.png b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_lr.png
index 48329d8..bc95dc5 100644
--- a/homedecor_doors_and_gates/textures/homedecor_gate_half_door_lr.png
+++ b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_lr.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_gate_half_door_tb.png b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_tb.png
index 03b360f..64556a1 100644
--- a/homedecor_doors_and_gates/textures/homedecor_gate_half_door_tb.png
+++ b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_tb.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_fb.png b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_fb.png
index ca5c5d1..86a00f2 100644
--- a/homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_fb.png
+++ b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_fb.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_lr.png b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_lr.png
index 038d20d..e1bbbb4 100644
--- a/homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_lr.png
+++ b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_lr.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_tb.png b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_tb.png
index 2d592e7..7bc05ed 100644
--- a/homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_tb.png
+++ b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_tb.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_gate_picket_front.png b/homedecor_doors_and_gates/textures/homedecor_gate_picket_front.png
index 858da6b..b21cd8b 100644
--- a/homedecor_doors_and_gates/textures/homedecor_gate_picket_front.png
+++ b/homedecor_doors_and_gates/textures/homedecor_gate_picket_front.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_gate_picket_white_back.png b/homedecor_doors_and_gates/textures/homedecor_gate_picket_white_back.png
index bb608de..0663496 100644
--- a/homedecor_doors_and_gates/textures/homedecor_gate_picket_white_back.png
+++ b/homedecor_doors_and_gates/textures/homedecor_gate_picket_white_back.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_gate_picket_white_front.png b/homedecor_doors_and_gates/textures/homedecor_gate_picket_white_front.png
index a85aaa2..a900bbf 100644
--- a/homedecor_doors_and_gates/textures/homedecor_gate_picket_white_front.png
+++ b/homedecor_doors_and_gates/textures/homedecor_gate_picket_white_front.png
Binary files differ
diff --git a/homedecor_doors_and_gates/textures/homedecor_japanese_paper.png b/homedecor_doors_and_gates/textures/homedecor_japanese_paper.png
index b4a09d1..f1fcaa8 100644
--- a/homedecor_doors_and_gates/textures/homedecor_japanese_paper.png
+++ b/homedecor_doors_and_gates/textures/homedecor_japanese_paper.png
Binary files differ
diff --git a/homedecor_electrical/depends.txt b/homedecor_electrical/depends.txt
index fb5d601..382015e 100644
--- a/homedecor_electrical/depends.txt
+++ b/homedecor_electrical/depends.txt
@@ -1,3 +1,5 @@
homedecor_common
default
basic_materials
+mesecons?
+mesecons_receiver?
diff --git a/homedecor_electrical/init.lua b/homedecor_electrical/init.lua
index c135021..53c7fbb 100644
--- a/homedecor_electrical/init.lua
+++ b/homedecor_electrical/init.lua
@@ -1,6 +1,40 @@
local S = homedecor.gettext
+function homedecor.toggle_switch(pos, node, clicker, itemstack, pointed_thing)
+ if minetest.is_protected(pos, clicker:get_player_name()) then
+ minetest.record_protection_violation(pos,
+ sender:get_player_name())
+ return false
+ end
+ local sep = string.find(node.name, "_o", -5)
+ local onoff = string.sub(node.name, sep + 1)
+ local newname = string.sub(node.name, 1, sep - 1)..((onoff == "off") and "_on" or "_off")
+ minetest.swap_node(pos, {name = newname, param2 = node.param2})
+ return true
+end
+
+local on_rc
+local switch_receptor
+
+if minetest.get_modpath("mesecons") then
+ on_rc = function(pos, node, clicker, itemstack, pointed_thing)
+ local t = homedecor.toggle_switch(pos, node, clicker, itemstack, pointed_thing)
+ if not t then return end
+ if string.find(node.name, "_on", -5) then
+ mesecon.receptor_off(pos, mesecon.rules.buttonlike_get(node))
+ else
+ mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
+ end
+ end
+ switch_receptor = {
+ receptor = {
+ state = mesecon.state[onoff],
+ rules = mesecon.rules.buttonlike_get
+ }
+ }
+end
+
homedecor.register("power_outlet", {
description = S("Power Outlet"),
tiles = {
@@ -28,35 +62,52 @@ homedecor.register("power_outlet", {
walkable = false
})
-homedecor.register("light_switch", {
- description = S("Light switch"),
- tiles = {
- "homedecor_light_switch_edges.png",
- "homedecor_light_switch_edges.png",
- "homedecor_light_switch_edges.png",
- "homedecor_light_switch_edges.png",
- "homedecor_light_switch_back.png",
- "homedecor_light_switch_front.png"
- },
- inventory_image = "homedecor_light_switch_inv.png",
- node_box = {
- type = "fixed",
- fixed = {
- { -0.125, -0.5, 0.4375, 0.125, -0.1875, 0.5 },
- { -0.03125, -0.3125, 0.40625, 0.03125, -0.25, 0.5 },
+for _, onoff in ipairs ({"on", "off"}) do
+ local model = {
+ { -0.125, -0.1875, 0.4375, 0.125, 0.125, 0.5 },
+ { -0.03125, 0, 0.40625, 0.03125, 0.0625, 0.5 },
+ }
+
+ if onoff == "on" then
+ model = {
+ { -0.125, -0.1875, 0.4375, 0.125, 0.125, 0.5 },
+ { -0.03125, -0.125, 0.40625, 0.03125, -0.0625, 0.5 },
}
- },
- selection_box = {
- type = "fixed",
- fixed = {
- { -0.1875, -0.5625, 0.375, 0.1875, -0.1250, 0.5 },
- }
- },
- groups = {cracky=3,dig_immediate=2},
- walkable = false
-})
+ end
+ homedecor.register("light_switch_"..onoff, {
+ description = S("Light switch"),
+ tiles = {
+ "homedecor_light_switch_edges.png",
+ "homedecor_light_switch_edges.png",
+ "homedecor_light_switch_edges.png",
+ "homedecor_light_switch_edges.png",
+ "homedecor_light_switch_back.png",
+ "homedecor_light_switch_front_"..onoff..".png"
+ },
+ inventory_image = "homedecor_light_switch_inv.png",
+ node_box = {
+ type = "fixed",
+ fixed = model
+ },
+ selection_box = {
+ type = "fixed",
+ fixed = {
+ { -0.1875, -0.25, 0.375, 0.1875, 0.1875, 0.5 },
+ }
+ },
+ groups = {cracky=3, dig_immediate=2, mesecon_needs_receiver=1, not_in_creative_inventory = (onoff == "on") and 1 or nil},
+ walkable = false,
+ drop = {
+ items = {
+ {items = {"homedecor:light_switch_off"}, inherit_color = true },
+ }
+ },
+ mesecons = switch_receptor,
+ on_rightclick = on_rc
+ })
+end
homedecor.register("doorbell", {
tiles = { "homedecor_doorbell.png" },
@@ -92,7 +143,7 @@ minetest.register_craft( {
})
minetest.register_craft( {
- output = "homedecor:light_switch",
+ output = "homedecor:light_switch_off",
recipe = {
{"", "basic_materials:plastic_sheet", "basic_materials:copper_strip"},
{"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:copper_strip"},
@@ -106,3 +157,7 @@ minetest.register_craft( {
{ "homedecor:light_switch", "basic_materials:energy_crystal_simple", "homedecor:speaker_driver" }
},
})
+
+-- aliases
+
+minetest.register_alias("homedecor:light_switch", "homedecor:light_switch_on")
diff --git a/homedecor_electrical/textures/homedecor_light_switch_back.png b/homedecor_electrical/textures/homedecor_light_switch_back.png
index 8ad7c7e..f3357d1 100644
--- a/homedecor_electrical/textures/homedecor_light_switch_back.png
+++ b/homedecor_electrical/textures/homedecor_light_switch_back.png
Binary files differ
diff --git a/homedecor_electrical/textures/homedecor_light_switch_edges.png b/homedecor_electrical/textures/homedecor_light_switch_edges.png
index 0db6f43..db6d618 100644
--- a/homedecor_electrical/textures/homedecor_light_switch_edges.png
+++ b/homedecor_electrical/textures/homedecor_light_switch_edges.png
Binary files differ
diff --git a/homedecor_electrical/textures/homedecor_light_switch_front.png b/homedecor_electrical/textures/homedecor_light_switch_front.png
deleted file mode 100644
index f91ab5e..0000000
--- a/homedecor_electrical/textures/homedecor_light_switch_front.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_electrical/textures/homedecor_light_switch_front_off.png b/homedecor_electrical/textures/homedecor_light_switch_front_off.png
new file mode 100644
index 0000000..eecc8b3
--- /dev/null
+++ b/homedecor_electrical/textures/homedecor_light_switch_front_off.png
Binary files differ
diff --git a/homedecor_electrical/textures/homedecor_light_switch_front_on.png b/homedecor_electrical/textures/homedecor_light_switch_front_on.png
new file mode 100644
index 0000000..1b6c3f6
--- /dev/null
+++ b/homedecor_electrical/textures/homedecor_light_switch_front_on.png
Binary files differ
diff --git a/homedecor_exterior/init.lua b/homedecor_exterior/init.lua
index efe3883..e82a916 100644
--- a/homedecor_exterior/init.lua
+++ b/homedecor_exterior/init.lua
@@ -34,99 +34,6 @@ homedecor.register("barbecue", {
minetest.register_alias("homedecor:barbecue_meat", "air")
-local bl1_sbox = {
- type = "fixed",
- fixed = { -0.5, -0.5, -0.25, 1.5, 0.5, 0.5 }
-}
-
-local bl1_cbox = {
- type = "fixed",
- fixed = {
- {-0.5, -0.5, -0.25, 1.5, 0, 0.5 },
- {-0.5, -0.5, 0.45, 1.5, 0.5, 0.5 },
- }
-}
-
-homedecor.register("bench_large_1", {
- mesh = "homedecor_bench_large_1.obj",
- tiles = {
- "homedecor_generic_wood_old.png",
- "homedecor_generic_metal_wrought_iron.png"
- },
- description = S("Garden Bench (style 1)"),
- inventory_image = "homedecor_bench_large_1_inv.png",
- groups = { snappy = 3 },
- expand = { right="placeholder" },
- sounds = default.node_sound_wood_defaults(),
- selection_box = bl1_sbox,
- node_box = bl1_cbox,
- on_rotate = screwdriver.disallow
-})
-
-minetest.register_alias("homedecor:bench_large_1_left", "homedecor:bench_large_1")
-minetest.register_alias("homedecor:bench_large_1_right", "air")
-
-local bl2_sbox = {
- type = "fixed",
- fixed = { -0.5, -0.5, -0.25, 1.5, 0.5, 0.5 }
-}
-
-local bl2_cbox = {
- type = "fixed",
- fixed = {
- {-0.5, -0.5, -0.25, 1.5, 0, 0.5 },
- {-0.5, -0.5, 0.45, 1.5, 0.5, 0.5 },
- }
-}
-
-homedecor.register("bench_large_2", {
- description = S("Garden Bench (style 2)"),
- mesh = "homedecor_bench_large_2.obj",
- tiles = { "homedecor_generic_wood_old.png" },
- inventory_image = "homedecor_bench_large_2_inv.png",
- groups = {snappy=3},
- selection_box = bl2_sbox,
- node_box = bl2_cbox,
- expand = { right="placeholder" },
- sounds = default.node_sound_wood_defaults(),
- on_rotate = screwdriver.disallow
-})
-
-minetest.register_alias("homedecor:bench_large_2_left", "homedecor:bench_large_2")
-minetest.register_alias("homedecor:bench_large_2_right", "air")
-
-local dc_cbox = {
- type = "fixed",
- fixed = { -0.5, -0.5, -0.5, 0.5, 0, 1 }
-}
-
-homedecor.register("deckchair", {
- mesh = "homedecor_deckchair.obj",
- tiles = {"homedecor_deckchair.png"},
- description = S("Deck Chair"),
- groups = { snappy = 3 },
- expand = { forward="placeholder" },
- sounds = default.node_sound_wood_defaults(),
- selection_box = dc_cbox,
- collision_box = dc_cbox,
- on_rotate = screwdriver.disallow
-})
-
-minetest.register_alias("homedecor:deckchair_foot", "homedecor:deckchair")
-minetest.register_alias("homedecor:deckchair_head", "air")
-
-homedecor.register("deckchair_striped_blue", {
- mesh = "homedecor_deckchair.obj",
- tiles = {"homedecor_deckchair_striped_blue.png"},
- description = S("Deck Chair (blue striped)"),
- groups = { snappy = 3 },
- expand = { forward="placeholder" },
- sounds = default.node_sound_wood_defaults(),
- selection_box = dc_cbox,
- collision_box = dc_cbox,
- on_rotate = screwdriver.disallow
-})
-
homedecor.register("doghouse", {
mesh = "homedecor_doghouse.obj",
tiles = {
@@ -147,21 +54,6 @@ homedecor.register("doghouse", {
minetest.register_alias("homedecor:doghouse_roof", "air")
minetest.register_alias("homedecor:doghouse_base", "homedecor:doghouse")
-homedecor.register("simple_bench", {
- tiles = { "homedecor_generic_wood_old.png" },
- description = S("Simple Bench"),
- groups = {snappy=3},
- node_box = {
- type = "fixed",
- fixed = {
- {-0.5, -0.15, 0, 0.5, -0.05, 0.4},
- {-0.4, -0.5, 0.1, -0.3, -0.15, 0.3},
- { 0.3, -0.5, 0.1, 0.4, -0.15, 0.3},
- }
- },
- sounds = default.node_sound_wood_defaults(),
-})
-
homedecor.register("stonepath", {
description = S("Garden stone path"),
tiles = {
@@ -425,72 +317,6 @@ minetest.register_craft( {
},
})
-
-
-minetest.register_craft( {
- output = "homedecor:bench_large_1",
- recipe = {
- { "group:wood", "group:wood", "group:wood" },
- { "group:wood", "group:wood", "group:wood" },
- { "homedecor:pole_wrought_iron", "", "homedecor:pole_wrought_iron" }
- },
-})
-
-minetest.register_craft( {
- output = "homedecor:bench_large_2_left",
- recipe = {
- { "homedecor:shutter_oak", "homedecor:shutter_oak", "homedecor:shutter_oak" },
- { "group:wood", "group:wood", "group:wood" },
- { "stairs:slab_wood", "", "stairs:slab_wood" }
- },
-})
-
-minetest.register_craft( {
- output = "homedecor:bench_large_2_left",
- recipe = {
- { "homedecor:shutter_oak", "homedecor:shutter_oak", "homedecor:shutter_oak" },
- { "group:wood", "group:wood", "group:wood" },
- { "moreblocks:slab_wood", "", "moreblocks:slab_wood" }
- },
-})
-
-
-minetest.register_craft( {
- output = "homedecor:simple_bench",
- recipe = {
- { "stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood" },
- { "stairs:slab_wood", "", "stairs:slab_wood" }
- },
-})
-
-minetest.register_craft( {
- output = "homedecor:simple_bench",
- recipe = {
- { "moreblocks:slab_wood", "moreblocks:slab_wood", "moreblocks:slab_wood" },
- { "moreblocks:slab_wood", "", "moreblocks:slab_wood" }
- },
-})
-
-
-minetest.register_craft({
- output = "homedecor:deckchair",
- recipe = {
- { "group:stick", "building_blocks:terrycloth_towel", "group:stick" },
- { "group:stick", "building_blocks:terrycloth_towel", "group:stick" },
- { "group:stick", "building_blocks:terrycloth_towel", "group:stick" }
- },
-})
-
-minetest.register_craft({
- output = "homedecor:deckchair_striped_blue",
- type = "shapeless",
- recipe = {
- "homedecor:deckchair",
- "dye:blue"
- }
-})
-
-
minetest.register_craft({
output = "homedecor:stonepath 16",
recipe = {
diff --git a/homedecor_furniture/init.lua b/homedecor_furniture/init.lua
index 108f28d..5d452a6 100644
--- a/homedecor_furniture/init.lua
+++ b/homedecor_furniture/init.lua
@@ -32,85 +32,7 @@ for _, t in ipairs(table_colors) do
})
end
-local kc_cbox = {
- type = "fixed",
- fixed = { -0.3125, -0.3125, -0.5, 0.3125, 0.3125, 0.5 },
-}
-
-homedecor.register("kitchen_chair_wood", {
- description = S("Kitchen chair"),
- mesh = "homedecor_kitchen_chair.obj",
- tiles = {
- homedecor.plain_wood,
- homedecor.plain_wood
- },
- inventory_image = "homedecor_chair_wood_inv.png",
- paramtype2 = "wallmounted",
- selection_box = kc_cbox,
- collision_box = kc_cbox,
- groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
- sounds = default.node_sound_wood_defaults(),
- after_place_node = unifieddyes.fix_rotation_nsew,
- on_rotate = unifieddyes.fix_after_screwdriver_nsew,
- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
- pos.y = pos.y+0 -- where do I put my ass ?
- homedecor.sit(pos, node, clicker)
- return itemstack
- end
-})
-
-homedecor.register("kitchen_chair_padded", {
- description = S("Kitchen chair"),
- mesh = "homedecor_kitchen_chair.obj",
- tiles = {
- homedecor.plain_wood,
- "wool_white.png",
- },
- inventory_image = "homedecor_chair_padded_inv.png",
- paramtype2 = "colorwallmounted",
- palette = "unifieddyes_palette_colorwallmounted.png",
- selection_box = kc_cbox,
- collision_box = kc_cbox,
- groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, ud_param2_colorable = 1},
- sounds = default.node_sound_wood_defaults(),
- after_place_node = function(pos, placer, itemstack, pointed_thing)
- unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
- end,
- on_rotate = unifieddyes.fix_after_screwdriver_nsew,
- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
- pos.y = pos.y+0 -- where do I put my ass ?
- homedecor.sit(pos, node, clicker)
- return itemstack
- end
-})
-local ac_cbox = {
- type = "fixed",
- fixed = {
- {-0.5, -0.5, -0.5, 0.5, 0, 0.5 },
- {-0.5, -0.5, 0.4, 0.5, 0.5, 0.5 }
- }
-}
-
-homedecor.register("armchair", {
- description = S("Armchair"),
- mesh = "forniture_armchair.obj",
- tiles = {
- "wool_white.png",
- { name = "wool_dark_grey.png", color = 0xffffffff },
- { name = "default_wood.png", color = 0xffffffff }
- },
- inventory_image = "homedecor_armchair_inv.png",
- paramtype2 = "colorwallmounted",
- palette = "unifieddyes_palette_colorwallmounted.png",
- groups = {snappy=3, ud_param2_colorable = 1},
- sounds = default.node_sound_wood_defaults(),
- node_box = ac_cbox,
- after_place_node = function(pos, placer, itemstack, pointed_thing)
- unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
- end,
- on_rotate = unifieddyes.fix_after_screwdriver_nsew,
-})
local ob_cbox = {
type = "fixed",
@@ -206,73 +128,6 @@ minetest.register_craft({
})
minetest.register_craft({
- output = "homedecor:kitchen_chair_wood 2",
- recipe = {
- { "group:stick",""},
- { "group:wood","group:wood" },
- { "group:stick","group:stick" },
- },
-})
-
-minetest.register_craft({
- output = "homedecor:armchair 2",
- recipe = {
- { "wool:white",""},
- { "group:wood","group:wood" },
- { "wool:white","wool:white" },
- },
-})
-
-unifieddyes.register_color_craft({
- output = "homedecor:armchair",
- palette = "wallmounted",
- type = "shapeless",
- neutral_node = "homedecor:armchair",
- recipe = {
- "NEUTRAL_NODE",
- "MAIN_DYE"
- }
-})
-
-minetest.register_craft({
- type = "shapeless",
- output = "homedecor:kitchen_chair_padded",
- recipe = {
- "homedecor:kitchen_chair_wood",
- "wool:white",
- },
-})
-
-unifieddyes.register_color_craft({
- output = "homedecor:kitchen_chair_padded",
- palette = "wallmounted",
- type = "shapeless",
- neutral_node = "homedecor:kitchen_chair_padded",
- recipe = {
- "NEUTRAL_NODE",
- "MAIN_DYE"
- }
-})
-
-minetest.register_craft({
- type = "fuel",
- recipe = "homedecor:kitchen_chair_wood",
- burntime = 15,
-})
-
-minetest.register_craft({
- type = "fuel",
- recipe = "homedecor:kitchen_chair_padded",
- burntime = 15,
-})
-
-minetest.register_craft({
- type = "fuel",
- recipe = "homedecor:armchair",
- burntime = 30,
-})
-
-minetest.register_craft({
output = "homedecor:standing_lamp_off",
recipe = {
{"homedecor:table_lamp_off"},
@@ -435,95 +290,4 @@ minetest.register_craft({
-- Aliases for 3dforniture mod.
minetest.register_alias("3dforniture:table", "homedecor:table")
-minetest.register_alias("3dforniture:chair", "homedecor:chair")
-minetest.register_alias("3dforniture:armchair", "homedecor:armchair_black")
-minetest.register_alias("homedecor:armchair", "homedecor:armchair_black")
-
minetest.register_alias('table', 'homedecor:table')
-minetest.register_alias('chair', 'homedecor:chair')
-minetest.register_alias('armchair', 'homedecor:armchair')
-
--- conversion to param2 colorization
-
-homedecor.old_static_chairs = {}
-
-local chair_colors = {
- "black",
- "brown",
- "blue",
- "cyan",
- "dark_grey",
- "dark_green",
- "green",
- "grey",
- "magenta",
- "orange",
- "pink",
- "red",
- "violet",
- "white",
- "yellow",
-}
-
-for _, color in ipairs(chair_colors) do
- table.insert(homedecor.old_static_chairs, "homedecor:chair_"..color)
- table.insert(homedecor.old_static_chairs, "homedecor:armchair_"..color)
-end
-table.insert(homedecor.old_static_chairs, "homedecor:chair")
-
-minetest.register_lbm({
- name = ":homedecor:convert_chairs",
- label = "Convert homedecor chairs to use param2 color",
- run_at_every_load = false,
- nodenames = homedecor.old_static_chairs,
- action = function(pos, node)
- local name = node.name
- local paletteidx = 0
- local color
- local a,b = string.find(name, "_")
-
- if a then
- color = string.sub(name, a+1)
-
- if color == "blue" then
- color = "medium_blue"
- elseif color == "violet" then
- color = "medium_violet"
- elseif color == "red" then
- color = "medium_red"
- elseif color == "black" then
- color = "dark_grey"
- end
-
- paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted")
- end
-
- local old_fdir = math.floor(node.param2 % 32)
- local new_fdir = 3
-
- if old_fdir == 0 then
- new_fdir = 3
- elseif old_fdir == 1 then
- new_fdir = 4
- elseif old_fdir == 2 then
- new_fdir = 2
- elseif old_fdir == 3 then
- new_fdir = 5
- end
-
- local param2 = paletteidx + new_fdir
- local newname = "homedecor:armchair"
-
- if node.name == "homedecor:chair" then
- newname = "homedecor:kitchen_chair_wood"
- elseif string.find(node.name, "homedecor:chair_") then
- newname = "homedecor:kitchen_chair_padded"
- end
-
- minetest.set_node(pos, { name = newname, param2 = param2 })
- local meta = minetest.get_meta(pos)
- if color then
- meta:set_string("dye", "unifieddyes:"..color)
- end
- end
-})
diff --git a/homedecor_lighting/depends.txt b/homedecor_lighting/depends.txt
index 67304af..cc75649 100644
--- a/homedecor_lighting/depends.txt
+++ b/homedecor_lighting/depends.txt
@@ -6,3 +6,4 @@ creative
moreblocks?
building_blocks?
darkage?
+mesecons?
diff --git a/homedecor_lighting/init.lua b/homedecor_lighting/init.lua
index 3650ec8..6398504 100644
--- a/homedecor_lighting/init.lua
+++ b/homedecor_lighting/init.lua
@@ -1,171 +1,790 @@
--- This file supplies glowlights
+-- This file supplies the majority of homedecor's lighting
local S = homedecor.gettext
-local glowlight_nodebox = {
- half = homedecor.nodebox.slab_y(1/2),
- quarter = homedecor.nodebox.slab_y(1/4),
- small_cube = {
- type = "fixed",
- fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
- },
-}
+local function is_protected(pos, clicker)
+ if minetest.is_protected(pos, clicker:get_player_name()) then
+ minetest.record_protection_violation(pos,
+ clicker:get_player_name())
+ return true
+ end
+ return false
+end
-minetest.register_node(":homedecor:glowlight_half", {
- description = S("Thick Glowlight"),
- tiles = {
- "homedecor_glowlight_top.png",
- "homedecor_glowlight_bottom.png",
- "homedecor_glowlight_thick_sides.png",
- "homedecor_glowlight_thick_sides.png",
- "homedecor_glowlight_thick_sides.png",
- "homedecor_glowlight_thick_sides.png"
- },
- overlay_tiles = {
- { name = "homedecor_glowlight_top_overlay.png", color = "white"},
- "",
- { name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
- },
- use_texture_alpha = true,
- drawtype = "nodebox",
- paramtype = "light",
- paramtype2 = "colorwallmounted",
- palette = "unifieddyes_palette_colorwallmounted.png",
- selection_box = {
- type = "wallmounted",
- wall_top = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 },
- wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0, 0.5 },
- wall_side = { -0.5, -0.5, -0.5, 0, 0.5, 0.5 }
- },
- node_box = glowlight_nodebox.half,
- groups = { snappy = 3, ud_param2_colorable = 1 },
- light_source = default.LIGHT_MAX,
- sounds = default.node_sound_glass_defaults(),
- after_place_node = function(pos, placer, itemstack, pointed_thing)
- unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
+local actions = {
+ action_off = function(pos, node)
+ local sep = string.find(node.name, "_o", -5)
+ local onoff = string.sub(node.name, sep + 1)
+ if minetest.get_meta(pos):get_int("toggled") > 0 then
+ minetest.swap_node(pos, {
+ name = string.sub(node.name, 1, sep - 1).."_off",
+ param2 = node.param2
+ })
+ end
end,
-})
+ action_on = function(pos, node)
+ minetest.get_meta(pos):set_int("toggled", 1)
+ local sep = string.find(node.name, "_o", -5)
+ local onoff = string.sub(node.name, sep + 1)
+ minetest.swap_node(pos, {
+ name = string.sub(node.name, 1, sep - 1).."_on",
+ param2 = node.param2
+ })
+ end
+}
-minetest.register_node(":homedecor:glowlight_quarter", {
- description = S("Thin Glowlight"),
- tiles = {
- "homedecor_glowlight_top.png",
- "homedecor_glowlight_bottom.png",
- "homedecor_glowlight_thin_sides.png",
- "homedecor_glowlight_thin_sides.png",
- "homedecor_glowlight_thin_sides.png",
- "homedecor_glowlight_thin_sides.png"
- },
- overlay_tiles = {
- { name = "homedecor_glowlight_top_overlay.png", color = "white"},
- "",
- { name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
- },
- use_texture_alpha = true,
- drawtype = "nodebox",
- paramtype = "light",
- paramtype2 = "colorwallmounted",
- palette = "unifieddyes_palette_colorwallmounted.png",
- selection_box = {
- type = "wallmounted",
- wall_top = { -0.5, 0.25, -0.5, 0.5, 0.5, 0.5 },
- wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.25, 0.5 },
- wall_side = { -0.5, -0.5, -0.5, -0.25, 0.5, 0.5 }
- },
- node_box = glowlight_nodebox.quarter,
- groups = { snappy = 3, ud_param2_colorable = 1 },
- light_source = default.LIGHT_MAX-1,
- sounds = default.node_sound_glass_defaults(),
- after_place_node = function(pos, placer, itemstack, pointed_thing)
- unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
- end,
-})
+local rules_xz = {
+ {x = -1, y = 0, z = 0}, -- borrowed from extrawires crossing
+ {x = 1, y = 0, z = 0},
+ {x = 0, y = 0, z = -1},
+ {x = 0, y = 0, z = 1},
+}
-minetest.register_node(":homedecor:glowlight_small_cube", {
- description = S("Small Glowlight Cube"),
- tiles = {
- "homedecor_glowlight_cube_tb.png",
- "homedecor_glowlight_cube_tb.png",
- "homedecor_glowlight_cube_sides.png",
- "homedecor_glowlight_cube_sides.png",
- "homedecor_glowlight_cube_sides.png",
- "homedecor_glowlight_cube_sides.png"
- },
- overlay_tiles = {
- { name = "homedecor_glowlight_cube_tb_overlay.png", color = "white"},
- { name = "homedecor_glowlight_cube_tb_overlay.png", color = "white"},
- { name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
- },
- use_texture_alpha = true,
- paramtype = "light",
- paramtype2 = "colorwallmounted",
- drawtype = "nodebox",
- palette = "unifieddyes_palette_colorwallmounted.png",
- selection_box = {
- type = "wallmounted",
- wall_top = { -0.25, 0, -0.25, 0.25, 0.5, 0.25 },
- wall_bottom = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 },
- wall_side = { -0.5, -0.25, -0.25, 0, 0.25, 0.25 }
- },
- node_box = glowlight_nodebox.small_cube,
- groups = { snappy = 3, ud_param2_colorable = 1 },
- light_source = default.LIGHT_MAX-1,
- sounds = default.node_sound_glass_defaults(),
- after_place_node = function(pos, placer, itemstack, pointed_thing)
- unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
- end,
-})
+local rules_alldir = {
+ {x = 0, y = 0, z = -1}, -- borrowed from lightstones
+ {x = 1, y = 0, z = 0},
+ {x = -1, y = 0, z = 0},
+ {x = 0, y = 0, z = 1},
+ {x = 1, y = 1, z = 0},
+ {x = 1, y = -1, z = 0},
+ {x = -1, y = 1, z = 0},
+ {x = -1, y = -1, z = 0},
+ {x = 0, y = 1, z = 1},
+ {x = 0, y = -1, z = 1},
+ {x = 0, y = 1, z = -1},
+ {x = 0, y = -1, z = -1},
+ {x = 0, y = -1, z = 0},
+}
-homedecor.register("plasma_lamp", {
- description = S("Plasma Lamp/Light"),
- drawtype = "mesh",
- mesh = "plasma_lamp.obj",
- tiles = {
- "default_gold_block.png",
- {
+local rules_toponly = {
+ {x = 1, y = 1, z = 0},
+ {x = -1, y = 1, z = 0},
+ {x = 0, y = 1, z = 1},
+ {x = 0, y = 1, z = -1},
+}
+
+if minetest.get_modpath("mesecons") then
+ homedecor.mesecon_wall_light = {
+ effector = table.copy(actions)
+ }
+ homedecor.mesecon_wall_light.effector.rules = mesecon.rules.wallmounted_get
+
+ homedecor.mesecon_xz_light = {
+ effector = table.copy(actions)
+ }
+ homedecor.mesecon_xz_light.effector.rules = rules_xz
+
+ homedecor.mesecon_alldir_light = {
+ effector = table.copy(actions),
+ }
+ homedecor.mesecon_alldir_light.effector.rules = rules_alldir
+
+ homedecor.mesecon_toponly_light = {
+ effector = table.copy(actions)
+ }
+ homedecor.mesecon_toponly_light.effector.rules = rules_toponly
+
+end
+
+-- digilines compatibility
+-- the following functions are based on the so-named ones in Jeija's digilines mod
+
+local on_digiline_receive_std = function(pos, node, channel, msg)
+ local meta = minetest.get_meta(pos)
+ local setchan = meta:get_string("channel")
+ if setchan ~= channel then return end
+ local num = tonumber(msg)
+ if msg == "colon" or msg == "period" or msg == "off" or (num and (num >= 0 and num <= 9)) then
+ minetest.swap_node(pos, { name = "led_marquee:marquee_"..msg, param2 = node.param2})
+ end
+end
+
+local on_digiline_receive_string = function(pos, node, channel, msg)
+ local meta = minetest.get_meta(pos)
+ local setchan = meta:get_string("channel")
+
+ if setchan ~= channel then return end
+ if msg and msg ~= "" and type(msg) == "string" then
+ if msg == "off"
+ or msg == "low"
+ or msg == "med"
+ or msg == "hi"
+ or msg == "max" then
+ local basename = string.sub(node.name, 1, string.find(node.name, "_", -5) - 1)
+ minetest.swap_node(pos, {name = basename.."_"..msg, param2 = node.param2})
+ end
+ end
+end
+
+local repl = {
+ ["off"] ="low",
+ ["low"] ="med",
+ ["med"] ="hi",
+ ["hi"] ="max",
+ ["max"] ="off",
+}
+
+local player_last_clicked = {}
+
+local dl_onreceive
+local dl_digiline
+local dl_on_punch
+local function dl_on_rightclick(pos, node, clicker, itemstack, pointed_thing)
+ if is_protected(pos, clicker) then return end
+ local delim = string.find(node.name, "_", -5)
+ local basename = string.sub(node.name, 1, delim - 1)
+ local suffix = string.sub(node.name, delim + 1)
+ minetest.set_node(pos, {name = basename.."_"..repl[suffix], param2 = node.param2})
+end
+
+if minetest.get_modpath("digilines") then
+ minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ local pos = player_last_clicked[name]
+ if pos and formname == "homedecor:lamp_set_channel" then
+ if is_protected(pos, player) then return end
+ if (fields.channel) then
+ local meta = minetest.get_meta(pos)
+ meta:set_string("channel", fields.channel)
+ end
+ end
+ end)
+
+ dl_digiline = {
+ effector = {
+ action = on_digiline_receive_string,
+ },
+ rules = rules_xz
+ }
+
+ function dl_on_punch(pos, node, puncher, pointed_thing)
+ if is_protected(pos, puncher) then return end
+
+ if puncher:get_player_control().sneak then
+ local name = puncher:get_player_name()
+ player_last_clicked[name] = pos
+ local meta = minetest.get_meta(pos)
+ local form = "field[channel;Channel;]"
+ minetest.show_formspec(name, "homedecor:lamp_set_channel", form)
+ end
+ end
+
+ function dl_on_rightclick(pos, node, clicker, itemstack, pointed_thing)
+ if is_protected(pos, clicker) then return end
+ local delim = string.find(node.name, "_", -5)
+ local basename = string.sub(node.name, 1, delim - 1)
+ local suffix = string.sub(node.name, delim + 1)
+ minetest.swap_node(pos, {name = basename.."_"..repl[suffix], param2 = node.param2})
+ end
+end
+
+local brightness_tab = {
+ 0xffd0d0d0,
+ 0xffd8d8d8,
+ 0xffe0e0e0,
+ 0xffe8e8e8,
+ 0xffffffff,
+}
+
+function homedecor.toggle_light(pos, node, clicker, itemstack, pointed_thing)
+ if is_protected(pos, clicker) then return end
+ local sep = string.find(node.name, "_o", -5)
+ local onoff = string.sub(node.name, sep + 1)
+ local newname = string.sub(node.name, 1, sep - 1)..((onoff == "off") and "_on" or "_off")
+ minetest.swap_node(pos, {name = newname, param2 = node.param2})
+end
+
+for _, onoff in ipairs({"on", "off"}) do
+
+ local onflag = (onoff == "on")
+ local offon = "on" -- always the inverse of 'onoff'
+ if onoff == "on" then offon = "off" end
+
+ local tiles
+ local overlay
+ local nici
+ if not onflag then nici = 1 end
+
+ local glowlight_nodebox = {
+ half = homedecor.nodebox.slab_y(1/2),
+ quarter = homedecor.nodebox.slab_y(1/4),
+ small_cube = {
+ type = "fixed",
+ fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
+ },
+ }
+
+ local base = "homedecor_glowlight_base.png"
+
+ local tb_edges = "homedecor_glowlight_tb_edges.png"
+ local sides_edges = "homedecor_glowlight_thick_sides_edges.png"
+ local sides_glare = "homedecor_glowlight_thick_sides_glare.png"
+
+ if onflag then
+ tiles = {
+ "("..base.."^"..tb_edges..")^[brighten",
+ "("..base.."^"..tb_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ }
+ overlay = {
+ { name = "homedecor_glowlight_top_glare.png", color = "white"},
+ "",
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ }
+ else
+ tiles = {
+ base.."^"..tb_edges,
+ base.."^"..tb_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ }
+ overlay = nil
+ end
+
+ minetest.register_node(":homedecor:glowlight_half_"..onoff, {
+ description = S("Thick Glowlight"),
+ tiles = tiles,
+ overlay_tiles = overlay,
+ use_texture_alpha = true,
+ drawtype = "nodebox",
+ paramtype = "light",
+ paramtype2 = "colorwallmounted",
+ palette = "unifieddyes_palette_colorwallmounted.png",
+ selection_box = {
+ type = "wallmounted",
+ wall_top = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 },
+ wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0, 0.5 },
+ wall_side = { -0.5, -0.5, -0.5, 0, 0.5, 0.5 }
+ },
+ node_box = glowlight_nodebox.half,
+ groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory = nici },
+ light_source = onflag and default.LIGHT_MAX or nil,
+ sounds = default.node_sound_glass_defaults(),
+ after_place_node = function(pos, placer, itemstack, pointed_thing)
+ unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
+ end,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:glowlight_half_on"}, inherit_color = true },
+ }
+ },
+ mesecons = homedecor.mesecon_wall_light
+ })
+
+ sides_edges = "homedecor_glowlight_thin_sides_edges.png"
+ sides_glare = "homedecor_glowlight_thin_sides_glare.png"
+
+ if onflag then
+ tiles = {
+ "("..base.."^"..tb_edges..")^[brighten",
+ "("..base.."^"..tb_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ }
+ overlay = {
+ { name = "homedecor_glowlight_top_glare.png", color = "white"},
+ "",
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ }
+ else
+ tiles = {
+ base.."^"..tb_edges,
+ base.."^"..tb_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ }
+ overlay = nil
+ end
+
+ minetest.register_node(":homedecor:glowlight_quarter_"..onoff, {
+ description = S("Thin Glowlight"),
+ tiles = tiles,
+ overlay_tiles = overlay,
+ use_texture_alpha = true,
+ drawtype = "nodebox",
+ paramtype = "light",
+ paramtype2 = "colorwallmounted",
+ palette = "unifieddyes_palette_colorwallmounted.png",
+ selection_box = {
+ type = "wallmounted",
+ wall_top = { -0.5, 0.25, -0.5, 0.5, 0.5, 0.5 },
+ wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.25, 0.5 },
+ wall_side = { -0.5, -0.5, -0.5, -0.25, 0.5, 0.5 }
+ },
+ node_box = glowlight_nodebox.quarter,
+ groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory = nici },
+ light_source = onflag and (default.LIGHT_MAX - 1) or nil,
+ sounds = default.node_sound_glass_defaults(),
+ after_place_node = function(pos, placer, itemstack, pointed_thing)
+ unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
+ end,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:glowlight_quarter_on"}, inherit_color = true },
+ }
+ },
+ mesecons = homedecor.mesecon_wall_light
+ })
+
+ tb_edges = "homedecor_glowlight_cube_tb_edges.png"
+ sides_edges = "homedecor_glowlight_cube_sides_edges.png"
+ sides_glare = "homedecor_glowlight_cube_sides_glare.png"
+
+ if onflag then
+ tiles = {
+ "("..base.."^"..tb_edges..")^[brighten",
+ "("..base.."^"..tb_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ }
+ overlay = {
+ { name = "homedecor_glowlight_cube_top_glare.png", color = "white"},
+ "",
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ }
+ else
+ tiles = {
+ base.."^"..tb_edges,
+ base.."^"..tb_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ }
+ overlay = nil
+ end
+
+ minetest.register_node(":homedecor:glowlight_small_cube_"..onoff, {
+ description = S("Small Glowlight Cube"),
+ tiles = tiles,
+ overlay_tiles = overlay,
+ use_texture_alpha = true,
+ paramtype = "light",
+ paramtype2 = "colorwallmounted",
+ drawtype = "nodebox",
+ palette = "unifieddyes_palette_colorwallmounted.png",
+ selection_box = {
+ type = "wallmounted",
+ wall_top = { -0.25, 0, -0.25, 0.25, 0.5, 0.25 },
+ wall_bottom = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 },
+ wall_side = { -0.5, -0.25, -0.25, 0, 0.25, 0.25 }
+ },
+ node_box = glowlight_nodebox.small_cube,
+ groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory = nici },
+ light_source = onflag and (default.LIGHT_MAX - 1) or nil,
+ sounds = default.node_sound_glass_defaults(),
+ after_place_node = function(pos, placer, itemstack, pointed_thing)
+ unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
+ end,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:glowlight_small_cube_on"}, inherit_color = true },
+ }
+ },
+ mesecons = homedecor.mesecon_wall_light
+ })
+
+ local lighttex
+
+ if onflag then
+ lighttex = {
name="homedecor_plasma_storm.png",
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0},
}
- },
- use_texture_alpha = true,
- light_source = default.LIGHT_MAX - 1,
- sunlight_propagates = true,
- groups = {cracky=3,oddly_breakable_by_hand=3},
- sounds = default.node_sound_glass_defaults(),
-})
+ else
+ lighttex = "homedecor_plasma_lamp_off.png"
+ end
-homedecor.register("plasma_ball", {
- description = S("Plasma Ball"),
- mesh = "homedecor_plasma_ball.obj",
- tiles = {
- { name = "homedecor_generic_plastic.png", color = homedecor.color_black },
- {
+ homedecor.register("plasma_lamp_"..onoff, {
+ description = S("Plasma Lamp/Light"),
+ drawtype = "mesh",
+ mesh = "plasma_lamp.obj",
+ tiles = {
+ "default_gold_block.png",
+ lighttex
+ },
+ use_texture_alpha = true,
+ light_source = onflag and (default.LIGHT_MAX - 1) or nil,
+ sunlight_propagates = true,
+ groups = {cracky=3, oddly_breakable_by_hand=3, not_in_creative_inventory = nici},
+ sounds = default.node_sound_glass_defaults(),
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:plasma_lamp_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_alldir_light
+ })
+
+ local lighttex = "homedecor_blanktile.png"
+ if onflag then
+ lighttex = {
name = "homedecor_plasma_ball_streamers.png",
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0},
+ }
+ end
+
+ homedecor.register("plasma_ball_"..onoff, {
+ description = S("Plasma Ball"),
+ mesh = "homedecor_plasma_ball.obj",
+ tiles = {
+ { name = "homedecor_generic_plastic.png", color = homedecor.color_black },
+ lighttex,
+ "homedecor_plasma_ball_glass.png"
},
- "homedecor_plasma_ball_glass.png"
- },
- inventory_image = "homedecor_plasma_ball_inv.png",
- selection_box = {
+ inventory_image = "homedecor_plasma_ball_inv.png",
+ selection_box = {
+ type = "fixed",
+ fixed = { -0.1875, -0.5, -0.1875, 0.1875, 0, 0.1875 }
+ },
+ walkable = false,
+ use_texture_alpha = true,
+ light_source = onflag and (default.LIGHT_MAX - 5) or nil,
+ sunlight_propagates = true,
+ groups = {cracky=3, oddly_breakable_by_hand=3, not_in_creative_inventory = nici},
+ sounds = default.node_sound_glass_defaults(),
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:plasma_ball_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_xz_light
+ })
+
+ local gl_cbox = {
type = "fixed",
- fixed = { -0.1875, -0.5, -0.1875, 0.1875, 0, 0.1875 }
- },
- walkable = false,
- use_texture_alpha = true,
- light_source = default.LIGHT_MAX - 5,
- sunlight_propagates = true,
- groups = {cracky=3,oddly_breakable_by_hand=3},
- sounds = default.node_sound_glass_defaults(),
-})
+ fixed = { -0.25, -0.5, -0.25, 0.25, 0.45, 0.25 },
+ }
+
+ local lighttex
+ if onflag then
+ lighttex = "homedecor_light.png"
+ else
+ lighttex = "homedecor_table_generic_light_source_off.png"
+ end
+
+ homedecor.register("ground_lantern_"..onoff, {
+ description = S("Ground Lantern/Light"),
+ mesh = "homedecor_ground_lantern.obj",
+ tiles = { lighttex, "homedecor_generic_metal_wrought_iron.png" },
+ use_texture_alpha = true,
+ inventory_image = "homedecor_ground_lantern_inv.png",
+ wield_image = "homedecor_ground_lantern_inv.png",
+ groups = {snappy=3, not_in_creative_inventory = nici},
+ light_source = onflag and (default.LIGHT_MAX - 3) or nil,
+ selection_box = gl_cbox,
+ walkable = false,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:ground_lantern_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_xz_light
+ })
+
+ local hl_cbox = {
+ type = "fixed",
+ fixed = { -0.25, -0.5, -0.2, 0.25, 0.5, 0.5 },
+ }
+
+ homedecor.register("hanging_lantern_"..onoff, {
+ description = S("Hanging Lantern/Light"),
+ mesh = "homedecor_hanging_lantern.obj",
+ tiles = { "homedecor_generic_metal_wrought_iron.png", lighttex },
+ use_texture_alpha = true,
+ inventory_image = "homedecor_hanging_lantern_inv.png",
+ wield_image = "homedecor_hanging_lantern_inv.png",
+ groups = {snappy=3, not_in_creative_inventory = nici},
+ light_source = onflag and (default.LIGHT_MAX - 3) or nil,
+ selection_box = hl_cbox,
+ walkable = false,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:hanging_lantern_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_alldir_light
+ })
+
+ local cl_cbox = {
+ type = "fixed",
+ fixed = { -0.35, -0.45, -0.35, 0.35, 0.5, 0.35 }
+ }
+
+ homedecor.register("ceiling_lantern_"..onoff, {
+ drawtype = "mesh",
+ mesh = "homedecor_ceiling_lantern.obj",
+ tiles = { lighttex, "homedecor_generic_metal_wrought_iron.png" },
+ use_texture_alpha = true,
+ inventory_image = "homedecor_ceiling_lantern_inv.png",
+ description = S("Ceiling Lantern/Light"),
+ groups = {snappy=3, not_in_creative_inventory = nici},
+ light_source = onflag and (default.LIGHT_MAX - 3) or nil,
+ selection_box = cl_cbox,
+ walkable = false,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:ceiling_lantern_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_toponly_light
+ })
+
+ if minetest.get_modpath("darkage") then
+ sm_light = default.LIGHT_MAX-5
+ else
+ local lighttex
+ if onflag then
+ lighttex = "homedecor_lattice_lantern_large_light.png"
+ else
+ lighttex = "homedecor_table_generic_light_source_off.png"
+ end
+
+ homedecor.register("lattice_lantern_large_"..onoff, {
+ description = S("Lattice lantern/Light (large)"),
+ tiles = { lighttex.."^homedecor_lattice_lantern_large_overlay.png" },
+ groups = { snappy = 3, not_in_creative_inventory = nici },
+ light_source = onflag and default.LIGHT_MAX or nil,
+ sounds = default.node_sound_glass_defaults(),
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:lattice_lantern_large_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_alldir_light
+ })
+ end
+
+ local lighttex_tb
+ local lighttex_sides
+
+ if onflag then
+ lighttex_tb = "homedecor_lattice_lantern_small_tb_light.png"
+ lighttex_sides = "homedecor_lattice_lantern_small_sides_light.png"
+ else
+ lighttex_tb = "homedecor_table_generic_light_source_off.png"
+ lighttex_sides = "homedecor_table_generic_light_source_off.png"
+ end
+
+ homedecor.register("lattice_lantern_small_"..onoff, {
+ description = S("Lattice lantern/light (small)"),
+ tiles = {
+ lighttex_tb.."^homedecor_lattice_lantern_small_tb_overlay.png",
+ lighttex_tb.."^homedecor_lattice_lantern_small_tb_overlay.png",
+ lighttex_sides.."^homedecor_lattice_lantern_small_sides_overlay.png"
+ },
+ selection_box = {
+ type = "fixed",
+ fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
+ },
+ node_box = {
+ type = "fixed",
+ fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
+ },
+ groups = { snappy = 3, not_in_creative_inventory = nici },
+ light_source = onflag and (default.LIGHT_MAX - 2) or nil,
+ sounds = default.node_sound_glass_defaults(),
+ on_place = minetest.rotate_node,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:lattice_lantern_small_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_wall_light
+ })
+
+ -- "gooseneck" style desk lamps
+
+ local dlamp_cbox = {
+ type = "wallmounted",
+ wall_side = { -0.2, -0.5, -0.15, 0.32, 0.12, 0.15 },
+ }
+
+ homedecor.register("desk_lamp_"..onoff, {
+ description = S("Desk Lamp/Light"),
+ mesh = "homedecor_desk_lamp.obj",
+ tiles = {
+ "homedecor_generic_metal.png",
+ "homedecor_generic_metal.png",
+ { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
+ { name = "homedecor_table_generic_light_source_"..onoff..".png", color = brightness_tab[5] },
+ },
+ inventory_image = "homedecor_desk_lamp_inv.png",
+ paramtype = "light",
+ paramtype2 = "colorwallmounted",
+ palette = "unifieddyes_palette_colorwallmounted.png",
+ selection_box = dlamp_cbox,
+ node_box = dlamp_cbox,
+ walkable = false,
+ groups = {snappy=3, ud_param2_colorable = 1, not_in_creative_inventory = nici},
+ after_place_node = function(pos, placer, itemstack, pointed_thing)
+ unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
+ end,
+ on_rotate = unifieddyes.fix_after_screwdriver_nsew,
+ light_source = onflag and (default.LIGHT_MAX - 2) or nil,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:desk_lamp_on"}, inherit_color = true },
+ }
+ },
+ mesecons = homedecor.mesecon_xz_light
+ })
+
+ -- "kitchen"/"dining room" ceiling lamp
+
+ homedecor.register("ceiling_lamp_"..onoff, {
+ description = S("Ceiling Lamp/Light"),
+ mesh = "homedecor_ceiling_lamp.obj",
+ tiles = {
+ "homedecor_generic_metal_brass.png",
+ "homedecor_ceiling_lamp_glass.png",
+ "homedecor_table_generic_light_source_"..onoff..".png",
+ { name = "homedecor_generic_plastic.png", color = 0xff442d04 },
+ },
+ inventory_image = "homedecor_ceiling_lamp_inv.png",
+ light_source = onflag and default.LIGHT_MAX or nil,
+ groups = {snappy=3, not_in_creative_inventory = nici},
+ walkable = false,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:ceiling_lamp_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_toponly_light
+ })
+
+-- rope lighting
+
+ minetest.register_node(":homedecor:rope_light_on_floor_"..onoff, {
+ description = "Rope lighting (on floor)",
+ inventory_image = "homedecor_rope_light_on_floor.png",
+ paramtype = "light",
+ light_source = onflag and (default.LIGHT_MAX - 3) or nil,
+ walkable = false,
+ sunlight_propagates = true,
+ tiles = { "homedecor_table_generic_light_source_"..onoff..".png" },
+ drawtype = "nodebox",
+ node_box = {
+ type = "connected",
+ fixed = {},
+ connect_front = { -1/16, -8/16, -8/16, 1/16, -6/16, 1/16 },
+ connect_left = { -8/16, -8/16, -1/16, 1/16, -6/16, 1/16 },
+ connect_back = { -1/16, -8/16, -1/16, 1/16, -6/16, 8/16 },
+ connect_right = { -1/16, -8/16, -1/16, 8/16, -6/16, 1/16 },
+ disconnected_sides = {
+ { -6/16, -8/16, -6/16, -4/16, -6/16, 6/16 },
+ { 4/16, -8/16, -6/16, 6/16, -6/16, 6/16 },
+ { -6/16, -8/16, -6/16, 6/16, -6/16, -4/16 },
+ { -6/16, -8/16, 4/16, 6/16, -6/16, 6/16 }
+ },
+ },
+ connects_to = {
+ "homedecor:rope_light_on_floor_on",
+ "homedecor:rope_light_on_floor_off",
+ "group:mesecon_conductor_craftable"
+ },
+ mesh = "homedecor_chandelier.obj",
+ groups = {cracky=3, not_in_creative_inventory = nici},
+ sounds = default.node_sound_stone_defaults(),
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:rope_light_on_floor_on"} },
+ }
+ },
+ mesecons = {
+ conductor = {
+ state = mesecon and (onflag and mesecon.state.on or mesecon.state.off),
+ onstate = "homedecor:rope_light_on_floor_on",
+ offstate = "homedecor:rope_light_on_floor_off",
+ rules = rules_xz
+ },
+ }
+ })
+
+ minetest.register_node(":homedecor:rope_light_on_ceiling_"..onoff, {
+ description = "Rope lighting (on ceiling)",
+ inventory_image = "homedecor_rope_light_on_ceiling.png",
+ paramtype = "light",
+ light_source = onflag and (default.LIGHT_MAX - 3) or nil,
+ walkable = false,
+ sunlight_propagates = true,
+ tiles = { "homedecor_table_generic_light_source_"..onoff..".png" },
+ drawtype = "nodebox",
+ node_box = {
+ type = "connected",
+ fixed = {},
+ connect_front = { -1/16, 8/16, -8/16, 1/16, 6/16, 1/16 },
+ connect_left = { -8/16, 8/16, -1/16, 1/16, 6/16, 1/16 },
+ connect_back = { -1/16, 8/16, -1/16, 1/16, 6/16, 8/16 },
+ connect_right = { -1/16, 8/16, -1/16, 8/16, 6/16, 1/16 },
+ disconnected_sides = {
+ { -6/16, 8/16, -6/16, -4/16, 6/16, 6/16 },
+ { 4/16, 8/16, -6/16, 6/16, 6/16, 6/16 },
+ { -6/16, 8/16, -6/16, 6/16, 6/16, -4/16 },
+ { -6/16, 8/16, 4/16, 6/16, 6/16, 6/16 }
+ },
+ },
+ connects_to = {
+ "homedecor:rope_light_on_ceiling_on",
+ "homedecor:rope_light_on_ceiling_off",
+ "group:mesecon_conductor_craftable"
+ },
+ mesh = "homedecor_chandelier.obj",
+ groups = {cracky=3, not_in_creative_inventory = nici},
+ sounds = default.node_sound_stone_defaults(),
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:rope_light_on_ceiling_on"}},
+ }
+ },
+ mesecons = {
+ conductor = {
+ state = mesecon and (onflag and mesecon.state.on or mesecon.state.off),
+ onstate = "homedecor:rope_light_on_ceiling_on",
+ offstate = "homedecor:rope_light_on_ceiling_off",
+ rules = rules_alldir
+ },
+ }
+ })
+
+end
+
+-- Light sources and other items that either don't turn on/off
+-- or which need special light-control code.
local tc_cbox = {
type = "fixed",
@@ -304,116 +923,101 @@ homedecor.register("oil_lamp_tabletop", {
sounds = default.node_sound_glass_defaults(),
})
-local gl_cbox = {
+local chains_sbox = {
type = "fixed",
- fixed = { -0.25, -0.5, -0.25, 0.25, 0.45, 0.25 },
+ fixed = { -0.1, -0.5, -0.1, 0.1, 0.5, 0.1 }
}
-minetest.register_alias("homedecor:wall_lantern", "homedecor:ground_lantern")
-
-homedecor.register("ground_lantern", {
- description = S("Ground Lantern/Light"),
- mesh = "homedecor_ground_lantern.obj",
- tiles = { "homedecor_light.png", "homedecor_generic_metal_wrought_iron.png" },
- use_texture_alpha = true,
- inventory_image = "homedecor_ground_lantern_inv.png",
- wield_image = "homedecor_ground_lantern_inv.png",
- groups = {snappy=3},
- light_source = 11,
- selection_box = gl_cbox,
- walkable = false
-})
-
-local hl_cbox = {
+local topchains_sbox = {
type = "fixed",
- fixed = { -0.25, -0.5, -0.2, 0.25, 0.5, 0.5 },
+ fixed = {
+ { -0.25, 0.35, -0.25, 0.25, 0.5, 0.25 },
+ { -0.1, -0.5, -0.1, 0.1, 0.4, 0.1 }
+ }
}
-homedecor.register("hanging_lantern", {
- description = S("Hanging Lantern/Light"),
- mesh = "homedecor_hanging_lantern.obj",
- tiles = { "homedecor_generic_metal_wrought_iron.png", "homedecor_light.png" },
- use_texture_alpha = true,
- inventory_image = "homedecor_hanging_lantern_inv.png",
- wield_image = "homedecor_hanging_lantern_inv.png",
- groups = {snappy=3},
- light_source = 11,
- selection_box = hl_cbox,
- walkable = false
+minetest.register_node(":homedecor:chain_steel_top", {
+ description = S("Hanging chain (ceiling mount, steel)"),
+ drawtype = "mesh",
+ mesh = "homedecor_chains_top.obj",
+ tiles = {"basic_materials_chain_steel.png"},
+ walkable = false,
+ climbable = true,
+ sunlight_propagates = true,
+ paramtype = "light",
+ inventory_image = "basic_materials_chain_steel_inv.png",
+ groups = {cracky=3},
+ selection_box = topchains_sbox,
})
-local cl_cbox = {
- type = "fixed",
- fixed = { -0.35, -0.45, -0.35, 0.35, 0.5, 0.35 }
-}
-
-homedecor.register("ceiling_lantern", {
+minetest.register_node(":homedecor:chain_brass_top", {
+ description = S("Hanging chain (ceiling mount, brass)"),
drawtype = "mesh",
- mesh = "homedecor_ceiling_lantern.obj",
- tiles = { "homedecor_light.png", "homedecor_generic_metal_wrought_iron.png" },
- use_texture_alpha = true,
- inventory_image = "homedecor_ceiling_lantern_inv.png",
- description = S("Ceiling Lantern/Light"),
- groups = {snappy=3},
- light_source = 11,
- selection_box = cl_cbox,
- walkable = false
+ mesh = "homedecor_chains_top.obj",
+ tiles = {"basic_materials_chain_brass.png"},
+ walkable = false,
+ climbable = true,
+ sunlight_propagates = true,
+ paramtype = "light",
+ inventory_image = "basic_materials_chain_brass_inv.png",
+ groups = {cracky=3},
+ selection_box = topchains_sbox,
})
-local sm_light = default.LIGHT_MAX-2
-
-if minetest.get_modpath("darkage") then
- minetest.register_alias("homedecor:lattice_lantern_large", "darkage:lamp")
- sm_light = default.LIGHT_MAX-5
-else
- homedecor.register("lattice_lantern_large", {
- description = S("Lattice lantern/Light (large)"),
- tiles = { 'homedecor_lattice_lantern_large.png' },
- groups = { snappy = 3 },
- light_source = default.LIGHT_MAX,
- sounds = default.node_sound_glass_defaults(),
- })
-end
-
-homedecor.register("lattice_lantern_small", {
- description = S("Lattice lantern (small)"),
+minetest.register_node(":homedecor:chandelier_steel", {
+ description = S("Chandelier (steel)"),
+ paramtype = "light",
+ light_source = 12,
+ walkable = false,
+ climbable = true,
+ sunlight_propagates = true,
tiles = {
- 'homedecor_lattice_lantern_small_tb.png',
- 'homedecor_lattice_lantern_small_tb.png',
- 'homedecor_lattice_lantern_small_sides.png'
- },
- selection_box = {
- type = "fixed",
- fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
- },
- node_box = {
- type = "fixed",
- fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
+ "basic_materials_chain_steel.png",
+ "homedecor_candle_flat.png",
+ {
+ name="homedecor_candle_flame.png",
+ animation={
+ type="vertical_frames",
+ aspect_w=16,
+ aspect_h=16,
+ length=3.0
+ }
+ }
},
- groups = { snappy = 3 },
- light_source = sm_light,
- sounds = default.node_sound_glass_defaults(),
- on_place = minetest.rotate_node
+ drawtype = "mesh",
+ mesh = "homedecor_chandelier.obj",
+ groups = {cracky=3},
+ sounds = default.node_sound_stone_defaults(),
})
-local brightness_tab = {
- 0xffd0d0d0,
- 0xffd8d8d8,
- 0xffe0e0e0,
- 0xffe8e8e8,
- 0xffffffff,
-}
+minetest.register_node(":homedecor:chandelier_brass", {
+ description = S("Chandelier (brass)"),
+ paramtype = "light",
+ light_source = 12,
+ walkable = false,
+ climbable = true,
+ sunlight_propagates = true,
+ tiles = {
+ "basic_materials_chain_brass.png",
+ "homedecor_candle_flat.png",
+ {
+ name="homedecor_candle_flame.png",
+ animation={
+ type="vertical_frames",
+ aspect_w=16,
+ aspect_h=16,
+ length=3.0
+ }
+ }
+ },
+ drawtype = "mesh",
+ mesh = "homedecor_chandelier.obj",
+ groups = {cracky=3},
+ sounds = default.node_sound_stone_defaults(),
+})
-- table lamps and standing lamps
-local repl = {
- ["off"] ="low",
- ["low"] ="med",
- ["med"] ="hi",
- ["hi"] ="max",
- ["max"] ="off",
-}
-
local lamp_colors = {
"white",
"blue",
@@ -436,13 +1040,14 @@ local slamp_cbox = {
local function reg_lamp(suffix, nxt, light, brightness)
local wool_brighten = (light or 0) * 15
+ local onoff = (suffix == "off") and "off" or "on"
homedecor.register("table_lamp_"..suffix, {
description = S("Table Lamp/Light"),
mesh = "homedecor_table_lamp.obj",
tiles = {
"wool_grey.png^[colorize:#ffffff:"..wool_brighten,
- { name = "homedecor_table_standing_lamp_lightbulb.png", color = brightness_tab[brightness] },
+ { name = "homedecor_table_generic_light_source_"..onoff..".png", color = brightness_tab[brightness] },
{ name = "homedecor_generic_wood_red.png", color = 0xffffffff },
{ name = "homedecor_generic_metal.png", color = homedecor.color_black },
},
@@ -457,17 +1062,14 @@ local function reg_lamp(suffix, nxt, light, brightness)
groups = {cracky=2,oddly_breakable_by_hand=1, ud_param2_colorable = 1,
not_in_creative_inventory=((light ~= nil) and 1) or nil,
},
- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
- node.name = "homedecor:table_lamp_"..repl[suffix]
- minetest.set_node(pos, node)
- end,
- on_construct = unifieddyes.on_construct,
drop = {
items = {
- {items = {"homedecor:table_lamp_off"}, inherit_color = true },
+ {items = {"homedecor:table_lamp_hi"}, inherit_color = true },
}
- }
-
+ },
+ digiline = dl_digiline,
+ on_rightclick = dl_on_rightclick,
+ on_punch = dl_on_punch
})
homedecor.register("standing_lamp_"..suffix, {
@@ -475,7 +1077,7 @@ local function reg_lamp(suffix, nxt, light, brightness)
mesh = "homedecor_standing_lamp.obj",
tiles = {
"wool_grey.png^[colorize:#ffffff:"..wool_brighten,
- { name = "homedecor_table_standing_lamp_lightbulb.png", color = brightness_tab[brightness] },
+ { name = "homedecor_table_generic_light_source_"..onoff..".png", color = brightness_tab[brightness] },
{ name = "homedecor_generic_wood_red.png", color = 0xffffffff },
{ name = "homedecor_generic_metal.png", color = homedecor.color_black },
},
@@ -491,17 +1093,15 @@ local function reg_lamp(suffix, nxt, light, brightness)
selection_box = slamp_cbox,
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.rotate_simple,
- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
- node.name = "homedecor:standing_lamp_"..repl[suffix]
- minetest.set_node(pos, node)
- end,
- on_construct = unifieddyes.on_construct,
--expand = { top="air" },
drop = {
items = {
- {items = {"homedecor:standing_lamp_off"}, inherit_color = true },
+ {items = {"homedecor:standing_lamp_hi"}, inherit_color = true },
}
- }
+ },
+ digiline = dl_digiline,
+ on_rightclick = dl_on_rightclick,
+ on_punch = dl_on_punch
})
-- for old maps that had the original 3dforniture mod
@@ -514,72 +1114,6 @@ reg_lamp("med", "hi", 7, 3 )
reg_lamp("hi", "max", 11, 4 )
reg_lamp("max", "off", 14, 5 )
--- "gooseneck" style desk lamps
-
-local dlamp_cbox = {
- type = "wallmounted",
- wall_side = { -0.2, -0.5, -0.15, 0.32, 0.12, 0.15 },
-}
-
-homedecor.register("desk_lamp", {
- description = S("Desk Lamp/Light"),
- mesh = "homedecor_desk_lamp.obj",
- tiles = {
- "homedecor_generic_metal.png",
- "homedecor_generic_metal.png",
- { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
- { name = "homedecor_table_standing_lamp_lightbulb.png", color = brightness_tab[5] },
- },
- inventory_image = "homedecor_desk_lamp_inv.png",
- paramtype = "light",
- paramtype2 = "colorwallmounted",
- palette = "unifieddyes_palette_colorwallmounted.png",
- selection_box = dlamp_cbox,
- node_box = dlamp_cbox,
- walkable = false,
- groups = {snappy=3, ud_param2_colorable = 1},
- after_place_node = function(pos, placer, itemstack, pointed_thing)
- unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
- end,
- on_rotate = unifieddyes.fix_after_screwdriver_nsew
-})
-
--- "kitchen"/"dining room" ceiling lamp
-
-homedecor.register("ceiling_lamp", {
- description = S("Ceiling Lamp/Light"),
- mesh = "homedecor_ceiling_lamp.obj",
- tiles = {
- "homedecor_generic_metal_brass.png",
- "homedecor_ceiling_lamp_glass.png",
- "homedecor_table_standing_lamp_lightbulb.png",
- { name = "homedecor_generic_plastic.png", color = 0xff442d04 },
- },
- inventory_image = "homedecor_ceiling_lamp_inv.png",
- light_source = default.LIGHT_MAX,
- groups = {snappy=3},
- walkable = false,
- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
- minetest.set_node(pos, {name = "homedecor:ceiling_lamp_off"})
- end,
-})
-
-homedecor.register("ceiling_lamp_off", {
- description = S("Ceiling Lamp/Light (off)"),
- mesh = "homedecor_ceiling_lamp.obj",
- tiles = {
- "homedecor_generic_metal_brass.png",
- "homedecor_ceiling_lamp_glass.png",
- { "homedecor_table_standing_lamp_lightbulb.png", color = 0xffd0d0d0 },
- { name = "homedecor_generic_plastic.png", color = 0xff442d04 },
- },
- groups = {snappy=3, not_in_creative_inventory=1},
- walkable = false,
- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
- minetest.set_node(pos, {name = "homedecor:ceiling_lamp"})
- end,
- drop = "homedecor:ceiling_lamp"
-})
-- conversion LBM for param2 coloring
@@ -743,156 +1277,7 @@ minetest.register_lbm({
end
})
-local chains_sbox = {
- type = "fixed",
- fixed = { -0.1, -0.5, -0.1, 0.1, 0.5, 0.1 }
-}
-
-local topchains_sbox = {
- type = "fixed",
- fixed = {
- { -0.25, 0.35, -0.25, 0.25, 0.5, 0.25 },
- { -0.1, -0.5, -0.1, 0.1, 0.4, 0.1 }
- }
-}
-
-minetest.register_node(":homedecor:chain_steel_top", {
- description = S("Hanging chain (ceiling mount, steel)"),
- drawtype = "mesh",
- mesh = "homedecor_chains_top.obj",
- tiles = {"basic_materials_chain_steel.png"},
- walkable = false,
- climbable = true,
- sunlight_propagates = true,
- paramtype = "light",
- inventory_image = "basic_materials_chain_steel_inv.png",
- groups = {cracky=3},
- selection_box = topchains_sbox,
-})
-
-minetest.register_node(":homedecor:chain_brass_top", {
- description = S("Hanging chain (ceiling mount, brass)"),
- drawtype = "mesh",
- mesh = "homedecor_chains_top.obj",
- tiles = {"basic_materials_chain_brass.png"},
- walkable = false,
- climbable = true,
- sunlight_propagates = true,
- paramtype = "light",
- inventory_image = "basic_materials_chain_brass_inv.png",
- groups = {cracky=3},
- selection_box = topchains_sbox,
-})
-
-minetest.register_node(":homedecor:chandelier_steel", {
- description = S("Chandelier (steel)"),
- paramtype = "light",
- light_source = 12,
- walkable = false,
- climbable = true,
- sunlight_propagates = true,
- tiles = {
- "basic_materials_chain_steel.png",
- "homedecor_candle_flat.png",
- {
- name="homedecor_candle_flame.png",
- animation={
- type="vertical_frames",
- aspect_w=16,
- aspect_h=16,
- length=3.0
- }
- }
- },
- drawtype = "mesh",
- mesh = "homedecor_chandelier.obj",
- groups = {cracky=3},
- sounds = default.node_sound_stone_defaults(),
-})
-
-minetest.register_node(":homedecor:chandelier_brass", {
- description = S("Chandelier (brass)"),
- paramtype = "light",
- light_source = 12,
- walkable = false,
- climbable = true,
- sunlight_propagates = true,
- tiles = {
- "basic_materials_chain_brass.png",
- "homedecor_candle_flat.png",
- {
- name="homedecor_candle_flame.png",
- animation={
- type="vertical_frames",
- aspect_w=16,
- aspect_h=16,
- length=3.0
- }
- }
- },
- drawtype = "mesh",
- mesh = "homedecor_chandelier.obj",
- groups = {cracky=3},
- sounds = default.node_sound_stone_defaults(),
-})
-minetest.register_node(":homedecor:rope_light_on_floor", {
- description = "Rope lighting (on floor)",
- inventory_image = "homedecor_rope_light_on_floor.png",
- paramtype = "light",
- light_source = default.LIGHT_MAX-3,
- walkable = false,
- sunlight_propagates = true,
- tiles = { "homedecor_table_standing_lamp_lightbulb.png" },
- drawtype = "nodebox",
- node_box = {
- type = "connected",
- fixed = {},
- connect_front = { -1/16, -8/16, -8/16, 1/16, -6/16, 1/16 },
- connect_left = { -8/16, -8/16, -1/16, 1/16, -6/16, 1/16 },
- connect_back = { -1/16, -8/16, -1/16, 1/16, -6/16, 8/16 },
- connect_right = { -1/16, -8/16, -1/16, 8/16, -6/16, 1/16 },
- disconnected_sides = {
- { -6/16, -8/16, -6/16, -4/16, -6/16, 6/16 },
- { 4/16, -8/16, -6/16, 6/16, -6/16, 6/16 },
- { -6/16, -8/16, -6/16, 6/16, -6/16, -4/16 },
- { -6/16, -8/16, 4/16, 6/16, -6/16, 6/16 }
- },
- },
- connects_to = { "homedecor:rope_light_on_floor" },
- mesh = "homedecor_chandelier.obj",
- groups = {cracky=3},
- sounds = default.node_sound_stone_defaults(),
-})
-
-minetest.register_node(":homedecor:rope_light_on_ceiling", {
- description = "Rope lighting (on ceiling)",
- inventory_image = "homedecor_rope_light_on_ceiling.png",
- paramtype = "light",
- light_source = default.LIGHT_MAX-3,
- walkable = false,
- sunlight_propagates = true,
- tiles = { "homedecor_table_standing_lamp_lightbulb.png" },
- drawtype = "nodebox",
- node_box = {
- type = "connected",
- fixed = {},
- connect_front = { -1/16, 8/16, -8/16, 1/16, 6/16, 1/16 },
- connect_left = { -8/16, 8/16, -1/16, 1/16, 6/16, 1/16 },
- connect_back = { -1/16, 8/16, -1/16, 1/16, 6/16, 8/16 },
- connect_right = { -1/16, 8/16, -1/16, 8/16, 6/16, 1/16 },
- disconnected_sides = {
- { -6/16, 8/16, -6/16, -4/16, 6/16, 6/16 },
- { 4/16, 8/16, -6/16, 6/16, 6/16, 6/16 },
- { -6/16, 8/16, -6/16, 6/16, 6/16, -4/16 },
- { -6/16, 8/16, 4/16, 6/16, 6/16, 6/16 }
- },
- },
- connects_to = { "homedecor:rope_light_on_ceiling" },
- mesh = "homedecor_chandelier.obj",
- groups = {cracky=3},
- sounds = default.node_sound_stone_defaults(),
-})
-- crafting
@@ -1247,19 +1632,19 @@ minetest.register_craft({
})
minetest.register_craft({
- output = "homedecor:standing_lamp_off",
+ output = "homedecor:standing_lamp_hi",
recipe = {
- {"homedecor:table_lamp_off"},
+ {"homedecor:table_lamp_hi"},
{"group:stick"},
{"group:stick"},
},
})
unifieddyes.register_color_craft({
- output = "homedecor:standing_lamp_off",
+ output = "homedecor:standing_lamp_hi",
palette = "extended",
type = "shapeless",
- neutral_node = "homedecor:standing_lamp_off",
+ neutral_node = "homedecor:standing_lamp_hi",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE"
@@ -1268,12 +1653,12 @@ unifieddyes.register_color_craft({
minetest.register_craft({
type = "fuel",
- recipe = "homedecor:table_lamp_off",
+ recipe = "homedecor:table_lamp_hi",
burntime = 10,
})
minetest.register_craft({
- output = "homedecor:table_lamp_off",
+ output = "homedecor:table_lamp_hi",
recipe = {
{ "wool:white", "default:torch", "wool:white"},
{ "", "group:stick", ""},
@@ -1282,7 +1667,7 @@ minetest.register_craft({
})
minetest.register_craft({
- output = "homedecor:table_lamp_off",
+ output = "homedecor:table_lamp_hi",
recipe = {
{ "cottages:wool", "default:torch", "cottages:wool"},
{ "", "group:stick", ""},
@@ -1291,7 +1676,7 @@ minetest.register_craft({
})
minetest.register_craft({
- output = "homedecor:table_lamp_off",
+ output = "homedecor:table_lamp_hi",
recipe = {
{ "wool:white", "default:torch", "wool:white"},
{ "", "group:stick", ""},
@@ -1300,7 +1685,7 @@ minetest.register_craft({
})
minetest.register_craft({
- output = "homedecor:table_lamp_off",
+ output = "homedecor:table_lamp_hi",
recipe = {
{ "cottages:wool", "default:torch", "cottages:wool"},
{ "", "group:stick", ""},
@@ -1309,10 +1694,10 @@ minetest.register_craft({
})
unifieddyes.register_color_craft({
- output = "homedecor:table_lamp_off",
+ output = "homedecor:table_lamp_hi",
palette = "extended",
type = "shapeless",
- neutral_node = "homedecor:table_lamp_off",
+ neutral_node = "homedecor:table_lamp_hi",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE"
@@ -1321,9 +1706,29 @@ unifieddyes.register_color_craft({
-- aliases
-minetest.register_alias("chains:chain_top", "homedecor:chain_steel_top")
-minetest.register_alias("chains:chain_top_brass", "homedecor:chain_brass_top")
-
-minetest.register_alias("chains:chandelier_steel", "homedecor:chandelier_steel")
-minetest.register_alias("chains:chandelier_brass", "homedecor:chandelier_brass")
+minetest.register_alias("chains:chain_top", "homedecor:chain_steel_top")
+minetest.register_alias("chains:chain_top_brass", "homedecor:chain_brass_top")
+
+minetest.register_alias("chains:chandelier_steel", "homedecor:chandelier_steel")
+minetest.register_alias("chains:chandelier_brass", "homedecor:chandelier_brass")
+
+minetest.register_alias("homedecor:glowlight_half", "homedecor:glowlight_half_on")
+minetest.register_alias("homedecor:glowlight_quarter", "homedecor:glowlight_quarter_on")
+minetest.register_alias("homedecor:glowlight_small_cube", "homedecor:glowlight_small_cube_on")
+minetest.register_alias("homedecor:plasma_lamp", "homedecor:plasma_lamp_on")
+minetest.register_alias("homedecor:plasma_ball", "homedecor:plasma_ball_on")
+minetest.register_alias("homedecor:wall_lantern", "homedecor:ground_lantern")
+minetest.register_alias("homedecor:ground_lantern", "homedecor:ground_lantern_on")
+minetest.register_alias("homedecor:hanging_lantern", "homedecor:hanging_lantern_on")
+minetest.register_alias("homedecor:ceiling_lamp", "homedecor:ceiling_lamp_on")
+minetest.register_alias("homedecor:ceiling_lantern", "homedecor:ceiling_lantern_on")
+minetest.register_alias("homedecor:lattice_lantern_large", "homedecor:lattice_lantern_large_on")
+minetest.register_alias("homedecor:lattice_lantern_small", "homedecor:lattice_lantern_small_on")
+minetest.register_alias("homedecor:desk_lamp", "homedecor:desk_lamp_on")
+minetest.register_alias("homedecor:rope_light_on_floor", "homedecor:rope_light_on_floor_on")
+minetest.register_alias("homedecor:rope_light_on_ceiling", "homedecor:rope_light_on_ceiling_on")
+if minetest.get_modpath("darkage") then
+ minetest.register_alias("homedecor:lattice_lantern_large_on", "darkage:lamp")
+ minetest.register_alias("homedecor:lattice_lantern_large_off", "darkage:lamp")
+end
diff --git a/homedecor_lighting/textures/homedecor_glowlight_base.png b/homedecor_lighting/textures/homedecor_glowlight_base.png
new file mode 100644
index 0000000..1cee3bc
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_base.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_bottom.png b/homedecor_lighting/textures/homedecor_glowlight_bottom.png
deleted file mode 100644
index 37a6b4d..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_bottom.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_cube_sides.png b/homedecor_lighting/textures/homedecor_glowlight_cube_sides.png
deleted file mode 100644
index 31ba821..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_cube_sides.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_cube_sides_edges.png b/homedecor_lighting/textures/homedecor_glowlight_cube_sides_edges.png
new file mode 100644
index 0000000..49f6179
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_cube_sides_edges.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_cube_sides_overlay.png b/homedecor_lighting/textures/homedecor_glowlight_cube_sides_glare.png
index 0e5aefb..0e5aefb 100644
--- a/homedecor_lighting/textures/homedecor_glowlight_cube_sides_overlay.png
+++ b/homedecor_lighting/textures/homedecor_glowlight_cube_sides_glare.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_cube_tb.png b/homedecor_lighting/textures/homedecor_glowlight_cube_tb.png
deleted file mode 100644
index c415202..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_cube_tb.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_cube_tb_edges.png b/homedecor_lighting/textures/homedecor_glowlight_cube_tb_edges.png
new file mode 100644
index 0000000..f7bca65
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_cube_tb_edges.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_cube_tb_overlay.png b/homedecor_lighting/textures/homedecor_glowlight_cube_top_glare.png
index 03cf1dc..03cf1dc 100644
--- a/homedecor_lighting/textures/homedecor_glowlight_cube_tb_overlay.png
+++ b/homedecor_lighting/textures/homedecor_glowlight_cube_top_glare.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_tb_edges.png b/homedecor_lighting/textures/homedecor_glowlight_tb_edges.png
new file mode 100644
index 0000000..fcf524f
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_tb_edges.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_thick_sides.png b/homedecor_lighting/textures/homedecor_glowlight_thick_sides.png
deleted file mode 100644
index bae0108..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_thick_sides.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_thick_sides_edges.png b/homedecor_lighting/textures/homedecor_glowlight_thick_sides_edges.png
new file mode 100644
index 0000000..a421750
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_thick_sides_edges.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_top_overlay.png b/homedecor_lighting/textures/homedecor_glowlight_thick_sides_glare.png
index 5fbf891..5fbf891 100644
--- a/homedecor_lighting/textures/homedecor_glowlight_top_overlay.png
+++ b/homedecor_lighting/textures/homedecor_glowlight_thick_sides_glare.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_thick_sides_overlay.png b/homedecor_lighting/textures/homedecor_glowlight_thick_sides_overlay.png
deleted file mode 100644
index 0d871d1..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_thick_sides_overlay.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_thin_sides.png b/homedecor_lighting/textures/homedecor_glowlight_thin_sides.png
deleted file mode 100644
index 51832b5..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_thin_sides.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_thin_sides_edges.png b/homedecor_lighting/textures/homedecor_glowlight_thin_sides_edges.png
new file mode 100644
index 0000000..6110d67
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_thin_sides_edges.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_thin_sides_glare.png b/homedecor_lighting/textures/homedecor_glowlight_thin_sides_glare.png
new file mode 100644
index 0000000..fd92157
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_thin_sides_glare.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_thin_sides_overlay.png b/homedecor_lighting/textures/homedecor_glowlight_thin_sides_overlay.png
deleted file mode 100644
index f9335ef..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_thin_sides_overlay.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_top.png b/homedecor_lighting/textures/homedecor_glowlight_top.png
deleted file mode 100644
index 70518e7..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_top.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_top_glare.png b/homedecor_lighting/textures/homedecor_glowlight_top_glare.png
new file mode 100644
index 0000000..5fbf891
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_top_glare.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_large.png b/homedecor_lighting/textures/homedecor_lattice_lantern_large.png
deleted file mode 100644
index ac32230..0000000
--- a/homedecor_lighting/textures/homedecor_lattice_lantern_large.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_large_light.png b/homedecor_lighting/textures/homedecor_lattice_lantern_large_light.png
new file mode 100644
index 0000000..55bc341
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_lattice_lantern_large_light.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_large_overlay.png b/homedecor_lighting/textures/homedecor_lattice_lantern_large_overlay.png
new file mode 100644
index 0000000..e6bbae5
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_lattice_lantern_large_overlay.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides.png b/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides.png
deleted file mode 100644
index 48c517f..0000000
--- a/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_light.png b/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_light.png
new file mode 100644
index 0000000..e0b37be
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_light.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_overlay.png b/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_overlay.png
new file mode 100644
index 0000000..7122b6b
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_overlay.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb.png b/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb.png
deleted file mode 100644
index eb28a0d..0000000
--- a/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_light.png b/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_light.png
new file mode 100644
index 0000000..4d7c325
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_light.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_overlay.png b/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_overlay.png
new file mode 100644
index 0000000..f22874d
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_overlay.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_plasma_lamp_off.png b/homedecor_lighting/textures/homedecor_plasma_lamp_off.png
new file mode 100644
index 0000000..82dbcba
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_plasma_lamp_off.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_table_generic_light_source_off.png b/homedecor_lighting/textures/homedecor_table_generic_light_source_off.png
new file mode 100644
index 0000000..e18bb2c
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_table_generic_light_source_off.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_table_standing_lamp_lightbulb.png b/homedecor_lighting/textures/homedecor_table_generic_light_source_on.png
index cd93c8f..cd93c8f 100644
--- a/homedecor_lighting/textures/homedecor_table_standing_lamp_lightbulb.png
+++ b/homedecor_lighting/textures/homedecor_table_generic_light_source_on.png
Binary files differ
diff --git a/homedecor_office/init.lua b/homedecor_office/init.lua
index e6deb15..954bfb8 100644
--- a/homedecor_office/init.lua
+++ b/homedecor_office/init.lua
@@ -90,41 +90,6 @@ homedecor.register("calendar", {
end
})
-local ofchairs_sbox = {
- type = "fixed",
- fixed = { -8/16, -8/16, -8/16, 8/16, 29/32, 8/16 }
-}
-local ofchairs_cbox = {
- type = "fixed",
- fixed = {
- { -5/16, 1/16, -7/16, 5/16, 4/16, 7/16 }, -- seat
- { -5/16, 4/16, 4/16, 5/16, 29/32, 15/32 }, -- seatback
- { -1/16, -11/32, -1/16, 1/16, 1/16, 1/16 }, -- cylinder
- { -8/16, -8/16, -8/16, 8/16, -11/32, 8/16 } -- legs/wheels
- }
-}
-
-local chairs = {
- { "basic", S("Basic office chair") },
- { "upscale", S("Upscale office chair") },
-}
-
-for _, c in pairs(chairs) do
- local name, desc = unpack(c)
- homedecor.register("office_chair_"..name, {
- description = desc,
- drawtype = "mesh",
- tiles = { "homedecor_office_chair_"..name..".png" },
- mesh = "homedecor_office_chair_"..name..".obj",
- groups = { snappy = 3 },
- sounds = default.node_sound_wood_defaults(),
- selection_box = ofchairs_sbox,
- collision_box = ofchairs_cbox,
- expand = { top = "placeholder" },
- on_rotate = screwdriver.rotate_simple
- })
-end
-
-- crafting
@@ -156,24 +121,6 @@ minetest.register_craft({
})
minetest.register_craft({
- output = "homedecor:office_chair_basic",
- recipe = {
- { "", "", "wool:black" },
- { "", "wool:black", "default:steel_ingot" },
- { "group:stick", "homedecor:pole_wrought_iron", "group:stick" }
- },
-})
-
-minetest.register_craft({
- output = "homedecor:office_chair_upscale",
- recipe = {
- { "dye:black", "building_blocks:sticks", "group:wool" },
- { "basic_materials:plastic_sheet", "group:wool", "default:steel_ingot" },
- { "building_blocks:sticks", "homedecor:pole_wrought_iron", "building_blocks:sticks" }
- },
-})
-
-minetest.register_craft({
output = "homedecor:calendar",
recipe = {
{ "","dye:red","" },
diff --git a/lrfurn/README.txt b/homedecor_seating/README.txt
index c86df3c..c86df3c 100644
--- a/lrfurn/README.txt
+++ b/homedecor_seating/README.txt
diff --git a/lrfurn/armchairs.lua b/homedecor_seating/armchairs.lua
index 6950cad..202cedb 100644
--- a/lrfurn/armchairs.lua
+++ b/homedecor_seating/armchairs.lua
@@ -8,7 +8,7 @@ local armchair_cbox = {
}
}
-minetest.register_node("lrfurn:armchair", {
+minetest.register_node(":lrfurn:armchair", {
description = S("Armchair"),
drawtype = "mesh",
mesh = "lrfurn_armchair.obj",
@@ -38,6 +38,28 @@ minetest.register_node("lrfurn:armchair", {
end
})
+homedecor.register("armchair", {
+ description = S("Armchair"),
+ mesh = "forniture_armchair.obj",
+ tiles = {
+ "wool_white.png",
+ { name = "wool_dark_grey.png", color = 0xffffffff },
+ { name = "default_wood.png", color = 0xffffffff }
+ },
+ inventory_image = "homedecor_armchair_inv.png",
+ paramtype2 = "colorwallmounted",
+ palette = "unifieddyes_palette_colorwallmounted.png",
+ groups = {snappy=3, ud_param2_colorable = 1},
+ sounds = default.node_sound_wood_defaults(),
+ node_box = ac_cbox,
+ after_place_node = function(pos, placer, itemstack, pointed_thing)
+ unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
+ end,
+ on_rotate = unifieddyes.fix_after_screwdriver_nsew,
+})
+
+-- crafts
+
minetest.register_craft({
output = "lrfurn:armchair",
recipe = {
@@ -67,6 +89,34 @@ unifieddyes.register_color_craft({
}
})
+minetest.register_craft({
+ output = "homedecor:armchair 2",
+ recipe = {
+ { "wool:white",""},
+ { "group:wood","group:wood" },
+ { "wool:white","wool:white" },
+ },
+})
+
+unifieddyes.register_color_craft({
+ output = "homedecor:armchair",
+ palette = "wallmounted",
+ type = "shapeless",
+ neutral_node = "homedecor:armchair",
+ recipe = {
+ "NEUTRAL_NODE",
+ "MAIN_DYE"
+ }
+})
+
+minetest.register_craft({
+ type = "fuel",
+ recipe = "homedecor:armchair",
+ burntime = 30,
+})
+
+minetest.register_alias('armchair', 'homedecor:armchair')
+
-- convert old static nodes to param2 color
lrfurn.old_static_armchairs = {}
@@ -76,7 +126,7 @@ for _, color in ipairs(lrfurn.colors) do
end
minetest.register_lbm({
- name = "lrfurn:convert_armchairs",
+ name = ":lrfurn:convert_armchairs",
label = "Convert lrfurn armchairs to use param2 color",
run_at_every_load = false,
nodenames = lrfurn.old_static_armchairs,
diff --git a/lrfurn/depends.txt b/homedecor_seating/depends.txt
index 398a410..398a410 100644
--- a/lrfurn/depends.txt
+++ b/homedecor_seating/depends.txt
diff --git a/lrfurn/init.lua b/homedecor_seating/init.lua
index a23aff4..fe10327 100644
--- a/lrfurn/init.lua
+++ b/homedecor_seating/init.lua
@@ -1,4 +1,8 @@
+-- Home decor seating
+-- forked from the previous lrfurn mod
+
local S = homedecor.gettext
+local modpath = minetest.get_modpath("homedecor_seating")
lrfurn = {}
screwdriver = screwdriver or {}
@@ -68,8 +72,7 @@ function lrfurn.fix_sofa_rotation_nsew(pos, placer, itemstack, pointed_thing)
minetest.swap_node(pos, { name = node.name, param2 = fdir+colorbits })
end
-dofile(minetest.get_modpath("lrfurn").."/longsofas.lua")
-dofile(minetest.get_modpath("lrfurn").."/sofas.lua")
-dofile(minetest.get_modpath("lrfurn").."/armchairs.lua")
-dofile(minetest.get_modpath("lrfurn").."/coffeetable.lua")
-dofile(minetest.get_modpath("lrfurn").."/endtable.lua")
+dofile(modpath.."/longsofas.lua")
+dofile(modpath.."/sofas.lua")
+dofile(modpath.."/armchairs.lua")
+dofile(modpath.."/misc.lua")
diff --git a/lrfurn/longsofas.lua b/homedecor_seating/longsofas.lua
index 2df177c..4ee5ef5 100644
--- a/lrfurn/longsofas.lua
+++ b/homedecor_seating/longsofas.lua
@@ -6,7 +6,7 @@ local longsofa_cbox = {
wall_side = {-0.5, -0.5, -0.5, 0.5, 0.5, 2.5},
}
-minetest.register_node("lrfurn:longsofa", {
+minetest.register_node(":lrfurn:longsofa", {
description = S("Long Sofa"),
drawtype = "mesh",
mesh = "lrfurn_sofa_long.obj",
@@ -90,7 +90,7 @@ for _, color in ipairs(lrfurn.colors) do
end
minetest.register_lbm({
- name = "lrfurn:convert_longsofas",
+ name = ":lrfurn:convert_longsofas",
label = "Convert lrfurn long sofas to use param2 color",
run_at_every_load = false,
nodenames = lrfurn.old_static_longsofas,
diff --git a/homedecor_seating/misc.lua b/homedecor_seating/misc.lua
new file mode 100644
index 0000000..1dd6d41
--- /dev/null
+++ b/homedecor_seating/misc.lua
@@ -0,0 +1,334 @@
+-- this component contains all of the random types of seating previously
+-- scattered among homedecor's other mods
+
+local dc_cbox = {
+ type = "fixed",
+ fixed = { -0.5, -0.5, -0.5, 0.5, 0, 1 }
+}
+
+homedecor.register("deckchair", {
+ mesh = "homedecor_deckchair.obj",
+ tiles = {"homedecor_deckchair.png"},
+ description = "Deck Chair",
+ groups = { snappy = 3 },
+ expand = { forward="placeholder" },
+ sounds = default.node_sound_wood_defaults(),
+ selection_box = dc_cbox,
+ collision_box = dc_cbox,
+ on_rotate = screwdriver.disallow
+})
+
+minetest.register_alias("homedecor:deckchair_foot", "homedecor:deckchair")
+minetest.register_alias("homedecor:deckchair_head", "air")
+
+homedecor.register("deckchair_striped_blue", {
+ mesh = "homedecor_deckchair.obj",
+ tiles = {"homedecor_deckchair_striped_blue.png"},
+ description = "Deck Chair (blue striped)",
+ groups = { snappy = 3 },
+ expand = { forward="placeholder" },
+ sounds = default.node_sound_wood_defaults(),
+ selection_box = dc_cbox,
+ collision_box = dc_cbox,
+ on_rotate = screwdriver.disallow
+})
+
+homedecor.register("simple_bench", {
+ tiles = { "homedecor_generic_wood_old.png" },
+ description = "Simple Bench",
+ groups = {snappy=3},
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.5, -0.15, 0, 0.5, -0.05, 0.4},
+ {-0.4, -0.5, 0.1, -0.3, -0.15, 0.3},
+ { 0.3, -0.5, 0.1, 0.4, -0.15, 0.3},
+ }
+ },
+ sounds = default.node_sound_wood_defaults(),
+})
+
+local bl1_sbox = {
+ type = "fixed",
+ fixed = { -0.5, -0.5, -0.25, 1.5, 0.5, 0.5 }
+}
+
+local bl1_cbox = {
+ type = "fixed",
+ fixed = {
+ {-0.5, -0.5, -0.25, 1.5, 0, 0.5 },
+ {-0.5, -0.5, 0.45, 1.5, 0.5, 0.5 },
+ }
+}
+
+homedecor.register("bench_large_1", {
+ mesh = "homedecor_bench_large_1.obj",
+ tiles = {
+ "homedecor_generic_wood_old.png",
+ "homedecor_generic_metal_wrought_iron.png"
+ },
+ description = "Garden Bench (style 1)",
+ inventory_image = "homedecor_bench_large_1_inv.png",
+ groups = { snappy = 3 },
+ expand = { right="placeholder" },
+ sounds = default.node_sound_wood_defaults(),
+ selection_box = bl1_sbox,
+ node_box = bl1_cbox,
+ on_rotate = screwdriver.disallow
+})
+
+minetest.register_alias("homedecor:bench_large_1_left", "homedecor:bench_large_1")
+minetest.register_alias("homedecor:bench_large_1_right", "air")
+
+local bl2_sbox = {
+ type = "fixed",
+ fixed = { -0.5, -0.5, -0.25, 1.5, 0.5, 0.5 }
+}
+
+local bl2_cbox = {
+ type = "fixed",
+ fixed = {
+ {-0.5, -0.5, -0.25, 1.5, 0, 0.5 },
+ {-0.5, -0.5, 0.45, 1.5, 0.5, 0.5 },
+ }
+}
+
+homedecor.register("bench_large_2", {
+ description = "Garden Bench (style 2)",
+ mesh = "homedecor_bench_large_2.obj",
+ tiles = { "homedecor_generic_wood_old.png" },
+ inventory_image = "homedecor_bench_large_2_inv.png",
+ groups = {snappy=3},
+ selection_box = bl2_sbox,
+ node_box = bl2_cbox,
+ expand = { right="placeholder" },
+ sounds = default.node_sound_wood_defaults(),
+ on_rotate = screwdriver.disallow
+})
+
+minetest.register_alias("homedecor:bench_large_2_left", "homedecor:bench_large_2")
+minetest.register_alias("homedecor:bench_large_2_right", "air")
+
+local kc_cbox = {
+ type = "fixed",
+ fixed = { -0.3125, -0.3125, -0.5, 0.3125, 0.3125, 0.5 },
+}
+
+homedecor.register("kitchen_chair_wood", {
+ description = "Kitchen chair",
+ mesh = "homedecor_kitchen_chair.obj",
+ tiles = {
+ homedecor.plain_wood,
+ homedecor.plain_wood
+ },
+ inventory_image = "homedecor_chair_wood_inv.png",
+ paramtype2 = "wallmounted",
+ selection_box = kc_cbox,
+ collision_box = kc_cbox,
+ groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
+ sounds = default.node_sound_wood_defaults(),
+ after_place_node = unifieddyes.fix_rotation_nsew,
+ on_rotate = unifieddyes.fix_after_screwdriver_nsew,
+ on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
+ pos.y = pos.y+0 -- where do I put my ass ?
+ homedecor.sit(pos, node, clicker)
+ return itemstack
+ end
+})
+
+homedecor.register("kitchen_chair_padded", {
+ description = "Kitchen chair",
+ mesh = "homedecor_kitchen_chair.obj",
+ tiles = {
+ homedecor.plain_wood,
+ "wool_white.png",
+ },
+ inventory_image = "homedecor_chair_padded_inv.png",
+ paramtype2 = "colorwallmounted",
+ palette = "unifieddyes_palette_colorwallmounted.png",
+ selection_box = kc_cbox,
+ collision_box = kc_cbox,
+ groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, ud_param2_colorable = 1},
+ sounds = default.node_sound_wood_defaults(),
+ after_place_node = function(pos, placer, itemstack, pointed_thing)
+ unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
+ end,
+ on_rotate = unifieddyes.fix_after_screwdriver_nsew,
+ on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
+ pos.y = pos.y+0 -- where do I put my ass ?
+ homedecor.sit(pos, node, clicker)
+ return itemstack
+ end
+})
+
+local ac_cbox = {
+ type = "fixed",
+ fixed = {
+ {-0.5, -0.5, -0.5, 0.5, 0, 0.5 },
+ {-0.5, -0.5, 0.4, 0.5, 0.5, 0.5 }
+ }
+}
+
+local ofchairs_sbox = {
+ type = "fixed",
+ fixed = { -8/16, -8/16, -8/16, 8/16, 29/32, 8/16 }
+}
+local ofchairs_cbox = {
+ type = "fixed",
+ fixed = {
+ { -5/16, 1/16, -7/16, 5/16, 4/16, 7/16 }, -- seat
+ { -5/16, 4/16, 4/16, 5/16, 29/32, 15/32 }, -- seatback
+ { -1/16, -11/32, -1/16, 1/16, 1/16, 1/16 }, -- cylinder
+ { -8/16, -8/16, -8/16, 8/16, -11/32, 8/16 } -- legs/wheels
+ }
+}
+
+local chairs = {
+ { "basic", "Basic office chair" },
+ { "upscale", "Upscale office chair" },
+}
+
+for _, c in pairs(chairs) do
+ local name, desc = unpack(c)
+ homedecor.register("office_chair_"..name, {
+ description = desc,
+ drawtype = "mesh",
+ tiles = { "homedecor_office_chair_"..name..".png" },
+ mesh = "homedecor_office_chair_"..name..".obj",
+ groups = { snappy = 3 },
+ sounds = default.node_sound_wood_defaults(),
+ selection_box = ofchairs_sbox,
+ collision_box = ofchairs_cbox,
+ expand = { top = "placeholder" },
+ on_rotate = screwdriver.rotate_simple
+ })
+end
+
+-- crafts!
+
+minetest.register_craft( {
+ output = "homedecor:bench_large_1",
+ recipe = {
+ { "group:wood", "group:wood", "group:wood" },
+ { "group:wood", "group:wood", "group:wood" },
+ { "homedecor:pole_wrought_iron", "", "homedecor:pole_wrought_iron" }
+ },
+})
+
+minetest.register_craft( {
+ output = "homedecor:bench_large_2_left",
+ recipe = {
+ { "homedecor:shutter_oak", "homedecor:shutter_oak", "homedecor:shutter_oak" },
+ { "group:wood", "group:wood", "group:wood" },
+ { "stairs:slab_wood", "", "stairs:slab_wood" }
+ },
+})
+
+minetest.register_craft( {
+ output = "homedecor:bench_large_2_left",
+ recipe = {
+ { "homedecor:shutter_oak", "homedecor:shutter_oak", "homedecor:shutter_oak" },
+ { "group:wood", "group:wood", "group:wood" },
+ { "moreblocks:slab_wood", "", "moreblocks:slab_wood" }
+ },
+})
+
+minetest.register_craft( {
+ output = "homedecor:simple_bench",
+ recipe = {
+ { "stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood" },
+ { "stairs:slab_wood", "", "stairs:slab_wood" }
+ },
+})
+
+minetest.register_craft( {
+ output = "homedecor:simple_bench",
+ recipe = {
+ { "moreblocks:slab_wood", "moreblocks:slab_wood", "moreblocks:slab_wood" },
+ { "moreblocks:slab_wood", "", "moreblocks:slab_wood" }
+ },
+})
+
+
+minetest.register_craft({
+ output = "homedecor:deckchair",
+ recipe = {
+ { "group:stick", "building_blocks:terrycloth_towel", "group:stick" },
+ { "group:stick", "building_blocks:terrycloth_towel", "group:stick" },
+ { "group:stick", "building_blocks:terrycloth_towel", "group:stick" }
+ },
+})
+
+minetest.register_craft({
+ output = "homedecor:deckchair_striped_blue",
+ type = "shapeless",
+ recipe = {
+ "homedecor:deckchair",
+ "dye:blue"
+ }
+})
+
+minetest.register_craft({
+ output = "homedecor:kitchen_chair_wood 2",
+ recipe = {
+ { "group:stick",""},
+ { "group:wood","group:wood" },
+ { "group:stick","group:stick" },
+ },
+})
+
+minetest.register_craft({
+ type = "shapeless",
+ output = "homedecor:kitchen_chair_padded",
+ recipe = {
+ "homedecor:kitchen_chair_wood",
+ "wool:white",
+ },
+})
+
+unifieddyes.register_color_craft({
+ output = "homedecor:kitchen_chair_padded",
+ palette = "wallmounted",
+ type = "shapeless",
+ neutral_node = "homedecor:kitchen_chair_padded",
+ recipe = {
+ "NEUTRAL_NODE",
+ "MAIN_DYE"
+ }
+})
+
+minetest.register_craft({
+ type = "fuel",
+ recipe = "homedecor:kitchen_chair_wood",
+ burntime = 15,
+})
+
+minetest.register_craft({
+ type = "fuel",
+ recipe = "homedecor:kitchen_chair_padded",
+ burntime = 15,
+})
+
+
+minetest.register_craft({
+ output = "homedecor:office_chair_basic",
+ recipe = {
+ { "", "", "wool:black" },
+ { "", "wool:black", "default:steel_ingot" },
+ { "group:stick", "homedecor:pole_wrought_iron", "group:stick" }
+ },
+})
+
+minetest.register_craft({
+ output = "homedecor:office_chair_upscale",
+ recipe = {
+ { "dye:black", "building_blocks:sticks", "group:wool" },
+ { "basic_materials:plastic_sheet", "group:wool", "default:steel_ingot" },
+ { "building_blocks:sticks", "homedecor:pole_wrought_iron", "building_blocks:sticks" }
+ },
+})
+
+-- aliases
+
+minetest.register_alias("3dforniture:chair", "homedecor:chair")
+minetest.register_alias('chair', 'homedecor:chair')
diff --git a/homedecor_furniture/models/forniture_armchair.obj b/homedecor_seating/models/forniture_armchair.obj
index b563691..b563691 100644
--- a/homedecor_furniture/models/forniture_armchair.obj
+++ b/homedecor_seating/models/forniture_armchair.obj
diff --git a/homedecor_exterior/models/homedecor_bench_large_1.obj b/homedecor_seating/models/homedecor_bench_large_1.obj
index a5719c9..a5719c9 100644
--- a/homedecor_exterior/models/homedecor_bench_large_1.obj
+++ b/homedecor_seating/models/homedecor_bench_large_1.obj
diff --git a/homedecor_exterior/models/homedecor_bench_large_2.obj b/homedecor_seating/models/homedecor_bench_large_2.obj
index 505f167..505f167 100644
--- a/homedecor_exterior/models/homedecor_bench_large_2.obj
+++ b/homedecor_seating/models/homedecor_bench_large_2.obj
diff --git a/homedecor_exterior/models/homedecor_deckchair.obj b/homedecor_seating/models/homedecor_deckchair.obj
index e5f8d03..e5f8d03 100644
--- a/homedecor_exterior/models/homedecor_deckchair.obj
+++ b/homedecor_seating/models/homedecor_deckchair.obj
diff --git a/homedecor_furniture/models/homedecor_kitchen_chair.obj b/homedecor_seating/models/homedecor_kitchen_chair.obj
index 52bd58b..52bd58b 100644
--- a/homedecor_furniture/models/homedecor_kitchen_chair.obj
+++ b/homedecor_seating/models/homedecor_kitchen_chair.obj
diff --git a/homedecor_office/models/homedecor_office_chair_basic.obj b/homedecor_seating/models/homedecor_office_chair_basic.obj
index 40ef638..40ef638 100644
--- a/homedecor_office/models/homedecor_office_chair_basic.obj
+++ b/homedecor_seating/models/homedecor_office_chair_basic.obj
diff --git a/homedecor_office/models/homedecor_office_chair_upscale.obj b/homedecor_seating/models/homedecor_office_chair_upscale.obj
index 254cb67..254cb67 100644
--- a/homedecor_office/models/homedecor_office_chair_upscale.obj
+++ b/homedecor_seating/models/homedecor_office_chair_upscale.obj
diff --git a/lrfurn/models/lrfurn_armchair.obj b/homedecor_seating/models/lrfurn_armchair.obj
index 1ad653e..1ad653e 100644
--- a/lrfurn/models/lrfurn_armchair.obj
+++ b/homedecor_seating/models/lrfurn_armchair.obj
diff --git a/lrfurn/models/lrfurn_sofa_long.obj b/homedecor_seating/models/lrfurn_sofa_long.obj
index d8e32db..d8e32db 100644
--- a/lrfurn/models/lrfurn_sofa_long.obj
+++ b/homedecor_seating/models/lrfurn_sofa_long.obj
diff --git a/lrfurn/models/lrfurn_sofa_short.obj b/homedecor_seating/models/lrfurn_sofa_short.obj
index 1bf1446..1bf1446 100644
--- a/lrfurn/models/lrfurn_sofa_short.obj
+++ b/homedecor_seating/models/lrfurn_sofa_short.obj
diff --git a/lrfurn/sofas.lua b/homedecor_seating/sofas.lua
index 7d1cd53..eb8d380 100644
--- a/lrfurn/sofas.lua
+++ b/homedecor_seating/sofas.lua
@@ -6,7 +6,7 @@ local sofa_cbox = {
wall_side = {-0.5, -0.5, -0.5, 0.5, 0.5, 1.5}
}
-minetest.register_node("lrfurn:sofa", {
+minetest.register_node(":lrfurn:sofa", {
description = S("Sofa"),
drawtype = "mesh",
mesh = "lrfurn_sofa_short.obj",
@@ -90,7 +90,7 @@ for _, color in ipairs(lrfurn.colors) do
end
minetest.register_lbm({
- name = "lrfurn:convert_sofas",
+ name = ":lrfurn:convert_sofas",
label = "Convert lrfurn short sofas to use param2 color",
run_at_every_load = false,
nodenames = lrfurn.old_static_sofas,
diff --git a/homedecor_furniture/textures/homedecor_armchair_inv.png b/homedecor_seating/textures/homedecor_armchair_inv.png
index 41eb85d..41eb85d 100644
--- a/homedecor_furniture/textures/homedecor_armchair_inv.png
+++ b/homedecor_seating/textures/homedecor_armchair_inv.png
Binary files differ
diff --git a/homedecor_exterior/textures/homedecor_bench_large_1_inv.png b/homedecor_seating/textures/homedecor_bench_large_1_inv.png
index b9eb36c..b9eb36c 100644
--- a/homedecor_exterior/textures/homedecor_bench_large_1_inv.png
+++ b/homedecor_seating/textures/homedecor_bench_large_1_inv.png
Binary files differ
diff --git a/homedecor_exterior/textures/homedecor_bench_large_2_inv.png b/homedecor_seating/textures/homedecor_bench_large_2_inv.png
index 961be62..961be62 100644
--- a/homedecor_exterior/textures/homedecor_bench_large_2_inv.png
+++ b/homedecor_seating/textures/homedecor_bench_large_2_inv.png
Binary files differ
diff --git a/homedecor_furniture/textures/homedecor_chair_padded_inv.png b/homedecor_seating/textures/homedecor_chair_padded_inv.png
index 1d59dd5..1d59dd5 100644
--- a/homedecor_furniture/textures/homedecor_chair_padded_inv.png
+++ b/homedecor_seating/textures/homedecor_chair_padded_inv.png
Binary files differ
diff --git a/homedecor_furniture/textures/homedecor_chair_wood_inv.png b/homedecor_seating/textures/homedecor_chair_wood_inv.png
index 12c216a..12c216a 100644
--- a/homedecor_furniture/textures/homedecor_chair_wood_inv.png
+++ b/homedecor_seating/textures/homedecor_chair_wood_inv.png
Binary files differ
diff --git a/homedecor_exterior/textures/homedecor_deckchair.png b/homedecor_seating/textures/homedecor_deckchair.png
index 47b7752..47b7752 100644
--- a/homedecor_exterior/textures/homedecor_deckchair.png
+++ b/homedecor_seating/textures/homedecor_deckchair.png
Binary files differ
diff --git a/homedecor_exterior/textures/homedecor_deckchair_striped_blue.png b/homedecor_seating/textures/homedecor_deckchair_striped_blue.png
index ac24eda..ac24eda 100644
--- a/homedecor_exterior/textures/homedecor_deckchair_striped_blue.png
+++ b/homedecor_seating/textures/homedecor_deckchair_striped_blue.png
Binary files differ
diff --git a/homedecor_office/textures/homedecor_office_chair_basic.png b/homedecor_seating/textures/homedecor_office_chair_basic.png
index a12d1d9..a12d1d9 100644
--- a/homedecor_office/textures/homedecor_office_chair_basic.png
+++ b/homedecor_seating/textures/homedecor_office_chair_basic.png
Binary files differ
diff --git a/homedecor_office/textures/homedecor_office_chair_upscale.png b/homedecor_seating/textures/homedecor_office_chair_upscale.png
index cf21dd5..cf21dd5 100644
--- a/homedecor_office/textures/homedecor_office_chair_upscale.png
+++ b/homedecor_seating/textures/homedecor_office_chair_upscale.png
Binary files differ
diff --git a/lrfurn/textures/lrfurn_armchair_inv.png b/homedecor_seating/textures/lrfurn_armchair_inv.png
index cc6b87b..cc6b87b 100644
--- a/lrfurn/textures/lrfurn_armchair_inv.png
+++ b/homedecor_seating/textures/lrfurn_armchair_inv.png
Binary files differ
diff --git a/lrfurn/textures/lrfurn_longsofa_inv.png b/homedecor_seating/textures/lrfurn_longsofa_inv.png
index 37bde8b..37bde8b 100644
--- a/lrfurn/textures/lrfurn_longsofa_inv.png
+++ b/homedecor_seating/textures/lrfurn_longsofa_inv.png
Binary files differ
diff --git a/lrfurn/textures/lrfurn_sofa_bottom.png b/homedecor_seating/textures/lrfurn_sofa_bottom.png
index e72944a..e72944a 100644
--- a/lrfurn/textures/lrfurn_sofa_bottom.png
+++ b/homedecor_seating/textures/lrfurn_sofa_bottom.png
Binary files differ
diff --git a/lrfurn/textures/lrfurn_sofa_inv.png b/homedecor_seating/textures/lrfurn_sofa_inv.png
index a4f7f6f..a4f7f6f 100644
--- a/lrfurn/textures/lrfurn_sofa_inv.png
+++ b/homedecor_seating/textures/lrfurn_sofa_inv.png
Binary files differ
diff --git a/lrfurn/textures/lrfurn_upholstery.png b/homedecor_seating/textures/lrfurn_upholstery.png
index 6db36a8..6db36a8 100644
--- a/lrfurn/textures/lrfurn_upholstery.png
+++ b/homedecor_seating/textures/lrfurn_upholstery.png
Binary files differ
diff --git a/lrfurn/coffeetable.lua b/homedecor_tables/coffeetable.lua
index 8b095ce..a9b4f20 100644
--- a/lrfurn/coffeetable.lua
+++ b/homedecor_tables/coffeetable.lua
@@ -1,10 +1,49 @@
+-- formerly lrfurn coffee table component
local S = homedecor.gettext
+local fdir_to_right = {
+ { 1, 0 },
+ { 0, -1 },
+ { -1, 0 },
+ { 0, 1 },
+}
+
+local function check_right(pos, fdir, long, placer)
+ if not fdir or fdir > 3 then fdir = 0 end
+
+ local pos2 = { x = pos.x + fdir_to_right[fdir+1][1], y=pos.y, z = pos.z + fdir_to_right[fdir+1][2] }
+ local pos3 = { x = pos.x + fdir_to_right[fdir+1][1] * 2, y=pos.y, z = pos.z + fdir_to_right[fdir+1][2] * 2 }
+
+ local node2 = minetest.get_node(pos2)
+ if node2 and node2.name ~= "air" then
+ return false
+ elseif minetest.is_protected(pos2, placer:get_player_name()) then
+ if not long then
+ minetest.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where other end goes!"))
+ else
+ minetest.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the middle or far end goes!"))
+ end
+ return false
+ end
+
+ if long then
+ local node3 = minetest.get_node(pos3)
+ if node3 and node3.name ~= "air" then
+ return false
+ elseif minetest.is_protected(pos3, placer:get_player_name()) then
+ minetest.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the other end goes!"))
+ return false
+ end
+ end
+
+ return true
+end
+
minetest.register_alias("lrfurn:coffeetable_back", "lrfurn:coffeetable")
minetest.register_alias("lrfurn:coffeetable_front", "air")
-minetest.register_node("lrfurn:coffeetable", {
+minetest.register_node(":lrfurn:coffeetable", {
description = S("Coffee Table"),
drawtype = "nodebox",
tiles = {"lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png"},
@@ -36,7 +75,7 @@ minetest.register_node("lrfurn:coffeetable", {
local node = minetest.get_node(pos)
local fdir = node.param2
- if lrfurn.check_right(pos, fdir, false, placer) then
+ if check_right(pos, fdir, false, placer) then
minetest.set_node(pos, { name = node.name, param2 = (fdir + 1) % 4 })
else
minetest.chat_send_player(placer:get_player_name(),
diff --git a/lrfurn/endtable.lua b/homedecor_tables/endtable.lua
index 470e907..c3bba97 100644
--- a/lrfurn/endtable.lua
+++ b/homedecor_tables/endtable.lua
@@ -1,7 +1,8 @@
+-- formerly lrfurn endtable component
local S = homedecor.gettext
-minetest.register_node("lrfurn:endtable", {
+minetest.register_node(":lrfurn:endtable", {
description = S("End Table"),
drawtype = "nodebox",
tiles = {"lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png"},
diff --git a/homedecor_tables/init.lua b/homedecor_tables/init.lua
index d32b51d..56ae778 100644
--- a/homedecor_tables/init.lua
+++ b/homedecor_tables/init.lua
@@ -1,371 +1,6 @@
+local modpath = minetest.get_modpath("homedecor_tables")
-local S = homedecor.gettext
+dofile(modpath.."/misc.lua")
+dofile(modpath.."/endtable.lua")
+dofile(modpath.."/coffeetable.lua")
--- Various kinds of tables
-
-local materials = {
- { "glass",
- S("Small square glass table"),
- S("Small round glass table"),
- S("Large glass table piece"),
- },
- { "wood",
- S("Small square wooden table"),
- S("Small round wooden table"),
- S("Large wooden table piece"),
- }
-}
-
-local tables_cbox = {
- type = "fixed",
- fixed = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
-}
-
-for i, mat in ipairs(materials) do
- local m, small_s, small_r, large = unpack(mat)
- local s
-
- if m == "glass" then
- s = default.node_sound_glass_defaults()
- else
- s = default.node_sound_wood_defaults()
- end
-
--- small square tables
-
- homedecor.register(m.."_table_small_square", {
- description = small_s,
- mesh = "homedecor_table_small_square.obj",
- tiles = { 'homedecor_'..m..'_table_small_square.png' },
- wield_image = 'homedecor_'..m..'_table_small_square_inv.png',
- inventory_image = 'homedecor_'..m..'_table_small_square_inv.png',
- groups = { snappy = 3 },
- sounds = s,
- selection_box = tables_cbox,
- collision_box = tables_cbox,
- on_place = minetest.rotate_node
- })
-
--- small round tables
-
- homedecor.register(m..'_table_small_round', {
- description = small_r,
- mesh = "homedecor_table_small_round.obj",
- tiles = { "homedecor_"..m.."_table_small_round.png" },
- wield_image = 'homedecor_'..m..'_table_small_round_inv.png',
- inventory_image = 'homedecor_'..m..'_table_small_round_inv.png',
- groups = { snappy = 3 },
- sounds = s,
- selection_box = tables_cbox,
- collision_box = tables_cbox,
- on_place = minetest.rotate_node
- })
-
--- Large square table pieces
-
- homedecor.register(m..'_table_large', {
- description = large,
- tiles = {
- 'homedecor_'..m..'_table_large_tb.png',
- 'homedecor_'..m..'_table_large_tb.png',
- 'homedecor_'..m..'_table_large_edges.png',
- 'homedecor_'..m..'_table_large_edges.png',
- 'homedecor_'..m..'_table_large_edges.png',
- 'homedecor_'..m..'_table_large_edges.png'
- },
- wield_image = 'homedecor_'..m..'_table_large_inv.png',
- inventory_image = 'homedecor_'..m..'_table_large_inv.png',
- groups = { snappy = 3 },
- sounds = s,
- node_box = {
- type = "fixed",
- fixed = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
- },
- selection_box = tables_cbox,
- on_place = minetest.rotate_node
- })
-
- minetest.register_alias('homedecor:'..m..'_table_large_b', 'homedecor:'..m..'_table_large')
- minetest.register_alias('homedecor:'..m..'_table_small_square_b', 'homedecor:'..m..'_table_small_square')
- minetest.register_alias('homedecor:'..m..'_table_small_round_b', 'homedecor:'..m..'_table_small_round')
-
-end
-
--- conversion routines for old non-6dfacedir tables
-
-local tlist_s = {}
-local tlist_t = {}
-local dirs2 = { 9, 18, 7, 12 }
-
-for i in ipairs(materials) do
- local m = materials[i][1]
- table.insert(tlist_s, "homedecor:"..m.."_table_large_s")
- table.insert(tlist_s, "homedecor:"..m.."_table_small_square_s")
- table.insert(tlist_s, "homedecor:"..m.."_table_small_round_s")
-
- table.insert(tlist_t, "homedecor:"..m.."_table_large_t")
- table.insert(tlist_t, "homedecor:"..m.."_table_small_square_t")
- table.insert(tlist_t, "homedecor:"..m.."_table_small_round_t")
-end
-
-minetest.register_abm({
- nodenames = tlist_s,
- interval = 1,
- chance = 1,
- action = function(pos, node, active_object_count, active_object_count_wider)
- local newnode = string.sub(node.name, 1, -3) -- strip the "_s" from the name
- local fdir = node.param2 or 0
- minetest.set_node(pos, {name = newnode, param2 = dirs2[fdir+1]})
- end
-})
-
-minetest.register_abm({
- nodenames = tlist_t,
- interval = 1,
- chance = 1,
- action = function(pos, node, active_object_count, active_object_count_wider)
- local newnode = string.sub(node.name, 1, -3) -- strip the "_t" from the name
- minetest.set_node(pos, { name = newnode, param2 = 20 })
- end
-})
-
--- other tables
-
-homedecor.register("utility_table_top", {
- description = S("Utility Table"),
- tiles = {
- 'homedecor_utility_table_tb.png',
- 'homedecor_utility_table_tb.png',
- 'homedecor_utility_table_edges.png',
- 'homedecor_utility_table_edges.png',
- 'homedecor_utility_table_edges.png',
- 'homedecor_utility_table_edges.png'
- },
- wield_image = 'homedecor_utility_table_tb.png',
- inventory_image = 'homedecor_utility_table_tb.png',
- groups = { snappy = 3 },
- sounds = default.node_sound_wood_defaults(),
- paramtype2 = "wallmounted",
- node_box = {
- type = "wallmounted",
- wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
- wall_top = { -0.5, 0.4375, -0.5, 0.5, 0.5, 0.5 },
- wall_side = { -0.5, -0.5, -0.5, -0.4375, 0.5, 0.5 },
- },
- selection_box = {
- type = "wallmounted",
- wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
- wall_top = { -0.5, 0.4375, -0.5, 0.5, 0.5, 0.5 },
- wall_side = { -0.5, -0.5, -0.5, -0.4375, 0.5, 0.5 },
- },
-})
-
--- Various kinds of table legs
-
--- local above
-materials = {
- { "brass", S("brass") },
- { "wrought_iron", S("wrought iron") },
-}
-
-for _, t in ipairs(materials) do
-local name, desc = unpack(t)
-homedecor.register("table_legs_"..name, {
- description = S("Table Legs (@1)", desc),
- drawtype = "plantlike",
- tiles = {"homedecor_table_legs_"..name..".png"},
- inventory_image = "homedecor_table_legs_"..name..".png",
- wield_image = "homedecor_table_legs_"..name..".png",
- walkable = false,
- groups = {snappy=3},
- sounds = default.node_sound_wood_defaults(),
- selection_box = {
- type = "fixed",
- fixed = { -0.37, -0.5, -0.37, 0.37, 0.5, 0.37 }
- },
-})
-end
-
-homedecor.register("utility_table_legs", {
- description = S("Legs for Utility Table"),
- drawtype = "plantlike",
- tiles = { 'homedecor_utility_table_legs.png' },
- inventory_image = 'homedecor_utility_table_legs_inv.png',
- wield_image = 'homedecor_utility_table_legs.png',
- walkable = false,
- groups = { snappy = 3 },
- sounds = default.node_sound_wood_defaults(),
- selection_box = {
- type = "fixed",
- fixed = { -0.37, -0.5, -0.37, 0.37, 0.5, 0.37 }
- },
-})
-
--- crafting
-
-
-minetest.register_craft( {
- output = "homedecor:glass_table_small_round_b 15",
- recipe = {
- { "", "default:glass", "" },
- { "default:glass", "default:glass", "default:glass" },
- { "", "default:glass", "" },
- },
-})
-
-minetest.register_craft( {
- output = "homedecor:glass_table_small_square_b 2",
- recipe = {
- {"homedecor:glass_table_small_round", "homedecor:glass_table_small_round" },
- }
-})
-
-minetest.register_craft( {
- output = "homedecor:glass_table_large_b 2",
- recipe = {
- { "homedecor:glass_table_small_square", "homedecor:glass_table_small_square" },
- }
-})
-
---
-
-minetest.register_craft( {
- output = "homedecor:wood_table_small_round_b 15",
- recipe = {
- { "", "group:wood", "" },
- { "group:wood", "group:wood", "group:wood" },
- { "", "group:wood", "" },
- },
-})
-
-minetest.register_craft( {
- output = "homedecor:wood_table_small_square_b 2",
- recipe = {
- { "homedecor:wood_table_small_round","homedecor:wood_table_small_round" },
- }
-})
-
-minetest.register_craft( {
- output = "homedecor:wood_table_large_b 2",
- recipe = {
- { "homedecor:wood_table_small_square", "homedecor:wood_table_small_square" },
- }
-})
-
---
-
-minetest.register_craft({
- type = "fuel",
- recipe = "homedecor:wood_table_small_round_b",
- burntime = 30,
-})
-
-minetest.register_craft({
- type = "fuel",
- recipe = "homedecor:wood_table_small_square_b",
- burntime = 30,
-})
-
-minetest.register_craft({
- type = "fuel",
- recipe = "homedecor:wood_table_large_b",
- burntime = 30,
-})
-
-
-minetest.register_craft( {
- output = "homedecor:table_legs_wrought_iron 3",
- recipe = {
- { "", "default:iron_lump", "" },
- { "", "default:iron_lump", "" },
- { "default:iron_lump", "default:iron_lump", "default:iron_lump" },
- },
-})
-
-minetest.register_craft( {
- output = "homedecor:table_legs_brass 3",
- recipe = {
- { "", "basic_materials:brass_ingot", "" },
- { "", "basic_materials:brass_ingot", "" },
- { "basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot" }
- },
-})
-
-minetest.register_craft( {
- output = "homedecor:utility_table_legs",
- recipe = {
- { "group:stick", "group:stick", "group:stick" },
- { "group:stick", "", "group:stick" },
- { "group:stick", "", "group:stick" },
- },
-})
-
-minetest.register_craft({
- type = "fuel",
- recipe = "homedecor:utility_table_legs",
- burntime = 30,
-})
-
-
-
--- recycling
-
-minetest.register_craft({
- type = "shapeless",
- output = "vessels:glass_fragments",
- recipe = {
- "homedecor:glass_table_small_round",
- "homedecor:glass_table_small_round",
- "homedecor:glass_table_small_round"
- }
-})
-
-minetest.register_craft({
- type = "shapeless",
- output = "vessels:glass_fragments",
- recipe = {
- "homedecor:glass_table_small_square",
- "homedecor:glass_table_small_square",
- "homedecor:glass_table_small_square"
- }
-})
-
-minetest.register_craft({
- type = "shapeless",
- output = "vessels:glass_fragments",
- recipe = {
- "homedecor:glass_table_large",
- "homedecor:glass_table_large",
- "homedecor:glass_table_large"
- }
-})
-
-minetest.register_craft({
- type = "shapeless",
- output = "default:stick 4",
- recipe = {
- "homedecor:wood_table_small_round",
- "homedecor:wood_table_small_round",
- "homedecor:wood_table_small_round"
- }
-})
-
-minetest.register_craft({
- type = "shapeless",
- output = "default:stick 4",
- recipe = {
- "homedecor:wood_table_small_square",
- "homedecor:wood_table_small_square",
- "homedecor:wood_table_small_square"
- }
-})
-
-minetest.register_craft({
- type = "shapeless",
- output = "default:stick 4",
- recipe = {
- "homedecor:wood_table_large",
- "homedecor:wood_table_large",
- "homedecor:wood_table_large"
- }
-})
diff --git a/homedecor_tables/misc.lua b/homedecor_tables/misc.lua
new file mode 100644
index 0000000..beb94c3
--- /dev/null
+++ b/homedecor_tables/misc.lua
@@ -0,0 +1,370 @@
+-- formerly homedecor's misc tables component
+
+local S = homedecor.gettext
+
+local materials = {
+ { "glass",
+ S("Small square glass table"),
+ S("Small round glass table"),
+ S("Large glass table piece"),
+ },
+ { "wood",
+ S("Small square wooden table"),
+ S("Small round wooden table"),
+ S("Large wooden table piece"),
+ }
+}
+
+local tables_cbox = {
+ type = "fixed",
+ fixed = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
+}
+
+for i, mat in ipairs(materials) do
+ local m, small_s, small_r, large = unpack(mat)
+ local s
+
+ if m == "glass" then
+ s = default.node_sound_glass_defaults()
+ else
+ s = default.node_sound_wood_defaults()
+ end
+
+-- small square tables
+
+ homedecor.register(m.."_table_small_square", {
+ description = small_s,
+ mesh = "homedecor_table_small_square.obj",
+ tiles = { 'homedecor_'..m..'_table_small_square.png' },
+ wield_image = 'homedecor_'..m..'_table_small_square_inv.png',
+ inventory_image = 'homedecor_'..m..'_table_small_square_inv.png',
+ groups = { snappy = 3 },
+ sounds = s,
+ selection_box = tables_cbox,
+ collision_box = tables_cbox,
+ on_place = minetest.rotate_node
+ })
+
+-- small round tables
+
+ homedecor.register(m..'_table_small_round', {
+ description = small_r,
+ mesh = "homedecor_table_small_round.obj",
+ tiles = { "homedecor_"..m.."_table_small_round.png" },
+ wield_image = 'homedecor_'..m..'_table_small_round_inv.png',
+ inventory_image = 'homedecor_'..m..'_table_small_round_inv.png',
+ groups = { snappy = 3 },
+ sounds = s,
+ selection_box = tables_cbox,
+ collision_box = tables_cbox,
+ on_place = minetest.rotate_node
+ })
+
+-- Large square table pieces
+
+ homedecor.register(m..'_table_large', {
+ description = large,
+ tiles = {
+ 'homedecor_'..m..'_table_large_tb.png',
+ 'homedecor_'..m..'_table_large_tb.png',
+ 'homedecor_'..m..'_table_large_edges.png',
+ 'homedecor_'..m..'_table_large_edges.png',
+ 'homedecor_'..m..'_table_large_edges.png',
+ 'homedecor_'..m..'_table_large_edges.png'
+ },
+ wield_image = 'homedecor_'..m..'_table_large_inv.png',
+ inventory_image = 'homedecor_'..m..'_table_large_inv.png',
+ groups = { snappy = 3 },
+ sounds = s,
+ node_box = {
+ type = "fixed",
+ fixed = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
+ },
+ selection_box = tables_cbox,
+ on_place = minetest.rotate_node
+ })
+
+ minetest.register_alias('homedecor:'..m..'_table_large_b', 'homedecor:'..m..'_table_large')
+ minetest.register_alias('homedecor:'..m..'_table_small_square_b', 'homedecor:'..m..'_table_small_square')
+ minetest.register_alias('homedecor:'..m..'_table_small_round_b', 'homedecor:'..m..'_table_small_round')
+
+end
+
+-- conversion routines for old non-6dfacedir tables
+
+local tlist_s = {}
+local tlist_t = {}
+local dirs2 = { 9, 18, 7, 12 }
+
+for i in ipairs(materials) do
+ local m = materials[i][1]
+ table.insert(tlist_s, "homedecor:"..m.."_table_large_s")
+ table.insert(tlist_s, "homedecor:"..m.."_table_small_square_s")
+ table.insert(tlist_s, "homedecor:"..m.."_table_small_round_s")
+
+ table.insert(tlist_t, "homedecor:"..m.."_table_large_t")
+ table.insert(tlist_t, "homedecor:"..m.."_table_small_square_t")
+ table.insert(tlist_t, "homedecor:"..m.."_table_small_round_t")
+end
+
+minetest.register_abm({
+ nodenames = tlist_s,
+ interval = 1,
+ chance = 1,
+ action = function(pos, node, active_object_count, active_object_count_wider)
+ local newnode = string.sub(node.name, 1, -3) -- strip the "_s" from the name
+ local fdir = node.param2 or 0
+ minetest.set_node(pos, {name = newnode, param2 = dirs2[fdir+1]})
+ end
+})
+
+minetest.register_abm({
+ nodenames = tlist_t,
+ interval = 1,
+ chance = 1,
+ action = function(pos, node, active_object_count, active_object_count_wider)
+ local newnode = string.sub(node.name, 1, -3) -- strip the "_t" from the name
+ minetest.set_node(pos, { name = newnode, param2 = 20 })
+ end
+})
+
+-- other tables
+
+homedecor.register("utility_table_top", {
+ description = S("Utility Table"),
+ tiles = {
+ 'homedecor_utility_table_tb.png',
+ 'homedecor_utility_table_tb.png',
+ 'homedecor_utility_table_edges.png',
+ 'homedecor_utility_table_edges.png',
+ 'homedecor_utility_table_edges.png',
+ 'homedecor_utility_table_edges.png'
+ },
+ wield_image = 'homedecor_utility_table_tb.png',
+ inventory_image = 'homedecor_utility_table_tb.png',
+ groups = { snappy = 3 },
+ sounds = default.node_sound_wood_defaults(),
+ paramtype2 = "wallmounted",
+ node_box = {
+ type = "wallmounted",
+ wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
+ wall_top = { -0.5, 0.4375, -0.5, 0.5, 0.5, 0.5 },
+ wall_side = { -0.5, -0.5, -0.5, -0.4375, 0.5, 0.5 },
+ },
+ selection_box = {
+ type = "wallmounted",
+ wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
+ wall_top = { -0.5, 0.4375, -0.5, 0.5, 0.5, 0.5 },
+ wall_side = { -0.5, -0.5, -0.5, -0.4375, 0.5, 0.5 },
+ },
+})
+
+-- Various kinds of table legs
+
+-- local above
+materials = {
+ { "brass", S("brass") },
+ { "wrought_iron", S("wrought iron") },
+}
+
+for _, t in ipairs(materials) do
+local name, desc = unpack(t)
+homedecor.register("table_legs_"..name, {
+ description = S("Table Legs (@1)", desc),
+ drawtype = "plantlike",
+ tiles = {"homedecor_table_legs_"..name..".png"},
+ inventory_image = "homedecor_table_legs_"..name..".png",
+ wield_image = "homedecor_table_legs_"..name..".png",
+ walkable = false,
+ groups = {snappy=3},
+ sounds = default.node_sound_wood_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = { -0.37, -0.5, -0.37, 0.37, 0.5, 0.37 }
+ },
+})
+end
+
+homedecor.register("utility_table_legs", {
+ description = S("Legs for Utility Table"),
+ drawtype = "plantlike",
+ tiles = { 'homedecor_utility_table_legs.png' },
+ inventory_image = 'homedecor_utility_table_legs_inv.png',
+ wield_image = 'homedecor_utility_table_legs.png',
+ walkable = false,
+ groups = { snappy = 3 },
+ sounds = default.node_sound_wood_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = { -0.37, -0.5, -0.37, 0.37, 0.5, 0.37 }
+ },
+})
+
+-- crafting
+
+
+minetest.register_craft( {
+ output = "homedecor:glass_table_small_round_b 15",
+ recipe = {
+ { "", "default:glass", "" },
+ { "default:glass", "default:glass", "default:glass" },
+ { "", "default:glass", "" },
+ },
+})
+
+minetest.register_craft( {
+ output = "homedecor:glass_table_small_square_b 2",
+ recipe = {
+ {"homedecor:glass_table_small_round", "homedecor:glass_table_small_round" },
+ }
+})
+
+minetest.register_craft( {
+ output = "homedecor:glass_table_large_b 2",
+ recipe = {
+ { "homedecor:glass_table_small_square", "homedecor:glass_table_small_square" },
+ }
+})
+
+--
+
+minetest.register_craft( {
+ output = "homedecor:wood_table_small_round_b 15",
+ recipe = {
+ { "", "group:wood", "" },
+ { "group:wood", "group:wood", "group:wood" },
+ { "", "group:wood", "" },
+ },
+})
+
+minetest.register_craft( {
+ output = "homedecor:wood_table_small_square_b 2",
+ recipe = {
+ { "homedecor:wood_table_small_round","homedecor:wood_table_small_round" },
+ }
+})
+
+minetest.register_craft( {
+ output = "homedecor:wood_table_large_b 2",
+ recipe = {
+ { "homedecor:wood_table_small_square", "homedecor:wood_table_small_square" },
+ }
+})
+
+--
+
+minetest.register_craft({
+ type = "fuel",
+ recipe = "homedecor:wood_table_small_round_b",
+ burntime = 30,
+})
+
+minetest.register_craft({
+ type = "fuel",
+ recipe = "homedecor:wood_table_small_square_b",
+ burntime = 30,
+})
+
+minetest.register_craft({
+ type = "fuel",
+ recipe = "homedecor:wood_table_large_b",
+ burntime = 30,
+})
+
+
+minetest.register_craft( {
+ output = "homedecor:table_legs_wrought_iron 3",
+ recipe = {
+ { "", "default:iron_lump", "" },
+ { "", "default:iron_lump", "" },
+ { "default:iron_lump", "default:iron_lump", "default:iron_lump" },
+ },
+})
+
+minetest.register_craft( {
+ output = "homedecor:table_legs_brass 3",
+ recipe = {
+ { "", "basic_materials:brass_ingot", "" },
+ { "", "basic_materials:brass_ingot", "" },
+ { "basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot" }
+ },
+})
+
+minetest.register_craft( {
+ output = "homedecor:utility_table_legs",
+ recipe = {
+ { "group:stick", "group:stick", "group:stick" },
+ { "group:stick", "", "group:stick" },
+ { "group:stick", "", "group:stick" },
+ },
+})
+
+minetest.register_craft({
+ type = "fuel",
+ recipe = "homedecor:utility_table_legs",
+ burntime = 30,
+})
+
+
+
+-- recycling
+
+minetest.register_craft({
+ type = "shapeless",
+ output = "vessels:glass_fragments",
+ recipe = {
+ "homedecor:glass_table_small_round",
+ "homedecor:glass_table_small_round",
+ "homedecor:glass_table_small_round"
+ }
+})
+
+minetest.register_craft({
+ type = "shapeless",
+ output = "vessels:glass_fragments",
+ recipe = {
+ "homedecor:glass_table_small_square",
+ "homedecor:glass_table_small_square",
+ "homedecor:glass_table_small_square"
+ }
+})
+
+minetest.register_craft({
+ type = "shapeless",
+ output = "vessels:glass_fragments",
+ recipe = {
+ "homedecor:glass_table_large",
+ "homedecor:glass_table_large",
+ "homedecor:glass_table_large"
+ }
+})
+
+minetest.register_craft({
+ type = "shapeless",
+ output = "default:stick 4",
+ recipe = {
+ "homedecor:wood_table_small_round",
+ "homedecor:wood_table_small_round",
+ "homedecor:wood_table_small_round"
+ }
+})
+
+minetest.register_craft({
+ type = "shapeless",
+ output = "default:stick 4",
+ recipe = {
+ "homedecor:wood_table_small_square",
+ "homedecor:wood_table_small_square",
+ "homedecor:wood_table_small_square"
+ }
+})
+
+minetest.register_craft({
+ type = "shapeless",
+ output = "default:stick 4",
+ recipe = {
+ "homedecor:wood_table_large",
+ "homedecor:wood_table_large",
+ "homedecor:wood_table_large"
+ }
+})
diff --git a/lrfurn/textures/lrfurn_coffeetable_back.png b/homedecor_tables/textures/lrfurn_coffeetable_back.png
index 04894fd..04894fd 100644
--- a/lrfurn/textures/lrfurn_coffeetable_back.png
+++ b/homedecor_tables/textures/lrfurn_coffeetable_back.png
Binary files differ
diff --git a/lrfurn/textures/lrfurn_coffeetable_front.png b/homedecor_tables/textures/lrfurn_coffeetable_front.png
index 65d4f51..65d4f51 100644
--- a/lrfurn/textures/lrfurn_coffeetable_front.png
+++ b/homedecor_tables/textures/lrfurn_coffeetable_front.png
Binary files differ
diff --git a/signs_lib/init.lua b/signs_lib/init.lua
index 360bc02..d1070be 100644
--- a/signs_lib/init.lua
+++ b/signs_lib/init.lua
@@ -169,9 +169,15 @@ signs_lib.sign_post_model = {
-- the list of standard sign nodes
+local default_sign = "default:sign_wall_wood"
+local default_sign_image = "default_sign_wood.png"
+
+local default_sign_metal = "default:sign_wall_steel"
+local default_sign_metal_image = "default_sign_steel.png"
+
signs_lib.sign_node_list = {
- "default:sign_wall_wood",
- "default:sign_wall_steel",
+ default_sign,
+ default_sign_metal,
"signs:sign_yard",
"signs:sign_hanging",
"signs:sign_wall_green",
@@ -185,20 +191,6 @@ signs_lib.sign_node_list = {
"locked_sign:sign_wall_locked"
}
-local default_sign, default_sign_image
-
--- Default sign was renamed in 0.4.14. Support both & old versions.
-if minetest.registered_nodes["default:sign_wall_wood"] then
- default_sign = "default:sign_wall_wood"
- default_sign_image = "default_sign_wood.png"
-else
- default_sign = "default:sign_wall"
- default_sign_image = "default_sign_wall.png"
-end
-
-default_sign_metal = "default:sign_wall_steel"
-default_sign_metal_image = "default_sign_steel.png"
-
--table copy
function signs_lib.table_copy(t)
@@ -685,6 +677,7 @@ function signs_lib.determine_sign_type(itemstack, placer, pointed_thing, locked)
z = above.z - placer_pos.z
}
end
+ local finalpos = above
local fdir = minetest.dir_to_facedir(dir)
local pt_name = minetest.get_node(under).name
@@ -692,23 +685,23 @@ function signs_lib.determine_sign_type(itemstack, placer, pointed_thing, locked)
if fences_with_sign[pt_name] and signname == default_sign then
minetest.add_node(under, {name = fences_with_sign[pt_name], param2 = fdir})
+ finalpos = under
elseif wdir == 0 and signname == default_sign then
minetest.add_node(above, {name = "signs:sign_hanging", param2 = fdir})
elseif wdir == 1 and signname == default_sign then
minetest.add_node(above, {name = "signs:sign_yard", param2 = fdir})
- elseif signname == default_sign_metal then
+ elseif signname == default_sign
+ or signname == default_sign_metal
+ or signname == "locked_sign:sign_wall_locked" then
minetest.add_node(above, {name = signname, param2 = wdir })
- elseif signname ~= default_sign
- and signname ~= default_sign_metal
- and signname ~= "locked_sign:sign_wall_locked" then -- it's a signs_lib colored metal wall sign.
- minetest.add_node(above, {name = signname, param2 = fdir})
- else -- it must be a default or locked wooden wall sign
- minetest.add_node(above, {name = signname, param2 = wdir }) -- note it's wallmounted here!
- if locked then
- local meta = minetest.get_meta(above)
- local owner = placer:get_player_name()
- meta:set_string("owner", owner)
- end
+ else
+ minetest.add_node(above, {name = signname, param2 = fdir}) -- it must be a colored metal sign
+ end
+
+ if locked then
+ local meta = minetest.get_meta(finalpos)
+ local owner = placer:get_player_name()
+ meta:set_string("owner", owner)
end
if not signs_lib.expect_infinite_stacks then
@@ -918,7 +911,7 @@ minetest.register_node(":locked_sign:sign_wall_locked", {
end
})
--- default metal sign, if defined
+-- default metal sign
minetest.register_node(":"..default_sign_metal, {
description = S("Sign"),
@@ -932,12 +925,11 @@ minetest.register_node(":"..default_sign_metal, {
node_box = signs_lib.regular_wall_sign_model.nodebox,
tiles = {"signs_wall_sign_metal.png"},
groups = sign_groups,
-
on_place = function(itemstack, placer, pointed_thing)
- return signs_lib.determine_sign_type(itemstack, placer, pointed_thing)
+ return signs_lib.determine_sign_type(itemstack, placer, pointed_thing, true)
end,
on_construct = function(pos)
- signs_lib.construct_sign(pos)
+ signs_lib.construct_sign(pos, true)
end,
on_destruct = function(pos)
signs_lib.destruct_sign(pos)
@@ -955,6 +947,13 @@ minetest.register_node(":"..default_sign_metal, {
on_punch = function(pos, node, puncher)
signs_lib.update_sign(pos,nil,nil,node)
end,
+ can_dig = function(pos, player)
+ local meta = minetest.get_meta(pos)
+ local owner = meta:get_string("owner")
+ local pname = player:get_player_name()
+ return pname == owner or pname == minetest.settings:get("name")
+ or minetest.check_player_privs(pname, {sign_editor=true})
+ end,
on_rotate = function(pos, node, user, mode)
local meta = minetest.get_meta(pos)
local owner = meta:get_string("owner")
@@ -966,7 +965,6 @@ minetest.register_node(":"..default_sign_metal, {
end
})
-
-- metal, colored signs
if enable_colored_metal_signs then
-- array : color, translated color, default text color
diff --git a/simple_streetlights/simple.lua b/simple_streetlights/simple.lua
index aaf5575..41808a3 100644
--- a/simple_streetlights/simple.lua
+++ b/simple_streetlights/simple.lua
@@ -60,17 +60,34 @@ local function check_and_place(itemstack, placer, pointed_thing, pole, light, pa
if sneak and minetest.is_protected(pos1, player_name) then return end
- if not creative or not creative.is_enabled_for(player_name) then
+ if not creative.is_enabled_for(player_name) then
local inv = placer:get_inventory()
- if not inv:contains_item("main", pole.." 5") or not inv:contains_item("main", light) then return end
- if sneak and inv:contains_item("main", streetlights.concrete) then
- inv:remove_item("main", streetlights.concrete)
- else
+ if not inv:contains_item("main", pole.." 6") then
+ minetest.chat_send_player(placer:get_player_name(), "*** You don't have enough "..pole.." in your inventory!")
return
end
- inv:remove_item("main", pole.." 5")
+ if not inv:contains_item("main", light) then
+ minetest.chat_send_player(placer:get_player_name(), "*** You don't have any "..light.." in your inventory!")
+ return
+ end
+
+ if sneak then
+ if not inv:contains_item("main", streetlights.concrete) then
+ minetest.chat_send_player(placer:get_player_name(), "*** You don't have any concrete in your inventory!")
+ return
+ else
+ inv:remove_item("main", streetlights.concrete)
+ end
+ end
+
+ inv:remove_item("main", pole.." 6")
inv:remove_item("main", light)
+
+ end
+
+ if sneak then
+ minetest.set_node(pos1, { name = streetlights.concrete })
end
for i = 1, 5 do
@@ -79,9 +96,6 @@ local function check_and_place(itemstack, placer, pointed_thing, pole, light, pa
end
minetest.set_node(pos3, { name = pole })
minetest.set_node(pos4, { name = light, param2 = param2 })
- if sneak then
- minetest.set_node(pos1, { name = streetlights.concrete })
- end
end
local poles_tab = {