summaryrefslogtreecommitdiff
path: root/homedecor_tables
diff options
context:
space:
mode:
Diffstat (limited to 'homedecor_tables')
-rw-r--r--homedecor_tables/depends.txt3
-rw-r--r--homedecor_tables/init.lua371
-rw-r--r--homedecor_tables/models/homedecor_table_small_round.obj303
-rw-r--r--homedecor_tables/models/homedecor_table_small_square.obj48
-rw-r--r--homedecor_tables/textures/homedecor_glass_face_clean.pngbin0 -> 96 bytes
-rw-r--r--homedecor_tables/textures/homedecor_glass_table_large_edges.pngbin0 -> 257 bytes
-rw-r--r--homedecor_tables/textures/homedecor_glass_table_large_inv.pngbin0 -> 2584 bytes
-rw-r--r--homedecor_tables/textures/homedecor_glass_table_large_tb.pngbin0 -> 152 bytes
-rw-r--r--homedecor_tables/textures/homedecor_glass_table_small_round.pngbin0 -> 338 bytes
-rw-r--r--homedecor_tables/textures/homedecor_glass_table_small_round_inv.pngbin0 -> 4002 bytes
-rw-r--r--homedecor_tables/textures/homedecor_glass_table_small_square.pngbin0 -> 390 bytes
-rw-r--r--homedecor_tables/textures/homedecor_glass_table_small_square_inv.pngbin0 -> 4026 bytes
-rw-r--r--homedecor_tables/textures/homedecor_table_legs_brass.pngbin0 -> 351 bytes
-rw-r--r--homedecor_tables/textures/homedecor_table_legs_wrought_iron.pngbin0 -> 352 bytes
-rw-r--r--homedecor_tables/textures/homedecor_utility_table_edges.pngbin0 -> 708 bytes
-rw-r--r--homedecor_tables/textures/homedecor_utility_table_legs.pngbin0 -> 430 bytes
-rw-r--r--homedecor_tables/textures/homedecor_utility_table_legs_inv.pngbin0 -> 5050 bytes
-rw-r--r--homedecor_tables/textures/homedecor_utility_table_tb.pngbin0 -> 814 bytes
-rw-r--r--homedecor_tables/textures/homedecor_wood_table_large_edges.pngbin0 -> 708 bytes
-rw-r--r--homedecor_tables/textures/homedecor_wood_table_large_inv.pngbin0 -> 4741 bytes
-rw-r--r--homedecor_tables/textures/homedecor_wood_table_large_tb.pngbin0 -> 759 bytes
-rw-r--r--homedecor_tables/textures/homedecor_wood_table_small_round.pngbin0 -> 789 bytes
-rw-r--r--homedecor_tables/textures/homedecor_wood_table_small_round_inv.pngbin0 -> 5521 bytes
-rw-r--r--homedecor_tables/textures/homedecor_wood_table_small_square.pngbin0 -> 1022 bytes
-rw-r--r--homedecor_tables/textures/homedecor_wood_table_small_square_inv.pngbin0 -> 4795 bytes
25 files changed, 725 insertions, 0 deletions
diff --git a/homedecor_tables/depends.txt b/homedecor_tables/depends.txt
new file mode 100644
index 0000000..fb5d601
--- /dev/null
+++ b/homedecor_tables/depends.txt
@@ -0,0 +1,3 @@
+homedecor_common
+default
+basic_materials
diff --git a/homedecor_tables/init.lua b/homedecor_tables/init.lua
new file mode 100644
index 0000000..d32b51d
--- /dev/null
+++ b/homedecor_tables/init.lua
@@ -0,0 +1,371 @@
+
+local S = homedecor.gettext
+
+-- 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/models/homedecor_table_small_round.obj b/homedecor_tables/models/homedecor_table_small_round.obj
new file mode 100644
index 0000000..c0bb6e2
--- /dev/null
+++ b/homedecor_tables/models/homedecor_table_small_round.obj
@@ -0,0 +1,303 @@
+# Blender v2.73 (sub 0) OBJ File: 'table_small_round.blend'
+# www.blender.org
+o Cylinder
+v 0.049009 -0.499000 -0.497592
+v 0.049009 -0.453125 -0.497592
+v 0.145142 -0.499000 -0.478470
+v 0.145142 -0.453125 -0.478470
+v 0.235698 -0.499000 -0.440960
+v 0.235698 -0.453125 -0.440961
+v 0.317197 -0.499000 -0.386505
+v 0.317197 -0.453125 -0.386505
+v 0.386505 -0.499000 -0.317197
+v 0.386505 -0.453125 -0.317197
+v 0.440961 -0.499000 -0.235698
+v 0.440961 -0.453125 -0.235698
+v 0.478470 -0.499000 -0.145142
+v 0.478470 -0.453125 -0.145142
+v 0.497592 -0.499000 -0.049008
+v 0.497592 -0.453125 -0.049008
+v 0.497592 -0.499000 0.049009
+v 0.497592 -0.453125 0.049009
+v 0.478470 -0.499000 0.145142
+v 0.478470 -0.453125 0.145142
+v 0.440961 -0.499000 0.235698
+v 0.440961 -0.453125 0.235698
+v 0.386505 -0.499000 0.317197
+v 0.386505 -0.453125 0.317197
+v 0.317197 -0.499000 0.386505
+v 0.317197 -0.453125 0.386505
+v 0.235698 -0.499000 0.440961
+v 0.235698 -0.453125 0.440961
+v 0.145142 -0.499000 0.478470
+v 0.145142 -0.453125 0.478470
+v 0.049008 -0.499000 0.497592
+v 0.049008 -0.453125 0.497592
+v -0.049009 -0.499000 0.497592
+v -0.049009 -0.453125 0.497592
+v -0.145143 -0.499000 0.478470
+v -0.145143 -0.453125 0.478470
+v -0.235699 -0.499000 0.440961
+v -0.235699 -0.453125 0.440961
+v -0.317197 -0.499000 0.386505
+v -0.317197 -0.453125 0.386505
+v -0.386505 -0.499000 0.317196
+v -0.386505 -0.453125 0.317196
+v -0.440961 -0.499000 0.235698
+v -0.440961 -0.453125 0.235698
+v -0.478470 -0.499000 0.145142
+v -0.478470 -0.453125 0.145142
+v -0.497592 -0.499000 0.049008
+v -0.497592 -0.453125 0.049008
+v -0.497592 -0.499000 -0.049009
+v -0.497592 -0.453125 -0.049009
+v -0.478470 -0.499000 -0.145143
+v -0.478470 -0.453125 -0.145143
+v -0.440960 -0.499000 -0.235699
+v -0.440960 -0.453125 -0.235699
+v -0.386505 -0.499000 -0.317197
+v -0.386505 -0.453125 -0.317197
+v -0.317196 -0.499000 -0.386506
+v -0.317196 -0.453125 -0.386506
+v -0.235698 -0.499000 -0.440961
+v -0.235698 -0.453125 -0.440961
+v -0.145142 -0.499000 -0.478470
+v -0.145142 -0.453125 -0.478470
+v -0.049008 -0.499000 -0.497592
+v -0.049008 -0.453125 -0.497592
+v 0.046186 -0.437500 -0.468938
+v 0.136784 -0.437500 -0.450917
+v 0.222126 -0.437500 -0.415568
+v 0.298931 -0.437500 -0.364248
+v 0.364248 -0.437500 -0.298931
+v 0.415568 -0.437500 -0.222126
+v 0.450917 -0.437500 -0.136784
+v 0.468938 -0.437500 -0.046186
+v 0.468938 -0.437500 0.046186
+v 0.450917 -0.437500 0.136784
+v 0.415568 -0.437500 0.222126
+v 0.364248 -0.437500 0.298931
+v 0.298931 -0.437500 0.364248
+v 0.222126 -0.437500 0.415568
+v 0.136784 -0.437500 0.450917
+v 0.046186 -0.437500 0.468938
+v -0.046187 -0.437500 0.468938
+v -0.136785 -0.437500 0.450917
+v -0.222126 -0.437500 0.415568
+v -0.298931 -0.437500 0.364248
+v -0.364249 -0.437500 0.298931
+v -0.415568 -0.437500 0.222125
+v -0.450918 -0.437500 0.136784
+v -0.468938 -0.437500 0.046186
+v -0.468938 -0.437500 -0.046187
+v -0.450917 -0.437500 -0.136785
+v -0.415568 -0.437500 -0.222126
+v -0.364248 -0.437500 -0.298931
+v -0.298930 -0.437500 -0.364249
+v -0.222125 -0.437500 -0.415568
+v -0.136784 -0.437500 -0.450918
+v -0.046186 -0.437500 -0.468939
+vt 0.277344 0.123047
+vt 0.277344 0.095703
+vt 0.333008 0.095703
+vt 0.333008 0.123047
+vt 0.388672 0.095703
+vt 0.388672 0.123047
+vt 0.444336 0.095703
+vt 0.444336 0.123047
+vt 0.500000 0.095703
+vt 0.500000 0.123047
+vt 0.555664 0.095703
+vt 0.555664 0.123047
+vt 0.611328 0.095703
+vt 0.611328 0.123047
+vt 0.666992 0.095703
+vt 0.666992 0.123047
+vt 0.722656 0.095703
+vt 0.722656 0.123047
+vt 0.277344 0.404297
+vt 0.277344 0.376953
+vt 0.333008 0.376953
+vt 0.333008 0.404297
+vt 0.388672 0.376953
+vt 0.388672 0.404297
+vt 0.444336 0.376953
+vt 0.444336 0.404297
+vt 0.500000 0.376953
+vt 0.500000 0.404297
+vt 0.555664 0.376953
+vt 0.555664 0.404297
+vt 0.611328 0.376953
+vt 0.611328 0.404297
+vt 0.666992 0.376953
+vt 0.666992 0.404297
+vt 0.722656 0.376953
+vt 0.722656 0.404297
+vt 0.277344 0.310547
+vt 0.277344 0.283203
+vt 0.333008 0.283203
+vt 0.333008 0.310547
+vt 0.388672 0.283203
+vt 0.388672 0.310547
+vt 0.444336 0.283203
+vt 0.444336 0.310547
+vt 0.500000 0.283203
+vt 0.500000 0.310547
+vt 0.555664 0.283203
+vt 0.555664 0.310547
+vt 0.611328 0.283203
+vt 0.611328 0.310547
+vt 0.666992 0.283203
+vt 0.666992 0.310547
+vt 0.722656 0.283203
+vt 0.722656 0.310547
+vt 0.277344 0.216797
+vt 0.277344 0.189453
+vt 0.333008 0.189453
+vt 0.333008 0.216797
+vt 0.388672 0.189453
+vt 0.388672 0.216797
+vt 0.444336 0.189453
+vt 0.444336 0.216797
+vt 0.500000 0.189453
+vt 0.500000 0.216797
+vt 0.555664 0.189453
+vt 0.555664 0.216797
+vt 0.611328 0.189453
+vt 0.611328 0.216797
+vt 0.666992 0.216797
+vt 0.666992 0.189453
+vt 0.722656 0.189453
+vt 0.722656 0.216797
+vt 0.727947 0.526084
+vt 0.684687 0.534689
+vt 0.643937 0.551568
+vt 0.607262 0.576073
+vt 0.576074 0.607262
+vt 0.551569 0.643936
+vt 0.534689 0.684686
+vt 0.526084 0.727946
+vt 0.526084 0.772054
+vt 0.534689 0.815315
+vt 0.551568 0.856065
+vt 0.576073 0.892739
+vt 0.607262 0.923928
+vt 0.643936 0.948433
+vt 0.684686 0.965312
+vt 0.727946 0.973917
+vt 0.772054 0.973917
+vt 0.815315 0.965311
+vt 0.856065 0.948432
+vt 0.892739 0.923927
+vt 0.923928 0.892738
+vt 0.948433 0.856063
+vt 0.965312 0.815312
+vt 0.973917 0.772052
+vt 0.973916 0.727945
+vt 0.965311 0.684685
+vt 0.948432 0.643935
+vt 0.923927 0.607261
+vt 0.892739 0.576073
+vt 0.856065 0.551568
+vt 0.815315 0.534689
+vt 0.772054 0.526084
+vt 0.191894 0.558450
+vt 0.230380 0.550794
+vt 0.269620 0.550794
+vt 0.308106 0.558450
+vt 0.344359 0.573466
+vt 0.376986 0.595267
+vt 0.404733 0.623014
+vt 0.426534 0.655641
+vt 0.441550 0.691894
+vt 0.449206 0.730380
+vt 0.449206 0.769620
+vt 0.441551 0.808106
+vt 0.426534 0.844359
+vt 0.404733 0.876986
+vt 0.376986 0.904733
+vt 0.344359 0.926534
+vt 0.308106 0.941550
+vt 0.269620 0.949206
+vt 0.230380 0.949206
+vt 0.191894 0.941550
+vt 0.155640 0.926534
+vt 0.123014 0.904733
+vt 0.095267 0.876986
+vt 0.073466 0.844359
+vt 0.058450 0.808106
+vt 0.050794 0.769620
+vt 0.050794 0.730380
+vt 0.058450 0.691894
+vt 0.073466 0.655641
+vt 0.095267 0.623014
+vt 0.123014 0.595267
+vt 0.155641 0.573466
+g Cylinder_Cylinder_None
+s off
+f 1/1 2/2 4/3 3/4
+f 3/4 4/3 6/5 5/6
+f 5/6 6/5 8/7 7/8
+f 7/8 8/7 10/9 9/10
+f 9/10 10/9 12/11 11/12
+f 11/12 12/11 14/13 13/14
+f 13/14 14/13 16/15 15/16
+f 15/16 16/15 18/17 17/18
+f 17/19 18/20 20/21 19/22
+f 19/22 20/21 22/23 21/24
+f 21/24 22/23 24/25 23/26
+f 23/26 24/25 26/27 25/28
+f 25/28 26/27 28/29 27/30
+f 27/30 28/29 30/31 29/32
+f 29/32 30/31 32/33 31/34
+f 31/34 32/33 34/35 33/36
+f 33/37 34/38 36/39 35/40
+f 35/40 36/39 38/41 37/42
+f 37/42 38/41 40/43 39/44
+f 39/44 40/43 42/45 41/46
+f 41/46 42/45 44/47 43/48
+f 43/48 44/47 46/49 45/50
+f 45/50 46/49 48/51 47/52
+f 47/52 48/51 50/53 49/54
+f 49/55 50/56 52/57 51/58
+f 51/58 52/57 54/59 53/60
+f 53/60 54/59 56/61 55/62
+f 55/62 56/61 58/63 57/64
+f 57/64 58/63 60/65 59/66
+f 59/66 60/65 62/67 61/68
+f 54/59 52/57 90/57 91/59
+f 63/69 64/70 2/71 1/72
+f 61/68 62/67 64/70 63/69
+f 1/73 3/74 5/75 7/76 9/77 11/78 13/79 15/80 17/81 19/82 21/83 23/84 25/85 27/86 29/87 31/88 33/89 35/90 37/91 39/92 41/93 43/94 45/95 47/96 49/97 51/98 53/99 55/100 57/101 59/102 61/103 63/104
+f 66/105 65/106 96/107 95/108 94/109 93/110 92/111 91/112 90/113 89/114 88/115 87/116 86/117 85/118 84/119 83/120 82/121 81/122 80/123 79/124 78/125 77/126 76/127 75/128 74/129 73/130 72/131 71/132 70/133 69/134 68/135 67/136
+f 10/9 8/7 68/7 69/9
+f 32/33 30/31 79/31 80/33
+f 60/65 58/63 93/63 94/65
+f 38/41 36/39 82/39 83/41
+f 16/15 14/13 71/13 72/15
+f 2/71 64/70 96/70 65/71
+f 44/47 42/45 85/45 86/47
+f 22/23 20/21 74/21 75/23
+f 50/53 48/51 88/51 89/53
+f 6/5 4/3 66/3 67/5
+f 28/29 26/27 77/27 78/29
+f 56/61 54/59 91/59 92/61
+f 12/11 10/9 69/9 70/11
+f 34/35 32/33 80/33 81/35
+f 62/67 60/65 94/65 95/67
+f 40/43 38/41 83/41 84/43
+f 4/3 2/2 65/2 66/3
+f 18/17 16/15 72/15 73/17
+f 46/49 44/47 86/47 87/49
+f 24/25 22/23 75/23 76/25
+f 52/57 50/56 89/56 90/57
+f 8/7 6/5 67/5 68/7
+f 30/31 28/29 78/29 79/31
+f 58/63 56/61 92/61 93/63
+f 36/39 34/38 81/38 82/39
+f 14/13 12/11 70/11 71/13
+f 64/70 62/67 95/67 96/70
+f 42/45 40/43 84/43 85/45
+f 20/21 18/20 73/20 74/21
+f 48/51 46/49 87/49 88/51
+f 26/27 24/25 76/25 77/27
diff --git a/homedecor_tables/models/homedecor_table_small_square.obj b/homedecor_tables/models/homedecor_table_small_square.obj
new file mode 100644
index 0000000..467259e
--- /dev/null
+++ b/homedecor_tables/models/homedecor_table_small_square.obj
@@ -0,0 +1,48 @@
+# Blender v2.69 (sub 0) OBJ File: 'table_small_square.blend'
+# www.blender.org
+mtllib homedecor_table_small_square.mtl
+o Cube
+v 0.499000 -0.499000 -0.499000
+v 0.499000 -0.499000 0.499000
+v -0.499000 -0.499000 0.499000
+v -0.499000 -0.499000 -0.499000
+v 0.499000 -0.468750 -0.499000
+v 0.499000 -0.468750 0.499000
+v -0.499000 -0.468750 0.499000
+v -0.499000 -0.468750 -0.499000
+v 0.468750 -0.437500 -0.468750
+v 0.468750 -0.437500 0.468750
+v -0.468750 -0.437500 0.468750
+v -0.468750 -0.437500 -0.468750
+vt 0.500000 0.029412
+vt 0.970588 0.029412
+vt 0.970588 0.500000
+vt 0.500000 0.500000
+vt 0.014706 0.985294
+vt 0.014706 0.514706
+vt 0.029412 0.529412
+vt 0.029412 0.970588
+vt 0.985294 0.500000
+vt 0.985294 0.029412
+vt 0.500000 0.514706
+vt 0.970588 0.514706
+vt 0.485294 0.029412
+vt 0.485294 0.500000
+vt 0.970588 0.014706
+vt 0.500000 0.014706
+vt 0.470588 0.970588
+vt 0.470588 0.529412
+vt 0.485294 0.514706
+vt 0.485294 0.985294
+usemtl Material
+s off
+f 1/1 2/2 3/3 4/4
+f 8/5 7/6 11/7 12/8
+f 1/9 5/3 6/2 2/10
+f 2/11 6/4 7/3 3/12
+f 3/13 7/1 8/4 4/14
+f 5/15 1/2 4/1 8/16
+f 9/17 12/8 11/7 10/18
+f 7/6 6/19 10/18 11/7
+f 5/20 8/5 12/8 9/17
+f 6/19 5/20 9/17 10/18
diff --git a/homedecor_tables/textures/homedecor_glass_face_clean.png b/homedecor_tables/textures/homedecor_glass_face_clean.png
new file mode 100644
index 0000000..18271fe
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_glass_face_clean.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_glass_table_large_edges.png b/homedecor_tables/textures/homedecor_glass_table_large_edges.png
new file mode 100644
index 0000000..3225bf7
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_glass_table_large_edges.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_glass_table_large_inv.png b/homedecor_tables/textures/homedecor_glass_table_large_inv.png
new file mode 100644
index 0000000..f6580c4
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_glass_table_large_inv.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_glass_table_large_tb.png b/homedecor_tables/textures/homedecor_glass_table_large_tb.png
new file mode 100644
index 0000000..5862450
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_glass_table_large_tb.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_glass_table_small_round.png b/homedecor_tables/textures/homedecor_glass_table_small_round.png
new file mode 100644
index 0000000..99cb543
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_glass_table_small_round.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_glass_table_small_round_inv.png b/homedecor_tables/textures/homedecor_glass_table_small_round_inv.png
new file mode 100644
index 0000000..1ff5d25
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_glass_table_small_round_inv.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_glass_table_small_square.png b/homedecor_tables/textures/homedecor_glass_table_small_square.png
new file mode 100644
index 0000000..0f6078b
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_glass_table_small_square.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_glass_table_small_square_inv.png b/homedecor_tables/textures/homedecor_glass_table_small_square_inv.png
new file mode 100644
index 0000000..2898c21
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_glass_table_small_square_inv.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_table_legs_brass.png b/homedecor_tables/textures/homedecor_table_legs_brass.png
new file mode 100644
index 0000000..219c517
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_table_legs_brass.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_table_legs_wrought_iron.png b/homedecor_tables/textures/homedecor_table_legs_wrought_iron.png
new file mode 100644
index 0000000..54d02ee
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_table_legs_wrought_iron.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_utility_table_edges.png b/homedecor_tables/textures/homedecor_utility_table_edges.png
new file mode 100644
index 0000000..b4b8a1d
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_utility_table_edges.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_utility_table_legs.png b/homedecor_tables/textures/homedecor_utility_table_legs.png
new file mode 100644
index 0000000..3fad577
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_utility_table_legs.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_utility_table_legs_inv.png b/homedecor_tables/textures/homedecor_utility_table_legs_inv.png
new file mode 100644
index 0000000..7df2965
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_utility_table_legs_inv.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_utility_table_tb.png b/homedecor_tables/textures/homedecor_utility_table_tb.png
new file mode 100644
index 0000000..7a134e7
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_utility_table_tb.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_wood_table_large_edges.png b/homedecor_tables/textures/homedecor_wood_table_large_edges.png
new file mode 100644
index 0000000..b4b8a1d
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_wood_table_large_edges.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_wood_table_large_inv.png b/homedecor_tables/textures/homedecor_wood_table_large_inv.png
new file mode 100644
index 0000000..92fc76b
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_wood_table_large_inv.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_wood_table_large_tb.png b/homedecor_tables/textures/homedecor_wood_table_large_tb.png
new file mode 100644
index 0000000..e3615c8
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_wood_table_large_tb.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_wood_table_small_round.png b/homedecor_tables/textures/homedecor_wood_table_small_round.png
new file mode 100644
index 0000000..74810c0
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_wood_table_small_round.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_wood_table_small_round_inv.png b/homedecor_tables/textures/homedecor_wood_table_small_round_inv.png
new file mode 100644
index 0000000..d5e5609
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_wood_table_small_round_inv.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_wood_table_small_square.png b/homedecor_tables/textures/homedecor_wood_table_small_square.png
new file mode 100644
index 0000000..bdd4129
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_wood_table_small_square.png
Binary files differ
diff --git a/homedecor_tables/textures/homedecor_wood_table_small_square_inv.png b/homedecor_tables/textures/homedecor_wood_table_small_square_inv.png
new file mode 100644
index 0000000..4e5e2b3
--- /dev/null
+++ b/homedecor_tables/textures/homedecor_wood_table_small_square_inv.png
Binary files differ