summaryrefslogtreecommitdiff
path: root/homedecor_books
diff options
context:
space:
mode:
authorVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2019-04-24 18:59:36 -0400
committerVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2019-04-24 18:59:36 -0400
commita5eef1c5de77fa7770877802e66c3e1c53f9a0da (patch)
tree0f36e64a58e5f5bb7d95be6ae692f58f2ebfe483 /homedecor_books
parentdda854cf06f90a04a03844e19c4d4ad220e38fe4 (diff)
downloaddreambuilder_modpack-a5eef1c5de77fa7770877802e66c3e1c53f9a0da.tar
dreambuilder_modpack-a5eef1c5de77fa7770877802e66c3e1c53f9a0da.tar.gz
dreambuilder_modpack-a5eef1c5de77fa7770877802e66c3e1c53f9a0da.tar.bz2
dreambuilder_modpack-a5eef1c5de77fa7770877802e66c3e1c53f9a0da.tar.xz
dreambuilder_modpack-a5eef1c5de77fa7770877802e66c3e1c53f9a0da.zip
update castles, areas, homedecor, plantlife,
gloopblocks, hotbar, inspector, maptools, mesecons, moreblocks, moreores, technic, teleport_request, and worldedit switched to caverealms_lite (with minor fixes by me) switched to CWz's fork of player_textures The homedecor update brings in the big split, and will require you to re-enable all modpack components in order to avoid loss of content.
Diffstat (limited to 'homedecor_books')
-rw-r--r--homedecor_books/depends.txt5
-rw-r--r--homedecor_books/init.lua212
-rw-r--r--homedecor_books/models/homedecor_book.obj252
-rw-r--r--homedecor_books/models/homedecor_book_open.obj426
-rw-r--r--homedecor_books/textures/homedecor_book_cover.pngbin0 -> 2339 bytes
-rw-r--r--homedecor_books/textures/homedecor_book_cover_trim.pngbin0 -> 127 bytes
-rw-r--r--homedecor_books/textures/homedecor_book_edges.pngbin0 -> 780 bytes
-rw-r--r--homedecor_books/textures/homedecor_book_inv.pngbin0 -> 1103 bytes
-rw-r--r--homedecor_books/textures/homedecor_book_pages.pngbin0 -> 1413 bytes
-rw-r--r--homedecor_books/textures/homedecor_book_trim_inv.pngbin0 -> 2732 bytes
10 files changed, 895 insertions, 0 deletions
diff --git a/homedecor_books/depends.txt b/homedecor_books/depends.txt
new file mode 100644
index 0000000..ddb63ed
--- /dev/null
+++ b/homedecor_books/depends.txt
@@ -0,0 +1,5 @@
+homedecor_common
+default
+unifieddyes
+creative
+
diff --git a/homedecor_books/init.lua b/homedecor_books/init.lua
new file mode 100644
index 0000000..3bdce05
--- /dev/null
+++ b/homedecor_books/init.lua
@@ -0,0 +1,212 @@
+local S = homedecor.gettext
+
+local function N_(x) return x end
+
+local bookcolors = {
+ { N_("red"), 0xffd26466 },
+ { N_("green"), 0xff62aa66 },
+ { N_("blue"), 0xff8686d7 },
+ { N_("violet"), 0xff9c65a7 },
+ { N_("grey"), 0xff757579 },
+ { N_("brown"), 0xff896958 }
+}
+
+local BOOK_FORMNAME = "homedecor:book_form"
+
+local player_current_book = { }
+
+for _, c in ipairs(bookcolors) do
+ local color, hue = unpack(c)
+
+ local function book_dig(pos, node, digger)
+ if minetest.is_protected(pos, digger:get_player_name()) then return end
+ local meta = minetest.get_meta(pos)
+ local data = minetest.serialize({
+ title = meta:get_string("title") or "",
+ text = meta:get_string("text") or "",
+ owner = meta:get_string("owner") or "",
+ _recover = meta:get_string("_recover") or "",
+ })
+ local stack = ItemStack({
+ name = "homedecor:book_"..color,
+ metadata = data,
+ })
+ stack = digger:get_inventory():add_item("main", stack)
+ if not stack:is_empty() then
+ minetest.item_drop(stack, digger, pos)
+ end
+ minetest.remove_node(pos)
+ end
+
+ homedecor.register("book_"..color, {
+ description = S("Writable Book (@1)", S(color)),
+ mesh = "homedecor_book.obj",
+ tiles = {
+ { name = "homedecor_book_cover.png", color = hue },
+ { name = "homedecor_book_edges.png", color = "white" }
+ },
+ overlay_tiles = {
+ { name = "homedecor_book_cover_trim.png", color = "white" },
+ ""
+ },
+ groups = { snappy=3, oddly_breakable_by_hand=3, book=1 },
+ walkable = false,
+ stack_max = 1,
+ on_punch = function(pos, node, puncher, pointed_thing)
+ local fdir = node.param2
+ minetest.swap_node(pos, { name = "homedecor:book_open_"..color, param2 = fdir })
+ end,
+ on_place = function(itemstack, placer, pointed_thing)
+ local plname = placer:get_player_name()
+ local pos = pointed_thing.under
+ local node = minetest.get_node_or_nil(pos)
+ local def = node and minetest.registered_nodes[node.name]
+ if not def or not def.buildable_to then
+ pos = pointed_thing.above
+ node = minetest.get_node_or_nil(pos)
+ def = node and minetest.registered_nodes[node.name]
+ if not def or not def.buildable_to then return itemstack end
+ end
+ if minetest.is_protected(pos, plname) then return itemstack end
+ local fdir = minetest.dir_to_facedir(placer:get_look_dir())
+ minetest.set_node(pos, {
+ name = "homedecor:book_"..color,
+ param2 = fdir,
+ })
+ local text = itemstack:get_metadata() or ""
+ local meta = minetest.get_meta(pos)
+ local data = minetest.deserialize(text) or {}
+ if type(data) ~= "table" then
+ data = {}
+ -- Store raw metadata in case some data is lost by the
+ -- transition to the new meta format, so it is not lost
+ -- and can be recovered if needed.
+ meta:set_string("_recover", text)
+ end
+ meta:set_string("title", data.title or "")
+ meta:set_string("text", data.text or "")
+ meta:set_string("owner", data.owner or "")
+ if data.title and data.title ~= "" then
+ meta:set_string("infotext", data.title)
+ end
+ if not creative.is_enabled_for(plname) then
+ itemstack:take_item()
+ end
+ return itemstack
+ end,
+ on_dig = book_dig,
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.2, -0.5, -0.25, 0.2, -0.35, 0.25}
+ }
+ })
+
+ homedecor.register("book_open_"..color, {
+ mesh = "homedecor_book_open.obj",
+ tiles = {
+ { name = "homedecor_book_cover.png", color = hue },
+ { name = "homedecor_book_edges.png", color = "white" },
+ { name = "homedecor_book_pages.png", color = "white" }
+ },
+ groups = { snappy=3, oddly_breakable_by_hand=3, not_in_creative_inventory=1 },
+ drop = "homedecor:book_"..color,
+ walkable = false,
+ on_dig = book_dig,
+ on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
+ local meta = minetest.get_meta(pos)
+ local player_name = clicker:get_player_name()
+ local title = meta:get_string("title") or ""
+ local text = meta:get_string("text") or ""
+ local owner = meta:get_string("owner") or ""
+ local formspec
+ if owner == "" or owner == player_name then
+ formspec = "size[8,8]"..default.gui_bg..default.gui_bg_img..
+ "field[0.5,1;7.5,0;title;Book title :;"..
+ minetest.formspec_escape(title).."]"..
+ "textarea[0.5,1.5;7.5,7;text;Book content :;"..
+ minetest.formspec_escape(text).."]"..
+ "button_exit[2.5,7.5;3,1;save;Save]"
+ else
+ formspec = "size[8,8]"..default.gui_bg..
+ "button_exit[7,0.25;1,0.5;close;X]"..
+ default.gui_bg_img..
+ "label[0.5,0.5;by "..owner.."]"..
+ "label[0.5,0;"..minetest.formspec_escape(title).."]"..
+ "textarea[0.5,1.5;7.5,7;;"..minetest.formspec_escape(text)..";]"
+ end
+ player_current_book[player_name] = pos
+ minetest.show_formspec(player_name, BOOK_FORMNAME, formspec)
+ return itemstack
+ end,
+ on_punch = function(pos, node, puncher, pointed_thing)
+ local fdir = node.param2
+ minetest.swap_node(pos, { name = "homedecor:book_"..color, param2 = fdir })
+ minetest.sound_play("homedecor_book_close", {
+ pos=pos,
+ max_hear_distance = 3,
+ gain = 2,
+ })
+ end,
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.35, -0.5, -0.25, 0.35, -0.4, 0.25}
+ }
+ })
+
+end
+
+minetest.register_on_player_receive_fields(function(player, form_name, fields)
+ if form_name ~= BOOK_FORMNAME then
+ return false
+ end
+ local player_name = player:get_player_name()
+ local pos = player_current_book[player_name]
+ if not pos then
+ return true
+ end
+ local meta = minetest.get_meta(pos)
+ local owner = meta:get_string("owner")
+ if owner ~= "" and player_name ~= owner or not fields.save then
+ player_current_book[player_name] = nil
+ return true
+ end
+ meta:set_string("title", fields.title or "")
+ meta:set_string("text", fields.text or "")
+ meta:set_string("owner", player_name)
+ if (fields.title or "") ~= "" then
+ meta:set_string("infotext", fields.title)
+ end
+ minetest.log("action", S("@1 has written in a book (title: \"@2\"): \"@3\" at location @4",
+ player:get_player_name(), fields.title, fields.text, minetest.pos_to_string(player:getpos())))
+
+ player_current_book[player_name] = nil
+ return true
+end)
+
+-- crafting
+
+
+local bookcolors = {
+ "red",
+ "green",
+ "blue",
+ "violet",
+ "grey",
+ "brown"
+}
+
+for _, color in ipairs(bookcolors) do
+ minetest.register_craft({
+ type = "shapeless",
+ output = "homedecor:book_"..color,
+ recipe = {
+ "dye:"..color,
+ "default:book"
+ },
+ })
+end
+
+-- aliases
+
+minetest.register_alias("homedecor:book", "homedecor:book_grey")
+minetest.register_alias("homedecor:book_open", "homedecor:book_open_grey")
diff --git a/homedecor_books/models/homedecor_book.obj b/homedecor_books/models/homedecor_book.obj
new file mode 100644
index 0000000..5c40342
--- /dev/null
+++ b/homedecor_books/models/homedecor_book.obj
@@ -0,0 +1,252 @@
+# Blender v2.78 (sub 0) OBJ File: 'book.blend'
+# www.blender.org
+o Cube.002_Cube.001
+v 0.161995 -0.448008 0.216625
+v 0.149566 -0.485966 0.216625
+v 0.113157 -0.485966 0.216625
+v 0.142021 -0.448008 0.216625
+v 0.115781 -0.485966 0.208120
+v 0.142021 -0.448008 0.208120
+v 0.113157 -0.485966 -0.220555
+v -0.159347 -0.485966 -0.220555
+v 0.115781 -0.485966 -0.212050
+v 0.161995 -0.448008 0.208120
+v -0.148926 -0.485966 0.208120
+v -0.155653 -0.448008 0.208120
+v -0.155653 -0.448008 -0.212051
+v -0.148926 -0.485966 -0.212051
+v 0.152482 -0.485966 0.208120
+v 0.152482 -0.485966 -0.212050
+v 0.161995 -0.448008 -0.220555
+v 0.161995 -0.448008 -0.212050
+v 0.145193 -0.500002 -0.212050
+v 0.145193 -0.500002 0.208120
+v 0.115781 -0.500002 0.208120
+v 0.115781 -0.500002 -0.212050
+v 0.115781 -0.396013 -0.212050
+v 0.115781 -0.396013 0.208120
+v 0.145193 -0.396013 0.208120
+v 0.145193 -0.396013 -0.212050
+v 0.152482 -0.410049 -0.212050
+v 0.152482 -0.410049 0.208120
+v -0.148926 -0.410049 -0.212051
+v -0.148926 -0.410049 0.208120
+v 0.115781 -0.410049 -0.212050
+v -0.159347 -0.410049 -0.220555
+v 0.113157 -0.410049 -0.220555
+v 0.115781 -0.410049 0.208120
+v 0.113157 -0.410049 0.216625
+v 0.149566 -0.410049 0.216625
+v 0.115781 -0.396013 0.216625
+v 0.141549 -0.396013 0.216625
+v 0.149566 -0.410049 -0.220555
+v 0.141549 -0.396013 -0.220555
+v -0.159346 -0.396013 -0.220555
+v -0.159347 -0.396013 0.216624
+v 0.115781 -0.396013 -0.220555
+v -0.159347 -0.410049 0.216624
+v 0.115781 -0.500002 0.216625
+v 0.141549 -0.500002 0.216625
+v 0.142021 -0.448008 -0.212050
+v 0.149566 -0.485966 -0.220555
+v 0.141549 -0.500002 -0.220555
+v -0.159346 -0.500002 -0.220555
+v -0.159347 -0.500002 0.216624
+v 0.142021 -0.448008 -0.220555
+v 0.115781 -0.500002 -0.220555
+v -0.159347 -0.485966 0.216624
+vt 0.9220 0.3839
+vt 0.9220 0.3404
+vt 0.9318 0.3404
+vt 0.9318 0.3839
+vt 0.9318 0.4273
+vt 0.9220 0.4273
+vt 0.7681 0.4903
+vt 0.7230 0.4903
+vt 0.7230 0.0097
+vt 0.7681 0.0097
+vt 0.7681 0.5000
+vt 0.7224 0.5000
+vt 0.8096 0.4903
+vt 0.8091 0.5000
+vt 0.3524 0.0000
+vt 0.6708 0.0000
+vt 0.6708 0.0097
+vt 0.6708 0.4903
+vt 0.6708 0.5000
+vt 0.3524 0.5000
+vt 0.8096 0.0097
+vt 0.8091 0.0000
+vt 0.8236 0.0000
+vt 0.8243 0.0097
+vt 0.0121 0.5097
+vt 0.0000 0.5000
+vt 0.3154 0.5000
+vt 0.3184 0.5097
+vt 0.7006 0.0000
+vt 0.7049 0.0097
+vt 0.7310 0.8675
+vt 0.7310 0.8447
+vt 0.7749 0.8117
+vt 0.7749 0.8533
+vt 0.6871 0.8533
+vt 0.6871 0.8117
+vt 0.7749 0.5000
+vt 0.7912 0.5000
+vt 0.7912 0.8147
+vt 0.7912 0.8441
+vt 0.8513 0.5228
+vt 0.8513 0.5000
+vt 0.8953 0.5142
+vt 0.8953 0.5559
+vt 0.9220 0.3404
+vt 0.9220 0.3839
+vt 0.9121 0.3839
+vt 0.9121 0.3404
+vt 0.3346 0.5000
+vt 0.3346 1.0000
+vt 0.3184 1.0000
+vt 0.3184 0.5000
+vt 0.8953 0.8675
+vt 0.9115 0.5234
+vt 0.9115 0.5529
+vt 0.9115 0.8675
+vt 0.8243 0.4903
+vt 0.8236 0.5000
+vt 0.8074 0.5559
+vt 0.8074 0.5142
+vt 0.7681 0.0000
+vt 0.7224 0.0000
+vt 0.9220 0.4273
+vt 0.9121 0.4273
+vt 0.3184 0.9903
+vt 0.3154 1.0000
+vt 0.0000 1.0000
+vt 0.0121 0.9903
+vt 0.7049 0.4903
+vt 0.3184 0.4903
+vt 0.3184 0.0097
+vt 0.3524 0.0097
+vt 0.3524 0.4903
+vt 0.7056 0.4903
+vt 0.7056 0.0097
+vt 0.6708 0.5097
+vt 0.3645 0.5097
+vt 0.3524 0.5000
+vt 0.6678 0.5000
+vt 0.3184 0.0000
+vt 0.3482 0.0000
+vt 0.7049 0.5000
+vt 0.8074 0.8675
+vt 0.7912 0.8675
+vt 0.7912 0.5529
+vt 0.7912 0.5234
+vt 0.3362 0.5000
+vt 0.3524 1.0000
+vt 0.3362 1.0000
+vt 0.6708 0.8441
+vt 0.6708 0.8147
+vt 0.6708 0.5000
+vt 0.6871 0.5000
+vt 0.3482 0.5000
+vt 0.3184 0.5000
+vt 0.3645 0.9903
+vt 0.6708 0.9903
+vt 0.6678 1.0000
+vt 0.7049 0.0000
+vt 0.0000 0.5000
+vt 0.0000 0.0000
+vt 0.6685 0.6398
+vt 0.6407 0.6398
+vt 0.6407 0.6306
+vt 0.6725 0.6306
+vt 0.4393 1.0000
+vt 0.4393 0.3191
+vt 0.5272 0.3791
+vt 0.5272 0.9846
+vt 0.0879 1.0000
+vt 0.0879 0.3191
+vt 0.1757 0.3345
+vt 0.1757 0.9400
+vt 0.3514 0.9846
+vt 0.3514 0.3791
+vt 0.0000 0.9400
+vt 0.0000 0.3345
+vt 0.3514 0.0000
+vt 0.3514 0.9611
+vt 0.2636 0.9611
+vt 0.2636 0.0000
+vt 0.1757 0.0000
+vt 0.1757 0.9611
+vn -0.8031 -0.5829 0.1239
+vn -0.8030 0.5829 0.1239
+vn 0.9700 0.2431 -0.0000
+vn 0.9479 0.2740 -0.1625
+vn 0.9479 -0.2740 -0.1625
+vn -0.0000 -1.0000 -0.0000
+vn 0.8316 -0.4534 0.3207
+vn 0.0000 1.0000 -0.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 0.0000 -1.0000
+vn -0.8031 -0.5829 -0.1239
+vn -1.0000 -0.0000 -0.0000
+vn 0.8316 -0.4534 -0.3207
+vn 0.9479 -0.2740 0.1625
+vn 0.9700 -0.2431 -0.0000
+vn 0.9479 0.2740 0.1625
+vn -0.8030 0.5829 -0.1239
+vn 0.8875 -0.4609 -0.0000
+vn 0.8875 0.4609 -0.0000
+vn 0.8316 0.4534 -0.3207
+vn 0.8316 0.4534 0.3207
+vn -0.9847 -0.1745 0.0000
+vn -0.9847 0.1745 0.0000
+g Cube.002_Cube.001_Cube.002_Cube.001_cover
+s off
+f 47/1/1 31/2/1 33/3/1 52/4/1
+f 47/1/2 52/4/2 7/5/2 9/6/2
+f 18/7/3 27/8/3 28/9/3 10/10/3
+f 27/8/4 18/7/4 17/11/4 39/12/4
+f 16/13/5 48/14/5 17/11/5 18/7/5
+f 50/15/6 53/16/6 22/17/6 21/18/6 45/19/6 51/20/6
+f 15/21/7 2/22/7 46/23/7 20/24/7
+f 11/25/8 54/26/8 3/27/8 5/28/8
+f 22/17/6 53/16/6 49/29/6 19/30/6
+f 1/31/9 4/32/9 3/33/9 2/34/9
+f 1/31/9 36/35/9 35/36/9 4/32/9
+f 2/34/9 3/33/9 54/37/9 51/38/9 45/39/9 46/40/9
+f 52/41/10 17/42/10 48/43/10 7/44/10
+f 34/45/11 6/46/11 4/47/11 35/48/11
+f 50/49/12 51/50/12 54/51/12 8/52/12
+f 8/53/10 7/44/10 48/43/10 49/54/10 53/55/10 50/56/10
+f 19/57/13 49/58/13 48/14/13 16/13/13
+f 52/41/10 33/59/10 39/60/10 17/42/10
+f 10/10/14 1/61/14 2/22/14 15/21/14
+f 18/7/15 10/10/15 15/21/15 16/13/15
+f 10/10/16 28/9/16 36/62/16 1/61/16
+f 5/63/17 3/64/17 4/47/17 6/46/17
+f 9/65/8 7/66/8 8/67/8 14/68/8
+f 16/13/18 15/21/18 20/24/18 19/57/18
+f 22/17/6 19/30/6 20/69/6 21/18/6
+f 23/70/8 24/71/8 25/72/8 26/73/8
+f 27/8/19 26/74/19 25/75/19 28/9/19
+f 31/76/6 29/77/6 32/78/6 33/79/6
+f 25/72/8 24/71/8 37/80/8 38/81/8
+f 26/74/20 27/8/20 39/12/20 40/82/20
+f 32/83/10 41/84/10 43/85/10 40/86/10 39/60/10 33/59/10
+f 41/87/12 32/78/12 44/88/12 42/89/12
+f 36/35/9 38/90/9 37/91/9 42/92/9 44/93/9 35/36/9
+f 23/70/8 26/73/8 40/94/8 43/95/8
+f 30/96/6 34/97/6 35/98/6 44/88/6
+f 28/9/21 25/75/21 38/99/21 36/62/21
+f 29/77/6 30/96/6 44/88/6 32/78/6
+f 41/100/8 42/101/8 37/80/8 24/71/8 23/70/8 43/95/8
+f 54/26/8 11/25/8 14/68/8 8/67/8
+f 46/102/6 45/103/6 21/104/6 20/105/6
+g Cube.002_Cube.001_Cube.002_Cube.001_edges
+f 13/106/10 47/107/10 9/108/10 14/109/10
+f 6/110/9 12/111/9 11/112/9 5/113/9
+f 13/106/10 29/114/10 31/115/10 47/107/10
+f 6/110/9 34/116/9 30/117/9 12/111/9
+f 14/118/22 11/119/22 12/120/22 13/121/22
+f 29/122/23 13/121/23 12/120/23 30/123/23
diff --git a/homedecor_books/models/homedecor_book_open.obj b/homedecor_books/models/homedecor_book_open.obj
new file mode 100644
index 0000000..3e81ef2
--- /dev/null
+++ b/homedecor_books/models/homedecor_book_open.obj
@@ -0,0 +1,426 @@
+# Blender v2.78 (sub 0) OBJ File: 'book-open.blend'
+# www.blender.org
+o Cube.002_Cube.001
+v -0.012428 -0.485966 0.216625
+v 0.000000 -0.486750 -0.220555
+v -0.321341 -0.485966 -0.220555
+v 0.000001 -0.462863 0.208120
+v -0.310920 -0.485966 0.208120
+v -0.306022 -0.464409 0.208120
+v -0.306022 -0.464409 -0.212051
+v -0.310921 -0.485966 -0.212051
+v 0.000000 -0.462862 -0.212050
+v -0.016802 -0.500002 -0.212050
+v -0.016801 -0.500002 0.208120
+v -0.046213 -0.500002 0.208120
+v -0.046214 -0.500002 -0.212050
+v -0.046213 -0.500002 0.216625
+v -0.020445 -0.500002 0.216625
+v -0.012429 -0.485966 -0.220555
+v -0.020446 -0.500002 -0.220555
+v -0.321340 -0.500002 -0.220555
+v -0.321341 -0.500002 0.216624
+v -0.046214 -0.500002 -0.220555
+v -0.321341 -0.485966 0.216624
+v -0.238235 -0.450057 0.208120
+v 0.000001 -0.486750 0.216625
+v -0.238236 -0.450057 -0.212051
+v 0.306023 -0.464409 0.208120
+v 0.306023 -0.464409 -0.212051
+v 0.238237 -0.450057 0.208120
+v 0.238236 -0.450057 -0.212051
+v 0.046214 -0.500003 -0.212050
+v 0.046215 -0.500003 0.208120
+v 0.016803 -0.500003 0.208120
+v 0.016802 -0.500003 -0.212050
+v 0.000001 -0.481442 0.216625
+v 0.000000 -0.481442 -0.220555
+v 0.310922 -0.485967 -0.212051
+v 0.310922 -0.485967 0.208120
+v 0.321342 -0.485967 -0.220555
+v 0.012430 -0.485967 0.216625
+v 0.046215 -0.500003 0.216625
+v 0.020447 -0.500003 0.216625
+v 0.012429 -0.485967 -0.220555
+v 0.020446 -0.500003 -0.220555
+v 0.321341 -0.500003 -0.220555
+v 0.321343 -0.500003 0.216624
+v 0.046214 -0.500003 -0.220555
+v 0.321343 -0.485967 0.216624
+v 0.000001 -0.486750 0.208120
+v 0.000000 -0.486750 -0.212050
+v 0.086920 -0.442244 -0.212051
+v 0.086920 -0.442244 0.208120
+v -0.086847 -0.442244 -0.212050
+v -0.086847 -0.442244 0.208120
+v -0.043405 -0.447755 -0.212050
+v -0.043405 -0.447755 0.208120
+v 0.043478 -0.447755 -0.212050
+v 0.043478 -0.447755 0.208120
+v 0.010224 -0.490836 0.216625
+v -0.006214 -0.482857 0.216625
+v -0.006214 -0.482857 -0.220555
+v -0.008400 -0.490836 0.208120
+v -0.008401 -0.490836 -0.212050
+v -0.010223 -0.490836 -0.220555
+v -0.010222 -0.490836 0.216625
+v 0.010223 -0.490836 -0.220555
+v 0.008401 -0.490836 -0.212050
+v 0.008402 -0.490836 0.208120
+v 0.006215 -0.482858 -0.220555
+v 0.006215 -0.482858 0.216625
+v -0.012429 -0.485966 -0.212050
+v 0.000000 -0.481442 -0.212050
+v 0.012429 -0.485967 -0.212050
+v -0.006214 -0.482857 -0.212050
+v 0.006215 -0.482858 -0.212050
+v -0.012428 -0.485966 0.208120
+v 0.000001 -0.481442 0.208120
+v 0.012430 -0.485967 0.208120
+v -0.006214 -0.482857 0.208120
+v 0.006215 -0.482858 0.208120
+vt 0.9657 0.8392
+vt 0.7118 0.8392
+vt 0.7118 0.8325
+vt 0.7118 0.5038
+vt 0.7118 0.4971
+vt 0.9657 0.4971
+vt 0.3957 0.4947
+vt 0.3957 0.2612
+vt 0.4035 0.2612
+vt 0.4035 0.5029
+vt 0.6880 0.8392
+vt 0.6846 0.8325
+vt 0.9870 0.7388
+vt 0.9870 0.4971
+vt 1.0000 0.4971
+vt 1.0000 0.7124
+vt 1.0000 0.7326
+vt 0.9921 0.0000
+vt 0.9921 0.3421
+vt 0.9791 0.3421
+vt 0.9791 0.0000
+vt 0.9699 1.0000
+vt 0.9699 0.7583
+vt 0.9829 0.7646
+vt 0.9829 0.7847
+vt 0.9829 1.0000
+vt 0.4035 0.2417
+vt 0.3957 0.2417
+vt 0.3957 0.0082
+vt 0.4035 0.0000
+vt 0.6846 0.5038
+vt 0.0078 0.0082
+vt 0.0000 0.0000
+vt 0.6575 0.8325
+vt 0.6575 0.5038
+vt 0.6846 0.5038
+vt 0.6846 0.8325
+vt 0.6575 0.4971
+vt 0.6813 0.4971
+vt 0.9699 0.4971
+vt 0.9829 0.4971
+vt 0.9829 0.7124
+vt 0.9829 0.7326
+vt 0.9699 0.7388
+vt 0.9662 0.0000
+vt 0.9791 0.0000
+vt 0.9791 0.3421
+vt 0.9662 0.3421
+vt 0.9870 0.7583
+vt 1.0000 0.7646
+vt 1.0000 0.7847
+vt 1.0000 1.0000
+vt 0.9870 1.0000
+vt 0.6813 0.8392
+vt 0.6575 0.8392
+vt 0.0000 0.2612
+vt 0.0079 0.2612
+vt 0.0078 0.4947
+vt 0.0000 0.5029
+vt 0.4035 0.8392
+vt 0.4035 0.4971
+vt 0.6880 0.4971
+vt 0.9744 0.7406
+vt 0.9706 0.7486
+vt 0.9670 0.7437
+vt 0.9657 0.7486
+vt 0.9670 0.7534
+vt 0.9744 0.7566
+vt 0.9915 0.7406
+vt 0.9878 0.7486
+vt 0.9842 0.7437
+vt 0.9829 0.7486
+vt 0.9842 0.7534
+vt 0.9915 0.7566
+vt 0.0448 0.8450
+vt 0.0356 0.8450
+vt 0.0354 0.8383
+vt 0.0446 0.8383
+vt 0.9662 0.3421
+vt 0.9568 0.3421
+vt 0.9568 0.3354
+vt 0.9646 0.3354
+vt 0.9474 0.3421
+vt 0.9490 0.3354
+vt 0.0448 0.8450
+vt 0.0451 0.8383
+vt 0.0543 0.8383
+vt 0.0541 0.8450
+vt 0.0446 0.5095
+vt 0.0354 0.5095
+vt 0.0356 0.5029
+vt 0.0448 0.5029
+vt 0.9662 0.0000
+vt 0.9646 0.0067
+vt 0.9568 0.0067
+vt 0.9568 0.0000
+vt 0.9490 0.0067
+vt 0.9474 0.0000
+vt 0.0448 0.5029
+vt 0.0541 0.5029
+vt 0.0543 0.5095
+vt 0.0451 0.5095
+vt 0.0000 0.2563
+vt 0.0000 0.2514
+vt 0.0079 0.2514
+vt 0.0079 0.2563
+vt 0.0000 0.2466
+vt 0.0000 0.2417
+vt 0.0079 0.2417
+vt 0.0079 0.2466
+vt 0.4035 0.2514
+vt 0.4035 0.2563
+vt 0.3957 0.2563
+vt 0.3957 0.2514
+vt 0.4035 0.2466
+vt 0.3957 0.2466
+vt 0.7799 0.0000
+vt 0.7799 1.0000
+vt 0.7250 1.0000
+vt 0.7250 0.0000
+vt 0.7174 1.0000
+vt 0.6624 1.0000
+vt 0.6624 0.0000
+vt 0.7174 0.0000
+vt 0.1844 1.0000
+vt 0.1270 0.9704
+vt 0.2220 0.8967
+vt 0.4857 0.7931
+vt 0.4720 0.8965
+vt 0.3770 0.9704
+vt 0.2162 0.4330
+vt 0.1270 0.2600
+vt 0.0594 0.0000
+vt 0.0020 0.0296
+vt 0.0097 0.0148
+vt 0.2357 0.7933
+vt 0.0132 0.0000
+vt 0.0912 0.5670
+vt 0.0556 0.7283
+vt 0.0020 0.7400
+vt 0.1107 0.2069
+vt 0.1347 0.9852
+vt 0.0970 0.1035
+vt 0.1806 0.2717
+vt 0.1382 1.0000
+vt 0.3412 0.5670
+vt 0.3056 0.7283
+vt 0.2520 0.7400
+vt 0.2520 0.0296
+vt 0.3607 0.2067
+vt 0.3882 1.0000
+vt 0.3847 0.9852
+vt 0.4344 1.0000
+vt 0.3470 0.1033
+vt 0.4662 0.4330
+vt 0.3770 0.2600
+vt 0.3094 0.0000
+vt 0.2597 0.0148
+vt 0.2632 0.0000
+vt 0.4306 0.2717
+vt 0.6368 0.1563
+vt 0.8750 0.1563
+vt 0.8750 0.9843
+vt 0.6368 0.9843
+vt 0.0000 0.1563
+vt 0.1250 0.1563
+vt 0.1250 0.9843
+vt 0.0000 0.9843
+vt 1.0000 0.1563
+vt 1.0000 0.9843
+vt 0.3633 0.1563
+vt 0.4317 0.1563
+vt 0.4317 0.9843
+vt 0.3633 0.9843
+vt 0.5000 0.1563
+vt 0.5684 0.1563
+vt 0.5684 0.9843
+vt 0.5000 0.9843
+vn -0.5773 -0.5773 -0.5773
+vn 0.0000 -0.7071 -0.7071
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 -0.7071 0.7071
+vn -0.5773 -0.5773 0.5773
+vn 0.2807 0.9275 0.2469
+vn 0.1729 0.7321 0.6588
+vn 0.1487 0.6294 0.7627
+vn 0.5773 0.5773 0.5773
+vn 0.2166 -0.7111 -0.6688
+vn 0.4287 -0.9005 -0.0717
+vn -0.1487 0.6294 0.7627
+vn -0.5773 0.5773 0.5773
+vn 0.2166 -0.7111 0.6688
+vn -0.5773 0.5773 -0.5773
+vn -0.1487 0.6294 -0.7627
+vn -0.1729 0.7321 0.6588
+vn -0.2807 0.9275 0.2469
+vn 0.4287 -0.9005 0.0717
+vn -0.2807 0.9275 -0.2469
+vn -0.4288 -0.9005 0.0717
+vn -0.4288 -0.9005 -0.0717
+vn -0.2166 -0.7111 0.6688
+vn 0.5773 0.5773 -0.5773
+vn 0.5773 -0.5773 -0.5773
+vn -0.2166 -0.7111 -0.6688
+vn 0.1487 0.6294 -0.7627
+vn 0.5773 -0.5773 0.5773
+vn 0.1729 0.7321 -0.6588
+vn 0.2807 0.9275 -0.2469
+vn -0.3503 -0.4967 -0.7941
+vn 0.0000 -0.5800 -0.8146
+vn 0.2469 0.6893 -0.6811
+vn 0.0000 0.7509 -0.6604
+vn -0.2468 0.6893 -0.6811
+vn 0.3503 -0.4967 -0.7941
+vn 0.3503 -0.4967 0.7941
+vn 0.0000 -0.5800 0.8146
+vn -0.2468 0.6893 0.6811
+vn 0.0000 0.7509 0.6604
+vn 0.2469 0.6893 0.6811
+vn -0.3503 -0.4967 0.7941
+vn -0.5696 -0.8195 0.0629
+vn 0.0000 -0.9997 0.0237
+vn 0.5696 -0.8195 0.0629
+vn -0.5696 -0.8195 -0.0629
+vn 0.0000 -0.9997 -0.0237
+vn 0.5696 -0.8195 -0.0629
+vn 0.0000 0.6491 -0.7606
+vn 0.2286 0.6383 -0.7350
+vn -0.1729 0.7321 -0.6588
+vn -0.2286 0.6383 -0.7350
+vn 0.2286 0.6383 0.7350
+vn 0.0000 0.6491 0.7606
+vn -0.2286 0.6383 0.7350
+vn -0.5596 0.5679 0.6035
+vn -0.5596 0.5679 -0.6035
+vn 0.5596 0.5679 -0.6035
+vn 0.5596 0.5679 0.6035
+vn 0.0002 0.6143 -0.7890
+vn 0.1666 0.7098 -0.6844
+vn -0.0271 0.7255 0.6876
+vn -0.1664 0.7098 0.6844
+vn -0.0939 0.7178 -0.6898
+vn 0.0271 0.7255 -0.6876
+vn 0.0939 0.7178 -0.6898
+vn -0.0271 0.7255 -0.6876
+vn -0.1664 0.7098 -0.6844
+vn -0.0939 0.7178 0.6898
+vn 0.0271 0.7255 0.6876
+vn 0.0002 0.6143 0.7890
+vn 0.1666 0.7098 0.6844
+vn 0.0939 0.7178 0.6898
+g Cube.002_Cube.001_Cube.002_Cube.001_cover
+s 1
+f 18/1/1 20/2/2 13/3/3 12/4/3 14/5/4 19/6/5
+f 36/7/6 76/8/7 38/9/8 46/10/9
+f 13/3/3 20/2/2 17/11/10 10/12/11
+f 1/13/12 21/14/13 19/15/5 14/16/4 15/17/14
+f 18/18/1 19/19/5 21/20/13 3/21/15
+f 3/22/15 16/23/16 17/24/10 20/25/2 18/26/1
+f 1/27/12 74/28/17 5/29/18 21/30/13
+f 13/3/3 10/12/11 11/31/19 12/4/3
+f 21/30/13 5/29/18 8/32/20 3/33/15
+f 29/34/3 30/35/3 31/36/21 32/37/22
+f 31/36/21 30/35/3 39/38/4 40/39/23
+f 37/40/24 43/41/25 45/42/2 42/43/26 41/44/27
+f 43/45/25 37/46/24 46/47/9 44/48/28
+f 38/49/8 40/50/23 39/51/4 44/52/28 46/53/9
+f 29/34/3 32/37/22 42/54/26 45/55/2
+f 41/56/27 71/57/29 35/58/30 37/59/24
+f 35/58/30 36/7/6 46/10/9 37/59/24
+f 43/60/25 44/61/28 39/38/4 30/35/3 29/34/3 45/55/2
+f 15/62/14 14/5/4 12/4/3 11/31/19
+f 42/43/26 64/63/31 41/44/27
+f 41/44/27 64/63/31 2/64/32 67/65/33
+f 67/65/33 2/64/32 34/66/34
+f 34/66/34 2/64/32 59/67/35
+f 2/64/32 62/68/36 16/23/16 59/67/35
+f 16/23/16 62/68/36 17/24/10
+f 15/17/14 63/69/37 1/13/12
+f 23/70/38 58/71/39 1/13/12 63/69/37
+f 58/71/39 23/70/38 33/72/40
+f 68/73/41 33/72/40 23/70/38
+f 38/49/8 68/73/41 23/70/38 57/74/42
+f 57/74/42 40/50/23 38/49/8
+f 40/75/23 57/76/42 66/77/43 31/78/21
+f 57/79/42 23/80/38 47/81/44 66/82/43
+f 47/81/44 23/80/38 63/83/37 60/84/45
+f 15/85/14 11/86/19 60/87/45 63/88/37
+f 32/89/22 65/90/46 64/91/31 42/92/26
+f 64/93/31 65/94/46 48/95/47 2/96/32
+f 48/95/47 61/97/48 62/98/36 2/96/32
+f 17/99/10 62/100/36 61/101/48 10/102/11
+f 67/103/33 34/104/34 70/105/49 73/106/50
+f 59/107/35 16/108/16 69/109/51 72/110/52
+f 41/56/27 67/103/33 73/106/50 71/57/29
+f 34/104/34 59/107/35 72/110/52 70/105/49
+f 33/111/40 68/112/41 78/113/53 75/114/54
+f 1/27/12 58/115/39 77/116/55 74/28/17
+f 68/112/41 38/9/8 76/8/7 78/113/53
+f 58/115/39 33/111/40 75/114/54 77/116/55
+f 8/32/20 69/109/51 16/108/16 3/33/15
+f 10/102/11 61/101/48 60/87/45 11/86/19
+f 47/81/44 60/84/45 61/97/48 48/95/47
+f 65/94/46 66/82/43 47/81/44 48/95/47
+f 31/78/21 66/77/43 65/90/46 32/89/22
+g Cube.002_Cube.001_Cube.002_Cube.001_edges
+f 8/117/20 5/118/18 6/119/56 7/120/57
+f 35/121/30 26/122/58 25/123/59 36/124/6
+f 9/125/60 69/126/51 53/127/61
+f 50/128/62 56/129/63 76/130/7
+f 24/131/64 69/126/51 8/132/20
+f 9/133/60 71/134/29 73/135/50
+f 51/136/65 53/127/61 69/126/51
+f 9/133/60 73/135/50 70/137/49
+f 28/138/66 26/139/58 35/140/30
+f 71/134/29 49/141/67 28/138/66
+f 72/142/52 69/126/51 9/125/60
+f 71/134/29 55/143/68 49/141/67
+f 28/138/66 35/140/30 71/134/29
+f 24/131/64 8/132/20 7/144/57
+f 69/126/51 24/131/64 51/136/65
+f 9/133/60 55/143/68 71/134/29
+f 70/145/49 72/142/52 9/125/60
+f 22/146/69 6/147/56 5/148/18
+f 74/149/17 52/150/70 22/146/69
+f 75/151/54 78/152/53 4/153/71
+f 74/149/17 54/154/72 52/150/70
+f 22/146/69 5/148/18 74/149/17
+f 27/155/73 76/130/7 36/156/6
+f 4/157/71 74/149/17 77/158/55
+f 27/155/73 50/128/62 76/130/7
+f 4/157/71 77/158/55 75/159/54
+f 4/153/71 78/152/53 76/130/7
+f 4/157/71 54/154/72 74/149/17
+f 27/155/73 36/156/6 25/160/59
+f 56/129/63 4/153/71 76/130/7
+g Cube.002_Cube.001_Cube.002_Cube.001_pages
+f 50/161/62 27/162/73 28/163/66 49/164/67
+f 6/165/56 22/166/69 24/167/64 7/168/57
+f 27/162/73 25/169/59 26/170/58 28/163/66
+f 52/171/70 54/172/72 53/173/61 51/174/65
+f 22/166/69 52/171/70 51/174/65 24/167/64
+f 4/175/71 56/176/63 55/177/68 9/178/60
+f 54/172/72 4/175/71 9/178/60 53/173/61
+f 56/176/63 50/161/62 49/164/67 55/177/68
diff --git a/homedecor_books/textures/homedecor_book_cover.png b/homedecor_books/textures/homedecor_book_cover.png
new file mode 100644
index 0000000..2fb8514
--- /dev/null
+++ b/homedecor_books/textures/homedecor_book_cover.png
Binary files differ
diff --git a/homedecor_books/textures/homedecor_book_cover_trim.png b/homedecor_books/textures/homedecor_book_cover_trim.png
new file mode 100644
index 0000000..5425385
--- /dev/null
+++ b/homedecor_books/textures/homedecor_book_cover_trim.png
Binary files differ
diff --git a/homedecor_books/textures/homedecor_book_edges.png b/homedecor_books/textures/homedecor_book_edges.png
new file mode 100644
index 0000000..5b48944
--- /dev/null
+++ b/homedecor_books/textures/homedecor_book_edges.png
Binary files differ
diff --git a/homedecor_books/textures/homedecor_book_inv.png b/homedecor_books/textures/homedecor_book_inv.png
new file mode 100644
index 0000000..b8dd243
--- /dev/null
+++ b/homedecor_books/textures/homedecor_book_inv.png
Binary files differ
diff --git a/homedecor_books/textures/homedecor_book_pages.png b/homedecor_books/textures/homedecor_book_pages.png
new file mode 100644
index 0000000..d4bad77
--- /dev/null
+++ b/homedecor_books/textures/homedecor_book_pages.png
Binary files differ
diff --git a/homedecor_books/textures/homedecor_book_trim_inv.png b/homedecor_books/textures/homedecor_book_trim_inv.png
new file mode 100644
index 0000000..7096703
--- /dev/null
+++ b/homedecor_books/textures/homedecor_book_trim_inv.png
Binary files differ