Migrated the siiting API to 'api' folder, added 'anim' field to 'seat' metadata table of all seats, scaled down the chairs and lamps

master
Andrey2470T 2019-08-27 22:31:04 +03:00
parent 72f0124ff0
commit 8dd407c6ff
28 changed files with 212 additions and 16431 deletions

114
api/sitting.lua Normal file
View File

@ -0,0 +1,114 @@
-- Sitting API
-- Node that can be sat on, must contain meta data table like: {is_busy_by = playername, pos = {x, y, z}, anim = {range, speed, blend}}. In future versions a support will be added for random selection of animations.
chairs = {}
function chairs.attach_player_to_node (attacher, node_pos, attach_pos, cur_mesh, cur_anim)
attacher:set_pos(attach_pos)
local phys_over = attacher:get_physics_override()
attacher:set_physics_override({speed=0, jump=0})
attacher:get_meta():set_string("is_attached", minetest.serialize({node_pos=node_pos, attach_pos=attach_pos, old_phys_over = phys_over, old_mesh=cur_mesh, old_anim = cur_anim}))
end
function chairs.detach_player_from_node(disattacher)
local meta = disattacher:get_meta()
local is_attached = minetest.deserialize(meta:get_string("is_attached"))
local phys_over = is_attached.old_phys_over
disattacher:set_physics_override({speed=phys_over.speed, jump=phys_over.jump})
meta:set_string("is_attached", "")
end
function chairs.sit_player(player, node, pos)
local meta = minetest.get_meta(pos)
local seat = minetest.deserialize(meta:get_string("seat"))
if not seat then
return
end
local playername = player:get_player_name()
minetest.debug(seat.busy_by)
if type(seat.busy_by) == "string" then
if seat.busy_by ~= playername then
minetest.chat_send_player(playername, "This seat is busy by player " .. seat.busy_by .. "!")
end
return
end
seat.busy_by = playername
meta:set_string("seat", minetest.serialize(seat))
local cur_anim = player:get_animation()
local cur_mesh = player:get_properties().mesh
chairs.attach_player_to_node(player, pos, seat.pos, cur_mesh, cur_anim)
if seat.anim then
player:set_properties({mesh = seat.anim.mesh})
player:set_animation(seat.anim.range, seat.anim.speed, seat.anim.blend, seat.anim.loop)
end
return true
end
function chairs.standup_player(player, pos, old_seat_data)
local seat
if not old_seat_data then
local meta = minetest.get_meta(pos)
seat = minetest.deserialize(meta:get_string("seat"))
if seat.busy_by == player:get_player_name() then
--minetest.debug("TRUE")
seat.busy_by = nil
meta:set_string("seat", minetest.serialize(seat))
end
elseif type(old_seat_data) == "table" then
seat = old_seat_data
if seat.busy_by ~= player:get_player_name() then
return
end
else
return
end
local is_attached = minetest.deserialize(player:get_meta():get_string("is_attached"))
if is_attached.old_mesh and is_attached.old_anim then
player:set_properties({mesh=is_attached.old_mesh})
player:set_animation(is_attached.old_anim.range, is_attached.old_anim.speed, is_attached.old_anim.blend, is_attached.old_anim.loop) end
chairs.detach_player_from_node(player)
return true
end
--[[minetest.debug(dump(player_meta))
if player_meta ~= nil then
local pos = player_meta.node_pos
local seats = minetest.deserialize(meta:get_string("seats_range")) or oldmetadata_seats or {}
for seat_num, seat_data in pairs(seats) do
if seat_data.is_busy.player == player:get_player_name() then
seat_data.is_busy.bool = false
seat_data.is_busy.player = nil
meta:set_string("seats_range", minetest.serialize(seats))
chairs.disattach_player_from_node(player)
player:set_animation({x=1,y=1}, 15, 0)
end
end
else
return
end
end
--[[for seat_num, seat_data in pairs(seats) do
if seat_num == #seats and seat_data.is_busy.bool == true then
minetest.chat_send_player(sitter:get_player_name(), "All seats are busy!")
return
end
if seat_data.is_busy.bool == false then
seat_data.is_busy.bool = true
seat_data.is_busy.player = sitter:get_player_name()
meta:set_string("seats_range", minetest.serialize(seats))
chairs.attach_player_to_node(sitter, node, pos, seat_data.pos)
if #sitter_anim > 1 then
local random_anim = math.random(1, #sitter_anim)
sitter:set_animation(sitter_anim[random_anim][1], sitter_anim[random_anim][frame_speed], sitter_anim[random_anim][frame_blend])
else
sitter:set_animation(sitter_anim[1][1], sitter_anim[1][frame_speed], sitter_anim[1][frame_blend])
end
end
end]]

View File

@ -1,7 +1,6 @@
local is_chair_busy_by = {}
chairs = {}
function chairs.attach_player_to_node (attacher, node, node_pos, pos)
--[[function chairs.attach_player_to_node (attacher, node, node_pos, pos)
attacher:set_pos(pos) attacher:set_pos(pos)
local phys_over = attacher:get_physics_override() local phys_over = attacher:get_physics_override()
attacher:set_physics_override({speed=0, jump=0}) attacher:set_physics_override({speed=0, jump=0})
@ -16,7 +15,7 @@ function chairs.disattach_player_from_node(disattacher)
meta:set_string("is_attached", "") meta:set_string("is_attached", "")
end end
--[[function chairs.set_seat_pos(player, pos, dir, x_val, z_val) function chairs.set_seat_pos(player, pos, dir, x_val, z_val)
local is_attached = minetest.deserialize(player:get_meta():get_string("is_attached")) local is_attached = minetest.deserialize(player:get_meta():get_string("is_attached"))
if is_attached ~= nil or is_attached ~= "" then if is_attached ~= nil or is_attached ~= "" then
for axis, val in pairs(dir) do for axis, val in pairs(dir) do
@ -45,7 +44,7 @@ end
local need_axis = pos[tonumber(string.sub(tostring(axis), 2))] local need_axis = pos[tonumber(string.sub(tostring(axis), 2))]
local need_sign = need_axis[string.sub(val, 1, 1)] local need_sign = need_axis[string.sub(val, 1, 1)]
else else
return]] return
function chairs.set_look_dir(player) function chairs.set_look_dir(player)
@ -117,7 +116,7 @@ function chairs.standup_player(player, pos, oldmetadata_seats)
else else
return return
end end
end end]]
minetest.register_node("luxury_decor:kitchen_wooden_chair", { minetest.register_node("luxury_decor:kitchen_wooden_chair", {
description = "Kitchen Wooden Chair", description = "Kitchen Wooden Chair",
@ -147,30 +146,21 @@ minetest.register_node("luxury_decor:kitchen_wooden_chair", {
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
on_construct = function (pos) on_construct = function (pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("seats_range", minetest.serialize({[1] = {is_busy={bool=false, player=nil}, pos = {x = pos.x, y = pos.y+0.2, z = pos.z}}})) meta:set_string("seat", minetest.serialize({busy_by=nil, pos = {x = pos.x, y = pos.y+0.3, z = pos.z}, anim={mesh="character_sitting.b3d", range={x=1, y=80}, speed=15, blend=0, loop=true}}))
end, end,
after_dig_node = function (pos, oldnode, oldmetadata, digger) after_dig_node = function (pos, oldnode, oldmetadata, digger)
local seats = minetest.deserialize(oldmetadata.fields.seats_range) local seat = minetest.deserialize(oldmetadata.fields.seat)
if seats ~= nil then if seat.busy_by then
for seat_num, seat_data in pairs(seats) do local player = minetest.get_player_by_name(seat.busy_by)
if seat_data.is_busy.player ~= nil then chairs.standup_player(player, pos, seat)
local player = minetest.get_player_by_name(seat_data.is_busy.player)
chairs.standup_player(player, pos, seats)
end
end
end end
end, end,
on_rightclick = function (pos, node, clicker, itemstack, pointed_thing) on_rightclick = function (pos, node, clicker, itemstack, pointed_thing)
local meta = clicker:get_meta() local bool = chairs.sit_player(clicker, node, pos)
local is_attached = minetest.deserialize(meta:get_string("is_attached")) if bool == nil then
if is_attached == nil or is_attached == "" then chairs.standup_player(clicker, pos)
chairs.sit_player(clicker, node, pos, {{{x=81, y=81}, frame_speed=15, frame_blend=0}}) end
elseif is_attached ~= nil or is_attached ~= "" then
chairs.standup_player(clicker, pos)
end
end end
@ -180,7 +170,7 @@ minetest.register_node("luxury_decor:kitchen_wooden_chair", {
minetest.register_node("luxury_decor:luxury_wooden_chair_with_cushion", { minetest.register_node("luxury_decor:luxury_wooden_chair_with_cushion", {
description = "Luxury Wooden Chair (with cushion)", description = "Luxury Wooden Chair (with cushion)",
visual_scale = 0.5, visual_scale = 0.5,
mesh = "luxury_wooden_chair_with_cushion.obj", mesh = "luxury_wooden_chair_with_cushion.b3d",
tiles = {"luxury_wooden_chair_with_cushion.png"}, tiles = {"luxury_wooden_chair_with_cushion.png"},
inventory_image = "luxury_wooden_chair_with_cushion_inv.png", inventory_image = "luxury_wooden_chair_with_cushion_inv.png",
paramtype = "light", paramtype = "light",
@ -190,8 +180,8 @@ minetest.register_node("luxury_decor:luxury_wooden_chair_with_cushion", {
collision_box = { collision_box = {
type = "fixed", type = "fixed",
fixed = { fixed = {
{-0.3, -0.5, -0.25, 0.45, 0.22, 0.38}, {-0.45, -0.5, -0.45, 0.45, 0.28, 0.42},
{-0.3, -0.5, 0.38, 0.45, 1, 0.48} {-0.3, 0.28, 0.28, 0.45, 1.4, 0.42}
--[[{-0.65, -0.3, -1.46, 0.65, 1.4, -1.66}, --[[{-0.65, -0.3, -1.46, 0.65, 1.4, -1.66},
{-0.65, -0.3, 0.46, 0.65, 1.4, 0.66}]] {-0.65, -0.3, 0.46, 0.65, 1.4, 0.66}]]
} }
@ -199,36 +189,28 @@ minetest.register_node("luxury_decor:luxury_wooden_chair_with_cushion", {
selection_box = { selection_box = {
type = "fixed", type = "fixed",
fixed = { fixed = {
{-0.3, -0.5, -0.25, 0.45, 0.22, 0.38}, {-0.45, -0.5, -0.45, 0.45, 0.28, 0.42},
{-0.3, -0.5, 0.38, 0.45, 1, 0.48} {-0.3, 0.28, 0.28, 0.45, 1.4, 0.42}
} }
}, },
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
on_construct = function (pos) on_construct = function (pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("seats_range", minetest.serialize({[1] = {is_busy={bool=false, player=nil}, pos = {x = pos.x, y = pos.y+0.2, z = pos.z}}})) meta:set_string("seat", minetest.serialize({busy_by=nil, pos = {x = pos.x, y = pos.y+0.32, z = pos.z}, anim={mesh="character_sitting.b3d", range={x=1, y=80}, frame_speed=15, frame_blend=0, loop=true}}))
end, end,
after_dig_node = function (pos, oldnode, oldmetadata, digger) after_dig_node = function (pos, oldnode, oldmetadata, digger)
local seats = minetest.deserialize(oldmetadata.fields.seats_range) local seat = minetest.deserialize(oldmetadata.fields.seat)
if seats ~= nil then if seat.busy_by then
for seat_num, seat_data in pairs(seats) do local player = minetest.get_player_by_name(seat.busy_by)
if seat_data.is_busy.player ~= nil then chairs.standup_player(player, pos, seat)
local player = minetest.get_player_by_name(seat_data.is_busy.player) end
chairs.standup_player(player, pos, seats)
end
end
end
end, end,
on_rightclick = function (pos, node, clicker, itemstack, pointed_thing) on_rightclick = function (pos, node, clicker, itemstack, pointed_thing)
local meta = clicker:get_meta() local bool = chairs.sit_player(clicker, node, pos)
local is_attached = minetest.deserialize(meta:get_string("is_attached")) if bool == nil then
if is_attached == nil or is_attached == "" then chairs.standup_player(clicker, pos)
chairs.sit_player(clicker, node, pos, {{{x=81, y=81}, frame_speed=15, frame_blend=0}}) end
elseif is_attached ~= nil or is_attached ~= "" then
chairs.standup_player(clicker, pos)
end
end end
}) })
@ -236,7 +218,7 @@ minetest.register_node("luxury_decor:luxury_wooden_chair_with_cushion", {
minetest.register_node("luxury_decor:decorative_wooden_chair", { minetest.register_node("luxury_decor:decorative_wooden_chair", {
description = "Decorative Wooden Chair", description = "Decorative Wooden Chair",
visual_scale = 0.5, visual_scale = 0.5,
mesh = "decorative_wooden_chair.obj", mesh = "decorative_wooden_chair.b3d",
inventory_image = "decorative_chair_inv.png", inventory_image = "decorative_chair_inv.png",
tiles = {"dark_wood_material2.png"}, tiles = {"dark_wood_material2.png"},
paramtype = "light", paramtype = "light",
@ -246,47 +228,37 @@ minetest.register_node("luxury_decor:decorative_wooden_chair", {
collision_box = { collision_box = {
type = "fixed", type = "fixed",
fixed = { fixed = {
{-0.3, -0.5, -0.25, 0.45, 0.22, 0.38}, {-0.5, 0.36, 0.4, 0.5, 1.5, 0.5}, -- Upper box
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5} {-0.5, -0.5, -0.5, 0.5, 0.29, 0.5}, -- Lower box
--[[{-0.65, -0.3, -1.46, 0.65, 1.4, -1.66}, {-0.45, 0.29, -0.475, 0.45, 0.36, 0.4} -- Middle box
{-0.65, -0.3, 0.46, 0.65, 1.4, 0.66}]]
} }
}, },
selection_box = { selection_box = {
type = "fixed", type = "fixed",
fixed = { fixed = {
{-0.5, 0.48, 0.4, 0.5, 2.1, 0.5}, -- Upper box {-0.5, 0.36, 0.4, 0.5, 1.5, 0.5}, -- Upper box
{-0.5, -0.5, -0.5, 0.5, 0.48, 0.5}, -- Lower box {-0.5, -0.5, -0.5, 0.5, 0.29, 0.5}, -- Lower box
{-0.45, 0.48, -0.475, 0.45, 0.56, 0.4} -- Middle box {-0.45, 0.29, -0.475, 0.45, 0.36, 0.4} -- Middle box
} }
}, },
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
on_construct = function (pos) on_construct = function (pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("seats_range", minetest.serialize({[1] = {is_busy={bool=false, player=nil}, pos = {x = pos.x, y = pos.y+0.6, z = pos.z}}})) meta:set_string("seat", minetest.serialize({busy_by=nil, pos = {x = pos.x, y = pos.y+0.4, z = pos.z}, anim={mesh="character_sitting.b3d", range={x=1, y=80}, frame_speed=15, frame_blend=0, loop=true}}))
end, end,
after_dig_node = function (pos, oldnode, oldmetadata, digger) after_dig_node = function (pos, oldnode, oldmetadata, digger)
local seats = minetest.deserialize(oldmetadata.fields.seats_range) local seat = minetest.deserialize(oldmetadata.fields.seat)
if seats ~= nil then if seat.busy_by then
for seat_num, seat_data in pairs(seats) do local player = minetest.get_player_by_name(seat.busy_by)
if seat_data.is_busy.player ~= nil then chairs.standup_player(player, pos, seat)
local player = minetest.get_player_by_name(seat_data.is_busy.player) end
chairs.standup_player(player, pos, seats)
end
end
end
end, end,
on_rightclick = function (pos, node, clicker, itemstack, pointed_thing) on_rightclick = function (pos, node, clicker, itemstack, pointed_thing)
local meta = clicker:get_meta() local bool = chairs.sit_player(clicker, node, pos)
local is_attached = minetest.deserialize(meta:get_string("is_attached")) if bool == nil then
if is_attached == nil or is_attached == "" then chairs.standup_player(clicker, pos)
chairs.sit_player(clicker, node, pos, {{{x=81, y=81}, frame_speed=15, frame_blend=0}}) end
elseif is_attached ~= nil or is_attached ~= "" then
chairs.standup_player(clicker, pos)
end
end end
}) })
minetest.register_node("luxury_decor:round_wooden_chair", { minetest.register_node("luxury_decor:round_wooden_chair", {
@ -318,29 +290,20 @@ minetest.register_node("luxury_decor:round_wooden_chair", {
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
on_construct = function (pos) on_construct = function (pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("seats_range", minetest.serialize({[1] = {is_busy={bool=false, player=nil}, pos = {x = pos.x, y = pos.y+0.4, z = pos.z}}})) meta:set_string("seat", minetest.serialize({busy_by=nil, pos = {x = pos.x, y = pos.y+0.4, z = pos.z}, anim={mesh="character_sitting.b3d", range={x=1, y=80}, frame_speed=15, frame_blend=0, loop=true}}))
end, end,
after_dig_node = function (pos, oldnode, oldmetadata, digger) after_dig_node = function (pos, oldnode, oldmetadata, digger)
local seats = minetest.deserialize(oldmetadata.fields.seats_range) local seat = minetest.deserialize(oldmetadata.fields.seat)
if seats ~= nil then if seat.busy_by then
for seat_num, seat_data in pairs(seats) do local player = minetest.get_player_by_name(seat.busy_by)
if seat_data.is_busy.player ~= nil then chairs.standup_player(player, pos, seat)
local player = minetest.get_player_by_name(seat_data.is_busy.player) end
chairs.standup_player(player, pos, seats)
end
end
end
end, end,
on_rightclick = function (pos, node, clicker, itemstack, pointed_thing) on_rightclick = function (pos, node, clicker, itemstack, pointed_thing)
local meta = clicker:get_meta() local bool = chairs.sit_player(clicker, node, pos)
local is_attached = minetest.deserialize(meta:get_string("is_attached")) if bool == nil then
if is_attached == nil or is_attached == "" then chairs.standup_player(clicker, pos)
chairs.sit_player(clicker, node, pos, {{{x=81, y=81}, frame_speed=15, frame_blend=0}}) end
elseif is_attached ~= nil or is_attached ~= "" then
chairs.standup_player(clicker, pos)
end
end end
}) })

View File

@ -1,6 +1,7 @@
cabs_table = {} cabs_table = {}
local modpath = minetest.get_modpath("luxury_decor") local modpath = minetest.get_modpath("luxury_decor")
dofile(modpath.."/api/sitting.lua")
dofile(modpath.."/materials.lua") dofile(modpath.."/materials.lua")
dofile(modpath.."/bedroom.lua") dofile(modpath.."/bedroom.lua")
dofile(modpath.."/chairs.lua") dofile(modpath.."/chairs.lua")

View File

@ -1,7 +1,7 @@
minetest.register_node("luxury_decor:luxury_desk_lamp_off", { minetest.register_node("luxury_decor:luxury_desk_lamp_off", {
description = "Luxury Desk Lamp", description = "Luxury Desk Lamp",
visual_scale = 0.5, visual_scale = 0.5,
mesh = "luxury_desk_lamp.obj", mesh = "luxury_desk_lamp.b3d",
inventory_image = "luxury_desk_lamp_inv.png", inventory_image = "luxury_desk_lamp_inv.png",
tiles = {"luxury_desk_lamp.png"}, tiles = {"luxury_desk_lamp.png"},
paramtype = "light", paramtype = "light",
@ -32,7 +32,7 @@ minetest.register_node("luxury_decor:luxury_desk_lamp_off", {
minetest.register_node("luxury_decor:luxury_desk_lamp_on", { minetest.register_node("luxury_decor:luxury_desk_lamp_on", {
description = "Luxury Desk Lamp", description = "Luxury Desk Lamp",
visual_scale = 0.5, visual_scale = 0.5,
mesh = "luxury_desk_lamp.obj", mesh = "luxury_desk_lamp.b3d",
inventory_image = "luxury_desk_lamp_inv.png", inventory_image = "luxury_desk_lamp_inv.png",
tiles = {"luxury_desk_lamp.png"}, tiles = {"luxury_desk_lamp.png"},
paramtype = "light", paramtype = "light",

View File

@ -499,18 +499,14 @@ for color, rgb_color in pairs(sofas_rgb_colors) do
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
on_construct = function (pos) on_construct = function (pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("seats_range", minetest.serialize({[1] = {is_busy={bool=false, player=nil}, pos = {x = pos.x, y = pos.y+0.2, z = pos.z}}})) meta:set_string("seat", minetest.serialize({busy_by=nil, pos = {x = pos.x, y = pos.y+0.2, z = pos.z}, anim={mesh="character_sitting.b3d", range={x=1, y=80}, speed=15, blend=0, loop=true}}))
end, end,
after_dig_node = function (pos, oldnode, oldmetadata, digger) after_dig_node = function (pos, oldnode, oldmetadata, digger)
local seats = minetest.deserialize(oldmetadata.fields.seats_range) local seat = minetest.deserialize(oldmetadata.fields.seat)
if seats ~= nil then if seat then
for seat_num, seat_data in pairs(seats) do local player = minetest.get_player_by_name(seat.busy_by)
if seat_data.is_busy.player ~= nil then chairs.standup_player(player, pos, seat)
local player = minetest.get_player_by_name(seat_data.is_busy.player) end
chairs.standup_player(player, pos, seats)
end
end
end
end, end,
on_rightclick = function (pos, node, clicker, itemstack, pointed_thing) on_rightclick = function (pos, node, clicker, itemstack, pointed_thing)
if string.find(itemstack:get_name(), "dye:") then if string.find(itemstack:get_name(), "dye:") then
@ -534,15 +530,10 @@ for color, rgb_color in pairs(sofas_rgb_colors) do
end end
end end
else else
local meta = clicker:get_meta() local bool = chairs.sit_player(clicker, node, pos)
local is_attached = minetest.deserialize(meta:get_string("is_attached")) if bool == nil then
if is_attached == nil or is_attached == "" then chairs.standup_player(clicker, pos)
chairs.sit_player(clicker, node, pos, {{{x=81, y=81}, frame_speed=15, frame_blend=0}}) end
elseif is_attached ~= nil or is_attached ~= "" then
chairs.standup_player(clicker, pos)
end
end end
return itemstack return itemstack
end end
@ -585,18 +576,14 @@ for ind, sofa_count in pairs({"1", "2", "3", "4", "5"}) do
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
on_construct = function (pos) on_construct = function (pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("seats_range", minetest.serialize({[1] = {is_busy={bool=false, player=nil}, pos = {x = pos.x, y = pos.y+0.2, z = pos.z}}})) meta:set_string("seat", minetest.serialize({busy_by=nil, pos = {x = pos.x, y = pos.y+0.2, z = pos.z}, anim={mesh="character_sitting.b3d", range={x=1, y=80}, speed=15, blend=0, loop=true}}))
end, end,
after_dig_node = function (pos, oldnode, oldmetadata, digger) after_dig_node = function (pos, oldnode, oldmetadata, digger)
local seats = minetest.deserialize(oldmetadata.fields.seats_range) local seat = minetest.deserialize(oldmetadata.fields.seat)
if seats ~= nil then if seat then
for seat_num, seat_data in pairs(seats) do local player = minetest.get_player_by_name(seat.busy_by)
if seat_data.is_busy.player ~= nil then chairs.standup_player(player, pos, seat)
local player = minetest.get_player_by_name(seat_data.is_busy.player) end
chairs.standup_player(player, pos, seats)
end
end
end
end, end,
on_rightclick = function (pos, node, clicker, itemstack, pointed_thing) on_rightclick = function (pos, node, clicker, itemstack, pointed_thing)
if string.find(itemstack:get_name(), "dye:") then if string.find(itemstack:get_name(), "dye:") then
@ -611,15 +598,10 @@ for ind, sofa_count in pairs({"1", "2", "3", "4", "5"}) do
elseif string.find(itemstack:get_name(), "luxury_decor:simple_") and string.find(itemstack:get_name(), "_sofa") then elseif string.find(itemstack:get_name(), "luxury_decor:simple_") and string.find(itemstack:get_name(), "_sofa") then
sofas.connect_sofas(clicker, {name=node.name, param1=node.param1, param2=node.param2}, itemstack:get_name(), pos, pointed_thing) sofas.connect_sofas(clicker, {name=node.name, param1=node.param1, param2=node.param2}, itemstack:get_name(), pos, pointed_thing)
else else
local meta = clicker:get_meta() local bool = chairs.sit_player(clicker, node, pos)
local is_attached = minetest.deserialize(meta:get_string("is_attached")) if bool == nil then
if is_attached == nil or is_attached == "" then chairs.standup_player(clicker, pos)
chairs.sit_player(clicker, node, pos, {{{x=81, y=81}, frame_speed=15, frame_blend=0}}) end
elseif is_attached ~= nil or is_attached ~= "" then
chairs.standup_player(clicker, pos)
end
end end
end, end,
on_dig = function (pos, node, player) on_dig = function (pos, node, player)
@ -847,6 +829,17 @@ for ind, footstool_type in pairs({"small", "middle", "long"}) do
fixed = footstools_collision_boxes[footstool_type] fixed = footstools_collision_boxes[footstool_type]
}, },
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
on_construct = function (pos)
local meta = minetest.get_meta(pos)
meta:set_string("seat", minetest.serialize({busy_by=nil, pos = {x = pos.x, y = pos.y+0.2, z = pos.z}, anim={mesh="character_sitting.b3d", range={x=1, y=80}, speed=15, blend=0, loop=true}}))
end,
after_dig_node = function (pos, oldnode, oldmetadata, digger)
local seat = minetest.deserialize(oldmetadata.fields.seat)
if seat then
local player = minetest.get_player_by_name(seat.busy_by)
chairs.standup_player(player, pos, seat)
end
end,
on_rightclick = function (pos, node, clicker, itemstack, pointed_thing) on_rightclick = function (pos, node, clicker, itemstack, pointed_thing)
if string.find(itemstack:get_name(), "dye:") then if string.find(itemstack:get_name(), "dye:") then
local get_player_contr = clicker:get_player_control() local get_player_contr = clicker:get_player_control()
@ -895,7 +888,12 @@ for ind, footstool_type in pairs({"small", "middle", "long"}) do
end end
end end
end end
end else
local bool = chairs.sit_player(clicker, node, pos)
if bool == nil then
chairs.standup_player(clicker, pos)
end
end
end end
}) })

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,22 +0,0 @@
# Blender MTL File: 'kitchen_wooden_cabinet_1.blend'
# Material Count: 2
newmtl Material.001
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl Material.002
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2

View File

@ -1,238 +0,0 @@
# Blender v2.79 (sub 0) OBJ File: 'kitchen_wooden_cabinet_1.blend'
# www.blender.org
mtllib kitchen_wooden_cabinet_1.mtl
o Cube.002
v -0.738081 -0.746590 -0.902671
v 0.738081 -0.746590 -0.902671
v 0.738081 -0.746590 0.801022
v -0.738081 -0.746590 0.801022
v -0.738081 -0.746590 -0.050825
v -0.000000 -0.746590 0.801022
v 0.738081 -0.746590 -0.050824
v 0.000000 -0.746590 -0.902671
v -0.830930 -0.084519 -0.997321
v 0.830931 -0.084519 -0.997320
v 0.830930 -0.084519 0.895672
v -0.830930 -0.084519 0.895672
v -0.830930 -0.831128 -0.997321
v 0.830930 -0.831128 -0.997320
v 0.830930 -0.831128 0.895672
v -0.830930 -0.831128 0.895672
v 0.000000 -0.084519 -0.997321
v -0.830930 -0.084519 -0.050825
v 0.830930 -0.084519 -0.050824
v -0.000000 -0.084519 0.895672
v -0.830930 -0.831128 -0.050825
v -0.000000 -0.831128 0.895672
v 0.830930 -0.831128 -0.050824
v 0.000000 -0.831128 -0.997321
v -0.738081 -0.084519 0.801022
v -0.000000 -0.084519 0.801022
v 0.738081 -0.084519 0.801022
v 0.738081 -0.084519 -0.050824
v 0.738082 -0.084519 -0.902671
v -0.738081 -0.084519 -0.050825
v 0.000000 -0.084519 -0.902671
v -0.738081 -0.084519 -0.902671
v -0.111832 -0.356919 -1.178428
v -0.111832 -0.558120 -1.178428
v 0.111832 -0.356919 -1.178428
v 0.111832 -0.558120 -1.178428
v -0.111832 -0.356919 -1.055428
v -0.111832 -0.558120 -1.055428
v 0.111832 -0.356919 -1.055428
v 0.111832 -0.558120 -1.055428
v -0.051323 -0.411351 -1.055146
v -0.051323 -0.503688 -1.055146
v 0.051323 -0.411351 -1.055146
v 0.051323 -0.503688 -1.055146
v -0.051323 -0.411351 -0.997652
v -0.051323 -0.503688 -0.997652
v 0.051323 -0.411351 -0.997652
v 0.051323 -0.503688 -0.997652
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 1.0000 0.0000 0.0000
vn 0.0000 1.0000 -0.0000
usemtl Material.002
s off
f 8//1 2//1 29//1 31//1
f 7//2 3//2 27//2 28//2
f 6//3 4//3 25//3 26//3
f 3//3 6//3 26//3 27//3
f 2//2 7//2 28//2 29//2
f 1//1 8//1 31//1 32//1
f 4//4 1//4 2//4 3//4
f 24//3 17//3 10//3 14//3
f 23//5 19//5 11//5 15//5
f 22//1 20//1 12//1 16//1
f 18//2 21//2 16//2 12//2
f 9//2 13//2 21//2 18//2
f 15//1 11//1 20//1 22//1
f 14//5 10//5 19//5 23//5
f 13//3 9//3 17//3 24//3
f 17//6 31//6 29//6 28//6 19//6 10//6
f 9//6 18//6 30//6 32//6 31//6 17//6
f 18//6 12//6 20//6 26//6 25//6 30//6
f 16//6 15//6 14//6 13//6
f 30//5 5//5 1//5 32//5
f 28//6 27//6 26//6 20//6 11//6 19//6
f 25//5 4//5 5//5 30//5
f 33//1 34//1 36//1 35//1
f 35//2 36//2 40//2 39//2
f 39//3 40//3 38//3 37//3
f 37//5 38//5 34//5 33//5
f 35//4 39//4 37//4 33//4
f 40//6 36//6 34//6 38//6
f 41//1 42//1 44//1 43//1
f 43//2 44//2 48//2 47//2
f 47//3 48//3 46//3 45//3
f 45//5 46//5 42//5 41//5
f 43//4 47//4 45//4 41//4
f 48//6 44//6 42//6 46//6
o Cube.000
v 1.000000 -1.000000 1.000000
v -1.000000 -1.000000 1.000000
v 1.000000 1.000000 1.000000
v -1.000000 1.000000 1.000000
v -1.000000 -1.000000 -1.000000
v 1.000000 1.000000 -1.000000
v 1.000000 -1.000000 -1.000000
v -1.000000 1.000000 -1.000000
v 0.834275 -0.834275 0.900000
v -0.834276 -0.834275 0.900000
v 0.834275 0.834276 0.900000
v -0.834276 0.834276 0.900000
v -0.834276 -0.834275 -1.000000
v 0.834276 0.834276 -1.000000
v 0.834276 -0.834275 -1.000000
v -0.834275 0.834276 -1.000000
v 0.833681 -0.078480 0.900000
v 0.833681 0.078480 0.900000
v -0.833681 -0.078480 0.900000
v -0.833681 0.078480 0.900000
v 0.833681 -0.078480 -1.000000
v 0.833681 0.078480 -1.000000
v -0.833681 -0.078480 -1.000000
v -0.833681 0.078480 -1.000000
vn -0.0000 0.0000 1.0000
vn 1.0000 -0.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn -1.0000 0.0000 -0.0000
vn -0.0000 -0.0000 -1.0000
usemtl Material.001
s off
f 49//7 51//7 52//7 50//7
f 55//8 54//8 51//8 49//8
f 53//9 55//9 49//9 50//9
f 54//10 56//10 52//10 51//10
f 56//11 53//11 50//11 52//11
f 57//7 59//7 60//7 58//7
f 63//8 62//8 59//8 57//8
f 61//9 63//9 57//9 58//9
f 62//10 64//10 60//10 59//10
f 64//11 61//11 58//11 60//11
f 55//12 53//12 61//12 63//12
f 54//12 55//12 63//12 62//12
f 56//12 54//12 62//12 64//12
f 53//12 56//12 64//12 61//12
f 65//7 66//7 68//7 67//7
f 67//11 68//11 72//11 71//11
f 71//12 72//12 70//12 69//12
f 69//8 70//8 66//8 65//8
f 67//9 71//9 69//9 65//9
f 72//10 68//10 66//10 70//10
o Cube.001
v -0.738081 0.166833 -0.902671
v 0.738081 0.166833 -0.902671
v 0.738081 0.166833 0.801022
v -0.738081 0.166833 0.801022
v -0.738081 0.166833 -0.050825
v -0.000000 0.166833 0.801022
v 0.738081 0.166833 -0.050824
v 0.000000 0.166833 -0.902671
v -0.830930 0.828904 -0.997321
v 0.830931 0.828904 -0.997320
v 0.830930 0.828904 0.895672
v -0.830930 0.828904 0.895672
v -0.830930 0.082295 -0.997321
v 0.830930 0.082295 -0.997320
v 0.830930 0.082295 0.895672
v -0.830930 0.082295 0.895672
v 0.000000 0.828904 -0.997321
v -0.830930 0.828904 -0.050825
v 0.830930 0.828904 -0.050824
v -0.000000 0.828904 0.895672
v -0.830930 0.082295 -0.050825
v -0.000000 0.082295 0.895672
v 0.830930 0.082295 -0.050824
v 0.000000 0.082295 -0.997321
v -0.738081 0.828904 0.801022
v -0.000000 0.828904 0.801022
v 0.738081 0.828904 0.801022
v 0.738081 0.828904 -0.050824
v 0.738082 0.828904 -0.902671
v -0.738081 0.828904 -0.050825
v 0.000000 0.828904 -0.902671
v -0.738081 0.828904 -0.902671
v -0.111832 0.556504 -1.178428
v -0.111832 0.355303 -1.178428
v 0.111832 0.556504 -1.178428
v 0.111832 0.355303 -1.178428
v -0.111832 0.556504 -1.055428
v -0.111832 0.355303 -1.055428
v 0.111832 0.556504 -1.055428
v 0.111832 0.355303 -1.055428
v -0.051323 0.502072 -1.055146
v -0.051323 0.409735 -1.055146
v 0.051323 0.502072 -1.055146
v 0.051323 0.409735 -1.055146
v -0.051323 0.502072 -0.997652
v -0.051323 0.409735 -0.997652
v 0.051323 0.502072 -0.997652
v 0.051323 0.409735 -0.997652
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 1.0000 0.0000 0.0000
vn 0.0000 1.0000 -0.0000
usemtl Material.002
s off
f 80//13 74//13 101//13 103//13
f 79//14 75//14 99//14 100//14
f 78//15 76//15 97//15 98//15
f 75//15 78//15 98//15 99//15
f 74//14 79//14 100//14 101//14
f 73//13 80//13 103//13 104//13
f 76//16 73//16 74//16 75//16
f 96//15 89//15 82//15 86//15
f 95//17 91//17 83//17 87//17
f 94//13 92//13 84//13 88//13
f 90//14 93//14 88//14 84//14
f 81//14 85//14 93//14 90//14
f 87//13 83//13 92//13 94//13
f 86//17 82//17 91//17 95//17
f 85//15 81//15 89//15 96//15
f 89//18 103//18 101//18 100//18 91//18 82//18
f 81//18 90//18 102//18 104//18 103//18 89//18
f 90//18 84//18 92//18 98//18 97//18 102//18
f 88//18 87//18 86//18 85//18
f 102//17 77//17 73//17 104//17
f 100//18 99//18 98//18 92//18 83//18 91//18
f 97//17 76//17 77//17 102//17
f 105//13 106//13 108//13 107//13
f 107//14 108//14 112//14 111//14
f 111//15 112//15 110//15 109//15
f 109//17 110//17 106//17 105//17
f 107//16 111//16 109//16 105//16
f 112//18 108//18 106//18 110//18
f 113//13 114//13 116//13 115//13
f 115//14 116//14 120//14 119//14
f 119//15 120//15 118//15 117//15
f 117//17 118//17 114//17 113//17
f 115//16 119//16 117//16 113//16
f 120//18 116//18 114//18 118//18

Binary file not shown.

Binary file not shown.

View File

@ -1,22 +0,0 @@
# Blender MTL File: 'kitchen_wooden_cabinet_2.blend'
# Material Count: 2
newmtl Material.001
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl Material.002
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2

View File

@ -1,238 +0,0 @@
# Blender v2.79 (sub 0) OBJ File: 'kitchen_wooden_cabinet_2.blend'
# www.blender.org
mtllib kitchen_wooden_cabinet_2.mtl
o Cube.002
v -0.738081 -0.746590 -0.902671
v 0.738081 -0.746590 -0.902671
v 0.738081 -0.746590 0.801022
v -0.738081 -0.746590 0.801022
v -0.738081 -0.746590 -0.050825
v -0.000000 -0.746590 0.801022
v 0.738081 -0.746590 -0.050824
v 0.000000 -0.746590 -0.902671
v -0.830930 -0.084519 -0.997321
v 0.830931 -0.084519 -0.997320
v 0.830930 -0.084519 0.895672
v -0.830930 -0.084519 0.895672
v -0.830930 -0.831128 -0.997321
v 0.830930 -0.831128 -0.997320
v 0.830930 -0.831128 0.895672
v -0.830930 -0.831128 0.895672
v 0.000000 -0.084519 -0.997321
v -0.830930 -0.084519 -0.050825
v 0.830930 -0.084519 -0.050824
v -0.000000 -0.084519 0.895672
v -0.830930 -0.831128 -0.050825
v -0.000000 -0.831128 0.895672
v 0.830930 -0.831128 -0.050824
v 0.000000 -0.831128 -0.997321
v -0.738081 -0.084519 0.801022
v -0.000000 -0.084519 0.801022
v 0.738081 -0.084519 0.801022
v 0.738081 -0.084519 -0.050824
v 0.738082 -0.084519 -0.902671
v -0.738081 -0.084519 -0.050825
v 0.000000 -0.084519 -0.902671
v -0.738081 -0.084519 -0.902671
v -0.111832 -0.356919 -1.178428
v -0.111832 -0.558120 -1.178428
v 0.111832 -0.356919 -1.178428
v 0.111832 -0.558120 -1.178428
v -0.111832 -0.356919 -1.055428
v -0.111832 -0.558120 -1.055428
v 0.111832 -0.356919 -1.055428
v 0.111832 -0.558120 -1.055428
v -0.051323 -0.411351 -1.055146
v -0.051323 -0.503688 -1.055146
v 0.051323 -0.411351 -1.055146
v 0.051323 -0.503688 -1.055146
v -0.051323 -0.411351 -0.997652
v -0.051323 -0.503688 -0.997652
v 0.051323 -0.411351 -0.997652
v 0.051323 -0.503688 -0.997652
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 1.0000 0.0000 0.0000
vn 0.0000 1.0000 -0.0000
usemtl Material.002
s off
f 8//1 2//1 29//1 31//1
f 7//2 3//2 27//2 28//2
f 6//3 4//3 25//3 26//3
f 3//3 6//3 26//3 27//3
f 2//2 7//2 28//2 29//2
f 1//1 8//1 31//1 32//1
f 4//4 1//4 2//4 3//4
f 24//3 17//3 10//3 14//3
f 23//5 19//5 11//5 15//5
f 22//1 20//1 12//1 16//1
f 18//2 21//2 16//2 12//2
f 9//2 13//2 21//2 18//2
f 15//1 11//1 20//1 22//1
f 14//5 10//5 19//5 23//5
f 13//3 9//3 17//3 24//3
f 17//6 31//6 29//6 28//6 19//6 10//6
f 9//6 18//6 30//6 32//6 31//6 17//6
f 18//6 12//6 20//6 26//6 25//6 30//6
f 16//6 15//6 14//6 13//6
f 30//5 5//5 1//5 32//5
f 28//6 27//6 26//6 20//6 11//6 19//6
f 25//5 4//5 5//5 30//5
f 33//1 34//1 36//1 35//1
f 35//2 36//2 40//2 39//2
f 39//3 40//3 38//3 37//3
f 37//5 38//5 34//5 33//5
f 35//4 39//4 37//4 33//4
f 40//6 36//6 34//6 38//6
f 41//1 42//1 44//1 43//1
f 43//2 44//2 48//2 47//2
f 47//3 48//3 46//3 45//3
f 45//5 46//5 42//5 41//5
f 43//4 47//4 45//4 41//4
f 48//6 44//6 42//6 46//6
o Cube.000
v 1.000000 -1.000000 1.000000
v -1.000000 -1.000000 1.000000
v 1.000000 1.000000 1.000000
v -1.000000 1.000000 1.000000
v -1.000000 -1.000000 -1.000000
v 1.000000 1.000000 -1.000000
v 1.000000 -1.000000 -1.000000
v -1.000000 1.000000 -1.000000
v 0.834275 -0.834275 0.900000
v -0.834276 -0.834275 0.900000
v 0.834275 0.834276 0.900000
v -0.834276 0.834276 0.900000
v -0.834276 -0.834275 -1.000000
v 0.834276 0.834276 -1.000000
v 0.834276 -0.834275 -1.000000
v -0.834275 0.834276 -1.000000
v 0.833681 -0.078480 0.900000
v 0.833681 0.078480 0.900000
v -0.833681 -0.078480 0.900000
v -0.833681 0.078480 0.900000
v 0.833681 -0.078480 -1.000000
v 0.833681 0.078480 -1.000000
v -0.833681 -0.078480 -1.000000
v -0.833681 0.078480 -1.000000
vn -0.0000 0.0000 1.0000
vn 1.0000 -0.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn -1.0000 0.0000 -0.0000
vn -0.0000 -0.0000 -1.0000
usemtl Material.001
s off
f 49//7 51//7 52//7 50//7
f 55//8 54//8 51//8 49//8
f 53//9 55//9 49//9 50//9
f 54//10 56//10 52//10 51//10
f 56//11 53//11 50//11 52//11
f 57//7 59//7 60//7 58//7
f 63//8 62//8 59//8 57//8
f 61//9 63//9 57//9 58//9
f 62//10 64//10 60//10 59//10
f 64//11 61//11 58//11 60//11
f 55//12 53//12 61//12 63//12
f 54//12 55//12 63//12 62//12
f 56//12 54//12 62//12 64//12
f 53//12 56//12 64//12 61//12
f 65//7 66//7 68//7 67//7
f 67//11 68//11 72//11 71//11
f 71//12 72//12 70//12 69//12
f 69//8 70//8 66//8 65//8
f 67//9 71//9 69//9 65//9
f 72//10 68//10 66//10 70//10
o Cube.001
v -0.738081 0.166833 -1.902671
v 0.738081 0.166833 -1.902671
v 0.738081 0.166833 -0.198977
v -0.738081 0.166833 -0.198978
v -0.738081 0.166833 -1.050824
v -0.000000 0.166833 -0.198977
v 0.738081 0.166833 -1.050824
v 0.000000 0.166833 -1.902671
v -0.830930 0.828904 -1.997321
v 0.830931 0.828904 -1.997320
v 0.830930 0.828904 -0.104327
v -0.830930 0.828904 -0.104328
v -0.830930 0.082295 -1.997321
v 0.830930 0.082295 -1.997320
v 0.830930 0.082295 -0.104328
v -0.830930 0.082295 -0.104328
v 0.000000 0.828904 -1.997320
v -0.830930 0.828904 -1.050824
v 0.830930 0.828904 -1.050824
v -0.000000 0.828904 -0.104328
v -0.830930 0.082295 -1.050824
v -0.000000 0.082295 -0.104328
v 0.830930 0.082295 -1.050824
v 0.000000 0.082295 -1.997320
v -0.738081 0.828904 -0.198977
v -0.000000 0.828904 -0.198977
v 0.738081 0.828904 -0.198977
v 0.738081 0.828904 -1.050824
v 0.738082 0.828904 -1.902670
v -0.738081 0.828904 -1.050824
v 0.000000 0.828904 -1.902671
v -0.738081 0.828904 -1.902671
v -0.111832 0.556504 -2.178428
v -0.111832 0.355303 -2.178428
v 0.111832 0.556504 -2.178428
v 0.111832 0.355303 -2.178428
v -0.111832 0.556504 -2.055428
v -0.111832 0.355303 -2.055428
v 0.111832 0.556504 -2.055428
v 0.111832 0.355303 -2.055428
v -0.051323 0.502072 -2.055145
v -0.051323 0.409735 -2.055145
v 0.051323 0.502072 -2.055145
v 0.051323 0.409735 -2.055145
v -0.051323 0.502072 -1.997652
v -0.051323 0.409735 -1.997652
v 0.051323 0.502072 -1.997652
v 0.051323 0.409735 -1.997652
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 1.0000 0.0000 0.0000
vn 0.0000 1.0000 -0.0000
usemtl Material.002
s off
f 80//13 74//13 101//13 103//13
f 79//14 75//14 99//14 100//14
f 78//15 76//15 97//15 98//15
f 75//15 78//15 98//15 99//15
f 74//14 79//14 100//14 101//14
f 73//13 80//13 103//13 104//13
f 76//16 73//16 74//16 75//16
f 96//15 89//15 82//15 86//15
f 95//17 91//17 83//17 87//17
f 94//13 92//13 84//13 88//13
f 90//14 93//14 88//14 84//14
f 81//14 85//14 93//14 90//14
f 87//13 83//13 92//13 94//13
f 86//17 82//17 91//17 95//17
f 85//15 81//15 89//15 96//15
f 89//18 103//18 101//18 100//18 91//18 82//18
f 81//18 90//18 102//18 104//18 103//18 89//18
f 90//18 84//18 92//18 98//18 97//18 102//18
f 88//18 87//18 86//18 85//18
f 102//17 77//17 73//17 104//17
f 100//18 99//18 98//18 92//18 83//18 91//18
f 97//17 76//17 77//17 102//17
f 105//13 106//13 108//13 107//13
f 107//14 108//14 112//14 111//14
f 111//15 112//15 110//15 109//15
f 109//17 110//17 106//17 105//17
f 107//16 111//16 109//16 105//16
f 112//18 108//18 106//18 110//18
f 113//13 114//13 116//13 115//13
f 115//14 116//14 120//14 119//14
f 119//15 120//15 118//15 117//15
f 117//17 118//17 114//17 113//17
f 115//16 119//16 117//16 113//16
f 120//18 116//18 114//18 118//18

Binary file not shown.

View File

@ -1,22 +0,0 @@
# Blender MTL File: 'kitchen_wooden_cabinet_3.blend'
# Material Count: 2
newmtl Material.001
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl Material.002
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2

View File

@ -1,238 +0,0 @@
# Blender v2.79 (sub 0) OBJ File: 'kitchen_wooden_cabinet_3.blend'
# www.blender.org
mtllib kitchen_wooden_cabinet_3.mtl
o Cube.002
v -0.738081 -0.746590 -1.902671
v 0.738081 -0.746590 -1.902671
v 0.738081 -0.746590 -0.198977
v -0.738081 -0.746590 -0.198978
v -0.738081 -0.746590 -1.050824
v -0.000000 -0.746590 -0.198977
v 0.738081 -0.746590 -1.050824
v 0.000000 -0.746590 -1.902671
v -0.830930 -0.084519 -1.997321
v 0.830931 -0.084519 -1.997320
v 0.830930 -0.084519 -0.104327
v -0.830930 -0.084519 -0.104328
v -0.830930 -0.831128 -1.997321
v 0.830930 -0.831128 -1.997320
v 0.830930 -0.831128 -0.104328
v -0.830930 -0.831128 -0.104328
v 0.000000 -0.084519 -1.997320
v -0.830930 -0.084519 -1.050824
v 0.830930 -0.084519 -1.050824
v -0.000000 -0.084519 -0.104328
v -0.830930 -0.831128 -1.050824
v -0.000000 -0.831128 -0.104328
v 0.830930 -0.831128 -1.050824
v 0.000000 -0.831128 -1.997320
v -0.738081 -0.084519 -0.198977
v -0.000000 -0.084519 -0.198977
v 0.738081 -0.084519 -0.198977
v 0.738081 -0.084519 -1.050824
v 0.738082 -0.084519 -1.902670
v -0.738081 -0.084519 -1.050824
v 0.000000 -0.084519 -1.902671
v -0.738081 -0.084519 -1.902671
v -0.111832 -0.356919 -2.178428
v -0.111832 -0.558120 -2.178428
v 0.111832 -0.356919 -2.178428
v 0.111832 -0.558120 -2.178428
v -0.111832 -0.356919 -2.055428
v -0.111832 -0.558120 -2.055428
v 0.111832 -0.356919 -2.055428
v 0.111832 -0.558120 -2.055428
v -0.051323 -0.411351 -2.055145
v -0.051323 -0.503688 -2.055145
v 0.051323 -0.411351 -2.055145
v 0.051323 -0.503688 -2.055145
v -0.051323 -0.411351 -1.997652
v -0.051323 -0.503688 -1.997652
v 0.051323 -0.411351 -1.997652
v 0.051323 -0.503688 -1.997652
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 1.0000 0.0000 0.0000
vn 0.0000 1.0000 -0.0000
usemtl Material.002
s off
f 8//1 2//1 29//1 31//1
f 7//2 3//2 27//2 28//2
f 6//3 4//3 25//3 26//3
f 3//3 6//3 26//3 27//3
f 2//2 7//2 28//2 29//2
f 1//1 8//1 31//1 32//1
f 4//4 1//4 2//4 3//4
f 24//3 17//3 10//3 14//3
f 23//5 19//5 11//5 15//5
f 22//1 20//1 12//1 16//1
f 18//2 21//2 16//2 12//2
f 9//2 13//2 21//2 18//2
f 15//1 11//1 20//1 22//1
f 14//5 10//5 19//5 23//5
f 13//3 9//3 17//3 24//3
f 17//6 31//6 29//6 28//6 19//6 10//6
f 9//6 18//6 30//6 32//6 31//6 17//6
f 18//6 12//6 20//6 26//6 25//6 30//6
f 16//6 15//6 14//6 13//6
f 30//5 5//5 1//5 32//5
f 28//6 27//6 26//6 20//6 11//6 19//6
f 25//5 4//5 5//5 30//5
f 33//1 34//1 36//1 35//1
f 35//2 36//2 40//2 39//2
f 39//3 40//3 38//3 37//3
f 37//5 38//5 34//5 33//5
f 35//4 39//4 37//4 33//4
f 40//6 36//6 34//6 38//6
f 41//1 42//1 44//1 43//1
f 43//2 44//2 48//2 47//2
f 47//3 48//3 46//3 45//3
f 45//5 46//5 42//5 41//5
f 43//4 47//4 45//4 41//4
f 48//6 44//6 42//6 46//6
o Cube.000
v 1.000000 -1.000000 1.000000
v -1.000000 -1.000000 1.000000
v 1.000000 1.000000 1.000000
v -1.000000 1.000000 1.000000
v -1.000000 -1.000000 -1.000000
v 1.000000 1.000000 -1.000000
v 1.000000 -1.000000 -1.000000
v -1.000000 1.000000 -1.000000
v 0.834275 -0.834275 0.900000
v -0.834276 -0.834275 0.900000
v 0.834275 0.834276 0.900000
v -0.834276 0.834276 0.900000
v -0.834276 -0.834275 -1.000000
v 0.834276 0.834276 -1.000000
v 0.834276 -0.834275 -1.000000
v -0.834275 0.834276 -1.000000
v 0.833681 -0.078480 0.900000
v 0.833681 0.078480 0.900000
v -0.833681 -0.078480 0.900000
v -0.833681 0.078480 0.900000
v 0.833681 -0.078480 -1.000000
v 0.833681 0.078480 -1.000000
v -0.833681 -0.078480 -1.000000
v -0.833681 0.078480 -1.000000
vn -0.0000 0.0000 1.0000
vn 1.0000 -0.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn -1.0000 0.0000 -0.0000
vn -0.0000 -0.0000 -1.0000
usemtl Material.001
s off
f 49//7 51//7 52//7 50//7
f 55//8 54//8 51//8 49//8
f 53//9 55//9 49//9 50//9
f 54//10 56//10 52//10 51//10
f 56//11 53//11 50//11 52//11
f 57//7 59//7 60//7 58//7
f 63//8 62//8 59//8 57//8
f 61//9 63//9 57//9 58//9
f 62//10 64//10 60//10 59//10
f 64//11 61//11 58//11 60//11
f 55//12 53//12 61//12 63//12
f 54//12 55//12 63//12 62//12
f 56//12 54//12 62//12 64//12
f 53//12 56//12 64//12 61//12
f 65//7 66//7 68//7 67//7
f 67//11 68//11 72//11 71//11
f 71//12 72//12 70//12 69//12
f 69//8 70//8 66//8 65//8
f 67//9 71//9 69//9 65//9
f 72//10 68//10 66//10 70//10
o Cube.001
v -0.738081 0.166833 -0.902667
v 0.738081 0.166833 -0.902666
v 0.738081 0.166833 0.801027
v -0.738081 0.166833 0.801027
v -0.738081 0.166833 -0.050820
v -0.000000 0.166833 0.801027
v 0.738081 0.166833 -0.050820
v 0.000000 0.166833 -0.902667
v -0.830930 0.828904 -0.997317
v 0.830931 0.828904 -0.997316
v 0.830930 0.828904 0.895677
v -0.830930 0.828904 0.895676
v -0.830930 0.082295 -0.997316
v 0.830930 0.082295 -0.997316
v 0.830930 0.082295 0.895676
v -0.830930 0.082295 0.895676
v 0.000000 0.828904 -0.997316
v -0.830930 0.828904 -0.050820
v 0.830930 0.828904 -0.050820
v -0.000000 0.828904 0.895676
v -0.830930 0.082295 -0.050820
v -0.000000 0.082295 0.895676
v 0.830930 0.082295 -0.050820
v 0.000000 0.082295 -0.997316
v -0.738081 0.828904 0.801027
v -0.000000 0.828904 0.801027
v 0.738081 0.828904 0.801027
v 0.738081 0.828904 -0.050820
v 0.738082 0.828904 -0.902666
v -0.738081 0.828904 -0.050820
v 0.000000 0.828904 -0.902667
v -0.738081 0.828904 -0.902667
v -0.111832 0.556504 -1.178424
v -0.111832 0.355303 -1.178424
v 0.111832 0.556504 -1.178424
v 0.111832 0.355303 -1.178424
v -0.111832 0.556504 -1.055423
v -0.111832 0.355303 -1.055423
v 0.111832 0.556504 -1.055423
v 0.111832 0.355303 -1.055423
v -0.051323 0.502072 -1.055141
v -0.051323 0.409735 -1.055141
v 0.051323 0.502072 -1.055141
v 0.051323 0.409735 -1.055141
v -0.051323 0.502072 -0.997648
v -0.051323 0.409735 -0.997648
v 0.051323 0.502072 -0.997648
v 0.051323 0.409735 -0.997648
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 1.0000 0.0000 0.0000
vn 0.0000 1.0000 -0.0000
usemtl Material.002
s off
f 80//13 74//13 101//13 103//13
f 79//14 75//14 99//14 100//14
f 78//15 76//15 97//15 98//15
f 75//15 78//15 98//15 99//15
f 74//14 79//14 100//14 101//14
f 73//13 80//13 103//13 104//13
f 76//16 73//16 74//16 75//16
f 96//15 89//15 82//15 86//15
f 95//17 91//17 83//17 87//17
f 94//13 92//13 84//13 88//13
f 90//14 93//14 88//14 84//14
f 81//14 85//14 93//14 90//14
f 87//13 83//13 92//13 94//13
f 86//17 82//17 91//17 95//17
f 85//15 81//15 89//15 96//15
f 89//18 103//18 101//18 100//18 91//18 82//18
f 81//18 90//18 102//18 104//18 103//18 89//18
f 90//18 84//18 92//18 98//18 97//18 102//18
f 88//18 87//18 86//18 85//18
f 102//17 77//17 73//17 104//17
f 100//18 99//18 98//18 92//18 83//18 91//18
f 97//17 76//17 77//17 102//17
f 105//13 106//13 108//13 107//13
f 107//14 108//14 112//14 111//14
f 111//15 112//15 110//15 109//15
f 109//17 110//17 106//17 105//17
f 107//16 111//16 109//16 105//16
f 112//18 108//18 106//18 110//18
f 113//13 114//13 116//13 115//13
f 115//14 116//14 120//14 119//14
f 119//15 120//15 118//15 117//15
f 117//17 118//17 114//17 113//17
f 115//16 119//16 117//16 113//16
f 120//18 116//18 114//18 118//18

Binary file not shown.

View File

@ -1,22 +0,0 @@
# Blender MTL File: 'kitchen_wooden_cabinet_4.blend'
# Material Count: 2
newmtl Material.001
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl Material.002
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2

View File

@ -1,238 +0,0 @@
# Blender v2.79 (sub 0) OBJ File: 'kitchen_wooden_cabinet_4.blend'
# www.blender.org
mtllib kitchen_wooden_cabinet_4.mtl
o Cube.002
v -0.738081 -0.746590 -1.902671
v 0.738081 -0.746590 -1.902671
v 0.738081 -0.746590 -0.198977
v -0.738081 -0.746590 -0.198978
v -0.738081 -0.746590 -1.050824
v -0.000000 -0.746590 -0.198977
v 0.738081 -0.746590 -1.050824
v 0.000000 -0.746590 -1.902671
v -0.830930 -0.084519 -1.997321
v 0.830931 -0.084519 -1.997320
v 0.830930 -0.084519 -0.104327
v -0.830930 -0.084519 -0.104328
v -0.830930 -0.831128 -1.997321
v 0.830930 -0.831128 -1.997320
v 0.830930 -0.831128 -0.104328
v -0.830930 -0.831128 -0.104328
v 0.000000 -0.084519 -1.997320
v -0.830930 -0.084519 -1.050824
v 0.830930 -0.084519 -1.050824
v -0.000000 -0.084519 -0.104328
v -0.830930 -0.831128 -1.050824
v -0.000000 -0.831128 -0.104328
v 0.830930 -0.831128 -1.050824
v 0.000000 -0.831128 -1.997320
v -0.738081 -0.084519 -0.198977
v -0.000000 -0.084519 -0.198977
v 0.738081 -0.084519 -0.198977
v 0.738081 -0.084519 -1.050824
v 0.738082 -0.084519 -1.902670
v -0.738081 -0.084519 -1.050824
v 0.000000 -0.084519 -1.902671
v -0.738081 -0.084519 -1.902671
v -0.111832 -0.356919 -2.178428
v -0.111832 -0.558120 -2.178428
v 0.111832 -0.356919 -2.178428
v 0.111832 -0.558120 -2.178428
v -0.111832 -0.356919 -2.055428
v -0.111832 -0.558120 -2.055428
v 0.111832 -0.356919 -2.055428
v 0.111832 -0.558120 -2.055428
v -0.051323 -0.411351 -2.055145
v -0.051323 -0.503688 -2.055145
v 0.051323 -0.411351 -2.055145
v 0.051323 -0.503688 -2.055145
v -0.051323 -0.411351 -1.997652
v -0.051323 -0.503688 -1.997652
v 0.051323 -0.411351 -1.997652
v 0.051323 -0.503688 -1.997652
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 1.0000 0.0000 0.0000
vn 0.0000 1.0000 -0.0000
usemtl Material.002
s off
f 8//1 2//1 29//1 31//1
f 7//2 3//2 27//2 28//2
f 6//3 4//3 25//3 26//3
f 3//3 6//3 26//3 27//3
f 2//2 7//2 28//2 29//2
f 1//1 8//1 31//1 32//1
f 4//4 1//4 2//4 3//4
f 24//3 17//3 10//3 14//3
f 23//5 19//5 11//5 15//5
f 22//1 20//1 12//1 16//1
f 18//2 21//2 16//2 12//2
f 9//2 13//2 21//2 18//2
f 15//1 11//1 20//1 22//1
f 14//5 10//5 19//5 23//5
f 13//3 9//3 17//3 24//3
f 17//6 31//6 29//6 28//6 19//6 10//6
f 9//6 18//6 30//6 32//6 31//6 17//6
f 18//6 12//6 20//6 26//6 25//6 30//6
f 16//6 15//6 14//6 13//6
f 30//5 5//5 1//5 32//5
f 28//6 27//6 26//6 20//6 11//6 19//6
f 25//5 4//5 5//5 30//5
f 33//1 34//1 36//1 35//1
f 35//2 36//2 40//2 39//2
f 39//3 40//3 38//3 37//3
f 37//5 38//5 34//5 33//5
f 35//4 39//4 37//4 33//4
f 40//6 36//6 34//6 38//6
f 41//1 42//1 44//1 43//1
f 43//2 44//2 48//2 47//2
f 47//3 48//3 46//3 45//3
f 45//5 46//5 42//5 41//5
f 43//4 47//4 45//4 41//4
f 48//6 44//6 42//6 46//6
o Cube.000
v 1.000000 -1.000000 1.000000
v -1.000000 -1.000000 1.000000
v 1.000000 1.000000 1.000000
v -1.000000 1.000000 1.000000
v -1.000000 -1.000000 -1.000000
v 1.000000 1.000000 -1.000000
v 1.000000 -1.000000 -1.000000
v -1.000000 1.000000 -1.000000
v 0.834275 -0.834275 0.900000
v -0.834276 -0.834275 0.900000
v 0.834275 0.834276 0.900000
v -0.834276 0.834276 0.900000
v -0.834276 -0.834275 -1.000000
v 0.834276 0.834276 -1.000000
v 0.834276 -0.834275 -1.000000
v -0.834275 0.834276 -1.000000
v 0.833681 -0.078480 0.900000
v 0.833681 0.078480 0.900000
v -0.833681 -0.078480 0.900000
v -0.833681 0.078480 0.900000
v 0.833681 -0.078480 -1.000000
v 0.833681 0.078480 -1.000000
v -0.833681 -0.078480 -1.000000
v -0.833681 0.078480 -1.000000
vn -0.0000 0.0000 1.0000
vn 1.0000 -0.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn -1.0000 0.0000 -0.0000
vn -0.0000 -0.0000 -1.0000
usemtl Material.001
s off
f 49//7 51//7 52//7 50//7
f 55//8 54//8 51//8 49//8
f 53//9 55//9 49//9 50//9
f 54//10 56//10 52//10 51//10
f 56//11 53//11 50//11 52//11
f 57//7 59//7 60//7 58//7
f 63//8 62//8 59//8 57//8
f 61//9 63//9 57//9 58//9
f 62//10 64//10 60//10 59//10
f 64//11 61//11 58//11 60//11
f 55//12 53//12 61//12 63//12
f 54//12 55//12 63//12 62//12
f 56//12 54//12 62//12 64//12
f 53//12 56//12 64//12 61//12
f 65//7 66//7 68//7 67//7
f 67//11 68//11 72//11 71//11
f 71//12 72//12 70//12 69//12
f 69//8 70//8 66//8 65//8
f 67//9 71//9 69//9 65//9
f 72//10 68//10 66//10 70//10
o Cube.001
v -0.738081 0.166833 -1.902671
v 0.738081 0.166833 -1.902671
v 0.738081 0.166833 -0.198977
v -0.738081 0.166833 -0.198978
v -0.738081 0.166833 -1.050824
v -0.000000 0.166833 -0.198977
v 0.738081 0.166833 -1.050824
v 0.000000 0.166833 -1.902671
v -0.830930 0.828904 -1.997321
v 0.830931 0.828904 -1.997320
v 0.830930 0.828904 -0.104327
v -0.830930 0.828904 -0.104328
v -0.830930 0.082295 -1.997321
v 0.830930 0.082295 -1.997320
v 0.830930 0.082295 -0.104328
v -0.830930 0.082295 -0.104328
v 0.000000 0.828904 -1.997320
v -0.830930 0.828904 -1.050824
v 0.830930 0.828904 -1.050824
v -0.000000 0.828904 -0.104328
v -0.830930 0.082295 -1.050824
v -0.000000 0.082295 -0.104328
v 0.830930 0.082295 -1.050824
v 0.000000 0.082295 -1.997320
v -0.738081 0.828904 -0.198977
v -0.000000 0.828904 -0.198977
v 0.738081 0.828904 -0.198977
v 0.738081 0.828904 -1.050824
v 0.738082 0.828904 -1.902670
v -0.738081 0.828904 -1.050824
v 0.000000 0.828904 -1.902671
v -0.738081 0.828904 -1.902671
v -0.111832 0.556504 -2.178428
v -0.111832 0.355303 -2.178428
v 0.111832 0.556504 -2.178428
v 0.111832 0.355303 -2.178428
v -0.111832 0.556504 -2.055428
v -0.111832 0.355303 -2.055428
v 0.111832 0.556504 -2.055428
v 0.111832 0.355303 -2.055428
v -0.051323 0.502072 -2.055145
v -0.051323 0.409735 -2.055145
v 0.051323 0.502072 -2.055145
v 0.051323 0.409735 -2.055145
v -0.051323 0.502072 -1.997652
v -0.051323 0.409735 -1.997652
v 0.051323 0.502072 -1.997652
v 0.051323 0.409735 -1.997652
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 1.0000 0.0000 0.0000
vn 0.0000 1.0000 -0.0000
usemtl Material.002
s off
f 80//13 74//13 101//13 103//13
f 79//14 75//14 99//14 100//14
f 78//15 76//15 97//15 98//15
f 75//15 78//15 98//15 99//15
f 74//14 79//14 100//14 101//14
f 73//13 80//13 103//13 104//13
f 76//16 73//16 74//16 75//16
f 96//15 89//15 82//15 86//15
f 95//17 91//17 83//17 87//17
f 94//13 92//13 84//13 88//13
f 90//14 93//14 88//14 84//14
f 81//14 85//14 93//14 90//14
f 87//13 83//13 92//13 94//13
f 86//17 82//17 91//17 95//17
f 85//15 81//15 89//15 96//15
f 89//18 103//18 101//18 100//18 91//18 82//18
f 81//18 90//18 102//18 104//18 103//18 89//18
f 90//18 84//18 92//18 98//18 97//18 102//18
f 88//18 87//18 86//18 85//18
f 102//17 77//17 73//17 104//17
f 100//18 99//18 98//18 92//18 83//18 91//18
f 97//17 76//17 77//17 102//17
f 105//13 106//13 108//13 107//13
f 107//14 108//14 112//14 111//14
f 111//15 112//15 110//15 109//15
f 109//17 110//17 106//17 105//17
f 107//16 111//16 109//16 105//16
f 112//18 108//18 106//18 110//18
f 113//13 114//13 116//13 115//13
f 115//14 116//14 120//14 119//14
f 119//15 120//15 118//15 117//15
f 117//17 118//17 114//17 113//17
f 115//16 119//16 117//16 113//16
f 120//18 116//18 114//18 118//18

BIN
models/luxury_desk_lamp.b3d Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.