initial upload

master
NathanSalapat 2020-04-12 20:20:07 -05:00
commit 8e1edce163
70 changed files with 3587 additions and 0 deletions

46
bedroom.lua Normal file
View File

@ -0,0 +1,46 @@
local dye_table = dye.dyes
for i in ipairs(dye_table) do
local name = dye_table[i][1]
local desc = dye_table[i][2]
local hex = dye_table[i][3]
minetest.register_node('furniture:bed1_'..name, {
description = 'Bed with '..desc..' Blankets',
drawtype = 'mesh',
mesh = 'furniture_bed1.obj',
tiles = {'furniture_bed1_wood.png', 'furniture_bed1_sheets.png'},
overlay_tiles = {{name = '(furniture_bed1_sheets.png^[multiply:'..hex..')^furniture_bed1_mask.png', color = 'white'}},
paramtype = 'light',
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
selection_box = {
type = 'fixed',
fixed = {{-.5, -.5, -.5, .5, 0, 1.5},
{-.5, 0, 1.35, .5, .5, 1.5}}
},
collision_box = {
type = 'fixed',
fixed = {{-.5, -.5, -.5, .5, 0, 1.5},
{-.5, 0, 1.35, .5, .5, 1.5}}
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
after_place_node = function(pos, placer, itemstack)
if not epic.space_to_front(pos) then
minetest.remove_node(pos)
return itemstack
end
end,
after_dig_node = function(pos, oldnode)
epic.remove_front_node(pos, oldnode)
end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
beds.on_rightclick(pos, clicker)
return itemstack
end,
on_rotate = function(pos, node)
return false
end,
})
end

32
craftitems.lua Normal file
View File

@ -0,0 +1,32 @@
minetest.register_craftitem('furniture:brush', {
description = 'Stain Brush',
inventory_image = 'furniture_brush.png',
groups = {stain_brush = 1}
})
minetest.register_craftitem('furniture:hinge', {
description = 'Hinge',
inventory_image = 'furniture_hinge.png'
})
minetest.register_craftitem('furniture:lock', {
description = 'Lock',
inventory_image = 'furniture_lock.png'
})
minetest.register_craftitem('furniture:thread', {
description = 'Spool of Thread',
inventory_image = 'furniture_thread.png',
groups = {thread=1, not_in_creative_inventory=1}
})
minetest.register_craftitem('furniture:wheel', {
description = 'Wooden Wheel',
inventory_image = 'furniture_wheel.png'
})
minetest.register_craftitem('furniture:fabric', {
description = 'Fabric',
inventory_image = 'furniture_fabric.png',
groups = {fabric=1, not_in_creative_inventory=1}
})

98
decor.lua Normal file
View File

@ -0,0 +1,98 @@
local dye_table = dye.dyes
for i in ipairs(dye_table) do
local name = dye_table[i][1]
local desc = dye_table[i][2]
local hex = dye_table[i][3]
minetest.register_node('furniture:curtain_short_'..name..'_0', {
description = 'Short '..desc..' Curtain Closed',
drawtype = 'mesh',
mesh = 'furniture_curtain_short.obj',
tiles = {'furniture_curtain_short_0.png^[multiply:'..hex},
paramtype = 'light',
paramtype2 = 'facedir',
drop = 'furniture:curtain_short_'..name..'_1',
selection_box = {
type = 'fixed',
fixed = {-.5, -.5, .4, .5, .5, .5},
},
collision_box = {
type = 'fixed',
fixed = {-.5, -.5, .4, .5, .5, .5},
},
groups = {oddly_breakable_by_hand = 3, snappy=3, not_in_creative_inventory=1},
on_rightclick = function(pos, node)
minetest.set_node(pos, {name='furniture:curtain_short_'..name..'_1', param2 = node.param2})
end
})
minetest.register_node('furniture:curtain_short_'..name..'_1', {
description = 'Short '..desc..' Curtain Open',
drawtype = 'mesh',
mesh = 'furniture_curtain_short.obj',
tiles = {'furniture_curtain_short_1.png^[multiply:'..hex},
inventory_image = 'furniture_curtain_short_1.png^[multiply:'..hex,
paramtype = 'light',
paramtype2 = 'facedir',
sunlight_propagates = true,
selection_box = {
type = 'fixed',
fixed = {-.5, -.5, .4, .5, .5, .5},
},
collision_box = {
type = 'fixed',
fixed = {-.5, -.5, .4, .5, .5, .5},
},
groups = {oddly_breakable_by_hand = 3, snappy=3},
on_rightclick = function(pos, node)
minetest.set_node(pos, {name='furniture:curtain_short_'..name..'_0', param2 = node.param2})
end
})
minetest.register_node('furniture:curtain_tall_'..name..'_0', {
description = 'Tall '..desc..' Curtain Closed',
drawtype = 'mesh',
mesh = 'furniture_curtain_tall.obj',
tiles = {'furniture_curtain_tall_0.png^[multiply:'..hex},
paramtype = 'light',
paramtype2 = 'facedir',
drop = 'furniture:curtain_tall_'..name..'_1',
selection_box = {
type = 'fixed',
fixed = {-.5, -1.3, .4, .5, .5, .5},
},
collision_box = {
type = 'fixed',
fixed = {-.5, -1.3, .4, .5, .5, .5},
},
groups = {oddly_breakable_by_hand = 3, snappy=3, not_in_creative_inventory=1},
on_rightclick = function(pos, node)
minetest.set_node(pos, {name='furniture:curtain_tall_'..name..'_1', param2 = node.param2})
end
})
minetest.register_node('furniture:curtain_tall_'..name..'_1', {
description = 'Tall '..desc..' Curtain Open',
drawtype = 'mesh',
mesh = 'furniture_curtain_tall.obj',
tiles = {'furniture_curtain_tall_1.png^[multiply:'..hex},
inventory_image = 'furniture_curtain_tall_1.png^[multiply:'..hex,
paramtype = 'light',
paramtype2 = 'facedir',
sunlight_propagates = true,
selection_box = {
type = 'fixed',
fixed = {-.5, -1.3, .4, .5, .5, .5},
},
collision_box = {
type = 'fixed',
fixed = {-.5, -1.3, .4, .5, .5, .5},
},
groups = {oddly_breakable_by_hand = 3, snappy=3},
on_rightclick = function(pos, node)
minetest.set_node(pos, {name='furniture:curtain_tall_'..name..'_0', param2 = node.param2})
end
})
end

25
fabricandthread.lua Normal file
View File

@ -0,0 +1,25 @@
local dye_table = dye.dyes
for i in ipairs(dye_table) do
local name = dye_table[i][1]
local desc = dye_table[i][2]
local hex = dye_table[i][3]
minetest.register_craftitem('furniture:fabric_'..name, {
description = (desc..' Fabric'),
inventory_image = 'furniture_fabric.png^[multiply:'..hex,
groups = {fabric=1}
})
minetest.register_craftitem('furniture:thread_'..name, {
description = (desc..' Spool of Thread'),
inventory_image = '(furniture_thread.png^[multiply:'..hex..')^furniture_thread_mask.png',
groups = {thread=1}
})
minetest.register_craftitem('furniture:cushion_'..name, {
description = (desc..' Cushion'),
inventory_image = 'furniture_cushion_pad_inv.png^[multiply:'..hex,
})
end

72
formspecs.lua Normal file
View File

@ -0,0 +1,72 @@
local esc = minetest.formspec_escape
local title, text = '', ''
function furniture.storage_24_form(pos, name)
local meta = minetest.get_meta(pos)
local spos = pos.x .. "," .. pos.y .. "," .. pos.z
local existing_name = meta:get_string('infotext')
name = name or existing_name
local formspec =
'size[8,7.75]'..
'list[nodemeta:'..spos..';main;0,0;8,3;]'..
'field[1.3,3.3;2,1;description;;'..name..']'..
'button[3,3;1,1;save;Save]'..
'button[4,3;1,1;sort;Sort]'..
'list[current_player;main;0,4;8,4;]'..
'listring[]'
return formspec
end
function furniture.storage_32_form(pos, name)
local meta = minetest.get_meta(pos)
local existing_name = meta:get_string('infotext')
name = name or existing_name
local formspec =
'size[8,8.75]'..
'list[current_name;main;0,0;8,4;]'..
'field[1.3,4.3;2,1;description;;'..name..']'..
'button[3,4;1,1;save;Save]'..
'button[4,4;1,1;sort;Sort]'..
'list[current_player;main;0,5;8,4;]'..
'listring[]'
return formspec
end
function furniture.storage_60_form(pos, name)
local meta = minetest.get_meta(pos)
local existing_name = meta:get_string('infotext')
name = name or existing_name
local formspec =
'size[10,10.75]'..
'list[current_name;main;0,0;10,6;]'..
'field[2.3,6.3;2,1;description;;'..name..']'..
'button[4,6;1,1;save;Save]'..
'button[5,6;1,1;sort;Sort]'..
'list[current_player;main;1,7;8,4;]'..
'listring[]'
return formspec
end
local lectern_formspec =
'size[11,8]'..
'no_prepend[]'..
'bgcolor[#080808BB;true]'..
'background[0,0;11,8;furniture_lectern_formspec.png]'
function furniture.lectern_edit_sign(title, content)
local formspec =
lectern_formspec..
"field[0.5,1;7.5,0;title;"..esc("Title:")..";"..esc(title) .. "]" ..
"label[0.25,1.1;Body:]"..
"textarea[0.5,1.5;10.6,5.5;content;;"..esc(content).."]" ..
"button_exit[4,6.5;4,1;save;Save]"
return formspec
end
function furniture.lectern_view_sign(title, content)
local formspec =
lectern_formspec..
'hypertext[0,0;11,1;;<center><style color=black size=40>'..esc(title)..'</style></center>]'..
"textarea[0.5,1.5;10.6,6.5;;;"..esc(content).."]"
return formspec
end

110
functions.lua Normal file
View File

@ -0,0 +1,110 @@
--Mostly stolen code from Xdecor.
local function top_face(pointed_thing)
if not pointed_thing then return end
return pointed_thing.above.y > pointed_thing.under.y
end
function furniture.sit(pos, node, clicker, pointed_thing, rotate)
if not top_face(pointed_thing) then return end
local player_name = clicker:get_player_name()
local objs = minetest.get_objects_inside_radius(pos, 0.1)
local vel = clicker:get_player_velocity()
local ctrl = clicker:get_player_control()
local fdir = node.param2 % 32
for _, obj in pairs(objs) do
if obj:is_player() and obj:get_player_name() ~= player_name then
return
end
end
if default.player_attached[player_name] then
pos.y = pos.y - 0.5
clicker:set_pos(pos)
clicker:set_eye_offset(vector.new(), vector.new())
clicker:set_physics_override(furniture.players[player_name])
default.player_attached[player_name] = false
default.player_set_animation(clicker, "stand", 30)
elseif not default.player_attached[player_name] and fdir <= 3 and
not ctrl.sneak and vector.equals(vel, vector.new()) then
furniture.players[player_name] = clicker:get_physics_override()
clicker:set_eye_offset({x = 0, y = -7, z = 2}, vector.new())
clicker:set_physics_override({speed = 0, jump = 0, gravity = 1})
clicker:set_pos(pos)
default.player_attached[player_name] = true
default.player_set_animation(clicker, "sit", 30)
if rotate then
if fdir == 0 then
clicker:set_look_yaw(3.15)
elseif fdir == 1 then
clicker:set_look_yaw(7.9)
elseif fdir == 2 then
clicker:set_look_yaw(6.28)
elseif fdir == 3 then
clicker:set_look_yaw(4.75)
end
end
end
end
function furniture.sort_inventory(inv) -- Copied from the Technic_chests mod.
local inlist = inv:get_list("main")
local typecnt = {}
local typekeys = {}
for _, st in ipairs(inlist) do
if not st:is_empty() then
local n = st:get_name()
local w = st:get_wear()
local m = st:get_metadata()
local k = string.format("%s %05d %s", n, w, m)
if not typecnt[k] then
typecnt[k] = {
name = n,
wear = w,
metadata = m,
stack_max = st:get_stack_max(),
count = 0,
}
table.insert(typekeys, k)
end
typecnt[k].count = typecnt[k].count + st:get_count()
end
end
table.sort(typekeys)
local outlist = {}
for _, k in ipairs(typekeys) do
local tc = typecnt[k]
while tc.count > 0 do
local c = math.min(tc.count, tc.stack_max)
table.insert(outlist, ItemStack({
name = tc.name,
wear = tc.wear,
metadata = tc.metadata,
count = c,
}))
tc.count = tc.count - c
end
end
if #outlist > #inlist then return end
while #outlist < #inlist do
table.insert(outlist, ItemStack(nil))
end
inv:set_list("main", outlist)
end
function furniture.inv_take_put(pos, listname, index, stack, player)
local player_name = player:get_player_name()
if minetest.is_protected(pos, player_name) and not minetest.check_player_privs(player, 'protection_bypass') then
return 0
else
return 99
end
end
function furniture.inv_manipulate(pos, from_list, from_index, to_list, to_index, count, player)
local player_name = player:get_player_name()
if minetest.is_protected(pos, player_name) and not minetest.check_player_privs(player, 'protection_bypass') then
return 0
else
return 99
end
end

13
init.lua Normal file
View File

@ -0,0 +1,13 @@
furniture = {}
furniture.players = {}
dofile(minetest.get_modpath('furniture')..'/bedroom.lua') --Things you'd find in a bedroom.
dofile(minetest.get_modpath('furniture')..'/craftitems.lua') --Items used in recipes.
dofile(minetest.get_modpath('furniture')..'/decor.lua')
dofile(minetest.get_modpath('furniture')..'/fabricandthread.lua')
dofile(minetest.get_modpath('furniture')..'/formspecs.lua') --Formspecs for the nodes.
dofile(minetest.get_modpath('furniture')..'/functions.lua') --Different functions to control stuff.
dofile(minetest.get_modpath('furniture')..'/library.lua') --Books things.
dofile(minetest.get_modpath('furniture')..'/seating.lua') --chairs, benches, stools
dofile(minetest.get_modpath('furniture')..'/stain.lua') --Brushes for coloring furniture
dofile(minetest.get_modpath('furniture')..'/storage.lua') --Chests, boxes, etc.
dofile(minetest.get_modpath('furniture')..'/tables.lua') --Not sure if I'll ever have more than one table.

48
library.lua Normal file
View File

@ -0,0 +1,48 @@
minetest.register_node('furniture:lectern', {
description = 'Lectern',
drawtype = 'mesh',
mesh = 'furniture_lectern.obj',
tiles = {'furniture_lectern.png',},
sounds = default.node_sound_wood_defaults(),
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
paramtype = 'light',
selection_box = {
type = 'fixed',
fixed = {-.3, -.5, -.3, .3, .5, .3},
},
collision_box = {
type = 'fixed',
fixed = {-.3, -.5, -.3, .3, .5, .3},
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos)
meta:set_string('owner', placer:get_player_name())
meta:set_string('infotext', '')
meta:set_string('title', '')
meta:set_string('content', '')
end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
local name = clicker:get_player_name()
local meta = minetest.get_meta(pos)
local owner = meta:get_string('owner')
local title = meta:get_string('title')
local content = meta:get_string('content')
if owner == name then
meta:set_string('formspec', furniture.lectern_edit_sign(title, content))
else
meta:set_string('formspec', furniture.lectern_view_sign(title, content))
end
end,
on_receive_fields = function(pos, formname, fields, sender)
local meta = minetest.get_meta(pos)
if fields ['save'] then
local player_name = sender:get_player_name()
meta:set_string('infotext', fields.title)
meta:set_string('title', fields.title)
meta:set_string('content', fields.content)
minetest.log("action", (player_name or "").." wrote \""..fields.title.."\" to lectern at "..minetest.pos_to_string(pos))
end
end,
})

6
license.txt Normal file
View File

@ -0,0 +1,6 @@
Models within furniture.blend are licensed CC by-SA 4.0
NathanS21 | nathansalapat.com
Wood grain textures are derived from https://renderman.pixar.com/pixar-one-twenty-eight licensed CC by 4.0
Remaining textures are created by me, licensed CC by-SA 4.0

2
mod.conf Normal file
View File

@ -0,0 +1,2 @@
name = furniture
depends = xdecor, epic, beds

290
models/furniture_bed1.obj Normal file
View File

@ -0,0 +1,290 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Bed_Cube.010
v -0.437500 -0.437500 1.437500
v -0.437500 0.000000 1.437500
v -0.437500 -0.437500 -0.437500
v -0.437500 0.000000 -0.437500
v 0.437500 -0.437500 1.437500
v 0.437500 0.000000 1.437500
v 0.437500 -0.437500 -0.437500
v 0.437500 0.000000 -0.437500
v 0.375000 0.062500 -0.500000
v 0.375000 -0.500000 -0.500000
v 0.375000 0.062500 -0.375000
v 0.375000 -0.500000 -0.375000
v 0.500000 -0.500000 -0.375000
v 0.500000 0.062500 -0.375000
v 0.500000 -0.500000 -0.500000
v 0.500000 0.062500 -0.500000
v 0.375000 0.500000 1.375000
v 0.375000 -0.500000 1.375000
v 0.375000 0.500000 1.500000
v 0.375000 -0.500000 1.500000
v 0.500000 -0.500000 1.500000
v 0.500000 0.500000 1.500000
v 0.500000 -0.500000 1.375000
v 0.500000 0.500000 1.375000
v -0.375000 0.062500 1.468750
v -0.375000 0.437500 1.468750
v -0.375000 0.062500 1.406250
v -0.375000 0.437500 1.406250
v 0.375000 0.062500 1.468750
v 0.375000 0.437500 1.468750
v 0.375000 0.062500 1.406250
v 0.375000 0.437500 1.406250
v -0.375000 0.000000 1.375000
v -0.375000 0.062500 1.375000
v -0.375000 0.000000 1.062500
v -0.375000 0.062500 1.062500
v 0.375000 0.000000 1.375000
v 0.375000 0.062500 1.375000
v 0.375000 0.000000 1.062500
v 0.375000 0.062500 1.062500
v -0.500000 0.062500 -0.375000
v -0.500000 -0.500000 -0.375000
v -0.375000 0.062500 -0.375000
v -0.375000 -0.500000 -0.375000
v -0.375000 -0.500000 -0.500000
v -0.375000 0.062500 -0.500000
v -0.500000 -0.500000 -0.500000
v -0.500000 0.062500 -0.500000
v -0.375000 0.500000 1.375000
v -0.375000 -0.500000 1.375000
v -0.500000 0.500000 1.375000
v -0.500000 -0.500000 1.375000
v -0.500000 -0.500000 1.500000
v -0.500000 0.500000 1.500000
v -0.375000 -0.500000 1.500000
v -0.375000 0.500000 1.500000
v -0.437500 0.000000 1.437500
v -0.437500 0.000000 -0.437500
v 0.437500 0.000000 1.437500
v 0.437500 0.000000 -0.437500
v -0.437500 0.000000 1.437500
v -0.437500 0.000000 -0.437500
v 0.437500 0.000000 1.437500
v 0.437500 0.000000 -0.437500
v -0.437500 0.000000 1.437500
v -0.437500 0.000000 -0.437500
v 0.437500 0.000000 1.437500
v 0.437500 0.000000 -0.437500
v -0.437500 0.000000 1.437500
v -0.437500 0.000000 -0.437500
v 0.437500 0.000000 1.437500
v 0.437500 0.000000 -0.437500
v -0.437500 0.000000 1.437500
v -0.437500 0.000000 -0.437500
v 0.437500 0.000000 1.437500
v 0.437500 0.000000 -0.437500
v -0.437500 0.000000 1.437500
v -0.437500 0.000000 -0.437500
v 0.437500 0.000000 1.437500
v 0.437500 0.000000 -0.437500
v -0.437500 0.000000 1.437500
v -0.437500 0.000000 -0.437500
v 0.437500 0.000000 1.437500
v 0.437500 0.000000 -0.437500
v -0.437500 0.000000 1.437500
v -0.437500 0.000000 -0.437500
v 0.437500 0.000000 1.437500
v 0.437500 0.000000 -0.437500
v -0.437500 0.000000 1.437500
v -0.437500 0.000000 -0.437500
v 0.437500 0.000000 1.437500
v 0.437500 0.000000 -0.437500
vt 0.437500 0.890625
vt 0.328125 0.890625
vt 0.328125 0.421875
vt 0.437500 0.421875
vt 0.328125 0.312500
vt 0.109375 0.421875
vt 0.109375 0.312500
vt 0.000000 0.421875
vt 0.109375 0.890625
vt 0.000000 0.890625
vt 0.109375 1.000000
vt 0.328125 1.000000
vt 0.109375 0.421875
vt 0.109375 0.890625
vt 0.734375 0.000000
vt 0.734375 0.140625
vt 0.703125 0.140625
vt 0.703125 0.000000
vt 0.671875 0.140625
vt 0.671875 0.000000
vt 0.640625 0.140625
vt 0.640625 0.000000
vt 0.609375 0.140625
vt 0.609375 0.000000
vt 0.703125 0.171875
vt 0.734375 0.171875
vt 0.031250 0.000000
vt 0.031250 0.250000
vt 0.000000 0.250000
vt 0.000000 0.000000
vt 0.125000 0.000000
vt 0.125000 0.250000
vt 0.093750 0.250000
vt 0.093750 0.000000
vt 0.062500 0.250000
vt 0.062500 0.000000
vt 0.000000 0.281250
vt 0.031250 0.281250
vt 0.476562 0.187500
vt 0.382812 0.187500
vt 0.382812 0.000000
vt 0.476562 0.000000
vt 0.273438 0.000000
vt 0.367188 0.000000
vt 0.367188 0.187500
vt 0.273438 0.187500
vt 0.257812 0.187500
vt 0.257812 0.000000
vt 0.453125 0.906250
vt 0.468750 0.906250
vt 0.468750 0.984375
vt 0.453125 0.984375
vt 0.468750 1.000000
vt 0.656250 0.984375
vt 0.656250 1.000000
vt 0.671875 0.984375
vt 0.656250 0.906250
vt 0.671875 0.906250
vt 0.656250 0.890625
vt 0.468750 0.890625
vt 0.609375 0.000000
vt 0.609375 0.140625
vt 0.578125 0.140625
vt 0.578125 0.000000
vt 0.546875 0.140625
vt 0.546875 0.000000
vt 0.515625 0.140625
vt 0.515625 0.000000
vt 0.484375 0.140625
vt 0.484375 0.000000
vt 0.578125 0.171875
vt 0.609375 0.171875
vt 0.156250 0.000000
vt 0.156250 0.250000
vt 0.125000 0.250000
vt 0.125000 0.000000
vt 0.250000 0.000000
vt 0.250000 0.250000
vt 0.218750 0.250000
vt 0.218750 0.000000
vt 0.187500 0.250000
vt 0.187500 0.000000
vt 0.125000 0.281250
vt 0.156250 0.281250
vt 0.328125 0.890625
vt 0.109375 0.890625
vt 0.328125 0.890625
vt 0.328125 0.421875
vt 0.109375 0.421875
vt 0.109375 0.421875
vt 0.109375 0.890625
vt 0.328125 0.421875
vt 0.328125 0.890625
vt 0.109375 0.890625
vt 0.328125 0.890625
vt 0.328125 0.421875
vt 0.109375 0.421875
vt 0.328125 0.421875
vt 0.328125 0.421875
vt 0.109375 0.421875
vt 0.109375 0.890625
vt 0.109375 0.421875
vt 0.109375 0.890625
vt 0.328125 0.890625
vt 0.328125 0.890625
vt 0.109375 0.890625
vt 0.328125 0.890625
vt 0.328125 0.421875
vt 0.109375 0.421875
vt 0.109375 0.421875
vt 0.109375 0.890625
vt 0.328125 0.421875
vt 0.109375 0.421875
vt 0.109375 0.890625
vt 0.328125 0.890625
vt 0.328125 0.421875
vt 0.328125 0.421875
vt 0.328125 0.890625
vn -1.0000 0.0000 0.0000
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
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/3/2 8/6/2 7/7/2
f 7/8/3 8/6/3 6/9/3 5/10/3
f 5/11/4 6/9/4 2/2/4 1/12/4
f 6/9/4 8/6/4 60/13/4 59/14/4
f 12/15/1 11/16/1 9/17/1 10/18/1
f 10/18/2 9/17/2 16/19/2 15/20/2
f 15/20/3 16/19/3 14/21/3 13/22/3
f 13/22/4 14/21/4 11/23/4 12/24/4
f 16/25/5 9/17/5 11/16/5 14/26/5
f 20/27/1 19/28/1 17/29/1 18/30/1
f 18/31/2 17/32/2 24/33/2 23/34/2
f 23/34/3 24/33/3 22/35/3 21/36/3
f 21/36/4 22/35/4 19/28/4 20/27/4
f 24/37/5 17/29/5 19/28/5 22/38/5
f 27/39/2 28/40/2 32/41/2 31/42/2
f 29/43/4 30/44/4 26/45/4 25/46/4
f 27/47/6 31/48/6 29/43/6 25/46/6
f 32/41/5 28/40/5 26/45/5 30/44/5
f 33/49/1 34/50/1 36/51/1 35/52/1
f 35/53/2 36/51/2 40/54/2 39/55/2
f 39/56/3 40/54/3 38/57/3 37/58/3
f 37/59/4 38/57/4 34/50/4 33/60/4
f 40/54/5 36/51/5 34/50/5 38/57/5
f 44/61/4 43/62/4 41/63/4 42/64/4
f 42/64/1 41/63/1 48/65/1 47/66/1
f 47/66/2 48/65/2 46/67/2 45/68/2
f 45/68/3 46/67/3 43/69/3 44/70/3
f 48/71/5 41/63/5 43/62/5 46/72/5
f 52/73/2 51/74/2 49/75/2 50/76/2
f 50/77/3 49/78/3 56/79/3 55/80/3
f 55/80/4 56/79/4 54/81/4 53/82/4
f 53/82/1 54/81/1 51/74/1 52/73/1
f 56/83/5 49/75/5 51/74/5 54/84/5
f 57/85/4 59/14/4 63/86/4 61/87/4
f 4/3/4 2/2/4 57/85/4 58/88/4
f 2/2/4 6/9/4 59/14/4 57/85/4
f 8/6/4 4/3/4 58/88/4 60/13/4
f 63/86/4 64/89/4 68/90/4 67/91/4
f 60/13/4 58/88/4 62/92/4 64/89/4
f 59/14/4 60/13/4 64/89/4 63/86/4
f 58/88/4 57/85/4 61/87/4 62/92/4
f 65/93/4 67/91/4 71/94/4 69/95/4
f 62/92/4 61/87/4 65/93/4 66/96/4
f 61/87/4 63/86/4 67/91/4 65/93/4
f 64/89/4 62/92/4 66/96/4 68/90/4
f 72/97/4 70/98/4 74/99/4 76/100/4
f 68/90/4 66/96/4 70/98/4 72/97/4
f 67/91/4 68/90/4 72/97/4 71/94/4
f 66/96/4 65/93/4 69/95/4 70/98/4
f 75/101/4 76/100/4 80/102/4 79/103/4
f 71/94/4 72/97/4 76/100/4 75/101/4
f 70/98/4 69/95/4 73/104/4 74/99/4
f 69/95/4 71/94/4 75/101/4 73/104/4
f 77/105/4 79/103/4 83/106/4 81/107/4
f 74/99/4 73/104/4 77/105/4 78/108/4
f 73/104/4 75/101/4 79/103/4 77/105/4
f 76/100/4 74/99/4 78/108/4 80/102/4
f 83/106/4 84/109/4 88/110/4 87/111/4
f 80/102/4 78/108/4 82/112/4 84/109/4
f 79/103/4 80/102/4 84/109/4 83/106/4
f 78/108/4 77/105/4 81/107/4 82/112/4
f 87/111/4 88/110/4 92/113/4 91/114/4
f 82/112/4 81/107/4 85/115/4 86/116/4
f 81/107/4 83/106/4 87/111/4 85/115/4
f 84/109/4 82/112/4 86/116/4 88/110/4
f 92/113/5 90/117/5 89/118/5 91/114/5
f 86/116/4 85/115/4 89/118/4 90/117/4
f 85/115/4 87/111/4 91/114/4 89/118/4
f 88/110/4 86/116/4 90/117/4 92/113/4

128
models/furniture_bench.obj Normal file
View File

@ -0,0 +1,128 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Bench_short_Cube.003
v -1.375000 -0.125000 0.375000
v -1.375000 0.000000 0.375000
v -1.375000 -0.125000 -0.375000
v -1.375000 0.000000 -0.375000
v 0.375000 -0.125000 0.375000
v 0.375000 0.000000 0.375000
v 0.375000 -0.125000 -0.375000
v 0.375000 0.000000 -0.375000
v -1.312500 -0.125000 0.312500
v -1.312500 -0.125000 0.187500
v -1.187500 -0.125000 0.312500
v -1.187500 -0.125000 0.187500
v -1.312500 -0.500000 0.187500
v -1.312500 -0.500000 0.312500
v -1.187500 -0.500000 0.187500
v -1.187500 -0.500000 0.312500
v -1.312500 -0.125000 -0.312500
v -1.187500 -0.125000 -0.312500
v -1.312500 -0.125000 -0.187500
v -1.187500 -0.125000 -0.187500
v -1.187500 -0.500000 -0.312500
v -1.312500 -0.500000 -0.312500
v -1.187500 -0.500000 -0.187500
v -1.312500 -0.500000 -0.187500
v 0.312500 -0.125000 -0.312500
v 0.312500 -0.125000 -0.187500
v 0.187500 -0.125000 -0.312500
v 0.187500 -0.125000 -0.187500
v 0.312500 -0.500000 -0.187500
v 0.312500 -0.500000 -0.312500
v 0.187500 -0.500000 -0.187500
v 0.187500 -0.500000 -0.312500
v 0.312500 -0.125000 0.312500
v 0.187500 -0.125000 0.312500
v 0.312500 -0.125000 0.187500
v 0.187500 -0.125000 0.187500
v 0.187500 -0.500000 0.312500
v 0.312500 -0.500000 0.312500
v 0.187500 -0.500000 0.187500
v 0.312500 -0.500000 0.187500
vt 1.000000 0.937500
vt 0.937500 0.937500
vt 0.937500 0.562500
vt 1.000000 0.562500
vt 0.937500 0.500000
vt 0.062500 0.562500
vt 0.062500 0.500000
vt 0.000000 0.562500
vt 0.062500 0.937500
vt 0.000000 0.937500
vt 0.062500 1.000000
vt 0.937500 1.000000
vt 0.937500 0.562500
vt 0.062500 0.562500
vt 0.062500 0.937500
vt 0.937500 0.937500
vt 0.187500 0.187500
vt 0.125000 0.187500
vt 0.125000 0.000000
vt 0.187500 0.000000
vt 0.062500 0.187500
vt 0.000000 0.187500
vt 0.000000 0.000000
vt 0.062500 0.000000
vt 0.250000 0.187500
vt 0.250000 0.000000
vt 0.500000 0.187500
vt 0.437500 0.187500
vt 0.437500 0.000000
vt 0.500000 0.000000
vt 0.375000 0.187500
vt 0.312500 0.187500
vt 0.312500 0.000000
vt 0.375000 0.000000
vt 0.562500 0.187500
vt 0.562500 0.000000
vt 0.187500 0.406250
vt 0.125000 0.406250
vt 0.125000 0.218750
vt 0.187500 0.218750
vt 0.062500 0.406250
vt 0.000000 0.406250
vt 0.000000 0.218750
vt 0.062500 0.218750
vt 0.250000 0.406250
vt 0.250000 0.218750
vt 0.500000 0.406250
vt 0.437500 0.406250
vt 0.437500 0.218750
vt 0.500000 0.218750
vt 0.375000 0.406250
vt 0.312500 0.406250
vt 0.312500 0.218750
vt 0.375000 0.218750
vt 0.562500 0.406250
vt 0.562500 0.218750
vn -1.0000 0.0000 0.0000
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
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/3/2 8/6/2 7/7/2
f 7/8/3 8/6/3 6/9/3 5/10/3
f 5/11/4 6/9/4 2/2/4 1/12/4
f 3/13/5 7/14/5 5/15/5 1/16/5
f 8/6/6 4/3/6 2/2/6 6/9/6
f 11/17/4 9/18/4 14/19/4 16/20/4
f 10/21/2 12/22/2 15/23/2 13/24/2
f 12/25/3 11/17/3 16/20/3 15/26/3
f 9/18/1 10/21/1 13/24/1 14/19/1
f 19/27/1 17/28/1 22/29/1 24/30/1
f 18/31/3 20/32/3 23/33/3 21/34/3
f 20/35/4 19/27/4 24/30/4 23/36/4
f 17/28/2 18/31/2 21/34/2 22/29/2
f 27/37/2 25/38/2 30/39/2 32/40/2
f 26/41/4 28/42/4 31/43/4 29/44/4
f 28/45/1 27/37/1 32/40/1 31/46/1
f 25/38/3 26/41/3 29/44/3 30/39/3
f 35/47/3 33/48/3 38/49/3 40/50/3
f 34/51/1 36/52/1 39/53/1 37/54/1
f 36/55/2 35/47/2 40/50/2 39/56/2
f 33/48/4 34/51/4 37/54/4 38/49/4

View File

@ -0,0 +1,202 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Bench_with_back_Cube.009
v -1.375000 -0.125000 0.437500
v -1.375000 0.000000 0.437500
v -1.375000 -0.125000 -0.375000
v -1.375000 0.000000 -0.375000
v 0.375000 -0.125000 0.437500
v 0.375000 0.000000 0.437500
v 0.375000 -0.125000 -0.375000
v 0.375000 0.000000 -0.375000
v -1.312500 -0.125000 0.375000
v -1.312500 -0.125000 0.250000
v -1.187500 -0.125000 0.375000
v -1.187500 -0.125000 0.250000
v -1.312500 -0.500000 0.250000
v -1.312500 -0.500000 0.375000
v -1.187500 -0.500000 0.250000
v -1.187500 -0.500000 0.375000
v -1.312500 -0.125000 -0.312500
v -1.187500 -0.125000 -0.312500
v -1.312500 -0.125000 -0.187500
v -1.187500 -0.125000 -0.187500
v -1.187500 -0.500000 -0.312500
v -1.312500 -0.500000 -0.312500
v -1.187500 -0.500000 -0.187500
v -1.312500 -0.500000 -0.187500
v 0.312500 -0.125000 -0.312500
v 0.312500 -0.125000 -0.187500
v 0.187500 -0.125000 -0.312500
v 0.187500 -0.125000 -0.187500
v 0.312500 -0.500000 -0.187500
v 0.312500 -0.500000 -0.312500
v 0.187500 -0.500000 -0.187500
v 0.187500 -0.500000 -0.312500
v 0.312500 -0.125000 0.375000
v 0.187500 -0.125000 0.375000
v 0.312500 -0.125000 0.250000
v 0.187500 -0.125000 0.250000
v 0.187500 -0.500000 0.375000
v 0.312500 -0.500000 0.375000
v 0.187500 -0.500000 0.250000
v 0.312500 -0.500000 0.250000
v -1.312500 0.500000 0.375000
v -1.312500 0.500000 0.250000
v -1.187500 0.500000 0.375000
v -1.187500 0.500000 0.250000
v -1.312500 0.000000 0.250000
v -1.312500 0.000000 0.375000
v -1.187500 0.000000 0.250000
v -1.187500 0.000000 0.375000
v 0.312500 0.500000 0.375000
v 0.187500 0.500000 0.375000
v 0.312500 0.500000 0.250000
v 0.187500 0.500000 0.250000
v 0.187500 0.000000 0.375000
v 0.312500 0.000000 0.375000
v 0.187500 0.000000 0.250000
v 0.312500 0.000000 0.250000
v 0.187500 0.468750 0.343750
v 0.187500 0.468750 0.281250
v 0.187500 0.156250 0.343750
v 0.187500 0.156250 0.281250
v -1.187500 0.468750 0.281250
v -1.187500 0.468750 0.343750
v -1.187500 0.156250 0.343750
v -1.187500 0.156250 0.281250
vt 1.000000 0.937500
vt 0.937500 0.937500
vt 0.937500 0.531250
vt 1.000000 0.531250
vt 0.937500 0.468750
vt 0.062500 0.531250
vt 0.062500 0.468750
vt 0.000000 0.531250
vt 0.062500 0.937500
vt 0.000000 0.937500
vt 0.062500 1.000000
vt 0.937500 1.000000
vt 0.937500 0.531250
vt 0.062500 0.531250
vt 0.062500 0.937500
vt 0.937500 0.937500
vt 0.187500 0.187500
vt 0.125000 0.187500
vt 0.125000 0.000000
vt 0.187500 0.000000
vt 0.062500 0.187500
vt 0.000000 0.187500
vt 0.000000 0.000000
vt 0.062500 0.000000
vt 0.250000 0.187500
vt 0.250000 0.000000
vt 0.437500 0.187500
vt 0.375000 0.187500
vt 0.375000 0.000000
vt 0.437500 0.000000
vt 0.312500 0.187500
vt 0.250000 0.187500
vt 0.250000 0.000000
vt 0.312500 0.000000
vt 0.500000 0.187500
vt 0.500000 0.000000
vt 0.187500 0.406250
vt 0.125000 0.406250
vt 0.125000 0.218750
vt 0.187500 0.218750
vt 0.062500 0.406250
vt 0.000000 0.406250
vt 0.000000 0.218750
vt 0.062500 0.218750
vt 0.250000 0.406250
vt 0.250000 0.218750
vt 0.437500 0.406250
vt 0.375000 0.406250
vt 0.375000 0.218750
vt 0.437500 0.218750
vt 0.312500 0.406250
vt 0.250000 0.406250
vt 0.250000 0.218750
vt 0.312500 0.218750
vt 0.500000 0.406250
vt 0.500000 0.218750
vt 0.937500 0.250000
vt 0.875000 0.250000
vt 0.875000 0.000000
vt 0.937500 0.000000
vt 0.812500 0.250000
vt 0.750000 0.250000
vt 0.750000 0.000000
vt 0.812500 0.000000
vt 1.000000 0.250000
vt 1.000000 0.000000
vt 0.687500 0.250000
vt 0.625000 0.250000
vt 0.625000 0.000000
vt 0.687500 0.000000
vt 0.562500 0.250000
vt 0.500000 0.250000
vt 0.500000 0.000000
vt 0.562500 0.000000
vt 0.750000 0.250000
vt 0.750000 0.000000
vt 0.625000 0.312500
vt 0.687500 0.312500
vt 0.625000 0.250000
vt 0.875000 0.312500
vt 0.937500 0.312500
vt 0.875000 0.250000
vt 1.000000 0.843750
vt 1.000000 1.000000
vt 0.312500 1.000000
vt 0.312500 0.843750
vt 1.000000 0.812500
vt 0.312500 0.812500
vt 1.000000 0.578125
vt 0.312500 0.578125
vt 1.000000 0.546875
vt 0.312500 0.546875
vn -1.0000 0.0000 0.0000
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
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/3/2 8/6/2 7/7/2
f 7/8/3 8/6/3 6/9/3 5/10/3
f 5/11/4 6/9/4 2/2/4 1/12/4
f 3/13/5 7/14/5 5/15/5 1/16/5
f 8/6/6 4/3/6 2/2/6 6/9/6
f 11/17/4 9/18/4 14/19/4 16/20/4
f 10/21/2 12/22/2 15/23/2 13/24/2
f 12/25/3 11/17/3 16/20/3 15/26/3
f 9/18/1 10/21/1 13/24/1 14/19/1
f 19/27/1 17/28/1 22/29/1 24/30/1
f 18/31/3 20/32/3 23/33/3 21/34/3
f 20/35/4 19/27/4 24/30/4 23/36/4
f 17/28/2 18/31/2 21/34/2 22/29/2
f 27/37/2 25/38/2 30/39/2 32/40/2
f 26/41/4 28/42/4 31/43/4 29/44/4
f 28/45/1 27/37/1 32/40/1 31/46/1
f 25/38/3 26/41/3 29/44/3 30/39/3
f 35/47/3 33/48/3 38/49/3 40/50/3
f 34/51/1 36/52/1 39/53/1 37/54/1
f 36/55/2 35/47/2 40/50/2 39/56/2
f 33/48/4 34/51/4 37/54/4 38/49/4
f 43/57/4 41/58/4 46/59/4 48/60/4
f 42/61/2 44/62/2 47/63/2 45/64/2
f 44/65/3 43/57/3 48/60/3 47/66/3
f 41/58/1 42/61/1 45/64/1 46/59/1
f 51/67/3 49/68/3 54/69/3 56/70/3
f 50/71/1 52/72/1 55/73/1 53/74/1
f 52/75/2 51/67/2 56/70/2 55/76/2
f 49/68/4 50/71/4 53/74/4 54/69/4
f 50/77/6 49/78/6 51/67/6 52/79/6
f 42/80/6 41/81/6 43/57/6 44/82/6
f 58/83/2 60/84/2 64/85/2 61/86/2
f 57/87/6 58/83/6 61/86/6 62/88/6
f 59/89/4 57/87/4 62/88/4 63/90/4
f 60/91/5 59/89/5 63/90/5 64/92/5

View File

@ -0,0 +1,151 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Cabinet_counter_Cube.008
v -0.500000 -0.375000 0.500000
v -0.500000 0.375000 0.500000
v -0.500000 -0.375000 -0.375000
v -0.500000 0.375000 -0.375000
v 0.500000 -0.375000 0.500000
v 0.500000 0.375000 0.500000
v 0.500000 -0.375000 -0.375000
v 0.500000 0.375000 -0.375000
v -0.500000 0.500000 0.500000
v -0.500000 0.500000 -0.375000
v 0.500000 0.500000 -0.375000
v 0.500000 0.500000 0.500000
v -0.500000 0.375000 -0.500000
v 0.500000 0.375000 -0.500000
v -0.500000 0.500000 -0.500000
v 0.500000 0.500000 -0.500000
v 0.031250 -0.312500 -0.375000
v 0.031250 0.312500 -0.375000
v 0.437500 -0.312500 -0.375000
v 0.437500 0.312500 -0.375000
v -0.500000 -0.375000 -0.250000
v -0.500000 0.375000 -0.250000
v 0.500000 -0.375000 -0.250000
v 0.500000 0.375000 -0.250000
v -0.500000 0.500000 -0.250000
v 0.500000 0.500000 -0.250000
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.250000
v 0.500000 -0.500000 -0.250000
v 0.031250 0.312500 -0.437500
v 0.031250 -0.312500 -0.437500
v 0.437500 -0.312500 -0.437500
v 0.437500 0.312500 -0.437500
v -0.437500 -0.312500 -0.375000
v -0.437500 0.312500 -0.375000
v -0.031250 -0.312500 -0.375000
v -0.031250 0.312500 -0.375000
v -0.437500 0.312500 -0.437500
v -0.437500 -0.312500 -0.437500
v -0.031250 -0.312500 -0.437500
v -0.031250 0.312500 -0.437500
vt 0.875000 0.562500
vt 0.875000 0.937500
vt 0.937500 0.937500
vt 0.937500 0.562500
vt 1.000000 0.125000
vt 1.000000 0.500000
vt 0.500000 0.500000
vt 0.500000 0.125000
vt 0.875000 0.562500
vt 0.875000 0.937500
vt 0.546875 0.937500
vt 0.546875 0.562500
vt 0.000000 0.375000
vt 0.500000 0.375000
vt 0.500000 0.437500
vt 0.000000 0.437500
vt 0.000000 0.625000
vt 0.500000 0.625000
vt 0.500000 1.000000
vt 0.000000 1.000000
vt 0.937500 0.937500
vt 0.937500 1.000000
vt 0.875000 1.000000
vt 0.546875 0.937500
vt 0.546875 1.000000
vt 0.875000 1.000000
vt 0.500000 0.500000
vt 0.000000 0.500000
vt 0.937500 1.000000
vt 1.000000 1.000000
vt 1.000000 0.937500
vt 1.000000 0.937500
vt 1.000000 1.000000
vt 0.500000 0.562500
vt 0.000000 0.562500
vt 0.546875 1.000000
vt 0.937500 0.562500
vt 0.546875 0.562500
vt 0.500000 0.062500
vt 1.000000 0.062500
vt 0.546875 0.500000
vt 0.875000 0.500000
vt 0.875000 0.500000
vt 0.546875 0.500000
vt 0.500000 0.000000
vt 1.000000 0.000000
vt 0.031250 0.031250
vt 0.343750 0.031250
vt 0.343750 0.234375
vt 0.031250 0.234375
vt 0.000000 0.234375
vt 0.000000 0.031250
vt 0.375000 0.031250
vt 0.375000 0.234375
vt 0.031250 0.000000
vt 0.343750 0.000000
vt 0.343750 0.265625
vt 0.031250 0.265625
vt 0.156250 0.140625
vt 0.468750 0.140625
vt 0.468750 0.343750
vt 0.156250 0.343750
vt 0.125000 0.343750
vt 0.125000 0.140625
vt 0.500000 0.140625
vt 0.500000 0.343750
vt 0.156250 0.109375
vt 0.468750 0.109375
vt 0.468750 0.375000
vt 0.156250 0.375000
vn -1.0000 0.0000 0.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
s off
f 21/1/1 22/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 23/9/3 24/10/3 6/11/3 5/12/3
f 8/13/4 4/14/4 13/15/4 14/16/4
f 26/17/5 25/18/5 9/19/5 12/20/5
f 24/10/3 8/21/3 11/22/3 26/23/3
f 22/2/1 2/24/1 9/25/1 25/26/1
f 14/16/2 13/15/2 15/27/2 16/28/2
f 4/3/1 10/29/1 15/30/1 13/31/1
f 11/22/3 8/21/3 14/32/3 16/33/3
f 10/34/5 11/35/5 16/28/5 15/27/5
f 4/3/1 22/2/1 25/26/1 10/29/1
f 6/11/3 24/10/3 26/23/3 12/36/3
f 11/35/5 10/34/5 25/18/5 26/17/5
f 7/37/3 8/21/3 24/10/3 23/9/3
f 1/38/1 2/24/1 22/2/1 21/1/1
f 3/5/4 7/8/4 23/39/4 21/40/4
f 23/9/3 5/12/3 28/41/3 30/42/3
f 1/38/1 21/1/1 29/43/1 27/44/1
f 21/40/2 23/39/2 30/45/2 29/46/2
f 32/47/2 31/48/2 34/49/2 33/50/2
f 19/51/4 17/52/4 32/47/4 33/50/4
f 18/53/5 20/54/5 34/49/5 31/48/5
f 17/55/1 18/56/1 31/48/1 32/47/1
f 20/57/3 19/58/3 33/50/3 34/49/3
f 40/59/2 39/60/2 42/61/2 41/62/2
f 37/63/4 35/64/4 40/59/4 41/62/4
f 36/65/5 38/66/5 42/61/5 39/60/5
f 35/67/1 36/68/1 39/60/1 40/59/1
f 38/69/3 37/70/3 41/62/3 42/61/3

View File

@ -0,0 +1,90 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Cabinet_wall_Cube.007
v -0.500000 -0.500000 0.500000
v -0.500000 0.500000 0.500000
v -0.500000 -0.500000 -0.250000
v -0.500000 0.500000 -0.250000
v 0.500000 -0.500000 0.500000
v 0.500000 0.500000 0.500000
v 0.500000 -0.500000 -0.250000
v 0.500000 0.500000 -0.250000
v -0.437500 -0.437500 -0.312500
v -0.437500 0.437500 -0.312500
v -0.031250 -0.437500 -0.312500
v -0.031250 0.437500 -0.312500
v -0.437500 -0.437500 -0.250000
v -0.437500 0.437500 -0.250000
v -0.031250 -0.437500 -0.250000
v -0.031250 0.437500 -0.250000
v 0.031250 -0.437500 -0.312500
v 0.031250 0.437500 -0.312500
v 0.437500 -0.437500 -0.312500
v 0.437500 0.437500 -0.312500
v 0.031250 -0.437500 -0.250000
v 0.031250 0.437500 -0.250000
v 0.437500 -0.437500 -0.250000
v 0.437500 0.437500 -0.250000
vt 0.625000 0.500000
vt 0.625000 0.000000
vt 1.000000 0.000000
vt 1.000000 0.500000
vt 0.500000 0.000000
vt 0.500000 0.500000
vt 0.000000 0.500000
vt 0.000000 0.000000
vt 0.625000 0.500000
vt 0.625000 0.000000
vt 1.000000 0.000000
vt 1.000000 0.500000
vt 0.625000 1.000000
vt 1.000000 1.000000
vt 0.625000 1.000000
vt 0.625000 0.500000
vt 1.000000 0.500000
vt 1.000000 1.000000
vt 0.031250 0.734375
vt 0.468750 0.734375
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.500000 0.734375
vt 0.500000 0.531250
vt 0.031250 0.765625
vt 0.468750 0.765625
vt 0.468750 0.500000
vt 0.031250 0.500000
vt 0.000000 0.531250
vt 0.000000 0.734375
vt 0.031250 0.968750
vt 0.468750 0.968750
vt 0.468750 0.765625
vt 0.031250 0.765625
vt 0.500000 0.968750
vt 0.500000 0.765625
vt 0.031250 1.000000
vt 0.468750 1.000000
vt 0.468750 0.734375
vt 0.031250 0.734375
vt 0.000000 0.765625
vt 0.000000 0.968750
vn -1.0000 0.0000 0.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
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/9/3 8/10/3 6/11/3 5/12/3
f 3/13/4 7/9/4 5/12/4 1/14/4
f 8/15/5 4/16/5 2/17/5 6/18/5
f 9/19/2 10/20/2 12/21/2 11/22/2
f 10/20/5 14/23/5 16/24/5 12/21/5
f 9/19/1 13/25/1 14/26/1 10/20/1
f 12/21/3 16/27/3 15/28/3 11/22/3
f 11/22/4 15/29/4 13/30/4 9/19/4
f 17/31/2 18/32/2 20/33/2 19/34/2
f 18/32/5 22/35/5 24/36/5 20/33/5
f 17/31/1 21/37/1 22/38/1 18/32/1
f 20/33/3 24/39/3 23/40/3 19/34/3
f 19/34/4 23/41/4 21/42/4 17/31/4

156
models/furniture_chair.obj Normal file
View File

@ -0,0 +1,156 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Chair_Cube.004
v 0.375000 -0.125000 -0.375000
v 0.375000 0.000000 -0.375000
v 0.375000 -0.125000 0.375000
v 0.375000 0.000000 0.375000
v -0.375000 -0.125000 -0.375000
v -0.375000 0.000000 -0.375000
v -0.375000 -0.125000 0.375000
v -0.375000 0.000000 0.375000
v 0.312500 -0.125000 -0.312500
v 0.312500 -0.125000 -0.187500
v 0.187500 -0.125000 -0.312500
v 0.187500 -0.125000 -0.187500
v 0.312500 -0.500000 -0.187500
v 0.312500 -0.500000 -0.312500
v 0.187500 -0.500000 -0.187500
v 0.187500 -0.500000 -0.312500
v -0.312500 -0.125000 -0.312500
v -0.187500 -0.125000 -0.312500
v -0.312500 -0.125000 -0.187500
v -0.187500 -0.125000 -0.187500
v -0.187500 -0.500000 -0.312500
v -0.312500 -0.500000 -0.312500
v -0.187500 -0.500000 -0.187500
v -0.312500 -0.500000 -0.187500
v 0.312500 0.500000 0.312500
v 0.187500 0.500000 0.312500
v 0.312500 0.500000 0.187500
v 0.187500 0.500000 0.187500
v 0.187500 -0.500000 0.312500
v 0.312500 -0.500000 0.312500
v 0.187500 -0.500000 0.187500
v 0.312500 -0.500000 0.187500
v -0.312500 0.500000 0.312500
v -0.312500 0.500000 0.187500
v -0.187500 0.500000 0.312500
v -0.187500 0.500000 0.187500
v -0.312500 -0.500000 0.187500
v -0.312500 -0.500000 0.312500
v -0.187500 -0.500000 0.187500
v -0.187500 -0.500000 0.312500
v 0.187500 0.343750 0.218750
v 0.187500 0.468750 0.218750
v 0.187500 0.343750 0.281250
v 0.187500 0.468750 0.281250
v -0.187500 0.343750 0.218750
v -0.187500 0.468750 0.218750
v -0.187500 0.343750 0.281250
v -0.187500 0.468750 0.281250
vt 0.500000 0.937500
vt 0.437500 0.937500
vt 0.437500 0.562500
vt 0.500000 0.562500
vt 0.437500 0.500000
vt 0.062500 0.562500
vt 0.062500 0.500000
vt 0.000000 0.562500
vt 0.062500 0.937500
vt 0.000000 0.937500
vt 0.062500 1.000000
vt 0.437500 1.000000
vt 0.437500 0.562500
vt 0.062500 0.562500
vt 0.062500 0.937500
vt 0.437500 0.937500
vt 0.187500 0.187500
vt 0.125000 0.187500
vt 0.125000 0.000000
vt 0.187500 0.000000
vt 0.062500 0.187500
vt 0.000000 0.187500
vt 0.000000 0.000000
vt 0.062500 0.000000
vt 0.250000 0.187500
vt 0.250000 0.000000
vt 0.187500 0.390625
vt 0.125000 0.390625
vt 0.125000 0.203125
vt 0.187500 0.203125
vt 0.062500 0.390625
vt 0.000000 0.390625
vt 0.000000 0.203125
vt 0.062500 0.203125
vt 0.250000 0.390625
vt 0.250000 0.203125
vt 0.656250 0.500000
vt 0.593750 0.500000
vt 0.593750 0.000000
vt 0.656250 0.000000
vt 0.531250 0.500000
vt 0.468750 0.500000
vt 0.468750 0.000000
vt 0.531250 0.000000
vt 0.718750 0.500000
vt 0.718750 0.000000
vt 0.937500 0.500000
vt 0.875000 0.500000
vt 0.875000 0.000000
vt 0.937500 0.000000
vt 0.812500 0.500000
vt 0.750000 0.500000
vt 0.750000 0.000000
vt 0.812500 0.000000
vt 1.000000 0.500000
vt 1.000000 0.000000
vt 0.812500 0.562500
vt 0.750000 0.562500
vt 0.718750 0.562500
vt 0.656250 0.562500
vt 0.265625 0.000000
vt 0.328125 0.000000
vt 0.328125 0.187500
vt 0.265625 0.187500
vt 0.421875 0.187500
vt 0.359375 0.187500
vt 0.359375 0.000000
vt 0.421875 0.000000
vt 0.453125 0.000000
vt 0.453125 0.187500
vn 1.0000 0.0000 0.0000
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
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/3/2 8/6/2 7/7/2
f 7/8/3 8/6/3 6/9/3 5/10/3
f 5/11/4 6/9/4 2/2/4 1/12/4
f 3/13/5 7/14/5 5/15/5 1/16/5
f 8/6/6 4/3/6 2/2/6 6/9/6
f 11/17/4 9/18/4 14/19/4 16/20/4
f 10/21/2 12/22/2 15/23/2 13/24/2
f 12/25/3 11/17/3 16/20/3 15/26/3
f 9/18/1 10/21/1 13/24/1 14/19/1
f 19/27/3 17/28/3 22/29/3 24/30/3
f 18/31/1 20/32/1 23/33/1 21/34/1
f 20/35/2 19/27/2 24/30/2 23/36/2
f 17/28/4 18/31/4 21/34/4 22/29/4
f 27/37/1 25/38/1 30/39/1 32/40/1
f 26/41/3 28/42/3 31/43/3 29/44/3
f 28/45/4 27/37/4 32/40/4 31/46/4
f 25/38/2 26/41/2 29/44/2 30/39/2
f 35/47/2 33/48/2 38/49/2 40/50/2
f 34/51/4 36/52/4 39/53/4 37/54/4
f 36/55/1 35/47/1 40/50/1 39/56/1
f 33/48/3 34/51/3 37/54/3 38/49/3
f 34/51/6 33/57/6 35/58/6 36/52/6
f 26/59/6 25/60/6 27/37/6 28/45/6
f 43/61/2 44/62/2 48/63/2 47/64/2
f 45/65/4 46/66/4 42/67/4 41/68/4
f 43/69/5 47/70/5 45/65/5 41/68/5
f 48/63/6 44/62/6 42/67/6 46/66/6

View File

@ -0,0 +1,206 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Chair_Cube.004
v 0.375000 -0.125000 -0.375000
v 0.375000 0.000000 -0.375000
v 0.375000 -0.125000 0.375000
v 0.375000 0.000000 0.375000
v -0.375000 -0.125000 -0.375000
v -0.375000 0.000000 -0.375000
v -0.375000 -0.125000 0.375000
v -0.375000 0.000000 0.375000
v 0.312500 -0.125000 -0.312500
v 0.312500 -0.125000 -0.187500
v 0.187500 -0.125000 -0.312500
v 0.187500 -0.125000 -0.187500
v 0.312500 -0.500000 -0.187500
v 0.312500 -0.500000 -0.312500
v 0.187500 -0.500000 -0.187500
v 0.187500 -0.500000 -0.312500
v -0.312500 -0.125000 -0.312500
v -0.187500 -0.125000 -0.312500
v -0.312500 -0.125000 -0.187500
v -0.187500 -0.125000 -0.187500
v -0.187500 -0.500000 -0.312500
v -0.312500 -0.500000 -0.312500
v -0.187500 -0.500000 -0.187500
v -0.312500 -0.500000 -0.187500
v 0.312500 0.500000 0.312500
v 0.187500 0.500000 0.312500
v 0.312500 0.500000 0.187500
v 0.187500 0.500000 0.187500
v 0.187500 -0.500000 0.312500
v 0.312500 -0.500000 0.312500
v 0.187500 -0.500000 0.187500
v 0.312500 -0.500000 0.187500
v -0.312500 0.500000 0.312500
v -0.312500 0.500000 0.187500
v -0.187500 0.500000 0.312500
v -0.187500 0.500000 0.187500
v -0.312500 -0.500000 0.187500
v -0.312500 -0.500000 0.312500
v -0.187500 -0.500000 0.187500
v -0.187500 -0.500000 0.312500
v 0.187500 0.343750 0.218750
v 0.187500 0.468750 0.218750
v 0.187500 0.343750 0.281250
v 0.187500 0.468750 0.281250
v -0.187500 0.343750 0.218750
v -0.187500 0.468750 0.218750
v -0.187500 0.343750 0.281250
v -0.187500 0.468750 0.281250
v -0.312500 0.000000 -0.312500
v -0.312500 0.031250 -0.312500
v 0.312500 0.000000 -0.312500
v 0.312500 0.031250 -0.312500
v -0.312500 0.000000 0.187500
v -0.312500 0.031250 0.187500
v 0.312500 0.000000 0.187500
v 0.312500 0.031250 0.187500
v -0.187500 0.000000 -0.312500
v -0.187500 0.031250 -0.312500
v -0.187500 0.000000 0.312500
v -0.187500 0.031250 0.312500
v -0.187500 0.031250 0.187500
v 0.187500 0.031250 -0.312500
v 0.187500 0.000000 0.312500
v 0.187500 0.031250 0.187500
v 0.187500 0.000000 -0.312500
v 0.187500 0.031250 0.312500
vt 0.500000 0.937500
vt 0.437500 0.937500
vt 0.437500 0.562500
vt 0.500000 0.562500
vt 0.437500 0.500000
vt 0.062500 0.562500
vt 0.062500 0.500000
vt 0.000000 0.562500
vt 0.062500 0.937500
vt 0.000000 0.937500
vt 0.062500 1.000000
vt 0.437500 1.000000
vt 0.437500 0.562500
vt 0.062500 0.562500
vt 0.062500 0.937500
vt 0.437500 0.937500
vt 0.187500 0.187500
vt 0.125000 0.187500
vt 0.125000 0.000000
vt 0.187500 0.000000
vt 0.062500 0.187500
vt 0.000000 0.187500
vt 0.000000 0.000000
vt 0.062500 0.000000
vt 0.250000 0.187500
vt 0.250000 0.000000
vt 0.187500 0.390625
vt 0.125000 0.390625
vt 0.125000 0.203125
vt 0.187500 0.203125
vt 0.062500 0.390625
vt 0.000000 0.390625
vt 0.000000 0.203125
vt 0.062500 0.203125
vt 0.250000 0.390625
vt 0.250000 0.203125
vt 0.656250 0.500000
vt 0.593750 0.500000
vt 0.593750 0.000000
vt 0.656250 0.000000
vt 0.531250 0.500000
vt 0.468750 0.500000
vt 0.468750 0.000000
vt 0.531250 0.000000
vt 0.718750 0.500000
vt 0.718750 0.000000
vt 0.937500 0.500000
vt 0.875000 0.500000
vt 0.875000 0.000000
vt 0.937500 0.000000
vt 0.812500 0.500000
vt 0.750000 0.500000
vt 0.750000 0.000000
vt 0.812500 0.000000
vt 1.000000 0.500000
vt 1.000000 0.000000
vt 0.812500 0.562500
vt 0.750000 0.562500
vt 0.718750 0.562500
vt 0.656250 0.562500
vt 0.265625 0.000000
vt 0.328125 0.000000
vt 0.328125 0.187500
vt 0.265625 0.187500
vt 0.421875 0.187500
vt 0.359375 0.187500
vt 0.359375 0.000000
vt 0.421875 0.000000
vt 0.453125 0.000000
vt 0.453125 0.187500
vt 1.000000 0.772727
vt 0.954545 0.772727
vt 0.954545 0.045455
vt 1.000000 0.045455
vt 0.227273 0.000000
vt 0.227273 0.045455
vt 0.045455 0.045455
vt 0.045455 0.000000
vt 0.772727 0.045455
vt 0.772727 0.772727
vt 0.000000 0.045455
vt 0.045455 0.772727
vt 0.000000 0.772727
vt 0.227273 0.772727
vt 0.772727 0.954545
vt 0.227273 0.954545
vt 0.227273 1.000000
vt 0.772727 1.000000
vt 0.954545 0.000000
vt 0.772727 0.000000
vn 1.0000 0.0000 0.0000
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
g Chair_Cube.004_Chair
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/3/2 8/6/2 7/7/2
f 7/8/3 8/6/3 6/9/3 5/10/3
f 5/11/4 6/9/4 2/2/4 1/12/4
f 3/13/5 7/14/5 5/15/5 1/16/5
f 8/6/6 4/3/6 2/2/6 6/9/6
f 11/17/4 9/18/4 14/19/4 16/20/4
f 10/21/2 12/22/2 15/23/2 13/24/2
f 12/25/3 11/17/3 16/20/3 15/26/3
f 9/18/1 10/21/1 13/24/1 14/19/1
f 19/27/3 17/28/3 22/29/3 24/30/3
f 18/31/1 20/32/1 23/33/1 21/34/1
f 20/35/2 19/27/2 24/30/2 23/36/2
f 17/28/4 18/31/4 21/34/4 22/29/4
f 27/37/1 25/38/1 30/39/1 32/40/1
f 26/41/3 28/42/3 31/43/3 29/44/3
f 28/45/4 27/37/4 32/40/4 31/46/4
f 25/38/2 26/41/2 29/44/2 30/39/2
f 35/47/2 33/48/2 38/49/2 40/50/2
f 34/51/4 36/52/4 39/53/4 37/54/4
f 36/55/1 35/47/1 40/50/1 39/56/1
f 33/48/3 34/51/3 37/54/3 38/49/3
f 34/51/6 33/57/6 35/58/6 36/52/6
f 26/59/6 25/60/6 27/37/6 28/45/6
f 43/61/2 44/62/2 48/63/2 47/64/2
f 45/65/4 46/66/4 42/67/4 41/68/4
f 43/69/5 47/70/5 45/65/5 41/68/5
f 48/63/6 44/62/6 42/67/6 46/66/6
g Chair_Cube.004_Cushion
f 53/71/3 54/72/3 50/73/3 49/74/3
f 65/75/4 62/76/4 52/77/4 51/78/4
f 58/79/6 50/73/6 54/72/6 61/80/6
f 51/81/1 52/77/1 56/82/1 55/83/1
f 62/76/6 58/79/6 61/80/6 64/84/6
f 64/84/6 61/80/6 60/85/6 66/86/6
f 63/87/2 66/86/2 60/85/2 59/88/2
f 49/89/4 50/73/4 58/79/4 57/90/4
f 52/77/6 62/76/6 64/84/6 56/82/6
f 57/90/4 58/79/4 62/76/4 65/75/4

View File

@ -0,0 +1,70 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Chest_Chest_small_Cube.001
v -0.500000 -0.500000 -0.187500
v -0.500000 0.375000 -0.187500
v -0.500000 0.187500 -0.375000
v -0.500000 -0.500000 -0.375000
v 0.500000 0.187500 -0.375000
v 0.500000 -0.500000 -0.375000
v 0.500000 -0.500000 0.312500
v 0.500000 0.375000 0.312500
v 0.500000 0.187500 0.500000
v 0.500000 -0.500000 0.500000
v -0.500000 0.187500 0.500000
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.187500
v 0.500000 0.375000 -0.187500
v -0.500000 0.375000 0.312500
v -0.500000 -0.500000 0.312500
vt 0.000000 0.656250
vt 0.437500 0.656250
vt 0.343750 0.562500
vt 0.000000 0.562500
vt 1.000000 0.500000
vt 0.656250 0.500000
vt 0.656250 1.000000
vt 1.000000 1.000000
vt 0.000000 0.906250
vt 0.437500 0.906250
vt 0.343750 1.000000
vt 0.000000 1.000000
vt 1.000000 0.500000
vt 0.656250 0.500000
vt 0.656250 0.000000
vt 1.000000 0.000000
vt 0.000000 0.656250
vt 0.437500 0.656250
vt 0.562500 0.500000
vt 0.562500 0.000000
vt 0.000000 0.562500
vt 0.343750 0.562500
vt 0.437500 0.906250
vt 0.000000 0.906250
vt 0.312500 0.500000
vt 0.312500 0.000000
vt 0.218750 0.000000
vt 0.218750 0.500000
vt 0.000000 1.000000
vt 0.343750 1.000000
vt 0.312500 0.500000
vt 0.312500 0.000000
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 -0.0000 1.0000
vn 0.0000 0.7071 0.7071
vn 0.0000 0.7071 -0.7071
vn 0.0000 1.0000 0.0000
s 1
f 1/1/1 2/2/1 3/3/1 4/4/1
f 4/5/2 3/6/2 5/7/2 6/8/2
f 7/9/3 8/10/3 9/11/3 10/12/3
f 10/13/4 9/14/4 11/15/4 12/16/4
f 7/9/3 13/17/3 14/18/3 8/10/3
f 8/19/5 15/20/5 11/15/5 9/14/5
f 6/21/3 5/22/3 14/18/3 13/17/3
f 15/23/1 2/2/1 1/1/1 16/24/1
f 5/25/6 3/26/6 2/27/6 14/28/6
f 12/29/1 11/30/1 15/23/1 16/24/1
f 8/19/7 14/31/7 2/32/7 15/20/7

View File

@ -0,0 +1,70 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Chest_large_Chest_small_Cube.002
v -1.500000 -0.500000 -0.250000
v -1.500000 0.437500 -0.250000
v -1.500000 0.250000 -0.437500
v -1.500000 -0.500000 -0.437500
v 0.500000 0.250000 -0.437500
v 0.500000 -0.500000 -0.437500
v 0.500000 -0.500000 0.312500
v 0.500000 0.437500 0.312500
v 0.500000 0.250000 0.500000
v 0.500000 -0.500000 0.500000
v -1.500000 0.250000 0.500000
v -1.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.250000
v 0.500000 0.437500 -0.250000
v -1.500000 0.437500 0.312500
v -1.500000 -0.500000 0.312500
vt 0.000000 0.445312
vt 0.234375 0.445312
vt 0.187500 0.492188
vt 0.000000 0.492188
vt 0.000000 1.000000
vt 0.187500 1.000000
vt 0.187500 0.500000
vt 0.000000 0.500000
vt 0.609375 0.445312
vt 0.375000 0.445312
vt 0.421875 0.492188
vt 0.609375 0.492188
vt 0.609375 0.500000
vt 0.421875 0.500000
vt 0.421875 1.000000
vt 0.609375 1.000000
vt 0.609375 0.304688
vt 0.375000 0.304688
vt 0.375000 0.500000
vt 0.375000 1.000000
vt 0.609375 0.257812
vt 0.421875 0.257812
vt 0.234375 0.304688
vt 0.000000 0.304688
vt 0.234375 0.500000
vt 0.234375 1.000000
vt 0.187500 1.000000
vt 0.187500 0.500000
vt 0.000000 0.257812
vt 0.187500 0.257812
vt 0.234375 0.500000
vt 0.234375 1.000000
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 -0.0000 1.0000
vn 0.0000 0.7071 0.7071
vn 0.0000 0.7071 -0.7071
vn 0.0000 1.0000 0.0000
s 1
f 1/1/1 2/2/1 3/3/1 4/4/1
f 4/5/2 3/6/2 5/7/2 6/8/2
f 7/9/3 8/10/3 9/11/3 10/12/3
f 10/13/4 9/14/4 11/15/4 12/16/4
f 7/9/3 13/17/3 14/18/3 8/10/3
f 8/19/5 15/20/5 11/15/5 9/14/5
f 6/21/3 5/22/3 14/18/3 13/17/3
f 15/23/1 2/2/1 1/1/1 16/24/1
f 5/25/6 3/26/6 2/27/6 14/28/6
f 12/29/1 11/30/1 15/23/1 16/24/1
f 8/19/7 14/31/7 2/32/7 15/20/7

View File

@ -0,0 +1,66 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Chest_small_Cube.005
v -0.437500 -0.500000 0.437500
v -0.437500 0.062500 0.437500
v -0.437500 -0.500000 -0.312500
v -0.437500 0.062500 -0.312500
v 0.437500 -0.500000 0.437500
v 0.437500 0.062500 0.437500
v 0.437500 -0.500000 -0.312500
v 0.437500 0.062500 -0.312500
v -0.437500 0.250000 -0.125000
v 0.437500 -0.500000 -0.125000
v -0.437500 -0.500000 -0.125000
v 0.437500 0.250000 -0.125000
v -0.437500 -0.500000 0.250000
v 0.437500 0.250000 0.250000
v -0.437500 0.250000 0.250000
v 0.437500 -0.500000 0.250000
vt 0.281250 0.625000
vt 0.281250 1.000000
vt 0.375000 0.906250
vt 0.375000 0.625000
vt 0.000000 0.000000
vt 0.281250 0.000000
vt 0.281250 0.437500
vt 0.000000 0.437500
vt 0.500000 0.625000
vt 0.500000 1.000000
vt 0.406250 0.906250
vt 0.406250 0.625000
vt 0.937500 0.437500
vt 0.656250 0.437500
vt 0.656250 0.000000
vt 0.937500 0.000000
vt 0.687500 0.625000
vt 0.687500 1.000000
vt 0.562500 0.437500
vt 0.562500 0.000000
vt 0.781250 0.625000
vt 0.781250 0.906250
vt 0.093750 1.000000
vt 0.093750 0.625000
vt 0.375000 0.000000
vt 0.375000 0.437500
vt 0.000000 0.625000
vt 0.000000 0.906250
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 0.7071 0.7071
vn 0.0000 0.7071 -0.7071
vn 0.0000 1.0000 0.0000
s off
f 11/1/1 9/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 16/9/3 14/10/3 6/11/3 5/12/3
f 5/13/4 6/14/4 2/15/4 1/16/4
f 16/9/3 10/17/3 12/18/3 14/10/3
f 14/19/5 15/20/5 2/15/5 6/14/5
f 7/21/3 8/22/3 12/18/3 10/17/3
f 15/23/1 9/2/1 11/1/1 13/24/1
f 8/7/6 4/6/6 9/25/6 12/26/6
f 1/27/1 2/28/1 15/23/1 13/24/1
f 14/19/7 12/26/7 9/25/7 15/20/7

View File

@ -0,0 +1,15 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Curtain_short_Plane
v -0.500000 -0.562500 0.468750
v 0.500000 -0.562500 0.468750
v -0.500000 0.500000 0.468750
v 0.500000 0.500000 0.468750
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vn 0.0000 0.0000 1.0000
g Curtain_short_Plane_None
s off
f 1/1/1 2/2/1 4/3/1 3/4/1

View File

@ -0,0 +1,15 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Curtain_short_Plane
v -0.500000 -1.562500 0.468750
v 0.500000 -1.562500 0.468750
v -0.500000 0.500000 0.468750
v 0.500000 0.500000 0.468750
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vn 0.0000 0.0000 1.0000
g Curtain_short_Plane_None
s off
f 1/1/1 2/2/1 4/3/1 3/4/1

View File

@ -0,0 +1,230 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Lectern_Cube.012
v 0.000000 0.437473 0.234923
v -0.062500 0.470509 0.222899
v -0.125000 0.470509 0.222899
v -0.187500 0.466838 0.224235
v -0.250000 0.437473 0.234923
v 0.250000 0.437473 0.234923
v -0.250000 0.266463 -0.234923
v 0.250000 0.266463 -0.234923
v 0.062500 0.312500 -0.062500
v -0.062500 0.312500 -0.062500
v 0.062500 0.312500 0.062500
v -0.062500 0.312500 0.062500
v 0.062500 -0.375000 -0.062500
v -0.062500 -0.375000 -0.062500
v 0.062500 -0.375000 0.062500
v -0.062500 -0.375000 0.062500
v 0.062500 -0.500000 0.312500
v 0.062500 -0.375000 0.312500
v -0.062500 -0.500000 0.312500
v -0.062500 -0.375000 0.312500
v 0.062500 -0.500000 -0.312500
v 0.062500 -0.375000 -0.312500
v -0.062500 -0.500000 -0.312500
v -0.062500 -0.375000 -0.312500
v 0.312500 0.186356 -0.272278
v 0.312500 0.245087 -0.293654
v 0.312500 0.400118 0.315030
v 0.312500 0.458849 0.293654
v -0.312500 0.186356 -0.272278
v -0.312500 0.245087 -0.293654
v -0.312500 0.400118 0.315030
v -0.312500 0.458849 0.293654
v 0.312500 0.207732 -0.213547
v 0.312500 0.266463 -0.234923
v -0.312500 0.207732 -0.213547
v -0.312500 0.266463 -0.234923
v -0.312500 0.325194 -0.256299
v -0.312500 0.303817 -0.315030
v 0.312500 0.303817 -0.315030
v 0.312500 0.325194 -0.256299
v 0.062500 0.470509 0.222899
v 0.125000 0.470509 0.222899
v 0.187500 0.466838 0.224235
v 0.187500 0.295828 -0.245611
v 0.125000 0.299499 -0.246947
v 0.062500 0.299499 -0.246947
v -0.000000 0.266463 -0.234923
v -0.062500 0.299499 -0.246947
v -0.125000 0.299499 -0.246947
v -0.187500 0.295828 -0.245611
v -0.062500 0.437510 0.234910
v -0.125000 0.437510 0.234910
v -0.187500 0.437510 0.234910
v 0.062500 0.437510 0.234910
v 0.125000 0.437510 0.234910
v 0.187500 0.437510 0.234910
v -0.312500 -0.500000 0.062500
v -0.312500 -0.375000 0.062500
v -0.312500 -0.500000 -0.062500
v -0.312500 -0.375000 -0.062500
v 0.312500 -0.500000 0.062500
v 0.312500 -0.375000 0.062500
v 0.312500 -0.500000 -0.062500
v 0.312500 -0.375000 -0.062500
vt 0.093750 0.750000
vt 0.125000 0.750000
vt 0.125000 1.000000
vt 0.093750 1.000000
vt 0.062500 0.750000
vt 0.062500 1.000000
vt 0.031250 0.750000
vt 0.031250 1.000000
vt -0.000000 0.750000
vt -0.000000 1.000000
vt 0.312500 0.625000
vt 0.375000 0.625000
vt 0.375000 0.968750
vt 0.312500 0.968750
vt 0.218750 0.750000
vt 0.250000 0.750000
vt 0.250000 1.000000
vt 0.218750 1.000000
vt 0.437500 0.625000
vt 0.437500 0.968750
vt 0.718750 0.562500
vt 0.718750 0.625000
vt 0.656250 0.625000
vt 0.656250 0.562500
vt 0.562500 0.968750
vt 0.500000 0.968750
vt 0.500000 0.625000
vt 0.562500 0.625000
vt 0.593750 0.625000
vt 0.656250 0.937500
vt 0.593750 0.937500
vt 0.656250 1.000000
vt 0.718750 0.937500
vt 0.718750 1.000000
vt 0.781250 0.937500
vt 0.781250 0.625000
vt 0.906250 0.031250
vt 0.875000 0.031250
vt 0.875000 0.312500
vt 0.906250 0.312500
vt 0.031250 0.312500
vt 0.000000 0.312500
vt 0.000000 0.000000
vt 0.031250 0.000000
vt 1.000000 0.031250
vt 0.968750 0.031250
vt 0.968750 0.000000
vt 1.000000 0.000000
vt 0.343750 0.000000
vt 0.375000 0.000000
vt 0.375000 0.312500
vt 0.343750 0.312500
vt 0.937500 0.031250
vt 0.937500 0.000000
vt 0.312500 0.312500
vt 0.312500 0.000000
vt 0.781250 0.000000
vt 0.781250 0.312500
vt 0.500000 0.312500
vt 0.500000 0.000000
vt 1.000000 0.312500
vt 0.968750 0.312500
vt 0.906250 0.000000
vt 0.875000 0.000000
vt 0.468750 0.000000
vt 0.468750 0.312500
vt 0.437500 0.312500
vt 0.437500 0.000000
vt 0.843750 0.000000
vt 0.843750 0.031250
vt 0.406250 0.000000
vt 0.406250 0.312500
vt 0.156250 0.750000
vt 0.156250 1.000000
vt 0.187500 0.750000
vt 0.187500 1.000000
vt 0.156250 0.734375
vt 0.187500 0.734375
vt 0.187500 0.750000
vt 0.156250 0.750000
vt 0.031250 0.734375
vt 0.062500 0.734375
vt 0.062500 0.750000
vt 0.031250 0.750000
vt 0.218750 0.734375
vt 0.218750 0.750000
vt 0.093750 0.734375
vt 0.093750 0.750000
vt 0.125000 0.750000
vt 0.000000 0.750000
vt 0.250000 0.750000
vt 0.937500 0.562500
vt 0.937500 0.625000
vt 0.875000 0.625000
vt 0.875000 0.562500
vt 0.812500 0.625000
vt 0.875000 0.937500
vt 0.812500 0.937500
vt 0.875000 1.000000
vt 0.937500 0.937500
vt 0.937500 1.000000
vt 1.000000 0.937500
vt 1.000000 0.625000
vn -0.4903 0.8190 -0.2981
vn 0.0000 0.9397 -0.3420
vn 0.0624 0.9379 -0.3414
vn 0.4472 0.8405 -0.3059
vn 1.0000 -0.0000 -0.0000
vn -0.4472 0.8405 -0.3059
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 0.3420 0.9397
vn -0.0000 -0.3420 -0.9397
vn 0.0000 -0.9397 0.3420
vn 0.4903 0.8190 -0.2981
vn -0.0624 0.9379 -0.3414
s off
f 46/1/1 47/2/1 1/3/1 41/4/1
f 45/5/2 46/1/2 41/4/2 42/6/2
f 44/7/3 45/5/3 42/6/3 43/8/3
f 8/9/4 44/7/4 43/8/4 6/10/4
f 9/11/5 11/12/5 15/13/5 13/14/5
f 50/15/6 7/16/6 5/17/6 4/18/6
f 11/12/7 12/19/7 16/20/7 15/13/7
f 17/21/7 18/22/7 20/23/7 19/24/7
f 13/25/8 14/26/8 10/27/8 9/28/8
f 16/20/9 12/19/9 10/27/9 14/26/9
f 19/29/9 20/23/9 24/30/9 23/31/9
f 23/32/8 24/30/8 22/33/8 21/34/8
f 21/35/5 22/33/5 18/22/5 17/36/5
f 24/30/10 20/23/10 18/22/10 22/33/10
f 33/37/5 34/38/5 28/39/5 27/40/5
f 27/41/11 28/42/11 32/43/11 31/44/11
f 35/45/9 36/46/9 30/47/9 29/48/9
f 29/49/12 30/50/12 26/51/12 25/52/12
f 30/47/9 36/46/9 37/53/9 38/54/9
f 33/55/13 27/41/13 31/44/13 35/56/13
f 25/52/13 33/55/13 35/56/13 29/49/13
f 32/57/2 28/58/2 34/59/2 36/60/2
f 31/61/9 32/62/9 36/46/9 35/45/9
f 25/63/5 26/64/5 34/38/5 33/37/5
f 37/65/2 40/66/2 39/67/2 38/68/2
f 36/60/11 34/59/11 40/66/11 37/65/11
f 34/38/5 26/64/5 39/69/5 40/70/5
f 26/51/12 30/50/12 38/71/12 39/72/12
f 47/2/14 48/73/14 2/74/14 1/3/14
f 48/73/2 49/75/2 3/76/2 2/74/2
f 49/75/15 50/15/15 4/18/15 3/76/15
f 2/77/11 3/78/11 52/79/11 51/80/11
f 43/81/11 42/82/11 55/83/11 56/84/11
f 3/78/11 4/85/11 53/86/11 52/79/11
f 42/82/11 41/87/11 54/88/11 55/83/11
f 41/87/11 1/89/11 54/88/11
f 43/81/11 56/84/11 6/90/11
f 2/77/11 51/80/11 1/89/11
f 4/85/11 5/91/11 53/86/11
f 57/92/9 58/93/9 60/94/9 59/95/9
f 59/96/8 60/94/8 64/97/8 63/98/8
f 63/99/5 64/97/5 62/100/5 61/101/5
f 61/102/7 62/100/7 58/93/7 57/103/7
f 64/97/10 60/94/10 58/93/10 62/100/10

View File

@ -0,0 +1,128 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Stool_short_Cube.002
v -0.375000 -0.125000 0.375000
v -0.375000 0.000000 0.375000
v -0.375000 -0.125000 -0.375000
v -0.375000 0.000000 -0.375000
v 0.375000 -0.125000 0.375000
v 0.375000 0.000000 0.375000
v 0.375000 -0.125000 -0.375000
v 0.375000 0.000000 -0.375000
v -0.312500 -0.125000 0.312500
v -0.312500 -0.125000 0.187500
v -0.187500 -0.125000 0.312500
v -0.187500 -0.125000 0.187500
v -0.312500 -0.500000 0.187500
v -0.312500 -0.500000 0.312500
v -0.187500 -0.500000 0.187500
v -0.187500 -0.500000 0.312500
v -0.312500 -0.125000 -0.312500
v -0.187500 -0.125000 -0.312500
v -0.312500 -0.125000 -0.187500
v -0.187500 -0.125000 -0.187500
v -0.187500 -0.500000 -0.312500
v -0.312500 -0.500000 -0.312500
v -0.187500 -0.500000 -0.187500
v -0.312500 -0.500000 -0.187500
v 0.312500 -0.125000 -0.312500
v 0.312500 -0.125000 -0.187500
v 0.187500 -0.125000 -0.312500
v 0.187500 -0.125000 -0.187500
v 0.312500 -0.500000 -0.187500
v 0.312500 -0.500000 -0.312500
v 0.187500 -0.500000 -0.187500
v 0.187500 -0.500000 -0.312500
v 0.312500 -0.125000 0.312500
v 0.187500 -0.125000 0.312500
v 0.312500 -0.125000 0.187500
v 0.187500 -0.125000 0.187500
v 0.187500 -0.500000 0.312500
v 0.312500 -0.500000 0.312500
v 0.187500 -0.500000 0.187500
v 0.312500 -0.500000 0.187500
vt 0.500000 0.937500
vt 0.437500 0.937500
vt 0.437500 0.562500
vt 0.500000 0.562500
vt 0.437500 0.500000
vt 0.062500 0.562500
vt 0.062500 0.500000
vt 0.000000 0.562500
vt 0.062500 0.937500
vt 0.000000 0.937500
vt 0.062500 1.000000
vt 0.437500 1.000000
vt 0.437500 0.562500
vt 0.062500 0.562500
vt 0.062500 0.937500
vt 0.437500 0.937500
vt 0.187500 0.187500
vt 0.125000 0.187500
vt 0.125000 0.000000
vt 0.187500 0.000000
vt 0.062500 0.187500
vt 0.000000 0.187500
vt 0.000000 0.000000
vt 0.062500 0.000000
vt 0.250000 0.187500
vt 0.250000 0.000000
vt 0.500000 0.187500
vt 0.437500 0.187500
vt 0.437500 0.000000
vt 0.500000 0.000000
vt 0.375000 0.187500
vt 0.312500 0.187500
vt 0.312500 0.000000
vt 0.375000 0.000000
vt 0.562500 0.187500
vt 0.562500 0.000000
vt 0.187500 0.406250
vt 0.125000 0.406250
vt 0.125000 0.218750
vt 0.187500 0.218750
vt 0.062500 0.406250
vt 0.000000 0.406250
vt 0.000000 0.218750
vt 0.062500 0.218750
vt 0.250000 0.406250
vt 0.250000 0.218750
vt 0.500000 0.406250
vt 0.437500 0.406250
vt 0.437500 0.218750
vt 0.500000 0.218750
vt 0.375000 0.406250
vt 0.312500 0.406250
vt 0.312500 0.218750
vt 0.375000 0.218750
vt 0.562500 0.406250
vt 0.562500 0.218750
vn -1.0000 0.0000 0.0000
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
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/3/2 8/6/2 7/7/2
f 7/8/3 8/6/3 6/9/3 5/10/3
f 5/11/4 6/9/4 2/2/4 1/12/4
f 3/13/5 7/14/5 5/15/5 1/16/5
f 8/6/6 4/3/6 2/2/6 6/9/6
f 11/17/4 9/18/4 14/19/4 16/20/4
f 10/21/2 12/22/2 15/23/2 13/24/2
f 12/25/3 11/17/3 16/20/3 15/26/3
f 9/18/1 10/21/1 13/24/1 14/19/1
f 19/27/1 17/28/1 22/29/1 24/30/1
f 18/31/3 20/32/3 23/33/3 21/34/3
f 20/35/4 19/27/4 24/30/4 23/36/4
f 17/28/2 18/31/2 21/34/2 22/29/2
f 27/37/2 25/38/2 30/39/2 32/40/2
f 26/41/4 28/42/4 31/43/4 29/44/4
f 28/45/1 27/37/1 32/40/1 31/46/1
f 25/38/3 26/41/3 29/44/3 30/39/3
f 35/47/3 33/48/3 38/49/3 40/50/3
f 34/51/1 36/52/1 39/53/1 37/54/1
f 36/55/2 35/47/2 40/50/2 39/56/2
f 33/48/4 34/51/4 37/54/4 38/49/4

View File

@ -0,0 +1,155 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Stool_short_Cube.002
v -0.375000 -0.125000 0.375000
v -0.375000 0.000000 0.375000
v -0.375000 -0.125000 -0.375000
v -0.375000 0.000000 -0.375000
v 0.375000 -0.125000 0.375000
v 0.375000 0.000000 0.375000
v 0.375000 -0.125000 -0.375000
v 0.375000 0.000000 -0.375000
v -0.312500 -0.125000 0.312500
v -0.312500 -0.125000 0.187500
v -0.187500 -0.125000 0.312500
v -0.187500 -0.125000 0.187500
v -0.312500 -0.500000 0.187500
v -0.312500 -0.500000 0.312500
v -0.187500 -0.500000 0.187500
v -0.187500 -0.500000 0.312500
v -0.312500 -0.125000 -0.312500
v -0.187500 -0.125000 -0.312500
v -0.312500 -0.125000 -0.187500
v -0.187500 -0.125000 -0.187500
v -0.187500 -0.500000 -0.312500
v -0.312500 -0.500000 -0.312500
v -0.187500 -0.500000 -0.187500
v -0.312500 -0.500000 -0.187500
v 0.312500 -0.125000 -0.312500
v 0.312500 -0.125000 -0.187500
v 0.187500 -0.125000 -0.312500
v 0.187500 -0.125000 -0.187500
v 0.312500 -0.500000 -0.187500
v 0.312500 -0.500000 -0.312500
v 0.187500 -0.500000 -0.187500
v 0.187500 -0.500000 -0.312500
v 0.312500 -0.125000 0.312500
v 0.187500 -0.125000 0.312500
v 0.312500 -0.125000 0.187500
v 0.187500 -0.125000 0.187500
v 0.187500 -0.500000 0.312500
v 0.312500 -0.500000 0.312500
v 0.187500 -0.500000 0.187500
v 0.312500 -0.500000 0.187500
v -0.312500 0.000000 0.312500
v -0.312500 0.031250 0.312500
v -0.312500 0.000000 -0.312500
v -0.312500 0.031250 -0.312500
v 0.312500 0.000000 0.312500
v 0.312500 0.031250 0.312500
v 0.312500 0.000000 -0.312500
v 0.312500 0.031250 -0.312500
vt 0.500000 0.937500
vt 0.437500 0.937500
vt 0.437500 0.562500
vt 0.500000 0.562500
vt 0.437500 0.500000
vt 0.062500 0.562500
vt 0.062500 0.500000
vt 0.000000 0.562500
vt 0.062500 0.937500
vt 0.000000 0.937500
vt 0.062500 1.000000
vt 0.437500 1.000000
vt 0.437500 0.562500
vt 0.062500 0.562500
vt 0.062500 0.937500
vt 0.437500 0.937500
vt 0.187500 0.187500
vt 0.125000 0.187500
vt 0.125000 0.000000
vt 0.187500 0.000000
vt 0.062500 0.187500
vt 0.000000 0.187500
vt 0.000000 0.000000
vt 0.062500 0.000000
vt 0.250000 0.187500
vt 0.250000 0.000000
vt 0.500000 0.187500
vt 0.437500 0.187500
vt 0.437500 0.000000
vt 0.500000 0.000000
vt 0.375000 0.187500
vt 0.312500 0.187500
vt 0.312500 0.000000
vt 0.375000 0.000000
vt 0.562500 0.187500
vt 0.562500 0.000000
vt 0.187500 0.406250
vt 0.125000 0.406250
vt 0.125000 0.218750
vt 0.187500 0.218750
vt 0.062500 0.406250
vt 0.000000 0.406250
vt 0.000000 0.218750
vt 0.062500 0.218750
vt 0.250000 0.406250
vt 0.250000 0.218750
vt 0.500000 0.406250
vt 0.437500 0.406250
vt 0.437500 0.218750
vt 0.500000 0.218750
vt 0.375000 0.406250
vt 0.312500 0.406250
vt 0.312500 0.218750
vt 0.375000 0.218750
vt 0.562500 0.406250
vt 0.562500 0.218750
vt 1.000000 0.954545
vt 0.954545 0.954545
vt 0.954545 0.045455
vt 1.000000 0.045455
vt 0.954545 0.000000
vt 0.045455 0.045455
vt 0.045455 0.000000
vt 0.000000 0.045455
vt 0.045455 0.954545
vt 0.000000 0.954545
vt 0.045455 1.000000
vt 0.954545 1.000000
vn -1.0000 0.0000 0.0000
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
g Stool_short_Cube.002_Stool_short
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/3/2 8/6/2 7/7/2
f 7/8/3 8/6/3 6/9/3 5/10/3
f 5/11/4 6/9/4 2/2/4 1/12/4
f 3/13/5 7/14/5 5/15/5 1/16/5
f 8/6/6 4/3/6 2/2/6 6/9/6
f 11/17/4 9/18/4 14/19/4 16/20/4
f 10/21/2 12/22/2 15/23/2 13/24/2
f 12/25/3 11/17/3 16/20/3 15/26/3
f 9/18/1 10/21/1 13/24/1 14/19/1
f 19/27/1 17/28/1 22/29/1 24/30/1
f 18/31/3 20/32/3 23/33/3 21/34/3
f 20/35/4 19/27/4 24/30/4 23/36/4
f 17/28/2 18/31/2 21/34/2 22/29/2
f 27/37/2 25/38/2 30/39/2 32/40/2
f 26/41/4 28/42/4 31/43/4 29/44/4
f 28/45/1 27/37/1 32/40/1 31/46/1
f 25/38/3 26/41/3 29/44/3 30/39/3
f 35/47/3 33/48/3 38/49/3 40/50/3
f 34/51/1 36/52/1 39/53/1 37/54/1
f 36/55/2 35/47/2 40/50/2 39/56/2
f 33/48/4 34/51/4 37/54/4 38/49/4
g Stool_short_Cube.002_Cushion
f 41/57/1 42/58/1 44/59/1 43/60/1
f 43/61/2 44/59/2 48/62/2 47/63/2
f 47/64/3 48/62/3 46/65/3 45/66/3
f 45/67/4 46/65/4 42/58/4 41/68/4
f 48/62/6 44/59/6 42/58/6 46/65/6

View File

@ -0,0 +1,128 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Stool_tall_Cube.003
v -0.375000 0.375000 0.375000
v -0.375000 0.500000 0.375000
v -0.375000 0.375000 -0.375000
v -0.375000 0.500000 -0.375000
v 0.375000 0.375000 0.375000
v 0.375000 0.500000 0.375000
v 0.375000 0.375000 -0.375000
v 0.375000 0.500000 -0.375000
v -0.312500 0.375000 0.312500
v -0.312500 0.375000 0.187500
v -0.187500 0.375000 0.312500
v -0.187500 0.375000 0.187500
v -0.312500 -0.500000 0.187500
v -0.312500 -0.500000 0.312500
v -0.187500 -0.500000 0.187500
v -0.187500 -0.500000 0.312500
v -0.312500 0.375000 -0.312500
v -0.187500 0.375000 -0.312500
v -0.312500 0.375000 -0.187500
v -0.187500 0.375000 -0.187500
v -0.187500 -0.500000 -0.312500
v -0.312500 -0.500000 -0.312500
v -0.187500 -0.500000 -0.187500
v -0.312500 -0.500000 -0.187500
v 0.312500 0.375000 -0.312500
v 0.312500 0.375000 -0.187500
v 0.187500 0.375000 -0.312500
v 0.187500 0.375000 -0.187500
v 0.312500 -0.500000 -0.187500
v 0.312500 -0.500000 -0.312500
v 0.187500 -0.500000 -0.187500
v 0.187500 -0.500000 -0.312500
v 0.312500 0.375000 0.312500
v 0.187500 0.375000 0.312500
v 0.312500 0.375000 0.187500
v 0.187500 0.375000 0.187500
v 0.187500 -0.500000 0.312500
v 0.312500 -0.500000 0.312500
v 0.187500 -0.500000 0.187500
v 0.312500 -0.500000 0.187500
vt 0.500000 0.937500
vt 0.437500 0.937500
vt 0.437500 0.562500
vt 0.500000 0.562500
vt 0.437500 0.500000
vt 0.062500 0.562500
vt 0.062500 0.500000
vt 0.000000 0.562500
vt 0.062500 0.937500
vt 0.000000 0.937500
vt 0.062500 1.000000
vt 0.437500 1.000000
vt 0.437500 0.562500
vt 0.062500 0.562500
vt 0.062500 0.937500
vt 0.437500 0.937500
vt 0.187500 0.437500
vt 0.125000 0.437500
vt 0.125000 0.000000
vt 0.187500 0.000000
vt 0.062500 0.437500
vt 0.000000 0.437500
vt 0.000000 0.000000
vt 0.062500 0.000000
vt 0.250000 0.437500
vt 0.250000 0.000000
vt 0.937500 0.437500
vt 0.875000 0.437500
vt 0.875000 0.000000
vt 0.937500 0.000000
vt 0.812500 0.437500
vt 0.750000 0.437500
vt 0.750000 0.000000
vt 0.812500 0.000000
vt 1.000000 0.437500
vt 1.000000 0.000000
vt 0.937500 1.000000
vt 0.875000 1.000000
vt 0.875000 0.562500
vt 0.937500 0.562500
vt 0.812500 1.000000
vt 0.750000 1.000000
vt 0.750000 0.562500
vt 0.812500 0.562500
vt 1.000000 1.000000
vt 1.000000 0.562500
vt 0.562500 0.437500
vt 0.500000 0.437500
vt 0.500000 0.000000
vt 0.562500 0.000000
vt 0.437500 0.437500
vt 0.375000 0.437500
vt 0.375000 0.000000
vt 0.437500 0.000000
vt 0.625000 0.437500
vt 0.625000 0.000000
vn -1.0000 0.0000 0.0000
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
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/3/2 8/6/2 7/7/2
f 7/8/3 8/6/3 6/9/3 5/10/3
f 5/11/4 6/9/4 2/2/4 1/12/4
f 3/13/5 7/14/5 5/15/5 1/16/5
f 8/6/6 4/3/6 2/2/6 6/9/6
f 11/17/4 9/18/4 14/19/4 16/20/4
f 10/21/2 12/22/2 15/23/2 13/24/2
f 12/25/3 11/17/3 16/20/3 15/26/3
f 9/18/1 10/21/1 13/24/1 14/19/1
f 19/27/1 17/28/1 22/29/1 24/30/1
f 18/31/3 20/32/3 23/33/3 21/34/3
f 20/35/4 19/27/4 24/30/4 23/36/4
f 17/28/2 18/31/2 21/34/2 22/29/2
f 27/37/2 25/38/2 30/39/2 32/40/2
f 26/41/4 28/42/4 31/43/4 29/44/4
f 28/45/1 27/37/1 32/40/1 31/46/1
f 25/38/3 26/41/3 29/44/3 30/39/3
f 35/47/3 33/48/3 38/49/3 40/50/3
f 34/51/1 36/52/1 39/53/1 37/54/1
f 36/55/2 35/47/2 40/50/2 39/56/2
f 33/48/4 34/51/4 37/54/4 38/49/4

View File

@ -0,0 +1,155 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Seating_Cushion_Cube.005
v -0.312500 0.500000 0.312500
v -0.312500 0.531250 0.312500
v -0.312500 0.500000 -0.312500
v -0.312500 0.531250 -0.312500
v 0.312500 0.500000 0.312500
v 0.312500 0.531250 0.312500
v 0.312500 0.500000 -0.312500
v 0.312500 0.531250 -0.312500
v -0.375000 0.375000 0.375000
v -0.375000 0.500000 0.375000
v -0.375000 0.375000 -0.375000
v -0.375000 0.500000 -0.375000
v 0.375000 0.375000 0.375000
v 0.375000 0.500000 0.375000
v 0.375000 0.375000 -0.375000
v 0.375000 0.500000 -0.375000
v -0.312500 0.375000 0.312500
v -0.312500 0.375000 0.187500
v -0.187500 0.375000 0.312500
v -0.187500 0.375000 0.187500
v -0.312500 -0.500000 0.187500
v -0.312500 -0.500000 0.312500
v -0.187500 -0.500000 0.187500
v -0.187500 -0.500000 0.312500
v -0.312500 0.375000 -0.312500
v -0.187500 0.375000 -0.312500
v -0.312500 0.375000 -0.187500
v -0.187500 0.375000 -0.187500
v -0.187500 -0.500000 -0.312500
v -0.312500 -0.500000 -0.312500
v -0.187500 -0.500000 -0.187500
v -0.312500 -0.500000 -0.187500
v 0.312500 0.375000 -0.312500
v 0.312500 0.375000 -0.187500
v 0.187500 0.375000 -0.312500
v 0.187500 0.375000 -0.187500
v 0.312500 -0.500000 -0.187500
v 0.312500 -0.500000 -0.312500
v 0.187500 -0.500000 -0.187500
v 0.187500 -0.500000 -0.312500
v 0.312500 0.375000 0.312500
v 0.187500 0.375000 0.312500
v 0.312500 0.375000 0.187500
v 0.187500 0.375000 0.187500
v 0.187500 -0.500000 0.312500
v 0.312500 -0.500000 0.312500
v 0.187500 -0.500000 0.187500
v 0.312500 -0.500000 0.187500
vt 0.500000 0.937500
vt 0.437500 0.937500
vt 0.437500 0.562500
vt 0.500000 0.562500
vt 0.437500 0.500000
vt 0.062500 0.562500
vt 0.062500 0.500000
vt 0.000000 0.562500
vt 0.062500 0.937500
vt 0.000000 0.937500
vt 0.062500 1.000000
vt 0.437500 1.000000
vt 0.437500 0.562500
vt 0.062500 0.562500
vt 0.062500 0.937500
vt 0.437500 0.937500
vt 0.187500 0.437500
vt 0.125000 0.437500
vt 0.125000 0.000000
vt 0.187500 0.000000
vt 0.062500 0.437500
vt 0.000000 0.437500
vt 0.000000 0.000000
vt 0.062500 0.000000
vt 0.250000 0.437500
vt 0.250000 0.000000
vt 0.937500 0.437500
vt 0.875000 0.437500
vt 0.875000 0.000000
vt 0.937500 0.000000
vt 0.812500 0.437500
vt 0.750000 0.437500
vt 0.750000 0.000000
vt 0.812500 0.000000
vt 1.000000 0.437500
vt 1.000000 0.000000
vt 0.937500 1.000000
vt 0.875000 1.000000
vt 0.875000 0.562500
vt 0.937500 0.562500
vt 0.812500 1.000000
vt 0.750000 1.000000
vt 0.750000 0.562500
vt 0.812500 0.562500
vt 1.000000 1.000000
vt 1.000000 0.562500
vt 0.562500 0.437500
vt 0.500000 0.437500
vt 0.500000 0.000000
vt 0.562500 0.000000
vt 0.437500 0.437500
vt 0.375000 0.437500
vt 0.375000 0.000000
vt 0.437500 0.000000
vt 0.625000 0.437500
vt 0.625000 0.000000
vt 1.000000 0.954545
vt 0.954545 0.954545
vt 0.954545 0.045455
vt 1.000000 0.045455
vt 0.954545 0.000000
vt 0.045455 0.045455
vt 0.045455 0.000000
vt 0.000000 0.045455
vt 0.045455 0.954545
vt 0.000000 0.954545
vt 0.045455 1.000000
vt 0.954545 1.000000
vn -1.0000 0.0000 0.0000
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
g Seating_Cushion_Cube.005_Stool_tall
s off
f 9/1/1 10/2/1 12/3/1 11/4/1
f 11/5/2 12/3/2 16/6/2 15/7/2
f 15/8/3 16/6/3 14/9/3 13/10/3
f 13/11/4 14/9/4 10/2/4 9/12/4
f 11/13/5 15/14/5 13/15/5 9/16/5
f 16/6/6 12/3/6 10/2/6 14/9/6
f 19/17/4 17/18/4 22/19/4 24/20/4
f 18/21/2 20/22/2 23/23/2 21/24/2
f 20/25/3 19/17/3 24/20/3 23/26/3
f 17/18/1 18/21/1 21/24/1 22/19/1
f 27/27/1 25/28/1 30/29/1 32/30/1
f 26/31/3 28/32/3 31/33/3 29/34/3
f 28/35/4 27/27/4 32/30/4 31/36/4
f 25/28/2 26/31/2 29/34/2 30/29/2
f 35/37/2 33/38/2 38/39/2 40/40/2
f 34/41/4 36/42/4 39/43/4 37/44/4
f 36/45/1 35/37/1 40/40/1 39/46/1
f 33/38/3 34/41/3 37/44/3 38/39/3
f 43/47/3 41/48/3 46/49/3 48/50/3
f 42/51/1 44/52/1 47/53/1 45/54/1
f 44/55/2 43/47/2 48/50/2 47/56/2
f 41/48/4 42/51/4 45/54/4 46/49/4
g Seating_Cushion_Cube.005_Cushion
f 1/57/1 2/58/1 4/59/1 3/60/1
f 3/61/2 4/59/2 8/62/2 7/63/2
f 7/64/3 8/62/3 6/65/3 5/66/3
f 5/67/4 6/65/4 2/58/4 1/68/4
f 8/62/6 4/59/6 2/58/6 6/65/6

View File

@ -0,0 +1,238 @@
# Blender v2.82 (sub 7) OBJ File: 'furniture.blend'
# www.blender.org
o Table_Cube.011
v -1.500000 0.375000 0.500000
v -1.500000 0.500000 0.500000
v -1.500000 0.375000 -0.500000
v -1.500000 0.500000 -0.500000
v 0.500000 0.375000 0.500000
v 0.500000 0.500000 0.500000
v 0.500000 0.375000 -0.500000
v 0.500000 0.500000 -0.500000
v -1.375000 0.375000 0.062500
v -1.375000 0.375000 -0.062500
v -1.375000 0.250000 0.062500
v -1.375000 0.250000 -0.062500
v 0.375000 0.375000 0.062500
v 0.375000 0.375000 -0.062500
v 0.375000 0.250000 0.062500
v 0.375000 0.250000 -0.062500
v -0.062500 -0.375000 -0.062500
v 0.062500 -0.375000 -0.062500
v -0.062500 -0.375000 0.062500
v 0.062500 -0.375000 0.062500
v -0.062500 0.250000 -0.062500
v 0.062500 0.250000 -0.062500
v -0.062500 0.250000 0.062500
v 0.062500 0.250000 0.062500
v -1.062500 0.375000 -0.375000
v -0.937500 0.375000 -0.375000
v -1.062500 0.250000 -0.375000
v -0.937500 0.250000 -0.375000
v -1.062500 0.375000 0.375000
v -0.937500 0.375000 0.375000
v -1.062500 0.250000 0.375000
v -0.937500 0.250000 0.375000
v -1.062500 -0.375000 -0.062500
v -0.937500 -0.375000 -0.062500
v -1.062500 -0.375000 0.062500
v -0.937500 -0.375000 0.062500
v -1.062500 0.250000 -0.062500
v -0.937500 0.250000 -0.062500
v -1.062500 0.250000 0.062500
v -0.937500 0.250000 0.062500
v -0.062500 0.375000 -0.375000
v 0.062500 0.375000 -0.375000
v -0.062500 0.250000 -0.375000
v 0.062500 0.250000 -0.375000
v -0.062500 0.375000 0.375000
v 0.062500 0.375000 0.375000
v -0.062500 0.250000 0.375000
v 0.062500 0.250000 0.375000
v -1.375000 -0.500000 -0.062500
v -1.375000 -0.500000 0.062500
v -1.375000 -0.375000 -0.062500
v -1.375000 -0.375000 0.062500
v 0.375000 -0.500000 -0.062500
v 0.375000 -0.500000 0.062500
v 0.375000 -0.375000 -0.062500
v 0.375000 -0.375000 0.062500
v -1.062500 -0.500000 0.375000
v -0.937500 -0.500000 0.375000
v -1.062500 -0.375000 0.375000
v -0.937500 -0.375000 0.375000
v -1.062500 -0.500000 -0.375000
v -0.937500 -0.500000 -0.375000
v -1.062500 -0.375000 -0.375000
v -0.937500 -0.375000 -0.375000
v -0.062500 -0.500000 0.375000
v 0.062500 -0.500000 0.375000
v -0.062500 -0.375000 0.375000
v 0.062500 -0.375000 0.375000
v -0.062500 -0.500000 -0.375000
v 0.062500 -0.500000 -0.375000
v -0.062500 -0.375000 -0.375000
v 0.062500 -0.375000 -0.375000
vt 1.000000 0.937500
vt 1.000000 1.000000
vt 0.500000 1.000000
vt 0.500000 0.937500
vt 0.500000 1.000000
vt 0.562500 1.000000
vt 0.562500 0.000000
vt 0.500000 0.000000
vt 0.500000 0.062500
vt 0.500000 0.000000
vt 1.000000 0.000000
vt 1.000000 0.062500
vt 1.000000 0.000000
vt 0.953125 0.000000
vt 0.953125 1.000000
vt 1.000000 1.000000
vt 0.953125 1.000000
vt 0.953125 0.000000
vt 0.562500 0.000000
vt 0.562500 1.000000
vt 0.125000 0.000000
vt 0.062500 0.000000
vt 0.062500 0.062500
vt 0.125000 0.062500
vt 0.062500 0.937500
vt 0.125000 0.937500
vt 0.062500 1.000000
vt 0.125000 1.000000
vt 0.187500 0.937500
vt 0.187500 0.062500
vt 0.000000 0.062500
vt 0.000000 0.937500
vt 0.500000 0.687500
vt 0.437500 0.687500
vt 0.437500 1.000000
vt 0.500000 1.000000
vt 0.312500 1.000000
vt 0.375000 1.000000
vt 0.375000 0.687500
vt 0.312500 0.687500
vt 0.250000 0.687500
vt 0.250000 1.000000
vt 0.156250 0.687500
vt 0.218750 0.687500
vt 0.218750 0.625000
vt 0.156250 0.625000
vt 0.218750 0.250000
vt 0.156250 0.250000
vt 0.218750 0.187500
vt 0.156250 0.187500
vt 0.093750 0.250000
vt 0.093750 0.625000
vt 0.281250 0.625000
vt 0.281250 0.250000
vt 0.406250 0.453125
vt 0.343750 0.453125
vt 0.343750 0.765625
vt 0.406250 0.765625
vt 0.218750 0.765625
vt 0.281250 0.765625
vt 0.281250 0.453125
vt 0.218750 0.453125
vt 0.156250 0.453125
vt 0.156250 0.765625
vt 0.234375 0.515625
vt 0.296875 0.515625
vt 0.296875 0.453125
vt 0.234375 0.453125
vt 0.296875 0.078125
vt 0.234375 0.078125
vt 0.296875 0.015625
vt 0.234375 0.015625
vt 0.171875 0.078125
vt 0.171875 0.453125
vt 0.359375 0.453125
vt 0.359375 0.078125
vt 0.375000 0.000000
vt 0.312500 0.000000
vt 0.312500 0.062500
vt 0.375000 0.062500
vt 0.312500 0.937500
vt 0.375000 0.937500
vt 0.312500 1.000000
vt 0.375000 1.000000
vt 0.437500 0.937500
vt 0.437500 0.062500
vt 0.250000 0.062500
vt 0.250000 0.937500
vt 0.140625 0.968750
vt 0.203125 0.968750
vt 0.203125 0.906250
vt 0.140625 0.906250
vt 0.203125 0.531250
vt 0.140625 0.531250
vt 0.203125 0.468750
vt 0.140625 0.468750
vt 0.078125 0.531250
vt 0.078125 0.906250
vt 0.265625 0.906250
vt 0.265625 0.531250
vt 0.328125 0.687500
vt 0.390625 0.687500
vt 0.390625 0.625000
vt 0.328125 0.625000
vt 0.390625 0.250000
vt 0.328125 0.250000
vt 0.390625 0.187500
vt 0.328125 0.187500
vt 0.265625 0.250000
vt 0.265625 0.625000
vt 0.453125 0.625000
vt 0.453125 0.250000
vn -1.0000 0.0000 0.0000
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
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/9/3 8/10/3 6/11/3 5/12/3
f 5/13/4 6/14/4 2/15/4 1/16/4
f 3/17/5 7/18/5 5/19/5 1/20/5
f 8/10/6 4/3/6 2/2/6 6/11/6
f 9/21/1 10/22/1 12/23/1 11/24/1
f 11/24/5 12/23/5 16/25/5 15/26/5
f 15/26/3 16/25/3 14/27/3 13/28/3
f 11/24/4 15/26/4 13/29/4 9/30/4
f 16/25/2 12/23/2 10/31/2 14/32/2
f 19/33/4 20/34/4 24/35/4 23/36/4
f 21/37/2 22/38/2 18/39/2 17/40/2
f 19/41/1 23/42/1 21/37/1 17/40/1
f 24/35/3 20/34/3 18/39/3 22/38/3
f 25/43/2 26/44/2 28/45/2 27/46/2
f 27/46/5 28/45/5 32/47/5 31/48/5
f 31/48/4 32/47/4 30/49/4 29/50/4
f 27/46/1 31/48/1 29/51/1 25/52/1
f 32/47/3 28/45/3 26/53/3 30/54/3
f 35/55/4 36/56/4 40/57/4 39/58/4
f 37/59/2 38/60/2 34/61/2 33/62/2
f 35/63/1 39/64/1 37/59/1 33/62/1
f 40/57/3 36/56/3 34/61/3 38/60/3
f 41/65/2 42/66/2 44/67/2 43/68/2
f 43/68/5 44/67/5 48/69/5 47/70/5
f 47/70/4 48/69/4 46/71/4 45/72/4
f 43/68/1 47/70/1 45/73/1 41/74/1
f 48/69/3 44/67/3 42/75/3 46/76/3
f 49/77/1 50/78/1 52/79/1 51/80/1
f 51/80/6 52/79/6 56/81/6 55/82/6
f 55/82/3 56/81/3 54/83/3 53/84/3
f 51/80/2 55/82/2 53/85/2 49/86/2
f 56/81/4 52/79/4 50/87/4 54/88/4
f 57/89/4 58/90/4 60/91/4 59/92/4
f 59/92/6 60/91/6 64/93/6 63/94/6
f 63/94/2 64/93/2 62/95/2 61/96/2
f 59/92/1 63/94/1 61/97/1 57/98/1
f 64/93/3 60/91/3 58/99/3 62/100/3
f 65/101/4 66/102/4 68/103/4 67/104/4
f 67/104/6 68/103/6 72/105/6 71/106/6
f 71/106/2 72/105/2 70/107/2 69/108/2
f 67/104/1 71/106/1 69/109/1 65/110/1
f 72/105/3 68/103/3 66/111/3 70/112/3

257
seating.lua Normal file
View File

@ -0,0 +1,257 @@
minetest.register_node('furniture:stool_short', {
description = 'Short stool',
drawtype = 'mesh',
mesh = 'furniture_stool_short.obj',
tiles = {'furniture_stool_short.png'},
paramtype = 'light',
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
selection_box = {
type = 'fixed',
fixed = {-.375, -.5, -.375, .375, 0, .375},
},
collision_box = {
type = 'fixed',
fixed = {-.375, -.5, -.375, .375, 0, .375},
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
pos.y = pos.y + 0
furniture.sit(pos, node, clicker, pointed_thing, false)
return itemstack
end
})
minetest.register_node('furniture:stool_tall', {
description = 'Tall stool',
drawtype = 'mesh',
mesh = 'furniture_stool_tall.obj',
tiles = {'furniture_stool_tall.png'},
paramtype = 'light',
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
selection_box = {
type = 'fixed',
fixed = {-.375, -.5, -.375, .375, .5, .375},
},
collision_box = {
type = 'fixed',
fixed = {-.375, -.5, -.375, .375, .5, .375},
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
pos.y = pos.y + .5
furniture.sit(pos, node, clicker, pointed_thing, false)
return itemstack
end
})
minetest.register_node('furniture:chair', {
description = 'Chair',
drawtype = 'mesh',
mesh = 'furniture_chair.obj',
tiles = {'furniture_chair.png'},
paramtype = 'light',
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
selection_box = {
type = 'fixed',
fixed = {-.375, -.5, -.375, .375, 0, .375},
},
collision_box = {
type = 'fixed',
fixed = {-.375, -.5, -.375, .375, 0, .375},
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
pos.y = pos.y + 0
furniture.sit(pos, node, clicker, pointed_thing, true)
return itemstack
end
})
minetest.register_node('furniture:bench', {
description = 'Bench',
drawtype = 'mesh',
mesh = 'furniture_bench.obj',
tiles = {'furniture_bench.png'},
paramtype = 'light',
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
selection_box = {
type = 'fixed',
fixed = {-.375, -.5, -.375, 1.375, 0, .375},
},
collision_box = {
type = 'fixed',
fixed = {-.375, -.5, -.375, 1.375, 0, .375},
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
pos.y = pos.y + 0
furniture.sit(pos, node, clicker, pointed_thing, false)
return itemstack
end,
after_place_node = function(pos, placer, itemstack)
if not epic.space_to_side(pos) then
minetest.remove_node(pos)
return itemstack
end
end,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
epic.remove_side_node(pos, oldnode)
end,
on_rotate = function(pos, node)
return false
end,
})
minetest.register_node('furniture:bench_with_back', {
description = 'Bench with Back',
drawtype = 'mesh',
mesh = 'furniture_bench_with_back.obj',
tiles = {'furniture_bench.png'},
paramtype = 'light',
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
selection_box = {
type = 'fixed',
fixed = {{-.375, -.5, -.375, 1.375, 0, .45},
{-.375, 0, .275, 1.375, .5, .375}}
},
collision_box = {
type = 'fixed',
fixed = {{-.375, -.5, -.375, 1.375, 0, .45},
{-.375, 0, .275, 1.375, .5, .375}}
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
pos.y = pos.y + 0
furniture.sit(pos, node, clicker, pointed_thing, true)
return itemstack
end,
after_place_node = function(pos, placer, itemstack)
if not epic.space_to_side(pos) then
minetest.remove_node(pos)
return itemstack
end
end,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
epic.remove_side_node(pos, oldnode)
end,
on_rotate = function(pos, node)
return false
end,
})
---Cushioned items. Yay. :P
local dye_table = dye.dyes
for i in ipairs(dye_table) do
local name = dye_table[i][1]
local desc = dye_table[i][2]
local hex = dye_table[i][3]
minetest.register_node('furniture:stool_short_'..name, {
description = 'Short Stool with '..desc..' Cushion',
drawtype = 'mesh',
mesh = 'furniture_stool_short_cushion.obj',
tiles = {'furniture_stool_short.png', 'furniture_cushion_pad.png'},
overlay_tiles = {'', {name = 'furniture_cushion_pad.png', color = hex}},
paramtype = 'light',
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
selection_box = {
type = 'fixed',
fixed = {-.375, -.5, -.375, .375, 0, .375},
},
collision_box = {
type = 'fixed',
fixed = {-.375, -.5, -.375, .375, 0, .375},
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
pos.y = pos.y + 0
furniture.sit(pos, node, clicker, pointed_thing, false)
return itemstack
end
})
minetest.register_node('furniture:stool_tall_'..name, {
description = 'Tall Stool with '..desc..' Cushion',
drawtype = 'mesh',
mesh = 'furniture_stool_tall_cushion.obj',
tiles = {'furniture_stool_tall.png', 'furniture_cushion_pad.png'},
overlay_tiles = {'', {name = 'furniture_cushion_pad.png', color = hex}},
paramtype = 'light',
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
selection_box = {
type = 'fixed',
fixed = {-.375, -.5, -.375, .375, .5, .375},
},
collision_box = {
type = 'fixed',
fixed = {-.375, -.5, -.375, .375, .5, .375},
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
pos.y = pos.y + .5
furniture.sit(pos, node, clicker, pointed_thing, false)
return itemstack
end
})
minetest.register_node('furniture:chair_'..name, {
description = 'Chair with '..desc..' Cushion',
drawtype = 'mesh',
mesh = 'furniture_chair_cushion.obj',
tiles = {'furniture_chair.png', 'furniture_cushion_pad.png'},
overlay_tiles = {'', {name = 'furniture_cushion_pad.png', color = hex}},
paramtype = 'light',
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
selection_box = {
type = 'fixed',
fixed = {-.375, -.5, -.375, .375, 0, .375},
},
collision_box = {
type = 'fixed',
fixed = {-.375, -.5, -.375, .375, 0, .375},
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
pos.y = pos.y + 0
furniture.sit(pos, node, clicker, pointed_thing, true)
return itemstack
end
})
minetest.register_node('furniture:cushion_half_'..name, {
description = desc..' Half Cushion',
drawtype = 'nodebox',
tiles = {'furniture_cushion.png^[multiply:'..hex},
paramtype = 'light',
node_box = {
type = 'fixed',
fixed = {-.5, -.5, -.5, .5, 0, .5},
},
groups = {oddly_breakable_by_hand = 2, snappy=3, bouncy=50},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
pos.y = pos.y + 0
furniture.sit(pos, node, clicker, pointed_thing, false)
return itemstack
end
})
minetest.register_node('furniture:cushion_full_'..name, {
description = desc..' Full Cushion',
tiles = {'furniture_cushion.png^[multiply:'..hex},
groups = {oddly_breakable_by_hand = 2, snappy=3, bouncy=50},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
pos.y = pos.y + .5
furniture.sit(pos, node, clicker, pointed_thing, false)
return itemstack
end
})
end

109
stain.lua Normal file
View File

@ -0,0 +1,109 @@
local function set_wear(itemstack, level, max_level)
local temp
if level == 0 then
temp = 0
else
temp = 65536 - math.floor(level / max_level * 65535)
if temp > 65535 then temp = 65535 end
if temp < 1 then temp = 1 end
end
itemstack:set_wear(temp)
end
local function get_wear(itemstack)
if itemstack:get_metadata() == "" then
return 30
else
return tonumber(itemstack:get_metadata())
end
end
local stain_table = {
{'Golden Oak', '1', 32, '#cc7431'},
{'Country Pine', '2', 64, '#b76126'},
{'Cinnamon', '3', 96, '#9c4a1b'},
{'Cherry', '4', 128, '#873a14'},
{'Mahogany', '5', 160, '#712b0d'},
{'Walnut', '6', 192, '#5b1e07'},
{'Black', '7', 224, '#461404'}
}
for i in ipairs (stain_table) do
local desc = stain_table[i][1]
local name = stain_table[i][2]
local indx = stain_table[i][3]
local colo = stain_table[i][4]
minetest.register_tool('furniture:stain_brush'..name, {
description = desc..' Stain brush',
inventory_image = 'furniture_brush.png^(furniture_brush_overlay.png^[colorize:'..colo..':255)',
stack_max = 1,
wear_represents = 'content_level',
groups = {stain_brush=1},
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type ~= 'node' then return end
local player_name = user:get_player_name()
local pos = minetest.get_pointed_thing_position(pointed_thing)
if minetest.is_protected(pos, player_name) and not minetest.check_player_privs(user, 'protection_bypass') then
return
end
local node = minetest.get_node(pos)
if minetest.get_item_group(node.name, 'stainable') > 0 then
--local mod = string.sub(node.name, 1, 9)
--if mod == 'furniture' then
local fdir = node.param2 % 32
local stain = get_wear(itemstack)
if stain == 0 then
itemstack:set_name('furniture:brush')
return itemstack end
if node.param2 == (fdir + indx) then
local player = user:get_player_name()
minetest.chat_send_player(player, "Already stained this color.")
return
elseif node.param2 >= (fdir + indx) then
local player = user:get_player_name()
minetest.chat_send_player(player, "You can only stain things darker.")
return end
minetest.swap_node(pos, {name = node.name, param2 = fdir + indx})
stain = stain - 1
itemstack:set_metadata(tostring(stain))
set_wear(itemstack, stain, 30)
return itemstack
else
local player = user:get_player_name()
minetest.chat_send_player(player, "You can't stain that item.")
end
end,
})
end
minetest.register_tool('furniture:sanding', {
description = 'Sanding pad',
inventory_image = 'furniture_sanding.png',
stack_max = 1,
wear_represents = 'content_level',
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type ~= 'node' then return end
local player_name = user:get_player_name()
local pos = minetest.get_pointed_thing_position(pointed_thing)
if minetest.is_protected(pos, player_name) and not minetest.check_player_privs(user, 'protection_bypass') then
return
end
local node = minetest.get_node(pos)
if minetest.get_item_group(node.name, 'stainable') > 0 then
--local mod = string.sub(node.name, 1, 9)
--if mod == 'furniture' then
local fdir = node.param2 % 32
if node.param2 == fdir then
local player = user:get_player_name()
minetest.chat_send_player(player, "Already sanded.")
return end
minetest.swap_node(pos, {name = node.name, param2 = fdir})
itemstack:add_wear(65535 / 48)
return itemstack
else
local player = user:get_player_name()
minetest.chat_send_player(player, "You can't sand that item.")
end
end,
})

246
storage.lua Normal file
View File

@ -0,0 +1,246 @@
minetest.register_node('furniture:chest_small', {
description = 'Small Chest',
drawtype = 'mesh',
mesh = 'furniture_chest_small.obj',
tiles = {'furniture_chest_small.png'},
overlay_tiles = {{name='furniture_chest_small_overlay.png', color='white'}},
paramtype = 'light',
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
selection_box = {
type = 'fixed',
fixed = {-.4, -.5, -.3, .4, .2, .4},
},
collision_box = {
type = 'fixed',
fixed = {-.4, -.5, -.3, .4, .2, .4},
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string('formspec', furniture.storage_24_form(pos, ''))
local inv = meta:get_inventory()
inv:set_size('main', 24)
end,
can_dig = function(pos,player)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
return inv:is_empty('main')
end,
on_receive_fields = function(pos, formname, fields, sender)
local player_name = sender:get_player_name()
if minetest.is_protected(pos, player_name) and not minetest.check_player_privs(sender, 'protection_bypass') then
return
end
local meta = minetest.get_meta(pos)
if fields ['save'] then
meta:set_string('infotext', fields.description)
meta:set_string('formspec', furniture.storage_24_form(pos, fields.description))
elseif fields ['sort'] then
furniture.sort_inventory(meta:get_inventory())
end
end,
allow_metadata_inventory_put = furniture.inv_take_put,
allow_metadata_inventory_take = furniture.inv_take_put,
allow_metadata_inventory_move = furniture.inv_manipulate,
})
minetest.register_node('furniture:chest', {
description = 'Chest',
drawtype = 'mesh',
mesh = 'furniture_chest.obj',
tiles = {'furniture_chest.png'},
overlay_tiles = {{name='furniture_chest_overlay.png', color='white'}},
paramtype = 'light',
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
selection_box = {
type = 'fixed',
fixed = {-.45, -.5, -.4, .45, .4, .5},
},
collision_box = {
type = 'fixed',
fixed = {-.45, -.5, -.4, .45, .4, .5},
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string('formspec', furniture.storage_32_form(pos, ''))
local inv = meta:get_inventory()
inv:set_size('main', 32)
end,
can_dig = function(pos,player)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
return inv:is_empty('main')
end,
on_receive_fields = function(pos, formname, fields, sender)
local player_name = sender:get_player_name()
if minetest.is_protected(pos, player_name) and not minetest.check_player_privs(sender, 'protection_bypass') then
return
end
local meta = minetest.get_meta(pos)
if fields ['save'] then
meta:set_string('infotext', fields.description)
meta:set_string('formspec', furniture.storage_32_form(pos, fields.description))
elseif fields ['sort'] then
furniture.sort_inventory(meta:get_inventory())
end
end,
allow_metadata_inventory_put = furniture.inv_take_put,
allow_metadata_inventory_take = furniture.inv_take_put,
allow_metadata_inventory_move = furniture.inv_manipulate,
})
minetest.register_node('furniture:chest_large', {
description = 'Large Chest',
drawtype = 'mesh',
mesh = 'furniture_chest_large.obj',
tiles = {'furniture_chest_large.png'},
overlay_tiles = {{name='furniture_chest_large_overlay.png', color='white'}},
paramtype = 'light',
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
selection_box = {
type = 'fixed',
fixed = {-.5, -.5, -.4, 1.5, .3, .5},
},
collision_box = {
type = 'fixed',
fixed = {-.5, -.5, -.4, 1.5, .3, .5},
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
after_place_node = function(pos, placer, itemstack)
if not epic.space_to_side(pos) then
minetest.remove_node(pos)
return itemstack
end
end,
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string('formspec', furniture.storage_60_form(pos, ''))
local inv = meta:get_inventory()
inv:set_size('main', 60)
end,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
epic.remove_side_node(pos, oldnode)
end,
can_dig = function(pos,player)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
return inv:is_empty('main')
end,
on_receive_fields = function(pos, formname, fields, sender)
local player_name = sender:get_player_name()
if minetest.is_protected(pos, player_name) and not minetest.check_player_privs(sender, 'protection_bypass') then
return
end
local meta = minetest.get_meta(pos)
if fields ['save'] then
meta:set_string('infotext', fields.description)
meta:set_string('formspec', furniture.storage_60_form(pos, fields.description))
elseif fields ['sort'] then
furniture.sort_inventory(meta:get_inventory())
end
end,
on_rotate = function(pos, node)
return false
end,
allow_metadata_inventory_put = furniture.inv_take_put,
allow_metadata_inventory_take = furniture.inv_take_put,
allow_metadata_inventory_move = furniture.inv_manipulate,
})
minetest.register_node('furniture:cabinet_wall', {
description = 'Wall Mounted Cabinet',
drawtype = 'mesh',
mesh = 'furniture_cabinet_wall.obj',
tiles = {'furniture_cabinet_wall.png'},
paramtype = 'light',
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
selection_box = {
type = 'fixed',
fixed = {-.5, -.5, -.3, .5, .5, .5},
},
collision_box = {
type = 'fixed',
fixed = {-.5, -.5, -.3, .5, .5, .5},
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string('formspec', furniture.storage_24_form(pos, ''))
local inv = meta:get_inventory()
inv:set_size('main', 24)
end,
can_dig = function(pos,player)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
return inv:is_empty('main')
end,
on_receive_fields = function(pos, formname, fields, sender)
local player_name = sender:get_player_name()
if minetest.is_protected(pos, player_name) and not minetest.check_player_privs(sender, 'protection_bypass') then
return
end
local meta = minetest.get_meta(pos)
if fields ['save'] then
meta:set_string('infotext', fields.description)
meta:set_string('formspec', furniture.storage_24_form(pos, fields.description))
elseif fields ['sort'] then
furniture.sort_inventory(meta:get_inventory())
end
end,
allow_metadata_inventory_put = furniture.inv_take_put,
allow_metadata_inventory_take = furniture.inv_take_put,
allow_metadata_inventory_move = furniture.inv_manipulate,
})
minetest.register_node('furniture:cabinet_counter', {
description = 'Cabinet with Countertop',
drawtype = 'mesh',
mesh = 'furniture_cabinet_counter.obj',
tiles = {'furniture_cabinet_counter.png'},
paramtype = 'light',
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
selection_box = {
type = 'fixed',
fixed = {-.5, -.5, -.5, .5, .5, .5},
},
collision_box = {
type = 'fixed',
fixed = {-.5, -.5, -.5, .5, .5, .5},
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string('formspec', furniture.storage_24_form(pos, ''))
local inv = meta:get_inventory()
inv:set_size('main', 24)
end,
can_dig = function(pos,player)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
return inv:is_empty('main')
end,
on_receive_fields = function(pos, formname, fields, sender)
local player_name = sender:get_player_name()
if minetest.is_protected(pos, player_name) and not minetest.check_player_privs(sender, 'protection_bypass') then
return
end
local meta = minetest.get_meta(pos)
if fields ['save'] then
meta:set_string('infotext', fields.description)
meta:set_string('formspec', furniture.storage_24_form(pos, fields.description))
elseif fields ['sort'] then
furniture.sort_inventory(meta:get_inventory())
end
end,
allow_metadata_inventory_put = furniture.inv_take_put,
allow_metadata_inventory_take = furniture.inv_take_put,
allow_metadata_inventory_move = furniture.inv_manipulate,
})

30
tables.lua Normal file
View File

@ -0,0 +1,30 @@
minetest.register_node('furniture:table_basic', {
description = 'Basic Table',
drawtype = 'mesh',
mesh = 'furniture_table_basic.obj',
tiles = {'furniture_table_basic.png'},
paramtype = 'light',
paramtype2 = 'colorfacedir',
palette = 'furniture_stain_palette.png',
selection_box = {
type = 'fixed',
fixed = {-.5, -.5, -.5, 1.5, .5, .5},
},
collision_box = {
type = 'fixed',
fixed = {-.5, -.5, -.5, 1.5, .5, .5},
},
groups = {oddly_breakable_by_hand = 2, choppy=3, stainable=1},
after_place_node = function(pos, placer, itemstack)
if not epic.space_to_side(pos) then
minetest.remove_node(pos)
return itemstack
end
end,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
epic.remove_side_node(pos, oldnode)
end,
on_rotate = function(pos, node)
return false
end,
})

BIN
textures/furniture_bed1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
textures/furniture_lock.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 B