forked from mtcontrib/homedecor_modpack
Version MFF.
This commit is contained in:
159
homedecor/bathroom_furniture.lua
Normal file → Executable file
159
homedecor/bathroom_furniture.lua
Normal file → Executable file
@ -1,56 +1,44 @@
|
||||
local S = homedecor.gettext
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local bathroom_tile_colors = {
|
||||
{ "1", "white/grey", "#c0c0c0:200" },
|
||||
{ "2", "white/dark grey", "#404040:150" },
|
||||
{ "3", "white/black", "#000000:200" },
|
||||
{ "4", "black/dark grey", "" },
|
||||
{ "red", "white/red", "#d00000:150" },
|
||||
{ "green", "white/green", "#00d000:150" },
|
||||
{ "blue", "white/blue", "#0000d0:150" },
|
||||
{ "yellow", "white/yellow", "#ffff00:150" },
|
||||
{ "tan", "white/tan", "#ceaf42:150" }
|
||||
}
|
||||
|
||||
minetest.register_node("homedecor:bathroom_tiles_dark", {
|
||||
description = S("Bathroom/kitchen tiles (dark)"),
|
||||
tiles = {
|
||||
{ name = "homedecor_bathroom_tiles_bg.png", color = 0xff606060 },
|
||||
"homedecor_bathroom_tiles_fg.png"
|
||||
},
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_block_with_overlay.obj",
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
palette = "unifieddyes_palette_extended.png",
|
||||
place_param2 = 240,
|
||||
groups = {cracky=3, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
after_dig_node = unifieddyes.after_dig_node
|
||||
})
|
||||
for i in ipairs(bathroom_tile_colors) do
|
||||
local color = bathroom_tile_colors[i][1]
|
||||
local shade = bathroom_tile_colors[i][2]
|
||||
local hue = bathroom_tile_colors[i][3]
|
||||
|
||||
minetest.register_node("homedecor:bathroom_tiles_medium", {
|
||||
description = S("Bathroom/kitchen tiles (medium)"),
|
||||
tiles = {
|
||||
{ name = "homedecor_bathroom_tiles_bg.png", color = 0xffc0c0c0 },
|
||||
"homedecor_bathroom_tiles_fg.png"
|
||||
},
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_block_with_overlay.obj",
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
palette = "unifieddyes_palette_extended.png",
|
||||
place_param2 = 240,
|
||||
groups = {cracky=3, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
after_dig_node = unifieddyes.after_dig_node
|
||||
})
|
||||
local coloredtile = "homedecor_bathroom_tiles_bg.png^(homedecor_bathroom_tiles_fg.png^[colorize:"..hue..")"
|
||||
|
||||
minetest.register_node("homedecor:bathroom_tiles_light", {
|
||||
description = S("Bathroom/kitchen tiles (light)"),
|
||||
tiles = {
|
||||
{ name = "homedecor_bathroom_tiles_bg.png", color = 0xffffffff },
|
||||
"homedecor_bathroom_tiles_fg.png"
|
||||
},
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_block_with_overlay.obj",
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
palette = "unifieddyes_palette_extended.png",
|
||||
place_param2 = 240,
|
||||
groups = {cracky=3, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
after_dig_node = unifieddyes.after_dig_node
|
||||
})
|
||||
if color == "4" then
|
||||
coloredtile = "(homedecor_bathroom_tiles_bg.png^[colorize:#000000:75)"..
|
||||
"^(homedecor_bathroom_tiles_fg.png^[colorize:#000000:200)"
|
||||
end
|
||||
|
||||
minetest.register_node("homedecor:tiles_"..color, {
|
||||
description = "Bathroom/kitchen tiles ("..shade..")",
|
||||
tiles = {
|
||||
coloredtile,
|
||||
coloredtile,
|
||||
coloredtile,
|
||||
coloredtile,
|
||||
"("..coloredtile..")^[transformR90",
|
||||
"("..coloredtile..")^[transformR90"
|
||||
},
|
||||
groups = {cracky=3},
|
||||
paramtype = "light",
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
end
|
||||
|
||||
local tr_cbox = {
|
||||
type = "fixed",
|
||||
@ -58,7 +46,7 @@ local tr_cbox = {
|
||||
}
|
||||
|
||||
homedecor.register("towel_rod", {
|
||||
description = S("Towel rod with towel"),
|
||||
description = "Towel rod with towel",
|
||||
mesh = "homedecor_towel_rod.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_terrycloth.png",
|
||||
@ -72,7 +60,7 @@ homedecor.register("towel_rod", {
|
||||
})
|
||||
|
||||
homedecor.register("medicine_cabinet", {
|
||||
description = S("Medicine cabinet"),
|
||||
description = S("Medicine Cabinet"),
|
||||
mesh = "homedecor_medicine_cabinet.obj",
|
||||
tiles = {
|
||||
'default_wood.png',
|
||||
@ -116,72 +104,3 @@ homedecor.register("medicine_cabinet_open", {
|
||||
end,
|
||||
})
|
||||
|
||||
-- convert old static nodes
|
||||
|
||||
homedecor.old_static_bathroom_tiles = {
|
||||
"homedecor:tiles_1",
|
||||
"homedecor:tiles_2",
|
||||
"homedecor:tiles_3",
|
||||
"homedecor:tiles_4",
|
||||
"homedecor:tiles_red",
|
||||
"homedecor:tiles_tan",
|
||||
"homedecor:tiles_yellow",
|
||||
"homedecor:tiles_green",
|
||||
"homedecor:tiles_blue"
|
||||
}
|
||||
|
||||
local old_to_color = {
|
||||
"light_grey",
|
||||
"grey",
|
||||
"black",
|
||||
"black"
|
||||
}
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "homedecor:convert_bathroom_tiles",
|
||||
label = "Convert bathroom tiles to use param2 color",
|
||||
run_at_every_load = false,
|
||||
nodenames = homedecor.old_static_bathroom_tiles,
|
||||
action = function(pos, node)
|
||||
local name = node.name
|
||||
local newname = "homedecor:bathroom_tiles_light"
|
||||
local a = string.find(name, "_")
|
||||
local color = string.sub(name, a + 1)
|
||||
|
||||
if color == "tan" then
|
||||
color = "yellow_s50"
|
||||
elseif color == "1" or color == "2" or color == "3" or color == "4" then
|
||||
if color == "4" then
|
||||
newname = "homedecor:bathroom_tiles_medium"
|
||||
end
|
||||
color = old_to_color[tonumber(color)]
|
||||
elseif color ~= "yellow" then
|
||||
color = color.."_s50"
|
||||
end
|
||||
|
||||
local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "extended")
|
||||
|
||||
minetest.set_node(pos, { name = newname, param2 = paletteidx })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
meta:set_string("palette", "ext")
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "homedecor:recolor_bathroom_tiles",
|
||||
label = "Convert bathroom tiles to use UD extended palette",
|
||||
run_at_every_load = false,
|
||||
nodenames = {
|
||||
"homedecor:bathroom_tiles_light",
|
||||
"homedecor:bathroom_tiles_medium",
|
||||
"homedecor:bathroom_tiles_dark",
|
||||
},
|
||||
action = function(pos, node)
|
||||
local meta = minetest.get_meta(pos)
|
||||
if meta:get_string("palette") ~= "ext" then
|
||||
minetest.swap_node(pos, { name = node.name, param2 = unifieddyes.convert_classic_palette[node.param2] })
|
||||
meta:set_string("palette", "ext")
|
||||
end
|
||||
end
|
||||
})
|
||||
|
86
homedecor/bathroom_sanitation.lua
Normal file → Executable file
86
homedecor/bathroom_sanitation.lua
Normal file → Executable file
@ -1,5 +1,4 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
local toilet_sbox = {
|
||||
type = "fixed",
|
||||
@ -18,16 +17,16 @@ homedecor.register("toilet", {
|
||||
description = S("Toilet"),
|
||||
mesh = "homedecor_toilet_closed.obj",
|
||||
tiles = {
|
||||
"homedecor_marble.png",
|
||||
"homedecor_marble.png",
|
||||
"homedecor_marble.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }
|
||||
"homedecor_marble.png^[colorize:#ffffff:175",
|
||||
"homedecor_marble.png^[colorize:#ffffff:175",
|
||||
"homedecor_marble.png^[colorize:#ffffff:175",
|
||||
"homedecor_generic_metal_black.png^[brighten"
|
||||
},
|
||||
selection_box = toilet_sbox,
|
||||
node_box = toilet_cbox,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_punch = function (pos, node, puncher)
|
||||
node.name = "homedecor:toilet_open"
|
||||
minetest.set_node(pos, node)
|
||||
end
|
||||
@ -36,18 +35,18 @@ homedecor.register("toilet", {
|
||||
homedecor.register("toilet_open", {
|
||||
mesh = "homedecor_toilet_open.obj",
|
||||
tiles = {
|
||||
"homedecor_marble.png",
|
||||
"homedecor_marble.png",
|
||||
"homedecor_marble.png",
|
||||
"homedecor_marble.png^[colorize:#ffffff:175",
|
||||
"homedecor_marble.png^[colorize:#ffffff:175",
|
||||
"homedecor_marble.png^[colorize:#ffffff:175",
|
||||
"default_water.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }
|
||||
"homedecor_generic_metal_black.png^[brighten"
|
||||
},
|
||||
selection_box = toilet_sbox,
|
||||
collision_box = toilet_cbox,
|
||||
drop = "homedecor:toilet",
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_punch = function (pos, node, puncher)
|
||||
node.name = "homedecor:toilet"
|
||||
minetest.set_node(pos, node)
|
||||
minetest.sound_play("homedecor_toilet_flush", {
|
||||
@ -90,7 +89,7 @@ homedecor.register("sink", {
|
||||
description = S("Bathroom Sink"),
|
||||
mesh = "homedecor_bathroom_sink.obj",
|
||||
tiles = {
|
||||
"homedecor_marble.png",
|
||||
"homedecor_marble.png^[colorize:#ffffff:175",
|
||||
"homedecor_marble.png",
|
||||
"default_water.png"
|
||||
},
|
||||
@ -115,13 +114,12 @@ homedecor.register("sink", {
|
||||
|
||||
--Taps
|
||||
|
||||
local function taps_on_rightclick(pos, node, clicker, itemstack, pointed_thing)
|
||||
local function taps_on_rightclick(pos, node, clicker)
|
||||
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
|
||||
if below and
|
||||
below.name == "homedecor:shower_tray" or
|
||||
below.name == "homedecor:sink" or
|
||||
below.name == "homedecor:kitchen_cabinet_with_sink" or
|
||||
below.name == "homedecor:kitchen_cabinet_with_sink_locked" then
|
||||
below.name == "homedecor:kitchen_cabinet_with_sink" then
|
||||
local particledef = {
|
||||
outlet = { x = 0, y = -0.44, z = 0.28 },
|
||||
velocity_x = { min = -0.1, max = 0.1 },
|
||||
@ -131,16 +129,15 @@ local function taps_on_rightclick(pos, node, clicker, itemstack, pointed_thing)
|
||||
}
|
||||
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_faucet")
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
|
||||
homedecor.register("taps", {
|
||||
description = S("Bathroom taps/faucet"),
|
||||
mesh = "homedecor_bathroom_faucet.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
|
||||
"homedecor_generic_metal_black.png^[brighten",
|
||||
"homedecor_generic_metal_bright.png",
|
||||
"homedecor_generic_metal.png",
|
||||
"homedecor_generic_metal_black.png^[colorize:#ffffff:200",
|
||||
"homedecor_generic_metal_bright.png"
|
||||
},
|
||||
inventory_image = "3dforniture_taps_inv.png",
|
||||
@ -163,7 +160,7 @@ homedecor.register("taps_brass", {
|
||||
tiles = {
|
||||
"homedecor_generic_metal_brass.png",
|
||||
"homedecor_generic_metal_brass.png",
|
||||
"homedecor_generic_metal.png",
|
||||
"homedecor_generic_metal_black.png^[colorize:#ffffff:200",
|
||||
"homedecor_generic_metal_brass.png"
|
||||
},
|
||||
inventory_image = "3dforniture_taps_brass_inv.png",
|
||||
@ -219,16 +216,16 @@ homedecor.register("shower_head", {
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_shower_head.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_metal.png",
|
||||
"homedecor_generic_metal_black.png^[brighten",
|
||||
"homedecor_shower_head.png"
|
||||
},
|
||||
inventory_image = "homedecor_shower_head_inv.png",
|
||||
description = S("Shower Head"),
|
||||
description = "Shower Head",
|
||||
groups = {snappy=3},
|
||||
selection_box = sh_cbox,
|
||||
walkable = false,
|
||||
on_rotate = screwdriver.disallow,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_rightclick = function (pos, node, clicker)
|
||||
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-2.0, z=pos.z})
|
||||
if below and below.name == "homedecor:shower_tray" then
|
||||
local particledef = {
|
||||
@ -240,53 +237,12 @@ homedecor.register("shower_head", {
|
||||
}
|
||||
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_shower")
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_destruct = function(pos)
|
||||
homedecor.stop_particle_spawner(pos)
|
||||
end
|
||||
})
|
||||
|
||||
homedecor.register("bathtub_clawfoot_brass_taps", {
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_bathtub_clawfoot.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
|
||||
"homedecor_generic_metal_bright.png",
|
||||
"homedecor_generic_metal_bright.png",
|
||||
"homedecor_generic_metal_brass.png",
|
||||
"homedecor_marble.png",
|
||||
"homedecor_bathtub_clawfoot_bottom_inside.png",
|
||||
},
|
||||
description = S("Bathtub, clawfoot, with brass taps"),
|
||||
groups = {cracky=3},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, -0.5, 1.5, 0.3125, 0.5 },
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
homedecor.register("bathtub_clawfoot_chrome_taps", {
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_bathtub_clawfoot.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
|
||||
"homedecor_generic_metal_bright.png",
|
||||
"homedecor_generic_metal_bright.png",
|
||||
"homedecor_generic_metal_bright.png",
|
||||
"homedecor_marble.png",
|
||||
"homedecor_bathtub_clawfoot_bottom_inside.png",
|
||||
},
|
||||
description = S("Bathtub, clawfoot, with chrome taps"),
|
||||
groups = {cracky=3},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, -0.5, 1.5, 0.3125, 0.5 },
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
local bs_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -8/16, -8/16, 1/16, 8/16, 8/16, 8/16 }
|
||||
@ -303,7 +259,7 @@ homedecor.register("bathroom_set", {
|
||||
"homedecor_bathroom_set_toothpaste.png",
|
||||
},
|
||||
inventory_image = "homedecor_bathroom_set_inv.png",
|
||||
description = S("Bathroom sundries set"),
|
||||
description = "Bathroom sundries set",
|
||||
groups = {snappy=3},
|
||||
selection_box = bs_cbox,
|
||||
walkable = false,
|
||||
|
334
homedecor/bedroom.lua
Normal file → Executable file
334
homedecor/bedroom.lua
Normal file → Executable file
@ -1,16 +1,31 @@
|
||||
local S = homedecor.gettext
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local function N_(x) return x end
|
||||
local bedcolors = {
|
||||
{ "black", "#000000:200" }, --new cg72
|
||||
{ "brown", "#603010:175" },
|
||||
{ "blue", "#0000d0:150" },
|
||||
{ "cyan", "#009fa7:150" }, --new cg72
|
||||
{ "darkgrey", "#101010:175" },
|
||||
{ "dark_green", "#007000:150" },
|
||||
{ "green", "#00d000:150" }, --new cg72
|
||||
{ "grey", "#101010:100" }, --new cg72
|
||||
{ "magenta", "#e0048b:150" }, --new cg72
|
||||
{ "orange", "#ff3000:150" },
|
||||
{ "pink", "#ff80b0:150" },
|
||||
{ "red", "#d00000:150" },
|
||||
{ "violet", "#7000e0:150" },
|
||||
{ "white", "#000000:000" }, --new cg72
|
||||
{ "yellow", "#ffe000:150" }
|
||||
}
|
||||
|
||||
local bed_sbox = {
|
||||
type = "wallmounted",
|
||||
wall_side = { -0.5, -0.5, -0.5, 0.5, 0.5, 1.5 }
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 1.5 }
|
||||
}
|
||||
|
||||
local bed_cbox = {
|
||||
type = "wallmounted",
|
||||
wall_side = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.5, -0.5, -0.5, 0.5, -0.05, 1.5 },
|
||||
{ -0.5, -0.5, 1.44, 0.5, 0.5, 1.5 },
|
||||
{ -0.5, -0.5, -0.5, 0.5, 0.18, -0.44 },
|
||||
@ -18,131 +33,133 @@ local bed_cbox = {
|
||||
}
|
||||
|
||||
local kbed_sbox = {
|
||||
type = "wallmounted",
|
||||
wall_side = { -0.5, -0.5, -0.5, 1.5, 0.5, 1.5 }
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, -0.5, 1.5, 0.5, 1.5 }
|
||||
}
|
||||
|
||||
local kbed_cbox = {
|
||||
type = "wallmounted",
|
||||
wall_side = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.5, -0.5, -0.5, 1.5, -0.05, 1.5 },
|
||||
{ -0.5, -0.5, 1.44, 1.5, 0.5, 1.5 },
|
||||
{ -0.5, -0.5, -0.5, 1.5, 0.18, -0.44 },
|
||||
}
|
||||
}
|
||||
|
||||
homedecor.register("bed_regular", {
|
||||
mesh = "homedecor_bed_regular.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_bed_frame.png", color = 0xffffffff },
|
||||
{ name = "default_wood.png", color = 0xffffffff },
|
||||
{ name = "wool_white.png", color = 0xffffffff },
|
||||
"wool_white.png",
|
||||
{ name = "homedecor_bed_bottom.png", color = 0xffffffff },
|
||||
"wool_white.png^[brighten", -- pillow
|
||||
},
|
||||
inventory_image = "homedecor_bed_inv.png",
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
description = S("Bed"),
|
||||
groups = {snappy=3, ud_param2_colorable = 1},
|
||||
selection_box = bed_sbox,
|
||||
node_box = bed_cbox,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rotate = screwdriver.disallow,
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
||||
if not placer:get_player_control().sneak then
|
||||
return homedecor.bed_expansion(pos, placer, itemstack, pointed_thing)
|
||||
end
|
||||
end,
|
||||
after_dig_node = function(pos)
|
||||
homedecor.unextend_bed(pos)
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local itemname = itemstack:get_name()
|
||||
if itemname == "homedecor:bed_regular" then
|
||||
homedecor.bed_expansion(pos, clicker, itemstack, pointed_thing, true)
|
||||
return itemstack
|
||||
else
|
||||
-- if minetest.get_modpath("beds") then
|
||||
-- beds.on_rightclick(pos, clicker)
|
||||
-- end
|
||||
return itemstack
|
||||
end
|
||||
for i in ipairs(bedcolors) do
|
||||
local color = bedcolors[i][1]
|
||||
local color2=color
|
||||
local hue = bedcolors[i][2]
|
||||
|
||||
if color == "darkgrey" then
|
||||
color2 = "dark_grey"
|
||||
end
|
||||
})
|
||||
|
||||
homedecor.register("bed_extended", {
|
||||
mesh = "homedecor_bed_extended.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_bed_frame.png", color = 0xffffffff },
|
||||
{ name = "default_wood.png", color = 0xffffffff },
|
||||
{ name = "wool_white.png", color = 0xffffffff },
|
||||
"wool_white.png",
|
||||
{ name = "homedecor_bed_bottom.png", color = 0xffffffff },
|
||||
"wool_white.png^[brighten",
|
||||
},
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
selection_box = bed_sbox,
|
||||
node_box = bed_cbox,
|
||||
groups = {snappy=3, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
expand = { forward = "air" },
|
||||
on_rotate = screwdriver.disallow,
|
||||
after_dig_node = function(pos)
|
||||
homedecor.unextend_bed(pos)
|
||||
end,
|
||||
-- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
-- local itemname = itemstack:get_name()
|
||||
-- if minetest.get_modpath("beds") then
|
||||
-- beds.on_rightclick(pos, clicker)
|
||||
-- end
|
||||
-- return itemstack
|
||||
-- end,
|
||||
drop = "homedecor:bed_regular"
|
||||
})
|
||||
|
||||
homedecor.register("bed_kingsize", {
|
||||
mesh = "homedecor_bed_kingsize.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_bed_frame.png", color = 0xffffffff },
|
||||
{ name = "default_wood.png", color = 0xffffffff },
|
||||
{ name = "wool_white.png", color = 0xffffffff },
|
||||
"wool_white.png",
|
||||
{ name = "homedecor_bed_bottom.png", color = 0xffffffff },
|
||||
"wool_white.png^[brighten",
|
||||
},
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
inventory_image = "homedecor_bed_kingsize_inv.png",
|
||||
description = S("Bed (king sized)"),
|
||||
groups = {snappy=3, ud_param2_colorable = 1},
|
||||
selection_box = kbed_sbox,
|
||||
node_box = kbed_cbox,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rotate = screwdriver.disallow,
|
||||
after_place_node = unifieddyes.fix_rotation_nsew,
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
local inv = digger:get_inventory()
|
||||
if digger:get_player_control().sneak and inv:room_for_item("main", "bed_regular 1") then
|
||||
inv:remove_item("main", "homedecor:bed_kingsize 1")
|
||||
inv:add_item("main", "homedecor:bed_regular 2")
|
||||
homedecor.register("bed_"..color.."_regular", {
|
||||
mesh = "homedecor_bed_regular.obj",
|
||||
tiles = {
|
||||
"homedecor_bed_frame.png",
|
||||
"default_wood.png",
|
||||
"wool_white.png",
|
||||
"wool_"..color2..".png",
|
||||
"homedecor_bed_bottom.png",
|
||||
"wool_"..color2..".png^[brighten", -- pillow
|
||||
},
|
||||
inventory_image = "homedecor_bed_inv.png^(homedecor_bed_overlay_inv.png^[colorize:"..hue..")",
|
||||
description = S("Bed (%s)"):format(color),
|
||||
groups = {snappy=3},
|
||||
selection_box = bed_sbox,
|
||||
collision_box = bed_cbox,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rotate = screwdriver.disallow,
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
if not placer:get_player_control().sneak then
|
||||
return homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, color)
|
||||
end
|
||||
end,
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
homedecor.unextend_bed(pos, color)
|
||||
if minetest.get_modpath("beds") then -- MFF (crabman 7/04/2016) remove bed spawn on dig
|
||||
local name = digger:get_player_name()
|
||||
if not name or name == "" then return end
|
||||
beds.spawn[name] = nil
|
||||
beds.save_spawns()
|
||||
end
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
if minetest.get_modpath("beds") then
|
||||
beds.on_rightclick(pos, clicker)
|
||||
else return end
|
||||
end
|
||||
end,
|
||||
-- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
-- local itemname = itemstack:get_name()
|
||||
-- if minetest.get_modpath("beds") then
|
||||
-- beds.on_rightclick(pos, clicker)
|
||||
-- end
|
||||
-- return itemstack
|
||||
-- end
|
||||
})
|
||||
})
|
||||
|
||||
for _, w in pairs({ N_("mahogany"), N_("oak") }) do
|
||||
homedecor.register("bed_"..color.."_extended", {
|
||||
mesh = "homedecor_bed_extended.obj",
|
||||
tiles = {
|
||||
"homedecor_bed_frame.png",
|
||||
"default_wood.png",
|
||||
"wool_white.png",
|
||||
"wool_"..color2..".png",
|
||||
"homedecor_bed_bottom.png",
|
||||
"wool_"..color2..".png^[brighten",
|
||||
},
|
||||
selection_box = bed_sbox,
|
||||
collision_box = bed_cbox,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
expand = { forward = "air" },
|
||||
on_rotate = screwdriver.disallow,
|
||||
after_dig_node = function(pos)
|
||||
homedecor.unextend_bed(pos, color)
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
if minetest.get_modpath("beds") then
|
||||
beds.on_rightclick(pos, clicker)
|
||||
else return end
|
||||
end,
|
||||
drop = "homedecor:bed_"..color.."_regular"
|
||||
})
|
||||
|
||||
homedecor.register("bed_"..color.."_kingsize", {
|
||||
mesh = "homedecor_bed_kingsize.obj",
|
||||
tiles = {
|
||||
"homedecor_bed_frame.png",
|
||||
"default_wood.png",
|
||||
"wool_white.png",
|
||||
"wool_"..color2..".png",
|
||||
"homedecor_bed_bottom.png",
|
||||
"wool_"..color2..".png^[brighten",
|
||||
},
|
||||
inventory_image = "homedecor_bed_kingsize_inv.png^(homedecor_bed_kingsize_overlay_inv.png^[colorize:"..hue..")",
|
||||
groups = {snappy=3, not_in_creative_inventory=1},
|
||||
description = S("Bed (%s, king sized)"):format(color),
|
||||
groups = {snappy=3, not_in_creative_inventory=1},
|
||||
selection_box = kbed_sbox,
|
||||
collision_box = kbed_cbox,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rotate = screwdriver.disallow,
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
local inv = digger:get_inventory()
|
||||
if digger:get_player_control().sneak and inv:room_for_item("main", "bed_"..color.."_regular 1") then
|
||||
inv:remove_item("main", "homedecor:bed_"..color.."_kingsize 1")
|
||||
inv:add_item("main", "homedecor:bed_"..color.."_regular 2")
|
||||
end
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
if minetest.get_modpath("beds") then
|
||||
beds.on_rightclick(pos, clicker)
|
||||
else return end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_alias("homedecor:bed_"..color.."_foot", "homedecor:bed_"..color.."_regular")
|
||||
minetest.register_alias("homedecor:bed_"..color.."_footext", "homedecor:bed_"..color.."_extended")
|
||||
minetest.register_alias("homedecor:bed_"..color.."_head", "air")
|
||||
|
||||
end
|
||||
|
||||
|
||||
for _, w in pairs({"mahogany", "oak"}) do
|
||||
homedecor.register("nightstand_"..w.."_one_drawer", {
|
||||
description = S("Nightstand with One Drawer (@1)", S(w)),
|
||||
description = S("Nightstand with One Drawer ("..w..")"),
|
||||
tiles = { 'homedecor_nightstand_'..w..'_tb.png',
|
||||
'homedecor_nightstand_'..w..'_tb.png^[transformFY',
|
||||
'homedecor_nightstand_'..w..'_lr.png^[transformFX',
|
||||
@ -153,7 +170,7 @@ for _, w in pairs({ N_("mahogany"), N_("oak") }) do
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -8/16, 0, -30/64, 8/16, 8/16, 8/16 }, -- top half
|
||||
{ -7/16, 1/16, -32/64, 7/16, 7/16, -29/64}, -- drawer face
|
||||
{ -7/16, 1/16, -32/64, 7/16, 7/16, -29/64}, -- drawer face
|
||||
{ -8/16, -8/16, -30/64, -7/16, 0, 8/16 }, -- left
|
||||
{ 7/16, -8/16, -30/64, 8/16, 0, 8/16 }, -- right
|
||||
{ -8/16, -8/16, 7/16, 8/16, 0, 8/16 }, -- back
|
||||
@ -171,7 +188,7 @@ for _, w in pairs({ N_("mahogany"), N_("oak") }) do
|
||||
})
|
||||
|
||||
homedecor.register("nightstand_"..w.."_two_drawers", {
|
||||
description = S("Nightstand with Two Drawers (@1)", S(w)),
|
||||
description = S("Nightstand with Two Drawers ("..w..")"),
|
||||
tiles = { 'homedecor_nightstand_'..w..'_tb.png',
|
||||
'homedecor_nightstand_'..w..'_tb.png^[transformFY',
|
||||
'homedecor_nightstand_'..w..'_lr.png^[transformFX',
|
||||
@ -196,78 +213,3 @@ for _, w in pairs({ N_("mahogany"), N_("oak") }) do
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
-- convert to param2 colorization
|
||||
|
||||
local bedcolors = {
|
||||
"black",
|
||||
"brown",
|
||||
"blue",
|
||||
"cyan",
|
||||
"darkgrey",
|
||||
"dark_green",
|
||||
"green",
|
||||
"grey",
|
||||
"magenta",
|
||||
"orange",
|
||||
"pink",
|
||||
"red",
|
||||
"violet",
|
||||
"white",
|
||||
"yellow"
|
||||
}
|
||||
|
||||
homedecor.old_bed_nodes = {}
|
||||
|
||||
for _, color in ipairs(bedcolors) do
|
||||
table.insert(homedecor.old_bed_nodes, "homedecor:bed_"..color.."_regular")
|
||||
table.insert(homedecor.old_bed_nodes, "homedecor:bed_"..color.."_extended")
|
||||
table.insert(homedecor.old_bed_nodes, "homedecor:bed_"..color.."_kingsize")
|
||||
end
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "homedecor:convert_beds",
|
||||
label = "Convert homedecor static bed nodes to use param2 color",
|
||||
run_at_every_load = false,
|
||||
nodenames = homedecor.old_bed_nodes,
|
||||
action = function(pos, node)
|
||||
local name = node.name
|
||||
local color = string.sub(name, string.find(name, "_") + 1)
|
||||
|
||||
-- -10 puts us near the end of the color field
|
||||
color = string.sub(color, 1, string.find(color, "_", -10) - 1)
|
||||
|
||||
if color == "darkgrey" then
|
||||
color = "dark_grey"
|
||||
end
|
||||
|
||||
local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted")
|
||||
local old_fdir = math.floor(node.param2 % 32)
|
||||
local new_fdir = 3
|
||||
local new_name
|
||||
|
||||
if old_fdir == 0 then
|
||||
new_fdir = 3
|
||||
elseif old_fdir == 1 then
|
||||
new_fdir = 4
|
||||
elseif old_fdir == 2 then
|
||||
new_fdir = 2
|
||||
elseif old_fdir == 3 then
|
||||
new_fdir = 5
|
||||
end
|
||||
|
||||
local param2 = paletteidx + new_fdir
|
||||
|
||||
if string.find(name, "regular") then
|
||||
new_name = "homedecor:bed_regular"
|
||||
elseif string.find(name, "extended") then
|
||||
new_name = "homedecor:bed_extended"
|
||||
else
|
||||
new_name = "homedecor:bed_kingsize"
|
||||
end
|
||||
|
||||
minetest.set_node(pos, { name = new_name, param2 = param2 })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
end
|
||||
})
|
||||
|
354
homedecor/books.lua
Normal file → Executable file
354
homedecor/books.lua
Normal file → Executable file
@ -1,155 +1,158 @@
|
||||
local S = homedecor.gettext
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local bookcolors = {
|
||||
{ "red", "#c00000:150" },
|
||||
{ "green", "#008000:150" },
|
||||
{ "blue", "#4040c0:150" },
|
||||
{ "violet", "#600070:150" },
|
||||
{ "grey", "#202020:150" },
|
||||
{ "brown", "#603010:175" }
|
||||
}
|
||||
|
||||
local BOOK_FORMNAME = "homedecor:book_form"
|
||||
|
||||
local player_current_book = { }
|
||||
|
||||
local function book_dig(pos, node, digger)
|
||||
if minetest.is_protected(pos, digger:get_player_name()) then return end
|
||||
local meta = minetest.get_meta(pos)
|
||||
local data = minetest.serialize({
|
||||
title = meta:get_string("title") or "",
|
||||
text = meta:get_string("text") or "",
|
||||
owner = meta:get_string("owner") or "",
|
||||
_recover = meta:get_string("_recover") or "",
|
||||
})
|
||||
local stack = ItemStack({
|
||||
name = "homedecor:book",
|
||||
metadata = data,
|
||||
})
|
||||
stack = digger:get_inventory():add_item("main", stack)
|
||||
if not stack:is_empty() then
|
||||
minetest.item_drop(stack, digger, pos)
|
||||
end
|
||||
minetest.remove_node(pos)
|
||||
end
|
||||
for c in ipairs(bookcolors) do
|
||||
local color = bookcolors[c][1]
|
||||
local color_d = S(bookcolors[c][1])
|
||||
local hue = bookcolors[c][2]
|
||||
|
||||
local inv_img = "homedecor_book_inv.png^homedecor_book_trim_inv.png"
|
||||
|
||||
homedecor.register("book", {
|
||||
description = S("Writable Book"),
|
||||
mesh = "homedecor_book.obj",
|
||||
tiles = {
|
||||
"homedecor_book_cover.png",
|
||||
{ name = "homedecor_book_edges.png", color = 0xffffffff },
|
||||
{ name = "homedecor_book_cover_trim.png", color = 0xffffffff }
|
||||
},
|
||||
inventory_image = inv_img,
|
||||
wield_image = inv_img,
|
||||
groups = { snappy=3, oddly_breakable_by_hand=3, book=1, ud_param2_colorable = 1 },
|
||||
walkable = false,
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
after_dig_node = unifieddyes.after_dig_node,
|
||||
stack_max = 1,
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
local fdir = node.param2
|
||||
minetest.swap_node(pos, { name = "homedecor:book_open", param2 = fdir })
|
||||
end,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local plname = placer:get_player_name()
|
||||
local pos = pointed_thing.under
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
local def = node and minetest.registered_nodes[node.name]
|
||||
if not def or not def.buildable_to then
|
||||
pos = pointed_thing.above
|
||||
node = minetest.get_node_or_nil(pos)
|
||||
def = node and minetest.registered_nodes[node.name]
|
||||
if not def or not def.buildable_to then return itemstack end
|
||||
end
|
||||
if minetest.is_protected(pos, plname) then return itemstack end
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||
minetest.set_node(pos, {
|
||||
name = "homedecor:book",
|
||||
param2 = fdir,
|
||||
local function book_dig(pos, node, digger)
|
||||
if minetest.is_protected(pos, digger:get_player_name()) then return end
|
||||
local meta = minetest.get_meta(pos)
|
||||
local data = minetest.serialize({
|
||||
title = meta:get_string("title") or "",
|
||||
text = meta:get_string("text") or "",
|
||||
owner = meta:get_string("owner") or "",
|
||||
_recover = meta:get_string("_recover") or "",
|
||||
})
|
||||
local text = itemstack:get_metadata() or ""
|
||||
local meta = minetest.get_meta(pos)
|
||||
local data = minetest.deserialize(text) or {}
|
||||
if type(data) ~= "table" then
|
||||
data = {}
|
||||
-- Store raw metadata in case some data is lost by the
|
||||
-- transition to the new meta format, so it is not lost
|
||||
-- and can be recovered if needed.
|
||||
meta:set_string("_recover", text)
|
||||
local stack = ItemStack({
|
||||
name = "homedecor:book_"..color,
|
||||
metadata = data,
|
||||
})
|
||||
stack = digger:get_inventory():add_item("main", stack)
|
||||
if not stack:is_empty() then
|
||||
minetest.item_drop(stack, digger, pos)
|
||||
end
|
||||
meta:set_string("title", data.title or "")
|
||||
meta:set_string("text", data.text or "")
|
||||
meta:set_string("owner", data.owner or "")
|
||||
if data.title and data.title ~= "" then
|
||||
meta:set_string("infotext", data.title)
|
||||
end
|
||||
if not homedecor.expect_infinite_stacks then
|
||||
itemstack:take_item()
|
||||
end
|
||||
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
||||
return itemstack
|
||||
end,
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
on_dig = book_dig,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.2, -0.5, -0.25, 0.2, -0.35, 0.25}
|
||||
}
|
||||
})
|
||||
minetest.remove_node(pos)
|
||||
end
|
||||
|
||||
homedecor.register("book_open", {
|
||||
mesh = "homedecor_book_open.obj",
|
||||
tiles = {
|
||||
"homedecor_book_cover.png",
|
||||
{ name = "homedecor_book_edges.png", color = 0xffffffff },
|
||||
{ name = "homedecor_book_pages.png", color = 0xffffffff }
|
||||
},
|
||||
groups = { snappy=3, oddly_breakable_by_hand=3, not_in_creative_inventory=1, ud_param2_colorable = 1 },
|
||||
drop = "homedecor:book",
|
||||
walkable = false,
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
after_place_node = unifieddyes.fix_rotation_nsew,
|
||||
after_dig_node = unifieddyes.after_dig_node,
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
on_dig = book_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local player_name = clicker:get_player_name()
|
||||
local title = meta:get_string("title") or ""
|
||||
local text = meta:get_string("text") or ""
|
||||
local owner = meta:get_string("owner") or ""
|
||||
local formspec
|
||||
if owner == "" or owner == player_name then
|
||||
formspec = "size[8,8]"..default.gui_bg..default.gui_bg_img..
|
||||
"field[0.5,1;7.5,0;title;Book title :;"..
|
||||
minetest.formspec_escape(title).."]"..
|
||||
"textarea[0.5,1.5;7.5,7;text;Book content :;"..
|
||||
minetest.formspec_escape(text).."]"..
|
||||
"button_exit[2.5,7.5;3,1;save;Save]"
|
||||
else
|
||||
formspec = "size[8,8]"..default.gui_bg..
|
||||
"button_exit[7,0.25;1,0.5;close;X]"..
|
||||
default.gui_bg_img..
|
||||
"label[0.5,0.5;by "..owner.."]"..
|
||||
"label[0.5,0;"..minetest.formspec_escape(title).."]"..
|
||||
"textarea[0.5,1.5;7.5,7;;"..minetest.formspec_escape(text)..";]"
|
||||
end
|
||||
player_current_book[player_name] = pos
|
||||
minetest.show_formspec(player_name, BOOK_FORMNAME, formspec)
|
||||
return itemstack
|
||||
end,
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
local fdir = node.param2
|
||||
minetest.swap_node(pos, { name = "homedecor:book", param2 = fdir })
|
||||
minetest.sound_play("homedecor_book_close", {
|
||||
pos=pos,
|
||||
max_hear_distance = 3,
|
||||
gain = 2,
|
||||
local inv_img = "homedecor_book_inv.png^[colorize:"..hue.."^homedecor_book_trim_inv.png"
|
||||
|
||||
homedecor.register("book_"..color, {
|
||||
description = S("Writable Book (%s)"):format(color_d),
|
||||
mesh = "homedecor_book.obj",
|
||||
tiles = {
|
||||
"(homedecor_book_cover.png^[colorize:"..hue..")^homedecor_book_cover_trim.png",
|
||||
"homedecor_book_edges.png"
|
||||
},
|
||||
inventory_image = inv_img,
|
||||
wield_image = inv_img,
|
||||
groups = { snappy=3, oddly_breakable_by_hand=3, book=1 },
|
||||
walkable = false,
|
||||
stack_max = 1,
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
local fdir = node.param2
|
||||
minetest.swap_node(pos, { name = "homedecor:book_open_"..color, param2 = fdir })
|
||||
end,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local plname = placer:get_player_name()
|
||||
local pos = pointed_thing.under
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
local def = node and minetest.registered_nodes[node.name]
|
||||
if not def or not def.buildable_to then
|
||||
pos = pointed_thing.above
|
||||
node = minetest.get_node_or_nil(pos)
|
||||
def = node and minetest.registered_nodes[node.name]
|
||||
if not def or not def.buildable_to then return itemstack end
|
||||
end
|
||||
if minetest.is_protected(pos, plname) then return itemstack end
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||
minetest.set_node(pos, {
|
||||
name = "homedecor:book_"..color,
|
||||
param2 = fdir,
|
||||
})
|
||||
end,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.35, -0.5, -0.25, 0.35, -0.4, 0.25}
|
||||
}
|
||||
})
|
||||
local text = itemstack:get_metadata() or ""
|
||||
local meta = minetest.get_meta(pos)
|
||||
local data = minetest.deserialize(text) or {}
|
||||
if type(data) ~= "table" then
|
||||
data = {}
|
||||
-- Store raw metadata in case some data is lost by the
|
||||
-- transition to the new meta format, so it is not lost
|
||||
-- and can be recovered if needed.
|
||||
meta:set_string("_recover", text)
|
||||
end
|
||||
meta:set_string("title", data.title or "")
|
||||
meta:set_string("text", data.text or "")
|
||||
meta:set_string("owner", data.owner or "")
|
||||
if data.title and data.title ~= "" then
|
||||
meta:set_string("infotext", data.title)
|
||||
end
|
||||
if not homedecor.expect_infinite_stacks then
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_dig = book_dig,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.2, -0.5, -0.25, 0.2, -0.35, 0.25}
|
||||
}
|
||||
})
|
||||
|
||||
homedecor.register("book_open_"..color, {
|
||||
mesh = "homedecor_book_open.obj",
|
||||
tiles = {
|
||||
"(homedecor_book_cover.png^[colorize:"..hue..")^homedecor_book_cover_trim.png",
|
||||
"homedecor_book_edges.png",
|
||||
"homedecor_book_pages.png"
|
||||
},
|
||||
groups = { snappy=3, oddly_breakable_by_hand=3, not_in_creative_inventory=1 },
|
||||
drop = "homedecor:book_"..color,
|
||||
walkable = false,
|
||||
on_dig = book_dig,
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local player_name = clicker:get_player_name()
|
||||
local title = meta:get_string("title") or ""
|
||||
local text = meta:get_string("text") or ""
|
||||
local owner = meta:get_string("owner") or ""
|
||||
local formspec
|
||||
if owner == "" or owner == player_name then
|
||||
formspec = "size[8,8]"..default.gui_bg..default.gui_bg_img..
|
||||
"field[0.5,1;7.5,0;title;Book title :;"..
|
||||
minetest.formspec_escape(title).."]"..
|
||||
"textarea[0.5,1.5;7.5,7;text;Book content :;"..
|
||||
minetest.formspec_escape(text).."]"..
|
||||
"button_exit[2.5,7.5;3,1;save;Save]"
|
||||
else
|
||||
formspec = "size[8,8]"..default.gui_bg..
|
||||
"button_exit[7,0.25;1,0.5;close;X]"..
|
||||
default.gui_bg_img..
|
||||
"label[0.5,0.5;by "..owner.."]"..
|
||||
"label[0.5,0;"..minetest.formspec_escape(title).."]"..
|
||||
"textarea[0.5,1.5;7.5,7;;"..minetest.formspec_escape(text)..";]"
|
||||
end
|
||||
player_current_book[player_name] = pos
|
||||
minetest.show_formspec(player_name, BOOK_FORMNAME, formspec)
|
||||
end,
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
local fdir = node.param2
|
||||
minetest.swap_node(pos, { name = "homedecor:book_"..color, param2 = fdir })
|
||||
minetest.sound_play("homedecor_book_close", {
|
||||
pos=pos,
|
||||
max_hear_distance = 3,
|
||||
gain = 2,
|
||||
})
|
||||
end,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.35, -0.5, -0.25, 0.35, -0.4, 0.25}
|
||||
}
|
||||
})
|
||||
|
||||
end
|
||||
|
||||
minetest.register_on_player_receive_fields(function(player, form_name, fields)
|
||||
if form_name ~= BOOK_FORMNAME or not fields.save then
|
||||
@ -165,71 +168,6 @@ minetest.register_on_player_receive_fields(function(player, form_name, fields)
|
||||
if (fields.title or "") ~= "" then
|
||||
meta:set_string("infotext", fields.title)
|
||||
end
|
||||
minetest.log("action", S("@1 has written in a book (title: \"@2\"): \"@3\" at location @4",
|
||||
player:get_player_name(), fields.title, fields.text, minetest.pos_to_string(player:getpos())))
|
||||
minetest.log("action", player:get_player_name().." has written in a book (title: \""..fields.title.."\"): \""..fields.text..
|
||||
"\" at location: "..minetest.pos_to_string(player:getpos()))
|
||||
end)
|
||||
|
||||
-- convert old static nodes to param2
|
||||
|
||||
local bookcolors = {
|
||||
"red",
|
||||
"green",
|
||||
"blue",
|
||||
"violet",
|
||||
"grey",
|
||||
"brown"
|
||||
}
|
||||
|
||||
homedecor.old_static_books = {}
|
||||
for _, color in ipairs(bookcolors) do
|
||||
table.insert(homedecor.old_static_books, "homedecor:book_"..color)
|
||||
table.insert(homedecor.old_static_books, "homedecor:book_open_"..color)
|
||||
end
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "homedecor:convert_books",
|
||||
label = "Convert homedecor books to use param2 color",
|
||||
run_at_every_load = false,
|
||||
nodenames = homedecor.old_static_books,
|
||||
action = function(pos, node)
|
||||
local name = node.name
|
||||
local color = string.sub(name, string.find(name, "_", -7)+1)
|
||||
local newname = "homedecor:book"
|
||||
if string.find(name, "open") then
|
||||
newname = "homedecor:book_open"
|
||||
end
|
||||
|
||||
local old_fdir = math.floor(node.param2 % 32)
|
||||
local new_fdir = 3
|
||||
|
||||
if old_fdir == 0 then
|
||||
new_fdir = 3
|
||||
elseif old_fdir == 1 then
|
||||
new_fdir = 4
|
||||
elseif old_fdir == 2 then
|
||||
new_fdir = 2
|
||||
elseif old_fdir == 3 then
|
||||
new_fdir = 5
|
||||
end
|
||||
|
||||
if color == "grey" then
|
||||
color = "dark_grey"
|
||||
elseif color == "violet" then
|
||||
color = "dark_magenta"
|
||||
elseif color == "brown" then
|
||||
color = "dark_orange"
|
||||
elseif color == "blue" then
|
||||
color = "light_blue"
|
||||
else
|
||||
color = "medium_"..color
|
||||
end
|
||||
|
||||
local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted")
|
||||
local param2 = paletteidx + new_fdir
|
||||
|
||||
minetest.swap_node(pos, { name = newname, param2 = param2 })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
|
||||
end
|
||||
})
|
||||
|
80
homedecor/climate-control.lua
Normal file → Executable file
80
homedecor/climate-control.lua
Normal file → Executable file
@ -1,6 +1,6 @@
|
||||
-- Nodes that would affect the local temperature e.g. fans, heater, A/C
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
homedecor.register("air_conditioner", {
|
||||
description = S("Air Conditioner"),
|
||||
@ -24,24 +24,8 @@ minetest.register_entity("homedecor:mesh_desk_fan", {
|
||||
visual_size = {x=10, y=10},
|
||||
})
|
||||
|
||||
local add_mesh_desk_fan_entity = function(pos)
|
||||
print("in add_mesh_desk_fan_entity()")
|
||||
local param2 = minetest.get_node(pos).param2
|
||||
local entity = minetest.add_entity(pos, "homedecor:mesh_desk_fan")
|
||||
if param2 == 0 then
|
||||
entity:setyaw(3.142) -- 180 degrees
|
||||
elseif minetest.get_node(pos).param2 == 1 then
|
||||
entity:setyaw(3.142/2) -- 90 degrees
|
||||
elseif minetest.get_node(pos).param2 == 3 then
|
||||
entity:setyaw((-3.142/2)) -- 270 degrees
|
||||
else
|
||||
entity:setyaw(0)
|
||||
end
|
||||
return entity
|
||||
end
|
||||
|
||||
homedecor.register("desk_fan", {
|
||||
description = S("Desk Fan"),
|
||||
description = "Desk Fan",
|
||||
groups = {oddly_breakable_by_hand=2},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
@ -55,25 +39,55 @@ homedecor.register("desk_fan", {
|
||||
selection_box = { type = "regular" },
|
||||
on_rotate = screwdriver.disallow,
|
||||
on_construct = function(pos)
|
||||
local entity_remove = minetest.get_objects_inside_radius(pos, 0.1)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("active", "no")
|
||||
add_mesh_desk_fan_entity(pos)
|
||||
if entity_remove[1] == nil then
|
||||
minetest.add_entity({x=pos.x, y=pos.y, z=pos.z}, "homedecor:mesh_desk_fan") --+(0.0625*10)
|
||||
entity_remove = minetest.get_objects_inside_radius(pos, 0.1)
|
||||
if minetest.get_node(pos).param2 == 0 then --list of rad to 90 degree: 3.142/2 = 90; 3.142 = 180; 3*3.142 = 270
|
||||
entity_remove[1]:setyaw(3.142)
|
||||
elseif minetest.get_node(pos).param2 == 1 then
|
||||
entity_remove[1]:setyaw(3.142/2)
|
||||
elseif minetest.get_node(pos).param2 == 3 then
|
||||
entity_remove[1]:setyaw((-3.142/2))
|
||||
else
|
||||
entity_remove[1]:setyaw(0)
|
||||
end
|
||||
end
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local entities = minetest.get_objects_inside_radius(pos, 0.1)
|
||||
local entity = entities[1] or add_mesh_desk_fan_entity(pos)
|
||||
if meta:get_string("active") == "no" then
|
||||
meta:set_string("active", "yes")
|
||||
entity:set_animation({x=0,y=96}, 24, 0)
|
||||
else
|
||||
meta:set_string("active", "no")
|
||||
entity:set_animation({x=0,y=0}, 1, 0)
|
||||
on_punch = function(pos)
|
||||
local entity_anim = minetest.get_objects_inside_radius(pos, 0.1)
|
||||
local speedy_meta = minetest.get_meta(pos)
|
||||
if speedy_meta:get_string("active") == "no" then
|
||||
speedy_meta:set_string("active", "yes")
|
||||
elseif speedy_meta:get_string("active") == "yes" then
|
||||
speedy_meta:set_string("active", "no")
|
||||
end
|
||||
|
||||
if entity_anim[1] == nil then
|
||||
minetest.add_entity({x=pos.x, y=pos.y, z=pos.z}, "homedecor:mesh_desk_fan") --+(0.0625*10)
|
||||
local entity_remove = minetest.get_objects_inside_radius(pos, 0.1)
|
||||
if minetest.get_node(pos).param2 == 0 then --list of rad to 90 degree: 3.142/2 = 90; 3.142 = 180; 3*3.142 = 270
|
||||
entity_remove[1]:setyaw(3.142)
|
||||
elseif minetest.get_node(pos).param2 == 1 then
|
||||
entity_remove[1]:setyaw(3.142/2)
|
||||
elseif minetest.get_node(pos).param2 == 3 then
|
||||
entity_remove[1]:setyaw((-3.142/2))
|
||||
else
|
||||
entity_remove[1]:setyaw(0)
|
||||
end
|
||||
end
|
||||
local entity_anim = minetest.get_objects_inside_radius(pos, 0.1)
|
||||
if minetest.get_meta(pos):get_string("active") == "no" then
|
||||
entity_anim[1]:set_animation({x=0,y=0}, 1, 0)
|
||||
elseif minetest.get_meta(pos):get_string("active") == "yes" then
|
||||
entity_anim[1]:set_animation({x=0,y=96}, 24, 0)
|
||||
end
|
||||
end,
|
||||
after_dig_node = function(pos)
|
||||
local entities = minetest.get_objects_inside_radius(pos, 0.1)
|
||||
if entities[1] then entities[1]:remove() end
|
||||
local entity_remove = minetest.get_objects_inside_radius(pos, 0.1)
|
||||
entity_remove[1]:remove()
|
||||
end,
|
||||
})
|
||||
|
||||
@ -132,11 +146,11 @@ local r_cbox = homedecor.nodebox.slab_z(-0.25)
|
||||
homedecor.register("radiator", {
|
||||
mesh = "homedecor_radiator.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_metal.png",
|
||||
"homedecor_generic_metal_black.png^[colorize:#ffffff:200",
|
||||
"homedecor_radiator_controls.png"
|
||||
},
|
||||
inventory_image = "homedecor_radiator_inv.png",
|
||||
description = S("Radiator heater"),
|
||||
description = "Radiator heater",
|
||||
groups = {snappy=3},
|
||||
selection_box = r_cbox,
|
||||
collision_box = r_cbox,
|
||||
|
28
homedecor/clocks.lua
Normal file → Executable file
28
homedecor/clocks.lua
Normal file → Executable file
@ -1,27 +1,25 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local clock_sbox = {
|
||||
type = "fixed",
|
||||
fixed = { -8/32, -8/32, 14/32, 8/32, 8/32, 16/32 }
|
||||
}
|
||||
|
||||
local clock_materials = {
|
||||
{ "plastic", S("Plastic analog clock"), "homedecor_generic_plastic.png" },
|
||||
{ "wood", S("Wooden analog clock"), "default_wood.png" }
|
||||
{ "plastic", "homedecor_generic_plastic_black.png^[colorize:#ffffff:220" },
|
||||
{ "wood", "default_wood.png" }
|
||||
}
|
||||
|
||||
for _, mat in ipairs(clock_materials) do
|
||||
local name, desc, tex = unpack(mat)
|
||||
homedecor.register("analog_clock_"..name, {
|
||||
description = desc,
|
||||
for i in ipairs(clock_materials) do
|
||||
local m1 = clock_materials[i][1]
|
||||
local m2 = clock_materials[i][2]
|
||||
homedecor.register("analog_clock_"..m1, {
|
||||
description = "Analog clock ("..m1..")",
|
||||
mesh = "homedecor_analog_clock.obj",
|
||||
tiles = {
|
||||
"homedecor_analog_clock_face.png",
|
||||
tex,
|
||||
m2,
|
||||
"homedecor_analog_clock_back.png"
|
||||
},
|
||||
inventory_image = "homedecor_analog_clock_"..name.."_inv.png",
|
||||
inventory_image = "homedecor_analog_clock_"..m1.."_inv.png",
|
||||
walkable = false,
|
||||
selection_box = clock_sbox,
|
||||
groups = {snappy=3},
|
||||
@ -30,7 +28,7 @@ for _, mat in ipairs(clock_materials) do
|
||||
end
|
||||
|
||||
homedecor.register("digital_clock", {
|
||||
description = S("Digital clock"),
|
||||
description = "Digital clock",
|
||||
tiles = {
|
||||
"homedecor_digital_clock_edges.png",
|
||||
"homedecor_digital_clock_edges.png",
|
||||
@ -52,7 +50,7 @@ homedecor.register("digital_clock", {
|
||||
})
|
||||
|
||||
homedecor.register("alarm_clock", {
|
||||
description = S("Alarm clock"),
|
||||
description = "Alarm clock",
|
||||
tiles = {
|
||||
"homedecor_alarm_clock_top.png",
|
||||
"homedecor_alarm_clock_bottom.png",
|
||||
@ -79,12 +77,12 @@ local gf_cbox = {
|
||||
}
|
||||
|
||||
homedecor.register("grandfather_clock", {
|
||||
description = S("Grandfather Clock"),
|
||||
description = "Grandfather Clock",
|
||||
mesh = "homedecor_grandfather_clock.obj",
|
||||
tiles = {
|
||||
"default_glass.png",
|
||||
"homedecor_grandfather_clock_face.png",
|
||||
homedecor.lux_wood,
|
||||
"homedecor_generic_wood_luxury.png",
|
||||
"homedecor_grandfather_clock_face_edge.png",
|
||||
"homedecor_generic_metal_brass.png"
|
||||
},
|
||||
|
11
homedecor/cobweb.lua
Normal file → Executable file
11
homedecor/cobweb.lua
Normal file → Executable file
@ -1,8 +1,5 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
minetest.register_node("homedecor:cobweb_corner", {
|
||||
description = S("Cobweb"),
|
||||
description = "Cobweb",
|
||||
drawtype = "torchlike",
|
||||
tiles = { "homedecor_cobweb_torchlike.png" },
|
||||
inventory_image = "homedecor_cobweb.png",
|
||||
@ -26,7 +23,7 @@ minetest.register_node("homedecor:cobweb_corner", {
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:cobweb_centered", {
|
||||
description = S("Cobweb"),
|
||||
description = "Cobweb",
|
||||
drawtype = "nodebox",
|
||||
tiles = { "homedecor_cobweb.png" },
|
||||
inventory_image = "homedecor_cobweb.png",
|
||||
@ -53,7 +50,7 @@ minetest.register_node("homedecor:cobweb_centered", {
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:cobweb_flat", {
|
||||
description = S("Cobweb"),
|
||||
description = "Cobweb",
|
||||
drawtype = "nodebox",
|
||||
tiles = { "homedecor_cobweb.png" },
|
||||
inventory_image = "homedecor_cobweb.png",
|
||||
@ -80,7 +77,7 @@ minetest.register_node("homedecor:cobweb_flat", {
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:cobweb_plantlike", {
|
||||
description = S("Cobweb"),
|
||||
description = "Cobweb",
|
||||
drawtype = "plantlike",
|
||||
tiles = { "homedecor_cobweb_plantlike.png" },
|
||||
inventory_image = "homedecor_cobweb.png",
|
||||
|
0
homedecor/copyright.txt
Normal file → Executable file
0
homedecor/copyright.txt
Normal file → Executable file
609
homedecor/crafts.lua
Normal file → Executable file
609
homedecor/crafts.lua
Normal file → Executable file
File diff suppressed because it is too large
Load Diff
3
homedecor/depends.txt
Normal file → Executable file
3
homedecor/depends.txt
Normal file → Executable file
@ -1,12 +1,11 @@
|
||||
default
|
||||
unifieddyes
|
||||
homedecor_i18n
|
||||
building_blocks?
|
||||
signs_lib?
|
||||
moreblocks?
|
||||
technic?
|
||||
dye?
|
||||
bees?
|
||||
intllib?
|
||||
bucket?
|
||||
beds?
|
||||
flowers?
|
||||
|
128
homedecor/doors_and_gates.lua
Normal file → Executable file
128
homedecor/doors_and_gates.lua
Normal file → Executable file
@ -1,13 +1,11 @@
|
||||
-- Node definitions for Homedecor doors
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local function N_(x) return x end
|
||||
local S = homedecor.gettext
|
||||
|
||||
-- doors
|
||||
|
||||
local function isSolid(pos, adjust)
|
||||
local adj = {x = adjust[1], y = adjust[2], z = adjust[3]}
|
||||
local function isSolid(pos,adj)
|
||||
local adj = {x=adj[1],y=adj[2],z=adj[3]}
|
||||
local node = minetest.get_node(vector.add(pos,adj))
|
||||
if node then
|
||||
local idef = minetest.registered_nodes[minetest.get_node(vector.add(pos,adj)).name]
|
||||
@ -44,12 +42,14 @@ local function calculateClosed(pos)
|
||||
local node = minetest.get_node(pos)
|
||||
-- the door is considered closed if it is closing off something.
|
||||
|
||||
local solids = 0
|
||||
local direction = node.param2 % 6
|
||||
local isTrap = direction == 0 or direction == 5
|
||||
if isTrap then
|
||||
-- the trap door is considered closed when all nodes on its sides are solid
|
||||
-- or all nodes in the 3x3 above/below it are solid except the center
|
||||
for level = 0, 1 do
|
||||
local fail = false
|
||||
local solids = countSolids(pos,node,level)
|
||||
if solids == 8 then
|
||||
return true
|
||||
@ -99,6 +99,7 @@ local function calculateClosed(pos)
|
||||
end
|
||||
return false
|
||||
end
|
||||
error("What direction is this???",direction)
|
||||
end
|
||||
end
|
||||
|
||||
@ -121,17 +122,17 @@ end
|
||||
|
||||
local door_model_list = {
|
||||
{ name = "closet_mahogany",
|
||||
description = N_("Mahogany Closet Door (@1 opening)"),
|
||||
description = S("Mahogany Closet Door"),
|
||||
mesh = "homedecor_door_closet.obj"
|
||||
},
|
||||
|
||||
{ name = "closet_oak",
|
||||
description = N_("Oak Closet Door (@1 opening)"),
|
||||
description = S("Oak Closet Door"),
|
||||
mesh = "homedecor_door_closet.obj"
|
||||
},
|
||||
|
||||
{ name = "exterior_fancy",
|
||||
description = N_("Fancy Wood/Glass Door (@1 opening)"),
|
||||
description = S("Fancy Wood/Glass Door"),
|
||||
mesh = "homedecor_door_fancy.obj",
|
||||
tiles = {
|
||||
"homedecor_door_exterior_fancy.png",
|
||||
@ -141,12 +142,12 @@ local door_model_list = {
|
||||
},
|
||||
|
||||
{ name = "glass",
|
||||
description = N_("Glass Office Door (@1 opening)"),
|
||||
description = S("Glass Office Door"),
|
||||
mesh = "homedecor_door_plain.obj"
|
||||
},
|
||||
|
||||
{ name = "wood_glass_oak",
|
||||
description = N_("Glass and Wood, Oak-colored (@1 opening)"),
|
||||
description = S("Glass and Wood, Oak-colored"),
|
||||
mesh = "homedecor_door_wood_glass.obj",
|
||||
tiles = {
|
||||
"homedecor_door_wood_glass_oak.png",
|
||||
@ -155,7 +156,7 @@ local door_model_list = {
|
||||
},
|
||||
|
||||
{ name = "wood_glass_mahogany",
|
||||
description = N_("Glass and Wood, Mahogany-colored (@1 opening)"),
|
||||
description = S("Glass and Wood, Mahogany-colored"),
|
||||
mesh = "homedecor_door_wood_glass.obj",
|
||||
tiles = {
|
||||
"homedecor_door_wood_glass_mahogany.png",
|
||||
@ -164,7 +165,7 @@ local door_model_list = {
|
||||
},
|
||||
|
||||
{ name = "wood_glass_white",
|
||||
description = N_("Glass and Wood, White (@1 opening)"),
|
||||
description = S("Glass and Wood, White"),
|
||||
mesh = "homedecor_door_wood_glass.obj",
|
||||
tiles = {
|
||||
"homedecor_door_wood_glass_white.png",
|
||||
@ -173,22 +174,22 @@ local door_model_list = {
|
||||
},
|
||||
|
||||
{ name = "wood_plain",
|
||||
description = N_("Plain Wooden Door (@1 opening)"),
|
||||
description = S("Plain Wooden Door"),
|
||||
mesh = "homedecor_door_plain.obj"
|
||||
},
|
||||
|
||||
{ name = "bedroom",
|
||||
description = N_("White Bedroom Door (@1 opening)"),
|
||||
description = S("White Bedroom Door"),
|
||||
mesh = "homedecor_door_plain.obj"
|
||||
},
|
||||
|
||||
{ name = "wrought_iron",
|
||||
description = N_("Wrought Iron Gate/Door (@1 opening)"),
|
||||
description = S("Wrought Iron Gate/Door"),
|
||||
mesh = "homedecor_door_wrought_iron.obj"
|
||||
},
|
||||
|
||||
{ name = "woodglass",
|
||||
description = N_("Wooden door with glass insert (@1 opening)"),
|
||||
description = S("Wooden door with glass insert"),
|
||||
mesh = "homedecor_door_woodglass_typea.obj",
|
||||
tiles = {
|
||||
"homedecor_door_woodglass_typea.png",
|
||||
@ -198,7 +199,7 @@ local door_model_list = {
|
||||
},
|
||||
|
||||
{ name = "woodglass2",
|
||||
description = N_("Wooden door with glass insert, type 2 (@1 opening)"),
|
||||
description = S("Wooden door with glass insert, type 2"),
|
||||
mesh = "homedecor_door_plain.obj",
|
||||
usealpha = true
|
||||
},
|
||||
@ -209,9 +210,10 @@ local def_selbox = {
|
||||
fixed = { -0.5, -0.5, 0.375, 0.5, 1.5, 0.5 }
|
||||
}
|
||||
|
||||
local sides = { N_("left"), N_("right") }
|
||||
local sides = {"left", "right"}
|
||||
|
||||
for i, side in ipairs(sides) do
|
||||
for i in ipairs(sides) do
|
||||
local side = sides[i]
|
||||
|
||||
for _, door_model in ipairs(door_model_list) do
|
||||
|
||||
@ -228,7 +230,7 @@ for i, side in ipairs(sides) do
|
||||
end
|
||||
|
||||
minetest.register_node("homedecor:door_"..doorname.."_"..side, {
|
||||
description = S(door_model.description, S(side)),
|
||||
description = door_model.description.." "..S("(%s-opening)"):format(side),
|
||||
drawtype = "mesh",
|
||||
mesh = mesh,
|
||||
tiles = door_model.tiles or { "homedecor_door_"..doorname..".png" },
|
||||
@ -250,9 +252,8 @@ for i, side in ipairs(sides) do
|
||||
on_construct = function(pos)
|
||||
minetest.get_meta(pos):set_int("closed", 1)
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
homedecor.flip_door(pos, node, clicker, doorname, side)
|
||||
return itemstack
|
||||
end,
|
||||
-- both left and right doors may be used for open or closed doors
|
||||
-- so they have to have both action_on and action_off and just
|
||||
@ -292,14 +293,8 @@ end
|
||||
|
||||
-- Gates
|
||||
|
||||
local gate_list = {
|
||||
{ "picket", S("Unpainted Picket Fence Gate") },
|
||||
{ "picket_white", S("White Picket Fence Gate") },
|
||||
{ "barbed_wire", S("Barbed Wire Fence Gate") },
|
||||
{ "chainlink", S("Chainlink Fence Gate") },
|
||||
{ "half_door", S("\"Half\" Door") },
|
||||
{ "half_door_white", S("\"Half\" Door (white)") }
|
||||
}
|
||||
local gates_list = { "picket", "picket_white", "barbed_wire", "chainlink" }
|
||||
local gate_names = { "Unpainted Picket", "White Picket", "Barbed Wire", "Chainlink" }
|
||||
|
||||
local gate_models_closed = {
|
||||
{{ -0.5, -0.5, 0.498, 0.5, 0.5, 0.498 }},
|
||||
@ -307,22 +302,17 @@ local gate_models_closed = {
|
||||
{{ -0.5, -0.5, 0.498, 0.5, 0.5, 0.498 }},
|
||||
|
||||
{{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, -- left post
|
||||
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
||||
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
||||
{ -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece
|
||||
{ -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece
|
||||
{ -6/16, -8/16, 7/16, 6/16, 8/16, 7/16 }}, -- the wire
|
||||
|
||||
{{ -8/16, -8/16, 6/16, -7/16, 8/16, 8/16 }, -- left post
|
||||
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
||||
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
||||
{ -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece
|
||||
{ -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece
|
||||
{ -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }, -- the chainlink itself
|
||||
{ -8/16, -3/16, 6/16, -6/16, 3/16, 8/16 }}, -- the lump representing the lock
|
||||
|
||||
{{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, -- the whole door :P
|
||||
|
||||
{{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, -- the whole door :P
|
||||
|
||||
{ -8/16, -3/16, 6/16, -6/16, 3/16, 8/16 }} -- the lump representing the lock
|
||||
}
|
||||
|
||||
local gate_models_open = {
|
||||
@ -331,26 +321,22 @@ local gate_models_open = {
|
||||
{{ 0.498, -0.5, -0.5, 0.498, 0.5, 0.5 }},
|
||||
|
||||
{{ 6/16, -8/16, -8/16, 8/16, 8/16, -6/16 }, -- left post
|
||||
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
||||
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
||||
{ 13/32, 7/16, -8/16, 15/32, 8/16, 8/16 }, -- top piece
|
||||
{ 13/32, -8/16, -8/16, 15/32, -7/16, 8/16 }, -- bottom piece
|
||||
{ 7/16, -8/16, -6/16, 7/16, 8/16, 6/16 }}, -- the wire
|
||||
|
||||
{{ 6/16, -8/16, -8/16, 8/16, 8/16, -7/16 }, -- left post
|
||||
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
||||
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
||||
{ 13/32, 7/16, -8/16, 15/32, 8/16, 8/16 }, -- top piece
|
||||
{ 13/32, -8/16, -8/16, 15/32, -7/16, 8/16 }, -- bottom piece
|
||||
{ 7/16, -8/16, -8/16, 7/16, 8/16, 8/16 }, -- the chainlink itself
|
||||
{ 6/16, -3/16, -8/16, 8/16, 3/16, -6/16 }}, -- the lump representing the lock
|
||||
|
||||
{{ 6/16, -8/16, -8/16, 8/16, 8/16, 8/16 }}, -- the whole door :P
|
||||
|
||||
{{ 6/16, -8/16, -8/16, 8/16, 8/16, 8/16 }}, -- the whole door :P
|
||||
{ 6/16, -3/16, -8/16, 8/16, 3/16, -6/16 }} -- the lump representing the lock
|
||||
}
|
||||
|
||||
for i, g in ipairs(gate_list) do
|
||||
for i in ipairs(gates_list) do
|
||||
|
||||
local gate, gatedesc = unpack(g)
|
||||
local gate=gates_list[i]
|
||||
|
||||
local tiles = {
|
||||
"homedecor_gate_"..gate.."_tb.png",
|
||||
@ -385,7 +371,7 @@ for i, g in ipairs(gate_list) do
|
||||
|
||||
local def = {
|
||||
drawtype = "nodebox",
|
||||
description = gatedesc,
|
||||
description = S(gate_names[i].." Fence Gate"),
|
||||
tiles = tiles,
|
||||
paramtype = "light",
|
||||
groups = {snappy=3},
|
||||
@ -399,13 +385,12 @@ for i, g in ipairs(gate_list) do
|
||||
type = "fixed",
|
||||
fixed = gate_models_closed[i]
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
homedecor.flip_gate(pos, node, clicker, gate, "closed")
|
||||
return itemstack
|
||||
end,
|
||||
mesecons = {
|
||||
effector = {
|
||||
action_on = function(pos,node) homedecor.flip_gate(pos,node,nil,gate, "closed") end
|
||||
action_on = function(pos,node) homedecor.flip_gate(pos,node,player,gate, "closed") end
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -420,20 +405,19 @@ for i, g in ipairs(gate_list) do
|
||||
def.selection_box.fixed = { 0.4, -0.5, -0.5, 0.5, 0.5, 0.5 }
|
||||
def.node_box.fixed = gate_models_open[i]
|
||||
def.tiles = {
|
||||
tiles[1].."^[transformR90",
|
||||
tiles[2].."^[transformR270",
|
||||
tiles[1],
|
||||
tiles[2],
|
||||
tiles[6],
|
||||
tiles[5],
|
||||
tiles[4],
|
||||
tiles[3]
|
||||
}
|
||||
def.drop = "homedecor:gate_"..gate.."_closed"
|
||||
def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
def.on_rightclick = function(pos, node, clicker)
|
||||
homedecor.flip_gate(pos, node, clicker, gate, "open")
|
||||
return itemstack
|
||||
end
|
||||
def.mesecons.effector = {
|
||||
action_off = function(pos,node) homedecor.flip_gate(pos,node,nil,gate, "open") end
|
||||
action_off = function(pos,node) homedecor.flip_gate(pos,node,player,gate, "open") end
|
||||
}
|
||||
|
||||
minetest.register_node("homedecor:gate_"..gate.."_open", def)
|
||||
@ -461,8 +445,8 @@ function homedecor.flip_door(pos, node, player, name, side, isClosed)
|
||||
-- and if not isClosed, a closed door
|
||||
isClosed = not isClosed
|
||||
|
||||
local rside
|
||||
local nfdir
|
||||
local rside = nil
|
||||
local nfdir = nil
|
||||
local ofdir = node.param2 or 0
|
||||
if side == "left" then
|
||||
rside = "right"
|
||||
@ -498,7 +482,7 @@ function homedecor.flip_gate(pos, node, player, gate, oc)
|
||||
-- since right facing gates use "open" nodes for closed, we need an
|
||||
-- isClosed flag to tell if it's "really" closed.
|
||||
|
||||
local gateresult
|
||||
local gateresult = nil
|
||||
if oc == "closed" then
|
||||
gateresult = "homedecor:gate_"..gate.."_open"
|
||||
else
|
||||
@ -534,11 +518,11 @@ local jp_cbox = {
|
||||
}
|
||||
|
||||
minetest.register_node("homedecor:japanese_wall_top", {
|
||||
description = S("Japanese wall (top)"),
|
||||
description = "Japanese wall (top)",
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_wall_japanese_top.obj",
|
||||
tiles = {
|
||||
homedecor.lux_wood,
|
||||
"homedecor_generic_wood_luxury.png",
|
||||
"homedecor_japanese_paper.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
@ -550,11 +534,11 @@ minetest.register_node("homedecor:japanese_wall_top", {
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:japanese_wall_middle", {
|
||||
description = S("Japanese wall"),
|
||||
description = "Japanese wall",
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_wall_japanese_middle.obj",
|
||||
tiles = {
|
||||
homedecor.lux_wood,
|
||||
"homedecor_generic_wood_luxury.png",
|
||||
"homedecor_japanese_paper.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
@ -566,11 +550,11 @@ minetest.register_node("homedecor:japanese_wall_middle", {
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:japanese_wall_bottom", {
|
||||
description = S("Japanese wall (bottom)"),
|
||||
description = "Japanese wall (bottom)",
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_wall_japanese_bottom.obj",
|
||||
tiles = {
|
||||
homedecor.lux_wood,
|
||||
"homedecor_generic_wood_luxury.png",
|
||||
"homedecor_japanese_paper.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
@ -590,7 +574,7 @@ minetest.register_node("homedecor:tatami_mat", {
|
||||
"homedecor_tatami.png",
|
||||
"homedecor_tatami.png"
|
||||
},
|
||||
description = S("Japanese tatami"),
|
||||
description = "Japanese tatami",
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
groups = {snappy=3},
|
||||
@ -603,10 +587,10 @@ minetest.register_node("homedecor:tatami_mat", {
|
||||
})
|
||||
|
||||
homedecor.register("door_japanese_closed", {
|
||||
description = S("Japanese-style door"),
|
||||
description = "Japanese-style door",
|
||||
inventory_image = "homedecor_door_japanese_inv.png",
|
||||
tiles = {
|
||||
homedecor.lux_wood,
|
||||
"homedecor_generic_wood_luxury.png",
|
||||
"homedecor_japanese_paper.png"
|
||||
},
|
||||
mesh = "homedecor_door_japanese_closed.obj",
|
||||
@ -621,15 +605,14 @@ homedecor.register("door_japanese_closed", {
|
||||
fixed = {-0.5, -0.5, -0.0625, 0.5, 1.5, 0},
|
||||
},
|
||||
expand = { top = "placeholder" },
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
minetest.set_node(pos, {name = "homedecor:door_japanese_open", param2 = node.param2})
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
homedecor.register("door_japanese_open", {
|
||||
tiles = {
|
||||
homedecor.lux_wood,
|
||||
"homedecor_generic_wood_luxury.png",
|
||||
"homedecor_japanese_paper.png"
|
||||
},
|
||||
mesh = "homedecor_door_japanese_open.obj",
|
||||
@ -645,9 +628,8 @@ homedecor.register("door_japanese_open", {
|
||||
fixed = {-1.5, -0.5, -0.0625, -0.5, 1.5, 0},
|
||||
},
|
||||
expand = { top = "placeholder" },
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
minetest.set_node(pos, {name = "homedecor:door_japanese_closed", param2 = node.param2})
|
||||
return itemstack
|
||||
end,
|
||||
drop = "homedecor:door_japanese_closed",
|
||||
})
|
||||
|
11
homedecor/electrics.lua
Normal file → Executable file
11
homedecor/electrics.lua
Normal file → Executable file
@ -1,8 +1,5 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
homedecor.register("power_outlet", {
|
||||
description = S("Power Outlet"),
|
||||
description = "Power Outlet",
|
||||
tiles = {
|
||||
"homedecor_outlet_edges.png",
|
||||
"homedecor_outlet_edges.png",
|
||||
@ -29,7 +26,7 @@ homedecor.register("power_outlet", {
|
||||
})
|
||||
|
||||
homedecor.register("light_switch", {
|
||||
description = S("Light switch"),
|
||||
description = "Light switch",
|
||||
tiles = {
|
||||
"homedecor_light_switch_edges.png",
|
||||
"homedecor_light_switch_edges.png",
|
||||
@ -61,7 +58,7 @@ homedecor.register("light_switch", {
|
||||
homedecor.register("doorbell", {
|
||||
tiles = { "homedecor_doorbell.png" },
|
||||
inventory_image = "homedecor_doorbell_inv.png",
|
||||
description = S("Doorbell"),
|
||||
description = "Doorbell",
|
||||
groups = {snappy=3},
|
||||
walkable = false,
|
||||
node_box = {
|
||||
@ -71,7 +68,7 @@ homedecor.register("doorbell", {
|
||||
{-0.03125, 0.0625, 0.45, 0.03125, 0.125, 0.4675}, -- NodeBox2
|
||||
}
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
minetest.sound_play("homedecor_doorbell", {
|
||||
pos = pos,
|
||||
gain = 1.0,
|
||||
|
18
homedecor/electronics.lua
Normal file → Executable file
18
homedecor/electronics.lua
Normal file → Executable file
@ -1,6 +1,6 @@
|
||||
-- Various home electronics
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
homedecor.register("speaker", {
|
||||
description = S("Large Stereo Speaker"),
|
||||
@ -11,7 +11,7 @@ homedecor.register("speaker", {
|
||||
},
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
minetest.set_node(pos, {name = "homedecor:speaker_open", param2 = node.param2})
|
||||
end
|
||||
})
|
||||
@ -23,11 +23,11 @@ homedecor.register("speaker_open", {
|
||||
"homedecor_speaker_sides.png",
|
||||
"homedecor_speaker_driver.png",
|
||||
"homedecor_speaker_open_front.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_black }
|
||||
"homedecor_generic_metal_black.png"
|
||||
},
|
||||
groups = { snappy = 3, not_in_creative_inventory=1 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
minetest.set_node(pos, {name = "homedecor:speaker", param2 = node.param2})
|
||||
end
|
||||
})
|
||||
@ -135,7 +135,7 @@ homedecor.register("telephone", {
|
||||
"homedecor_telephone_cord.png",
|
||||
},
|
||||
inventory_image = "homedecor_telephone_inv.png",
|
||||
description = S("Telephone"),
|
||||
description = "Telephone",
|
||||
groups = {snappy=3},
|
||||
selection_box = tel_cbox,
|
||||
walkable = false,
|
||||
@ -149,9 +149,9 @@ minetest.register_abm({
|
||||
chance = 15,
|
||||
action = function(pos, node)
|
||||
minetest.sound_play("homedecor_telephone_ringing", {
|
||||
pos = pos,
|
||||
gain = 1.0,
|
||||
max_hear_distance = 5
|
||||
})
|
||||
pos = pos,
|
||||
gain = 1.0,
|
||||
max_hear_distance = 5
|
||||
})
|
||||
end
|
||||
})
|
||||
|
64
homedecor/exterior.lua
Normal file → Executable file
64
homedecor/exterior.lua
Normal file → Executable file
@ -1,7 +1,4 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local function N_(x) return x end
|
||||
local S = homedecor.gettext
|
||||
|
||||
local bbq_cbox = {
|
||||
type = "fixed",
|
||||
@ -9,11 +6,11 @@ local bbq_cbox = {
|
||||
}
|
||||
|
||||
homedecor.register("barbecue", {
|
||||
description = S("Barbecue"),
|
||||
description = "Barbecue",
|
||||
mesh = "homedecor_barbecue.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_generic_metal.png" , color = homedecor.color_black },
|
||||
{ name = "homedecor_embers.png",
|
||||
"homedecor_generic_metal_black.png",
|
||||
{ name="homedecor_embers.png",
|
||||
animation={
|
||||
type="vertical_frames",
|
||||
aspect_w=16,
|
||||
@ -53,7 +50,7 @@ homedecor.register("bench_large_1", {
|
||||
"homedecor_generic_wood_old.png",
|
||||
"homedecor_generic_metal_wrought_iron.png"
|
||||
},
|
||||
description = S("Garden Bench (style 1)"),
|
||||
description = "Garden Bench (style 1)",
|
||||
inventory_image = "homedecor_bench_large_1_inv.png",
|
||||
groups = { snappy = 3 },
|
||||
expand = { right="placeholder" },
|
||||
@ -80,7 +77,7 @@ local bl2_cbox = {
|
||||
}
|
||||
|
||||
homedecor.register("bench_large_2", {
|
||||
description = S("Garden Bench (style 2)"),
|
||||
description = "Garden Bench (style 2)",
|
||||
mesh = "homedecor_bench_large_2.obj",
|
||||
tiles = { "homedecor_generic_wood_old.png" },
|
||||
inventory_image = "homedecor_bench_large_2_inv.png",
|
||||
@ -103,7 +100,7 @@ local dc_cbox = {
|
||||
homedecor.register("deckchair", {
|
||||
mesh = "homedecor_deckchair.obj",
|
||||
tiles = {"homedecor_deckchair.png"},
|
||||
description = S("Deck Chair"),
|
||||
description = "Deck Chair",
|
||||
groups = { snappy = 3 },
|
||||
expand = { forward="placeholder" },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
@ -118,7 +115,7 @@ minetest.register_alias("homedecor:deckchair_head", "air")
|
||||
homedecor.register("deckchair_striped_blue", {
|
||||
mesh = "homedecor_deckchair.obj",
|
||||
tiles = {"homedecor_deckchair_striped_blue.png"},
|
||||
description = S("Deck Chair"),
|
||||
description = "Deck Chair",
|
||||
groups = { snappy = 3 },
|
||||
expand = { forward="placeholder" },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
@ -134,7 +131,7 @@ homedecor.register("doghouse", {
|
||||
"default_wood.png",
|
||||
"building_blocks_towel.png"
|
||||
},
|
||||
description = S("Doghouse"),
|
||||
description = "Doghouse",
|
||||
inventory_image = "homedecor_doghouse_inv.png",
|
||||
selection_box = homedecor.nodebox.slab_y(1.5),
|
||||
collision_box = homedecor.nodebox.slab_y(1.5),
|
||||
@ -149,7 +146,7 @@ minetest.register_alias("homedecor:doghouse_base", "homedecor:doghouse")
|
||||
|
||||
homedecor.register("simple_bench", {
|
||||
tiles = { "homedecor_generic_wood_old.png" },
|
||||
description = S("Simple Bench"),
|
||||
description = "Simple Bench",
|
||||
groups = {snappy=3},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
@ -163,7 +160,7 @@ homedecor.register("simple_bench", {
|
||||
})
|
||||
|
||||
homedecor.register("stonepath", {
|
||||
description = S("Garden stone path"),
|
||||
description = "Garden stone path",
|
||||
tiles = {
|
||||
"default_stone.png"
|
||||
},
|
||||
@ -190,20 +187,17 @@ homedecor.register("stonepath", {
|
||||
})
|
||||
|
||||
local lattice_colors = {
|
||||
{ "wood", S("wood"), ".png^[colorize:#704214:180" },
|
||||
{ "white_wood", S("white wood"), ".png" },
|
||||
{ "wood_vegetal", S("wood, with vegetation"),
|
||||
".png^[colorize:#704214:180^homedecor_lattice_vegetal.png" },
|
||||
{ "white_wood_vegetal", S("white wood, with vegetation"),
|
||||
".png^homedecor_lattice_vegetal.png" },
|
||||
{"wood", ".png^[colorize:#704214:180"},
|
||||
{"white_wood", ".png"},
|
||||
{"wood_vegetal", ".png^[colorize:#704214:180^homedecor_lattice_vegetal.png"},
|
||||
{"white_wood_vegetal", ".png^homedecor_lattice_vegetal.png"},
|
||||
}
|
||||
|
||||
for _, c in ipairs(lattice_colors) do
|
||||
local name, desc, texture = unpack(c)
|
||||
homedecor.register("lattice_"..name, {
|
||||
description = S("Garden Lattice (@1)", desc),
|
||||
tiles = {"homedecor_lattice"..texture},
|
||||
inventory_image = "homedecor_lattice"..texture,
|
||||
for _, m in ipairs(lattice_colors) do
|
||||
homedecor.register("lattice_"..m[1], {
|
||||
description = "Garden Lattice ("..m[1]..")",
|
||||
tiles = {"homedecor_lattice"..m[2]},
|
||||
inventory_image = "homedecor_lattice"..m[2],
|
||||
groups = { snappy=3 },
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
@ -224,7 +218,7 @@ homedecor.register("lattice_"..name, {
|
||||
end
|
||||
|
||||
homedecor.register("swing", {
|
||||
description = S("Tree's swing"),
|
||||
description = "Tree's swing",
|
||||
tiles = {
|
||||
"homedecor_swing_top.png",
|
||||
"homedecor_swing_top.png^[transformR180",
|
||||
@ -274,6 +268,8 @@ homedecor.register("swing", {
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||
for j = 0, height do -- then fill that space with ropes...
|
||||
local testpos = { x=pos.x, y=pos.y-j, z=pos.z }
|
||||
local testnode = minetest.get_node(testpos)
|
||||
local testreg = core.registered_nodes[testnode.name]
|
||||
minetest.set_node(testpos, { name = "homedecor:swing_rope", param2 = fdir })
|
||||
end
|
||||
|
||||
@ -319,14 +315,14 @@ homedecor.register("well", {
|
||||
mesh = "homedecor_well.obj",
|
||||
tiles = {
|
||||
"homedecor_rope_texture.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
|
||||
"homedecor_generic_metal_black.png^[brighten",
|
||||
"default_water.png",
|
||||
"default_cobble.png",
|
||||
"default_wood.png",
|
||||
"homedecor_shingles_wood.png"
|
||||
},
|
||||
inventory_image = "homedecor_well_inv.png",
|
||||
description = S("Water well"),
|
||||
description = "Water well",
|
||||
groups = { snappy = 3 },
|
||||
selection_box = homedecor.nodebox.slab_y(2),
|
||||
collision_box = homedecor.nodebox.slab_y(2),
|
||||
@ -358,16 +354,16 @@ if minetest.get_modpath("bucket") then
|
||||
end
|
||||
|
||||
homedecor.shrub_colors = {
|
||||
N_("green"),
|
||||
N_("red"),
|
||||
N_("yellow"),
|
||||
"green",
|
||||
"red",
|
||||
"yellow"
|
||||
}
|
||||
|
||||
local shrub_cbox = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }
|
||||
|
||||
for _, color in ipairs(homedecor.shrub_colors) do
|
||||
minetest.register_node("homedecor:shrubbery_large_"..color, {
|
||||
description = S("Shrubbery (@1)", S(color)),
|
||||
description = S("Shrubbery ("..color..")"),
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_cube.obj",
|
||||
tiles = {"homedecor_shrubbery_"..color..".png"},
|
||||
@ -378,7 +374,7 @@ for _, color in ipairs(homedecor.shrub_colors) do
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:shrubbery_"..color, {
|
||||
description = S("Shrubbery (@1)", S(color)),
|
||||
description = S("Shrubbery ("..color..")"),
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_shrubbery.obj",
|
||||
tiles = {
|
||||
|
39
homedecor/fences.lua
Normal file → Executable file
39
homedecor/fences.lua
Normal file → Executable file
@ -14,22 +14,16 @@ if signs_modpath then
|
||||
sign_post_model = signs_lib.sign_post_model.nodebox
|
||||
end
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local materials = {
|
||||
{ S("brass"), "brass" },
|
||||
{ S("wrought iron"), "wrought_iron" },
|
||||
}
|
||||
local S = homedecor.gettext
|
||||
local materials = {"brass", "wrought_iron"}
|
||||
|
||||
for _, m in ipairs(materials) do
|
||||
|
||||
local desc, name = unpack(m)
|
||||
|
||||
homedecor.register("fence_"..name, {
|
||||
description = S("Fence/railing (@1)", desc),
|
||||
homedecor.register("fence_"..m, {
|
||||
description = S("Fence/railing ("..m..")"),
|
||||
drawtype = "fencelike",
|
||||
tiles = {"homedecor_generic_metal_"..name..".png"},
|
||||
inventory_image = "homedecor_fence_"..name..".png",
|
||||
tiles = {"homedecor_generic_metal_"..m..".png"},
|
||||
inventory_image = "homedecor_fence_"..m..".png",
|
||||
selection_box = homedecor.nodebox.bar_y(1/7),
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
@ -37,17 +31,17 @@ homedecor.register("fence_"..name, {
|
||||
|
||||
-- brass/wrought iron with signs:
|
||||
|
||||
homedecor.register("fence_"..name.."_with_sign", {
|
||||
description = S("Fence/railing with sign (@1)", desc),
|
||||
homedecor.register("fence_"..m.."_with_sign", {
|
||||
description = S("Fence/railing with sign ("..m..")"),
|
||||
tiles = {
|
||||
"homedecor_sign_"..name.."_post_top.png",
|
||||
"homedecor_sign_"..name.."_post_bottom.png",
|
||||
"homedecor_sign_"..name.."_post_side.png",
|
||||
"homedecor_sign_"..name.."_post_side.png",
|
||||
"homedecor_sign_"..name.."_post_back.png",
|
||||
"homedecor_sign_"..name.."_post_front.png",
|
||||
"homedecor_sign_"..m.."_post_top.png",
|
||||
"homedecor_sign_"..m.."_post_bottom.png",
|
||||
"homedecor_sign_"..m.."_post_side.png",
|
||||
"homedecor_sign_"..m.."_post_side.png",
|
||||
"homedecor_sign_"..m.."_post_back.png",
|
||||
"homedecor_sign_"..m.."_post_front.png",
|
||||
},
|
||||
wield_image = "homedecor_sign_"..name.."_post.png",
|
||||
wield_image = "homedecor_sign_"..m.."_post.png",
|
||||
node_box = sign_post_model,
|
||||
groups = {snappy=3,not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
@ -56,7 +50,7 @@ homedecor.register("fence_"..name.."_with_sign", {
|
||||
max_items = 2,
|
||||
items = {
|
||||
{ items = { "default:sign_wall" }},
|
||||
{ items = { "homedecor:fence_"..name }},
|
||||
{ items = { "homedecor:fence_"..m }},
|
||||
},
|
||||
},
|
||||
})
|
||||
@ -307,3 +301,4 @@ if signs_modpath then
|
||||
signs_lib.register_fence_with_sign("homedecor:fence_brass", "homedecor:fence_brass_with_sign")
|
||||
signs_lib.register_fence_with_sign("homedecor:fence_wrought_iron", "homedecor:fence_wrought_iron_with_sign")
|
||||
end
|
||||
|
||||
|
18
homedecor/foyer.lua
Normal file → Executable file
18
homedecor/foyer.lua
Normal file → Executable file
@ -1,10 +1,9 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
homedecor.register("coatrack_wallmount", {
|
||||
tiles = { homedecor.plain_wood },
|
||||
inventory_image = "homedecor_coatrack_wallmount_inv.png",
|
||||
description = S("Wall-mounted coat rack"),
|
||||
description = "Coatrack (wallmounted)",
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
node_box = {
|
||||
@ -30,7 +29,7 @@ homedecor.register("coat_tree", {
|
||||
"homedecor_generic_wood_old.png"
|
||||
},
|
||||
inventory_image = "homedecor_coatrack_inv.png",
|
||||
description = S("Coat tree"),
|
||||
description = "Coat tree",
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
expand = { top="placeholder" },
|
||||
@ -42,16 +41,9 @@ homedecor.register("coat_tree", {
|
||||
on_rotate = screwdriver.rotate_simple
|
||||
})
|
||||
|
||||
local mat_colors = {
|
||||
{ "green", S("Green welcome mat") },
|
||||
{ "brown", S("Brown welcome mat") },
|
||||
{ "grey", S("Grey welcome mat") },
|
||||
}
|
||||
|
||||
for _, mat in ipairs(mat_colors) do
|
||||
local color, desc = unpack(mat)
|
||||
for _, color in pairs({ "green", "brown", "grey" }) do
|
||||
homedecor.register("welcome_mat_"..color, {
|
||||
description = desc,
|
||||
description = "Welcome Mat ("..color..")",
|
||||
tiles = {
|
||||
"homedecor_welcome_mat_"..color..".png",
|
||||
"homedecor_welcome_mat_bottom.png",
|
||||
|
218
homedecor/furniture.lua
Normal file → Executable file
218
homedecor/furniture.lua
Normal file → Executable file
@ -1,18 +1,21 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
local table_colors = {
|
||||
{ "", S("Table"), homedecor.plain_wood },
|
||||
{ "_mahogany", S("Mahogany Table"), homedecor.mahogany_wood },
|
||||
{ "_white", S("White Table"), homedecor.white_wood }
|
||||
{ "", homedecor.plain_wood },
|
||||
{ "_mahogany", homedecor.mahogany_wood },
|
||||
{ "_white", homedecor.white_wood }
|
||||
}
|
||||
|
||||
for _, t in ipairs(table_colors) do
|
||||
local suffix, desc, texture = unpack(t)
|
||||
for i in ipairs(table_colors) do
|
||||
local desc = S("Table ("..i..")")
|
||||
|
||||
homedecor.register("table"..suffix, {
|
||||
if i == 1 then
|
||||
desc = S("Table")
|
||||
end
|
||||
|
||||
homedecor.register("table"..table_colors[i][1], {
|
||||
description = desc,
|
||||
tiles = { texture },
|
||||
tiles = { table_colors[i][2] },
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
@ -32,6 +35,16 @@ for _, t in ipairs(table_colors) do
|
||||
})
|
||||
end
|
||||
|
||||
local chaircolors = {
|
||||
{ "", "plain" },
|
||||
{ "black", "Black" },
|
||||
{ "red", "Red" },
|
||||
{ "pink", "Pink" },
|
||||
{ "violet", "Violet" },
|
||||
{ "blue", "Blue" },
|
||||
{ "dark_green", "Dark Green" },
|
||||
}
|
||||
|
||||
local kc_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125 },
|
||||
@ -45,70 +58,62 @@ local ac_cbox = {
|
||||
}
|
||||
}
|
||||
|
||||
homedecor.register("kitchen_chair_wood", {
|
||||
description = S("Kitchen chair"),
|
||||
mesh = "homedecor_kitchen_chair.obj",
|
||||
tiles = {
|
||||
homedecor.plain_wood,
|
||||
homedecor.plain_wood
|
||||
},
|
||||
inventory_image = "homedecor_chair_wood_inv.png",
|
||||
paramtype2 = "wallmounted",
|
||||
selection_box = kc_cbox,
|
||||
collision_box = kc_cbox,
|
||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
after_place_node = unifieddyes.fix_rotation_nsew,
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
pos.y = pos.y+0 -- where do I put my ass ?
|
||||
homedecor.sit(pos, node, clicker)
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
for i in ipairs(chaircolors) do
|
||||
|
||||
homedecor.register("kitchen_chair_padded", {
|
||||
description = S("Kitchen chair"),
|
||||
mesh = "homedecor_kitchen_chair.obj",
|
||||
tiles = {
|
||||
local color = "_"..chaircolors[i][1]
|
||||
local color2 = chaircolors[i][1]
|
||||
local name = S(chaircolors[i][2])
|
||||
local chairtiles = {
|
||||
homedecor.plain_wood,
|
||||
"wool_white.png",
|
||||
},
|
||||
inventory_image = "homedecor_chair_padded_inv.png",
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
selection_box = kc_cbox,
|
||||
collision_box = kc_cbox,
|
||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
after_place_node = unifieddyes.fix_rotation_nsew,
|
||||
after_dig_node = unifieddyes.after_dig_node,
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
pos.y = pos.y+0 -- where do I put my ass ?
|
||||
homedecor.sit(pos, node, clicker)
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
"wool"..color..".png",
|
||||
}
|
||||
|
||||
homedecor.register("armchair", {
|
||||
description = S("Armchair"),
|
||||
mesh = "forniture_armchair.obj",
|
||||
tiles = {
|
||||
"wool_white.png",
|
||||
{ name = "wool_dark_grey.png", color = 0xffffffff },
|
||||
{ name = "default_wood.png", color = 0xffffffff }
|
||||
},
|
||||
inventory_image = "homedecor_armchair_inv.png",
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
groups = {snappy=3, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
node_box = ac_cbox,
|
||||
after_place_node = unifieddyes.fix_rotation_nsew,
|
||||
after_dig_node = unifieddyes.after_dig_node,
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
})
|
||||
if chaircolors[i][1] == "" then
|
||||
color = ""
|
||||
chairtiles = {
|
||||
homedecor.plain_wood,
|
||||
homedecor.plain_wood
|
||||
}
|
||||
end
|
||||
|
||||
homedecor.register("chair"..color, {
|
||||
description = S("Kitchen chair (%s)"):format(name),
|
||||
mesh = "homedecor_kitchen_chair.obj",
|
||||
tiles = chairtiles,
|
||||
selection_box = kc_cbox,
|
||||
collision_box = kc_cbox,
|
||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
pos.y = pos.y+0 -- where do I put my ass ?
|
||||
homedecor.sit(pos, node, clicker)
|
||||
end
|
||||
})
|
||||
|
||||
if color ~= "" then
|
||||
homedecor.register("armchair"..color, {
|
||||
description = S("Armchair (%s)"):format(name),
|
||||
mesh = "forniture_armchair.obj",
|
||||
tiles = {
|
||||
"wool"..color..".png",
|
||||
"wool_dark_grey.png",
|
||||
"default_wood.png"
|
||||
},
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
node_box = ac_cbox
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:armchair"..color.." 2",
|
||||
recipe = {
|
||||
{ "wool:"..color2,""},
|
||||
{ "group:wood","group:wood" },
|
||||
{ "wool:"..color2,"wool:"..color2 },
|
||||
},
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
local ob_cbox = {
|
||||
type = "fixed",
|
||||
@ -116,7 +121,7 @@ local ob_cbox = {
|
||||
}
|
||||
|
||||
minetest.register_node(":homedecor:openframe_bookshelf", {
|
||||
description = S("Bookshelf (open-frame)"),
|
||||
description = "Bookshelf (open-frame)",
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_openframe_bookshelf.obj",
|
||||
tiles = {
|
||||
@ -132,7 +137,7 @@ minetest.register_node(":homedecor:openframe_bookshelf", {
|
||||
})
|
||||
|
||||
homedecor.register("wall_shelf", {
|
||||
description = S("Wall Shelf"),
|
||||
description = "Wall Shelf",
|
||||
tiles = {
|
||||
"homedecor_wood_table_large_edges.png",
|
||||
},
|
||||
@ -157,72 +162,3 @@ minetest.register_alias("homedecor:armchair", "homedecor:armchair_black")
|
||||
minetest.register_alias('table', 'homedecor:table')
|
||||
minetest.register_alias('chair', 'homedecor:chair')
|
||||
minetest.register_alias('armchair', 'homedecor:armchair')
|
||||
|
||||
-- conversion to param2 colorization
|
||||
|
||||
homedecor.old_static_chairs = {}
|
||||
|
||||
for _, color in ipairs(lrfurn.colors) do
|
||||
table.insert(homedecor.old_static_chairs, "homedecor:chair_"..color)
|
||||
table.insert(homedecor.old_static_chairs, "homedecor:armchair_"..color)
|
||||
end
|
||||
table.insert(homedecor.old_static_chairs, "homedecor:chair")
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "homedecor:convert_chairs",
|
||||
label = "Convert homedecor chairs to use param2 color",
|
||||
run_at_every_load = false,
|
||||
nodenames = homedecor.old_static_chairs,
|
||||
action = function(pos, node)
|
||||
local name = node.name
|
||||
local paletteidx = 0
|
||||
local color
|
||||
local a,b = string.find(name, "_")
|
||||
|
||||
if a then
|
||||
color = string.sub(name, a+1)
|
||||
|
||||
if color == "blue" then
|
||||
color = "medium_blue"
|
||||
elseif color == "violet" then
|
||||
color = "medium_violet"
|
||||
elseif color == "red" then
|
||||
color = "medium_red"
|
||||
elseif color == "black" then
|
||||
color = "dark_grey"
|
||||
end
|
||||
|
||||
paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted")
|
||||
end
|
||||
|
||||
local old_fdir = math.floor(node.param2 % 32)
|
||||
local new_fdir = 3
|
||||
|
||||
if old_fdir == 0 then
|
||||
new_fdir = 3
|
||||
elseif old_fdir == 1 then
|
||||
new_fdir = 4
|
||||
elseif old_fdir == 2 then
|
||||
new_fdir = 2
|
||||
elseif old_fdir == 3 then
|
||||
new_fdir = 5
|
||||
end
|
||||
|
||||
local param2 = paletteidx + new_fdir
|
||||
local newname = "homedecor:armchair"
|
||||
|
||||
print(name, dump(a), dump(b), dump(color).."("..dump(paletteidx)..")", dump(param2))
|
||||
|
||||
if node.name == "homedecor:chair" then
|
||||
newname = "homedecor:kitchen_chair_wood"
|
||||
elseif string.find(node.name, "homedecor:chair_") then
|
||||
newname = "homedecor:kitchen_chair_padded"
|
||||
end
|
||||
|
||||
minetest.set_node(pos, { name = newname, param2 = param2 })
|
||||
local meta = minetest.get_meta(pos)
|
||||
if color then
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
end
|
||||
end
|
||||
})
|
||||
|
20
homedecor/furniture_medieval.lua
Normal file → Executable file
20
homedecor/furniture_medieval.lua
Normal file → Executable file
@ -1,9 +1,9 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
homedecor.register("bars", {
|
||||
description = S("Bars"),
|
||||
tiles = { { name = "homedecor_generic_metal.png^[transformR270", color = homedecor.color_black } },
|
||||
tiles = { "homedecor_generic_metal_black.png^[transformR270" },
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
@ -25,7 +25,7 @@ homedecor.register("bars", {
|
||||
--L Binding Bars
|
||||
homedecor.register("L_binding_bars", {
|
||||
description = S("Binding Bars"),
|
||||
tiles = { { name = "homedecor_generic_metal.png^[transformR270", color = homedecor.color_black } },
|
||||
tiles = { "homedecor_generic_metal_black.png^[transformR270" },
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
@ -50,7 +50,7 @@ local chain_cbox = {
|
||||
homedecor.register("chains", {
|
||||
description = S("Chains"),
|
||||
mesh = "forniture_chains.obj",
|
||||
tiles = { { name = "homedecor_generic_metal.png", color = homedecor.color_black } },
|
||||
tiles = { "homedecor_generic_metal_black.png" },
|
||||
inventory_image="forniture_chains_inv.png",
|
||||
selection_box = chain_cbox,
|
||||
walkable = false,
|
||||
@ -71,8 +71,8 @@ homedecor.register("torch_wall", {
|
||||
length=1.0,
|
||||
},
|
||||
},
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_black },
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
|
||||
"homedecor_generic_metal_black.png",
|
||||
"homedecor_generic_metal_black.png^[brighten",
|
||||
"forniture_coal.png",
|
||||
},
|
||||
inventory_image="forniture_torch_inv.png",
|
||||
@ -93,12 +93,8 @@ local wl_cbox = {
|
||||
homedecor.register("wall_lamp", {
|
||||
description = S("Wall Lamp"),
|
||||
mesh = "homedecor_wall_lamp.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
|
||||
homedecor.lux_wood,
|
||||
"homedecor_light.png",
|
||||
"homedecor_generic_metal_wrought_iron.png"
|
||||
},
|
||||
tiles = {"homedecor_generic_metal_black.png^[brighten", "homedecor_generic_wood_luxury.png^[colorize:#000000:30",
|
||||
"homedecor_light.png", "homedecor_generic_metal_wrought_iron.png"},
|
||||
use_texture_alpha = true,
|
||||
inventory_image = "homedecor_wall_lamp_inv.png",
|
||||
groups = {snappy=3},
|
||||
|
180
homedecor/furniture_recipes.lua
Normal file → Executable file
180
homedecor/furniture_recipes.lua
Normal file → Executable file
@ -1,6 +1,6 @@
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:table",
|
||||
output = "homedecor:table", "homedecor:chair 2",
|
||||
recipe = {
|
||||
{ "group:wood","group:wood", "group:wood" },
|
||||
{ "group:stick", "", "group:stick" },
|
||||
@ -53,7 +53,7 @@ minetest.register_craft({
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:kitchen_chair_wood 2",
|
||||
output = "homedecor:chair 2",
|
||||
recipe = {
|
||||
{ "group:stick",""},
|
||||
{ "group:wood","group:wood" },
|
||||
@ -61,35 +61,41 @@ minetest.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:armchair 2",
|
||||
recipe = {
|
||||
{ "wool:white",""},
|
||||
{ "group:wood","group:wood" },
|
||||
{ "wool:white","wool:white" },
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:kitchen_chair_padded",
|
||||
recipe = {
|
||||
"homedecor:kitchen_chair_wood",
|
||||
"wool:white",
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:kitchen_chair_wood",
|
||||
recipe = "homedecor:chair",
|
||||
burntime = 15,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:kitchen_chair_padded",
|
||||
burntime = 15,
|
||||
})
|
||||
local chaircolors = { "black", "red", "pink", "violet", "blue", "dark_green" }
|
||||
|
||||
for _, color in ipairs(chaircolors) do
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:chair_"..color,
|
||||
recipe = {
|
||||
"homedecor:chair",
|
||||
"wool:white",
|
||||
"dye:"..color
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:chair_"..color,
|
||||
recipe = {
|
||||
"homedecor:chair",
|
||||
"wool:"..color
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:chair_"..color,
|
||||
burntime = 15,
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
@ -98,9 +104,27 @@ minetest.register_craft({
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:standing_lamp_off",
|
||||
output = "homedecor:table_lamp_white_off",
|
||||
recipe = {
|
||||
{"homedecor:table_lamp_off"},
|
||||
{"default:paper","default:torch" ,"default:paper"},
|
||||
{"","group:stick",""},
|
||||
{"","stairs:slab_wood",""},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:table_lamp_white_off",
|
||||
recipe = {
|
||||
{"default:paper","default:torch" ,"default:paper"},
|
||||
{"","group:stick",""},
|
||||
{"","moreblocks:slab_wood",""},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:standing_lamp_white_off",
|
||||
recipe = {
|
||||
{"homedecor:table_lamp_white_off"},
|
||||
{"group:stick"},
|
||||
{"group:stick"},
|
||||
},
|
||||
@ -108,41 +132,71 @@ minetest.register_craft({
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:table_lamp_off",
|
||||
recipe = "homedecor:table_lamp_white_off",
|
||||
burntime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:table_lamp_off",
|
||||
recipe = {
|
||||
{ "wool:white", "default:torch", "wool:white"},
|
||||
{ "", "group:stick", ""},
|
||||
{ "", "stairs:slab_wood", "" },
|
||||
},
|
||||
})
|
||||
local lamp_colors = { "blue", "green", "pink", "red", "violet" }
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:table_lamp_off",
|
||||
recipe = {
|
||||
{ "cottages:wool", "default:torch", "cottages:wool"},
|
||||
{ "", "group:stick", ""},
|
||||
{ "", "stairs:slab_wood", "" },
|
||||
},
|
||||
})
|
||||
for _, color in ipairs(lamp_colors) do
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:standing_lamp_off",
|
||||
recipe = {
|
||||
{ "homedecor:table_lamp_off"},
|
||||
{ "group:stick"},
|
||||
{ "group:stick"},
|
||||
},
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "homedecor:table_lamp_"..color.."_off",
|
||||
recipe = {
|
||||
{"wool:"..color,"default:torch" ,"wool:"..color},
|
||||
{"","group:stick",""},
|
||||
{"","stairs:slab_wood",""},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:table_lamp_"..color.."_off",
|
||||
recipe = {
|
||||
{"wool:"..color,"default:torch" ,"wool:"..color},
|
||||
{"","group:stick",""},
|
||||
{"","moreblocks:slab_wood",""},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:table_lamp_"..color.."_off",
|
||||
recipe = {
|
||||
"dye:"..color,
|
||||
"homedecor:table_lamp_off",
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:table_lamp_"..color.."_off",
|
||||
burntime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:standing_lamp_"..color.."_off",
|
||||
recipe = {
|
||||
{"homedecor:table_lamp_"..color.."_off"},
|
||||
{"group:stick"},
|
||||
{"group:stick"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:standing_lamp_"..color.."_off",
|
||||
recipe = {
|
||||
"homedecor:standing_lamp_off",
|
||||
"dye:"..color
|
||||
},
|
||||
})
|
||||
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:toilet",
|
||||
recipe = {
|
||||
{ "","","bucket:bucket_water"},
|
||||
{"","","bucket:bucket_water"},
|
||||
{ "group:marble","group:marble", "group:marble" },
|
||||
{ "", "bucket:bucket_empty", "" },
|
||||
},
|
||||
@ -183,24 +237,6 @@ minetest.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:bathtub_clawfoot_brass_taps",
|
||||
recipe = {
|
||||
{ "homedecor:taps_brass", "", "" },
|
||||
{ "group:marble", "", "group:marble" },
|
||||
{"default:steel_ingot", "group:marble", "default:steel_ingot"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:bathtub_clawfoot_chrome_taps",
|
||||
recipe = {
|
||||
{ "homedecor:taps", "", "" },
|
||||
{ "group:marble", "", "group:marble" },
|
||||
{"default:steel_ingot", "group:marble", "default:steel_ingot"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:bars 6",
|
||||
recipe = {
|
||||
|
88
homedecor/gastronomy.lua
Normal file → Executable file
88
homedecor/gastronomy.lua
Normal file → Executable file
@ -1,5 +1,4 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
local cutlery_cbox = {
|
||||
type = "fixed",
|
||||
@ -14,7 +13,7 @@ homedecor.register("cutlery_set", {
|
||||
mesh = "homedecor_cutlery_set.obj",
|
||||
tiles = { "homedecor_cutlery_set.png" },
|
||||
inventory_image = "homedecor_cutlery_set_inv.png",
|
||||
description = S("Cutlery set"),
|
||||
description = "Cutlery set",
|
||||
groups = {snappy=3},
|
||||
selection_box = cutlery_cbox,
|
||||
walkable = false,
|
||||
@ -35,19 +34,14 @@ local fbottle_cbox = {
|
||||
}
|
||||
}
|
||||
|
||||
local bottle_colors = {
|
||||
{ "brown", S("Brown bottle"), S("Four brown bottles") },
|
||||
{ "green", S("Green bottle"), S("Four green bottles") },
|
||||
}
|
||||
local bottle_colors = {"brown", "green"}
|
||||
|
||||
for _, b in ipairs(bottle_colors) do
|
||||
|
||||
local name, desc, desc4 = unpack(b)
|
||||
|
||||
homedecor.register("bottle_"..name, {
|
||||
tiles = { "homedecor_bottle_"..name..".png" },
|
||||
inventory_image = "homedecor_bottle_"..name.."_inv.png",
|
||||
description = desc,
|
||||
homedecor.register("bottle_"..b, {
|
||||
tiles = { "homedecor_bottle_"..b..".png" },
|
||||
inventory_image = "homedecor_bottle_"..b.."_inv.png",
|
||||
description = "Bottle ("..b..")",
|
||||
mesh = "homedecor_bottle.obj",
|
||||
walkable = false,
|
||||
groups = {snappy=3},
|
||||
@ -57,13 +51,13 @@ for _, b in ipairs(bottle_colors) do
|
||||
|
||||
-- 4-bottle sets
|
||||
|
||||
homedecor.register("4_bottles_"..name, {
|
||||
homedecor.register("4_bottles_"..b, {
|
||||
tiles = {
|
||||
"homedecor_bottle_"..name..".png",
|
||||
"homedecor_bottle_"..name..".png"
|
||||
"homedecor_bottle_"..b..".png",
|
||||
"homedecor_bottle_"..b..".png"
|
||||
},
|
||||
inventory_image = "homedecor_4_bottles_"..name.."_inv.png",
|
||||
description = desc4,
|
||||
inventory_image = "homedecor_4_bottles_"..b.."_inv.png",
|
||||
description = "Four "..b.." bottles",
|
||||
mesh = "homedecor_4_bottles.obj",
|
||||
walkable = false,
|
||||
groups = {snappy=3},
|
||||
@ -78,7 +72,7 @@ homedecor.register("4_bottles_multi", {
|
||||
"homedecor_bottle_green.png"
|
||||
},
|
||||
inventory_image = "homedecor_4_bottles_multi_inv.png",
|
||||
description = S("Four misc brown/green bottles"),
|
||||
description = "Four misc brown/green bottles",
|
||||
mesh = "homedecor_4_bottles.obj",
|
||||
groups = {snappy=3},
|
||||
walkable = false,
|
||||
@ -88,7 +82,7 @@ homedecor.register("4_bottles_multi", {
|
||||
|
||||
local wine_cbox = homedecor.nodebox.slab_z(-0.75)
|
||||
homedecor.register("wine_rack", {
|
||||
description = S("Wine rack"),
|
||||
description = "Wine Rack",
|
||||
mesh = "homedecor_wine_rack.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_wood_red.png",
|
||||
@ -105,7 +99,7 @@ homedecor.register("wine_rack", {
|
||||
})
|
||||
|
||||
homedecor.register("dartboard", {
|
||||
description = S("Dartboard"),
|
||||
description = "Dartboard",
|
||||
mesh = "homedecor_dartboard.obj",
|
||||
tiles = { "homedecor_dartboard.png" },
|
||||
inventory_image = "homedecor_dartboard_inv.png",
|
||||
@ -121,11 +115,11 @@ homedecor.register("dartboard", {
|
||||
})
|
||||
|
||||
homedecor.register("beer_tap", {
|
||||
description = S("Beer tap"),
|
||||
description = "Beer tap",
|
||||
mesh = "homedecor_beer_taps.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_metal_bright.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_black }
|
||||
"homedecor_generic_metal_black.png",
|
||||
},
|
||||
inventory_image = "homedecor_beertap_inv.png",
|
||||
groups = { snappy=3 },
|
||||
@ -134,20 +128,19 @@ homedecor.register("beer_tap", {
|
||||
type = "fixed",
|
||||
fixed = { -0.25, -0.5, -0.4375, 0.25, 0.235, 0 }
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local inv = clicker:get_inventory()
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
local wielditem = puncher:get_wielded_item()
|
||||
local inv = puncher:get_inventory()
|
||||
|
||||
local wieldname = itemstack:get_name()
|
||||
local wieldname = wielditem:get_name()
|
||||
if wieldname == "vessels:drinking_glass" then
|
||||
if inv:room_for_item("main", "homedecor:beer_mug 1") then
|
||||
itemstack:take_item()
|
||||
clicker:set_wielded_item(itemstack)
|
||||
wielditem:take_item()
|
||||
puncher:set_wielded_item(wielditem)
|
||||
inv:add_item("main", "homedecor:beer_mug 1")
|
||||
minetest.chat_send_player(clicker:get_player_name(),
|
||||
S("Ahh, a frosty cold beer - look in your inventory for it!"))
|
||||
minetest.chat_send_player(puncher:get_player_name(), "Ahh, a frosty cold beer - look in your inventory for it!")
|
||||
else
|
||||
minetest.chat_send_player(clicker:get_player_name(),
|
||||
S("No room in your inventory to add a beer mug!"))
|
||||
minetest.chat_send_player(puncher:get_player_name(), "No room in your inventory to add a beer mug!")
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -168,7 +161,7 @@ local beer_cbox = {
|
||||
}
|
||||
|
||||
homedecor.register("beer_mug", {
|
||||
description = S("Beer mug"),
|
||||
description = "Beer mug",
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_beer_mug.obj",
|
||||
tiles = { "homedecor_beer_mug.png" },
|
||||
@ -177,24 +170,7 @@ homedecor.register("beer_mug", {
|
||||
walkable = false,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
selection_box = beer_cbox,
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
local inv = user:get_inventory()
|
||||
if not creative.is_enabled_for(user:get_player_name()) then
|
||||
if inv:room_for_item("main", "vessels:drinking_glass 1") then
|
||||
inv:add_item("main", "vessels:drinking_glass 1")
|
||||
else
|
||||
local pos = user:get_pos()
|
||||
local dir = user:get_look_dir()
|
||||
local fdir = minetest.dir_to_facedir(dir)
|
||||
local pos_fwd = { x = pos.x + homedecor.fdir_to_fwd[fdir+1][1],
|
||||
y = pos.y + 1,
|
||||
z = pos.z + homedecor.fdir_to_fwd[fdir+1][2] }
|
||||
minetest.add_item(pos_fwd, "vessels:drinking_glass 1")
|
||||
end
|
||||
minetest.do_item_eat(2, nil, itemstack, user, pointed_thing)
|
||||
return itemstack
|
||||
end
|
||||
end
|
||||
on_use = minetest.item_eat(2)
|
||||
})
|
||||
|
||||
local svm_cbox = {
|
||||
@ -203,7 +179,7 @@ local svm_cbox = {
|
||||
}
|
||||
|
||||
homedecor.register("soda_machine", {
|
||||
description = S("Soda vending machine"),
|
||||
description = "Soda Vending Machine",
|
||||
mesh = "homedecor_soda_machine.obj",
|
||||
tiles = {"homedecor_soda_machine.png"},
|
||||
groups = {snappy=3},
|
||||
@ -212,21 +188,21 @@ homedecor.register("soda_machine", {
|
||||
expand = { top="placeholder" },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rotate = screwdriver.rotate_simple,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local wielditem = clicker:get_wielded_item()
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
local wielditem = puncher:get_wielded_item()
|
||||
local wieldname = wielditem:get_name()
|
||||
local fdir_to_fwd = { {0, -1}, {-1, 0}, {0, 1}, {1, 0} }
|
||||
local fdir = node.param2
|
||||
local pos_drop = { x=pos.x+fdir_to_fwd[fdir+1][1], y=pos.y, z=pos.z+fdir_to_fwd[fdir+1][2] }
|
||||
if wieldname == "homedecor:coin" then
|
||||
wielditem:take_item()
|
||||
clicker:set_wielded_item(wielditem)
|
||||
puncher:set_wielded_item(wielditem)
|
||||
minetest.spawn_item(pos_drop, "homedecor:soda_can")
|
||||
minetest.sound_play("insert_coin", {
|
||||
pos=pos, max_hear_distance = 5
|
||||
})
|
||||
else
|
||||
minetest.chat_send_player(clicker:get_player_name(), S("Please insert a coin in the machine."))
|
||||
minetest.chat_send_player(puncher:get_player_name(), "Please insert a coin in the machine.")
|
||||
end
|
||||
end
|
||||
})
|
||||
|
115
homedecor/handlers/expansion.lua
Normal file → Executable file
115
homedecor/handlers/expansion.lua
Normal file → Executable file
@ -1,5 +1,4 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
-- vectors to place one node next to or behind another
|
||||
|
||||
@ -24,38 +23,9 @@ homedecor.fdir_to_fwd = {
|
||||
{ -1, 0 },
|
||||
}
|
||||
|
||||
-- special case for wallmounted nodes
|
||||
|
||||
homedecor.wall_fdir_to_right = {
|
||||
nil,
|
||||
nil,
|
||||
{ -1, 0 },
|
||||
{ 1, 0 },
|
||||
{ 0, -1 },
|
||||
{ 0, 1 },
|
||||
}
|
||||
|
||||
homedecor.wall_fdir_to_left = {
|
||||
nil,
|
||||
nil,
|
||||
{ 1, 0 },
|
||||
{ -1, 0 },
|
||||
{ 0, 1 },
|
||||
{ 0, -1 },
|
||||
}
|
||||
|
||||
homedecor.wall_fdir_to_fwd = {
|
||||
nil,
|
||||
nil,
|
||||
{ 0, -1 },
|
||||
{ 0, 1 },
|
||||
{ 1, 0 },
|
||||
{ -1, 0 },
|
||||
}
|
||||
|
||||
local placeholder_node = "homedecor:expansion_placeholder"
|
||||
minetest.register_node(placeholder_node, {
|
||||
description = S("Expansion placeholder (you hacker you!)"),
|
||||
description = "Expansion placeholder (you hacker you!)",
|
||||
groups = { not_in_creative_inventory=1 },
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
@ -97,8 +67,8 @@ end
|
||||
local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2)
|
||||
local placer_name = placer:get_player_name() or ""
|
||||
if is_buildable_to(placer_name, pos, pos2) then
|
||||
local lfdir = fdir or minetest.dir_to_facedir(placer:get_look_dir())
|
||||
minetest.set_node(pos, { name = node1, param2 = lfdir })
|
||||
local fdir = fdir or minetest.dir_to_facedir(placer:get_look_dir())
|
||||
minetest.set_node(pos, { name = node1, param2 = fdir })
|
||||
node2 = node2 or "air" -- this can be used to clear buildable_to nodes even though we are using a multinode mesh
|
||||
-- do not assume by default, as we still might want to allow overlapping in some cases
|
||||
local has_facedir = node2 ~= "air"
|
||||
@ -106,7 +76,7 @@ local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2)
|
||||
has_facedir = false
|
||||
node2 = placeholder_node
|
||||
end
|
||||
minetest.set_node(pos2, { name = node2, param2 = (has_facedir and lfdir) or nil })
|
||||
minetest.set_node(pos2, { name = node2, param2 = (has_facedir and fdir) or nil })
|
||||
|
||||
-- call after_place_node of the placed node if available
|
||||
local ctrl_node_def = minetest.registered_nodes[node1]
|
||||
@ -121,18 +91,18 @@ local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2)
|
||||
return itemstack
|
||||
end
|
||||
|
||||
local function rightclick_pointed_thing(pos, placer, itemstack, pointed_thing)
|
||||
local function rightclick_pointed_thing(pos, placer, itemstack)
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
if not node then return false end
|
||||
local def = minetest.registered_nodes[node.name]
|
||||
if not def or not def.on_rightclick then return false end
|
||||
return def.on_rightclick(pos, node, placer, itemstack, pointed_thing) or itemstack
|
||||
return def.on_rightclick(pos, node, placer, itemstack) or itemstack
|
||||
end
|
||||
|
||||
-- Stack one node above another
|
||||
-- leave the last argument nil if it's one 2m high node
|
||||
function homedecor.stack_vertically(itemstack, placer, pointed_thing, node1, node2)
|
||||
local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack, pointed_thing)
|
||||
local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack)
|
||||
if rightclick_result then return rightclick_result end
|
||||
|
||||
local pos, def = select_node(pointed_thing)
|
||||
@ -147,7 +117,7 @@ end
|
||||
-- like homedecor.stack_vertically but tests first if it was placed as a right wing, then uses node1_right and node2_right instead
|
||||
|
||||
function homedecor.stack_wing(itemstack, placer, pointed_thing, node1, node2, node1_right, node2_right)
|
||||
local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack, pointed_thing)
|
||||
local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack)
|
||||
if rightclick_result then return rightclick_result end
|
||||
|
||||
local pos, def = select_node(pointed_thing)
|
||||
@ -166,7 +136,7 @@ function homedecor.stack_wing(itemstack, placer, pointed_thing, node1, node2, no
|
||||
end
|
||||
|
||||
function homedecor.stack_sideways(itemstack, placer, pointed_thing, node1, node2, dir)
|
||||
local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack, pointed_thing)
|
||||
local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack)
|
||||
if rightclick_result then return rightclick_result end
|
||||
|
||||
local pos, def = select_node(pointed_thing)
|
||||
@ -180,13 +150,13 @@ function homedecor.stack_sideways(itemstack, placer, pointed_thing, node1, node2
|
||||
return stack(itemstack, placer, fdir, pos, def, pos2, node1, node2)
|
||||
end
|
||||
|
||||
function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, trybunks)
|
||||
function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, color)
|
||||
|
||||
local thisnode = minetest.get_node(pos)
|
||||
local fdir = thisnode.param2
|
||||
|
||||
local fxd = homedecor.wall_fdir_to_fwd[fdir+1][1]
|
||||
local fzd = homedecor.wall_fdir_to_fwd[fdir+1][2]
|
||||
local fxd = homedecor.fdir_to_fwd[fdir+1][1]
|
||||
local fzd = homedecor.fdir_to_fwd[fdir+1][2]
|
||||
|
||||
local forwardpos = {x=pos.x+fxd, y=pos.y, z=pos.z+fzd}
|
||||
local forwardnode = minetest.get_node(forwardpos)
|
||||
@ -195,65 +165,70 @@ function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, trybunks
|
||||
local placer_name = placer:get_player_name()
|
||||
|
||||
if not (def and def.buildable_to) then
|
||||
minetest.chat_send_player( placer:get_player_name(),
|
||||
S("Not enough room - the space for the headboard is occupied!"))
|
||||
minetest.chat_send_player( placer:get_player_name(), "Not enough room - the space for the headboard is occupied!" )
|
||||
minetest.set_node(pos, {name = "air"})
|
||||
return true
|
||||
end
|
||||
|
||||
if minetest.is_protected(forwardpos, placer_name) then
|
||||
minetest.chat_send_player( placer:get_player_name(),
|
||||
S("Someone already owns the spot where the headboard goes."))
|
||||
minetest.chat_send_player( placer:get_player_name(), "Someone already owns the spot where the headboard goes." )
|
||||
return true
|
||||
end
|
||||
|
||||
minetest.set_node(forwardpos, {name = "air"})
|
||||
|
||||
local lxd = homedecor.wall_fdir_to_left[fdir+1][1]
|
||||
local lzd = homedecor.wall_fdir_to_left[fdir+1][2]
|
||||
local lxd = homedecor.fdir_to_left[fdir+1][1]
|
||||
local lzd = homedecor.fdir_to_left[fdir+1][2]
|
||||
local leftpos = {x=pos.x+lxd, y=pos.y, z=pos.z+lzd}
|
||||
local leftnode = minetest.get_node(leftpos)
|
||||
|
||||
local rxd = homedecor.wall_fdir_to_right[fdir+1][1]
|
||||
local rzd = homedecor.wall_fdir_to_right[fdir+1][2]
|
||||
local rxd = homedecor.fdir_to_right[fdir+1][1]
|
||||
local rzd = homedecor.fdir_to_right[fdir+1][2]
|
||||
local rightpos = {x=pos.x+rxd, y=pos.y, z=pos.z+rzd}
|
||||
local rightnode = minetest.get_node(rightpos)
|
||||
|
||||
if leftnode.name == "homedecor:bed_regular" then
|
||||
if leftnode.name == "homedecor:bed_"..color.."_regular" then
|
||||
local newname = string.gsub(thisnode.name, "_regular", "_kingsize")
|
||||
minetest.set_node(pos, {name = "air"})
|
||||
minetest.set_node(leftpos, { name = newname, param2 = fdir})
|
||||
elseif rightnode.name == "homedecor:bed_regular" then
|
||||
elseif rightnode.name == "homedecor:bed_"..color.."_regular" then
|
||||
local newname = string.gsub(thisnode.name, "_regular", "_kingsize")
|
||||
minetest.set_node(rightpos, {name = "air"})
|
||||
minetest.set_node(pos, { name = newname, param2 = fdir})
|
||||
end
|
||||
|
||||
local toppos = {x=pos.x, y=pos.y+1.0, z=pos.z}
|
||||
local topposfwd = {x=toppos.x+fxd, y=toppos.y, z=toppos.z+fzd}
|
||||
local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z})
|
||||
local bottomnode = minetest.get_node({x=pos.x, y=pos.y-1.0, z=pos.z})
|
||||
|
||||
if trybunks and is_buildable_to(placer_name, toppos, topposfwd) then
|
||||
local newname = string.gsub(thisnode.name, "_regular", "_extended")
|
||||
minetest.set_node(toppos, { name = thisnode.name, param2 = fdir})
|
||||
minetest.set_node(pos, { name = newname, param2 = fdir})
|
||||
itemstack:take_item()
|
||||
if string.find(topnode.name, "homedecor:bed_.*_regular$") then
|
||||
if fdir == topnode.param2 then
|
||||
local newname = string.gsub(thisnode.name, "_regular", "_extended")
|
||||
minetest.set_node(pos, { name = newname, param2 = fdir})
|
||||
end
|
||||
end
|
||||
|
||||
if string.find(bottomnode.name, "homedecor:bed_.*_regular$") then
|
||||
if fdir == bottomnode.param2 then
|
||||
local newname = string.gsub(bottomnode.name, "_regular", "_extended")
|
||||
minetest.set_node({x=pos.x, y=pos.y-1.0, z=pos.z}, { name = newname, param2 = fdir})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function homedecor.unextend_bed(pos)
|
||||
function homedecor.unextend_bed(pos, color)
|
||||
local bottomnode = minetest.get_node({x=pos.x, y=pos.y-1.0, z=pos.z})
|
||||
local fdir = bottomnode.param2
|
||||
if bottomnode.name == "homedecor:bed_extended" then
|
||||
if string.find(bottomnode.name, "homedecor:bed_.*_extended$") then
|
||||
local newname = string.gsub(bottomnode.name, "_extended", "_regular")
|
||||
minetest.set_node({x=pos.x, y=pos.y-1.0, z=pos.z}, { name = newname, param2 = fdir})
|
||||
end
|
||||
end
|
||||
|
||||
function homedecor.place_banister(itemstack, placer, pointed_thing)
|
||||
local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack, pointed_thing)
|
||||
local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack)
|
||||
if rightclick_result then return rightclick_result end
|
||||
|
||||
local pos, _ = select_node(pointed_thing)
|
||||
local pos, def = select_node(pointed_thing)
|
||||
if not pos then return itemstack end
|
||||
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||
@ -265,12 +240,12 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
|
||||
local placer_name = placer:get_player_name()
|
||||
|
||||
if not (adef and adef.buildable_to) then
|
||||
minetest.chat_send_player(placer_name, S("Not enough room - the upper space is occupied!" ))
|
||||
minetest.chat_send_player(placer_name, "Not enough room - the upper space is occupied!" )
|
||||
return itemstack
|
||||
end
|
||||
|
||||
if minetest.is_protected(abovepos, placer_name) then
|
||||
minetest.chat_send_player(placer_name, S("Someone already owns that spot."))
|
||||
minetest.chat_send_player(placer_name, "Someone already owns that spot." )
|
||||
return itemstack
|
||||
end
|
||||
|
||||
@ -295,19 +270,20 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
|
||||
local left_fwd_below_pos = { x=pos.x+lxd+fxd, y=pos.y-1, z=pos.z+lzd+fzd }
|
||||
|
||||
local below_node = minetest.get_node(below_pos)
|
||||
--local fwd_node = minetest.get_node(fwd_pos)
|
||||
local fwd_node = minetest.get_node(fwd_pos)
|
||||
local left_node = minetest.get_node(left_pos)
|
||||
local right_node = minetest.get_node(right_pos)
|
||||
local left_fwd_node = minetest.get_node(left_fwd_pos)
|
||||
local right_fwd_node = minetest.get_node(right_fwd_pos)
|
||||
local left_below_node = minetest.get_node({x=left_pos.x, y=left_pos.y-1, z=left_pos.z})
|
||||
local right_below_node = minetest.get_node({x=right_pos.x, y=right_pos.y-1, z=right_pos.z})
|
||||
--local right_fwd_above_node = minetest.get_node(right_fwd_above_pos)
|
||||
--local left_fwd_above_node = minetest.get_node(left_fwd_above_pos)
|
||||
local right_fwd_above_node = minetest.get_node(right_fwd_above_pos)
|
||||
local left_fwd_above_node = minetest.get_node(left_fwd_above_pos)
|
||||
local right_fwd_below_node = minetest.get_node(right_fwd_below_pos)
|
||||
local left_fwd_below_node = minetest.get_node(left_fwd_below_pos)
|
||||
|
||||
local new_place_name = itemstack:get_name()
|
||||
local n = 0
|
||||
|
||||
-- try to place a diagonal one on the side of blocks stacked like stairs
|
||||
-- or follow an existing diagonal with another.
|
||||
@ -383,3 +359,4 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
|
||||
itemstack:take_item()
|
||||
return itemstack
|
||||
end
|
||||
|
||||
|
50
homedecor/handlers/furnaces.lua
Normal file → Executable file
50
homedecor/handlers/furnaces.lua
Normal file → Executable file
@ -1,6 +1,6 @@
|
||||
-- This code supplies an oven/stove. Basically it's just a copy of the default furnace with different textures.
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
local function swap_node(pos, name)
|
||||
local node = minetest.get_node(pos)
|
||||
@ -30,11 +30,7 @@ local function make_formspec(furnacedef, percent)
|
||||
"list[current_name;fuel;2,3;1,1;]"..
|
||||
"list[current_name;src;2,1;1,1;]"..
|
||||
"list[current_name;dst;5,1;"..w..","..h..";]"..
|
||||
"list[current_player;main;0,5;8,4;]"..
|
||||
"listring[current_name;dst]"..
|
||||
"listring[current_player;main]"..
|
||||
"listring[current_name;src]"..
|
||||
"listring[current_player;main]"
|
||||
"list[current_player;main;0,5;8,4;]"
|
||||
end
|
||||
|
||||
--[[
|
||||
@ -88,7 +84,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
|
||||
furnacedef.cook_speed = furnacedef.cook_speed or 1
|
||||
|
||||
local description = furnacedef.description or S("Furnace")
|
||||
local description = furnacedef.description or "Furnace"
|
||||
|
||||
local furnace_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
@ -106,7 +102,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
if listname == "fuel" then
|
||||
if minetest.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then
|
||||
if inv:is_empty("src") then
|
||||
meta:set_string("infotext", S("@1 (empty)", description))
|
||||
meta:set_string("infotext", S("%s is empty"):format(description))
|
||||
end
|
||||
return stack:get_count()
|
||||
else
|
||||
@ -125,7 +121,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
if to_list == "fuel" then
|
||||
if minetest.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then
|
||||
if inv:is_empty("src") then
|
||||
meta:set_string("infotext", S("@1 (empty)", description))
|
||||
meta:set_string("infotext", S("%s is empty"):format(description))
|
||||
end
|
||||
return count
|
||||
else
|
||||
@ -151,7 +147,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
}
|
||||
|
||||
local def_active = {
|
||||
description = S("@1 (active)", description),
|
||||
description = description .. " (active)",
|
||||
tiles = make_tiles(furnacedef.tiles_active, furnacedef.tile_format, true),
|
||||
light_source = 8,
|
||||
drop = "homedecor:" .. name,
|
||||
@ -171,28 +167,28 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
end
|
||||
end
|
||||
|
||||
local n_active = name.."_active"
|
||||
local name_active = name.."_active"
|
||||
|
||||
homedecor.register(name, def)
|
||||
homedecor.register(n_active, def_active)
|
||||
homedecor.register(name_active, def_active)
|
||||
|
||||
local nname, name_active = "homedecor:"..name, "homedecor:"..n_active
|
||||
local name, name_active = "homedecor:"..name, "homedecor:"..name_active
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {nname, name_active, nname.."_locked", name_active.."_locked"},
|
||||
nodenames = {name, name_active, name.."_locked", name_active.."_locked"},
|
||||
label = "furnaces",
|
||||
interval = 1.0,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local meta = minetest.get_meta(pos)
|
||||
for i, pname in ipairs({
|
||||
for i, name in ipairs({
|
||||
"fuel_totaltime",
|
||||
"fuel_time",
|
||||
"src_totaltime",
|
||||
"src_time"
|
||||
}) do
|
||||
if meta:get_string(pname) == "" then
|
||||
meta:set_float(pname, 0.0)
|
||||
if meta:get_string(name) == "" then
|
||||
meta:set_float(name, 0.0)
|
||||
end
|
||||
end
|
||||
|
||||
@ -226,12 +222,12 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
|
||||
-- XXX: Quick patch, make it better in the future.
|
||||
local locked = node.name:find("_locked$") and "_locked" or ""
|
||||
local desc = minetest.registered_nodes[nname..locked].description
|
||||
local desc = minetest.registered_nodes[name..locked].description
|
||||
|
||||
if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then
|
||||
local percent = math.floor(meta:get_float("fuel_time") /
|
||||
meta:get_float("fuel_totaltime") * 100)
|
||||
meta:set_string("infotext", S("@1 (active: @2%)", desc, percent))
|
||||
meta:set_string("infotext",S("%s active: %d%%"):format(desc,percent))
|
||||
swap_node(pos,name_active..locked)
|
||||
meta:set_string("formspec", make_formspec(furnacedef, percent))
|
||||
return
|
||||
@ -239,9 +235,9 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
|
||||
local fuel = nil
|
||||
local afterfuel
|
||||
cooked = nil
|
||||
local cooked = nil
|
||||
local fuellist = inv:get_list("fuel")
|
||||
srclist = inv:get_list("src")
|
||||
local srclist = inv:get_list("src")
|
||||
|
||||
if srclist then
|
||||
cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist})
|
||||
@ -251,24 +247,24 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
end
|
||||
|
||||
if (not fuel) or (fuel.time <= 0) then
|
||||
meta:set_string("infotext", S("@1 (out of fuel)", desc))
|
||||
swap_node(pos, nname..locked)
|
||||
meta:set_string("infotext",desc..S(": Out of fuel"))
|
||||
swap_node(pos, name..locked)
|
||||
meta:set_string("formspec", make_formspec(furnacedef, 0))
|
||||
return
|
||||
end
|
||||
|
||||
if cooked.item:is_empty() then
|
||||
if was_active then
|
||||
meta:set_string("infotext", S("@1 (empty)", desc))
|
||||
swap_node(pos, nname..locked)
|
||||
meta:set_string("infotext",S("%s is empty"):format(desc))
|
||||
swap_node(pos, name..locked)
|
||||
meta:set_string("formspec", make_formspec(furnacedef, 0))
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
if not inv:room_for_item("dst", cooked.item) then
|
||||
meta:set_string("infotext", S("@1 (output bins are full)", desc))
|
||||
swap_node(pos, nname..locked)
|
||||
meta:set_string("infotext", desc..S(": output bins are full"))
|
||||
swap_node(pos, name..locked)
|
||||
meta:set_string("formspec", make_formspec(furnacedef, 0))
|
||||
return
|
||||
end
|
||||
|
0
homedecor/handlers/init.lua
Normal file → Executable file
0
homedecor/handlers/init.lua
Normal file → Executable file
90
homedecor/handlers/inventory.lua
Normal file → Executable file
90
homedecor/handlers/inventory.lua
Normal file → Executable file
@ -1,5 +1,4 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
local default_can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos)
|
||||
@ -9,47 +8,38 @@ end
|
||||
local background = default.gui_bg .. default.gui_bg_img .. default.gui_slots
|
||||
local default_inventory_formspecs = {
|
||||
["4"]="size[8,6]".. background ..
|
||||
"list[context;main;2,0;4,1;]" ..
|
||||
"list[current_player;main;0,2;8,4;]" ..
|
||||
"listring[]",
|
||||
"list[context;main;2,0;4,1;]"..
|
||||
"list[current_player;main;0,2;8,4;]",
|
||||
|
||||
["6"]="size[8,6]".. background ..
|
||||
"list[context;main;1,0;6,1;]"..
|
||||
"list[current_player;main;0,2;8,4;]" ..
|
||||
"listring[]",
|
||||
"list[current_player;main;0,2;8,4;]",
|
||||
|
||||
["8"]="size[8,6]".. background ..
|
||||
"list[context;main;0,0;8,1;]"..
|
||||
"list[current_player;main;0,2;8,4;]" ..
|
||||
"listring[]",
|
||||
"list[current_player;main;0,2;8,4;]",
|
||||
|
||||
["12"]="size[8,7]".. background ..
|
||||
"list[context;main;1,0;6,2;]"..
|
||||
"list[current_player;main;0,3;8,4;]" ..
|
||||
"listring[]",
|
||||
"list[current_player;main;0,3;8,4;]",
|
||||
|
||||
["16"]="size[8,7]".. background ..
|
||||
"list[context;main;0,0;8,2;]"..
|
||||
"list[current_player;main;0,3;8,4;]" ..
|
||||
"listring[]",
|
||||
"list[current_player;main;0,3;8,4;]",
|
||||
|
||||
["24"]="size[8,8]".. background ..
|
||||
"list[context;main;0,0;8,3;]"..
|
||||
"list[current_player;main;0,4;8,4;]" ..
|
||||
"listring[]",
|
||||
"list[current_player;main;0,4;8,4;]",
|
||||
|
||||
["32"]="size[8,9]".. background ..
|
||||
"list[context;main;0,0.3;8,4;]"..
|
||||
"list[current_player;main;0,4.85;8,1;]"..
|
||||
"list[current_player;main;0,6.08;8,3;8]"..
|
||||
"listring[context;main]" ..
|
||||
"listring[current_player;main]" ..
|
||||
default.get_hotbar_bg(0,4.85),
|
||||
|
||||
["50"]="size[10,10]".. background ..
|
||||
"list[context;main;0,0;10,5;]"..
|
||||
"list[current_player;main;1,6;8,4;]" ..
|
||||
"listring[]",
|
||||
"list[current_player;main;1,6;8,4;]",
|
||||
}
|
||||
|
||||
local function get_formspec_by_size(size)
|
||||
@ -85,18 +75,18 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
|
||||
def.can_dig = def.can_dig or default_can_dig
|
||||
def.on_metadata_inventory_move = def.on_metadata_inventory_move or function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
minetest.log("action", S("@1 moves stuff in @2 at @3",
|
||||
minetest.log("action", S("%s moves stuff in %s at %s"):format(
|
||||
player:get_player_name(), name, minetest.pos_to_string(pos)
|
||||
))
|
||||
end
|
||||
def.on_metadata_inventory_put = def.on_metadata_inventory_put or function(pos, listname, index, stack, player)
|
||||
minetest.log("action", S("@1 moves @2 to @3 at @4",
|
||||
player:get_player_name(), stack:get_name(), name, minetest.pos_to_string(pos)
|
||||
minetest.log("action", S("%s moves stuff to %s at %s"):format(
|
||||
player:get_player_name(), name, minetest.pos_to_string(pos)
|
||||
))
|
||||
end
|
||||
def.on_metadata_inventory_take = def.on_metadata_inventory_take or function(pos, listname, index, stack, player)
|
||||
minetest.log("action", S("@1 takes @2 from @3 at @4",
|
||||
player:get_player_name(), stack:get_name(), name, minetest.pos_to_string(pos)
|
||||
minetest.log("action", S("%s takes stuff from %s at %s"):format(
|
||||
player:get_player_name(), name, minetest.pos_to_string(pos)
|
||||
))
|
||||
end
|
||||
|
||||
@ -108,7 +98,7 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
local owner = placer:get_player_name() or ""
|
||||
|
||||
meta:set_string("owner", owner)
|
||||
meta:set_string("infotext", S("@1 (owned by @2)", def.infotext or def.description, owner))
|
||||
meta:set_string("infotext", S("%s (owned by %s)"):format(def.infotext or def.description, owner))
|
||||
return after_place_node and after_place_node(pos, placer)
|
||||
end
|
||||
|
||||
@ -118,17 +108,15 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
local owner = meta:get_string("owner")
|
||||
local playername = player:get_player_name()
|
||||
|
||||
if playername == owner or
|
||||
minetest.check_player_privs(playername, "protection_bypass") then
|
||||
return allow_move and
|
||||
allow_move(pos, from_list, from_index, to_list, to_index, count, player) or
|
||||
count
|
||||
if (playername ~= owner) then
|
||||
minetest.log("action", string.format("%s tried to access a %s belonging to %s at %s",
|
||||
playername, name, owner, minetest.pos_to_string(pos)
|
||||
))
|
||||
return 0
|
||||
end
|
||||
|
||||
minetest.log("action", S("@1 tried to access a @2 belonging to @3 at @4",
|
||||
playername, name, owner, minetest.pos_to_string(pos)
|
||||
))
|
||||
return 0
|
||||
return allow_move and allow_move(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
or count
|
||||
end
|
||||
|
||||
local allow_put = def.allow_metadata_inventory_put
|
||||
@ -137,16 +125,14 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
local owner = meta:get_string("owner")
|
||||
local playername = player:get_player_name()
|
||||
|
||||
if playername == owner or
|
||||
minetest.check_player_privs(playername, "protection_bypass") then
|
||||
return allow_put and allow_put(pos, listname, index, stack, player) or
|
||||
stack:get_count()
|
||||
if (playername ~= owner) then
|
||||
minetest.log("action", string.format("%s tried to access a %s belonging to %s at %s",
|
||||
playername, name, owner, minetest.pos_to_string(pos)
|
||||
))
|
||||
return 0
|
||||
end
|
||||
|
||||
minetest.log("action", S("@1 tried to access a @2 belonging to @3 at @4",
|
||||
playername, name, owner, minetest.pos_to_string(pos)
|
||||
))
|
||||
return 0
|
||||
return allow_put and allow_put(pos, listname, index, stack, player)
|
||||
or stack:get_count()
|
||||
end
|
||||
|
||||
local allow_take = def.allow_metadata_inventory_take
|
||||
@ -155,23 +141,21 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
local owner = meta:get_string("owner")
|
||||
local playername = player:get_player_name()
|
||||
|
||||
if playername == owner or
|
||||
minetest.check_player_privs(playername, "protection_bypass") then
|
||||
return allow_take and allow_take(pos, listname, index, stack, player) or
|
||||
stack:get_count()
|
||||
if (playername ~= owner) then
|
||||
minetest.log("action", string.format("%s tried to access a %s belonging to %s at %s",
|
||||
playername, name, owner, minetest.pos_to_string(pos)
|
||||
))
|
||||
return 0
|
||||
end
|
||||
|
||||
minetest.log("action", S("@1 tried to access a @2 belonging to @3 at @4",
|
||||
playername, name, owner, minetest.pos_to_string(pos)
|
||||
))
|
||||
return 0
|
||||
return allow_take and allow_take(pos, listname, index, stack, player)
|
||||
or stack:get_count()
|
||||
end
|
||||
end
|
||||
|
||||
local lockable = inventory.lockable
|
||||
if lockable then
|
||||
local locked_def = table.copy(original_def)
|
||||
locked_def.description = S("@1 (Locked)", def.description or name)
|
||||
locked_def.description = S("Locked %s"):format(def.description or name)
|
||||
|
||||
local locked_inventory = locked_def.inventory
|
||||
locked_inventory.locked = true
|
||||
|
3
homedecor/handlers/nodeboxes.lua
Normal file → Executable file
3
homedecor/handlers/nodeboxes.lua
Normal file → Executable file
@ -57,3 +57,6 @@ mt.__index = function(table, key)
|
||||
error("unexpected datatype " .. tostring(type(ref)) .. " while looking for " .. key)
|
||||
end
|
||||
setmetatable(homedecor.nodebox, mt)
|
||||
|
||||
|
||||
|
||||
|
2
homedecor/handlers/registration.lua
Normal file → Executable file
2
homedecor/handlers/registration.lua
Normal file → Executable file
@ -1,5 +1,5 @@
|
||||
homedecor = homedecor or {}
|
||||
|
||||
local S = homedecor.gettext
|
||||
local placeholder_node = "homedecor:expansion_placeholder"
|
||||
|
||||
--wrapper around minetest.register_node that sets sane defaults and interprets some specialized settings
|
||||
|
4
homedecor/handlers/sit.lua
Normal file → Executable file
4
homedecor/handlers/sit.lua
Normal file → Executable file
@ -1,6 +1,5 @@
|
||||
function homedecor.sit(pos, node, clicker)
|
||||
return -- delete it when the engine is stabler for the player's physics
|
||||
--[[
|
||||
do return end -- delete it when the engine is stabler for the player's physics
|
||||
local meta = minetest.get_meta(pos)
|
||||
local param2 = node.param2
|
||||
local name = clicker:get_player_name()
|
||||
@ -30,5 +29,4 @@ function homedecor.sit(pos, node, clicker)
|
||||
clicker:set_look_yaw(4.75)
|
||||
else return end
|
||||
end
|
||||
--]]
|
||||
end
|
||||
|
9
homedecor/handlers/water_particles.lua
Normal file → Executable file
9
homedecor/handlers/water_particles.lua
Normal file → Executable file
@ -25,8 +25,8 @@ function homedecor.start_particle_spawner(pos, node, particledef, soundname)
|
||||
|
||||
if id ~= 0 then
|
||||
if s_handle then
|
||||
minetest.after(0, function(handle)
|
||||
minetest.sound_stop(handle)
|
||||
minetest.after(0, function(s_handle)
|
||||
minetest.sound_stop(s_handle)
|
||||
end, s_handle)
|
||||
end
|
||||
minetest.delete_particlespawner(id)
|
||||
@ -104,11 +104,12 @@ function homedecor.stop_particle_spawner(pos)
|
||||
end
|
||||
|
||||
if s_handle then
|
||||
minetest.after(0, function(handle)
|
||||
minetest.sound_stop(handle)
|
||||
minetest.after(0, function(s_handle)
|
||||
minetest.sound_stop(s_handle)
|
||||
end, s_handle)
|
||||
end
|
||||
|
||||
this_spawner_meta:set_int("active", nil)
|
||||
this_spawner_meta:set_int("sound", nil)
|
||||
end
|
||||
|
||||
|
30
homedecor/init.lua
Normal file → Executable file
30
homedecor/init.lua
Normal file → Executable file
@ -9,11 +9,12 @@
|
||||
|
||||
local modpath = minetest.get_modpath("homedecor")
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
homedecor = {
|
||||
modpath = modpath,
|
||||
|
||||
-- Boilerplate to support localized strings if intllib mod is installed.
|
||||
gettext = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end,
|
||||
|
||||
-- infinite stacks
|
||||
expect_infinite_stacks = minetest.setting_getbool("creative_mode") and not minetest.get_modpath("unified_inventory")
|
||||
}
|
||||
@ -31,6 +32,9 @@ function homedecor.find_ceiling(itemstack, placer, pointed_thing)
|
||||
itemstack, pointed_thing)
|
||||
return
|
||||
end
|
||||
local pitch = placer:get_look_pitch()
|
||||
local fdir = core.dir_to_facedir(placer:get_look_dir())
|
||||
local wield_name = itemstack:get_name()
|
||||
|
||||
local above = pointed_thing.above
|
||||
local under = pointed_thing.under
|
||||
@ -46,6 +50,7 @@ function homedecor.find_ceiling(itemstack, placer, pointed_thing)
|
||||
if undef and undef.buildable_to then
|
||||
pos = pointed_thing.under
|
||||
node = unode
|
||||
iswall = false
|
||||
end
|
||||
|
||||
if core.is_protected(pos, placer:get_player_name()) then
|
||||
@ -63,15 +68,18 @@ end
|
||||
|
||||
screwdriver = screwdriver or {}
|
||||
|
||||
homedecor.plain_wood = { name = "homedecor_generic_wood_plain.png", color = 0xffa76820 }
|
||||
homedecor.mahogany_wood = { name = "homedecor_generic_wood_plain.png", color = 0xff7d2506 }
|
||||
homedecor.white_wood = "homedecor_generic_wood_plain.png"
|
||||
homedecor.dark_wood = { name = "homedecor_generic_wood_plain.png", color = 0xff39240f }
|
||||
homedecor.lux_wood = { name = "homedecor_generic_wood_luxury.png", color = 0xff643f23 }
|
||||
homedecor.plain_wood = "homedecor_generic_wood_plain.png^"..
|
||||
"(homedecor_generic_wood_boards_overlay.png^[colorize:#a7682020:100)"
|
||||
|
||||
homedecor.mahogany_wood = "(homedecor_generic_wood_plain.png^[colorize:#401010:125)^"..
|
||||
"(homedecor_generic_wood_boards_overlay.png^[colorize:#66493880:200)"
|
||||
|
||||
homedecor.white_wood = "(homedecor_generic_wood_plain.png^[colorize:#e0f0ff:200)^"..
|
||||
"(homedecor_generic_wood_boards_overlay.png^[colorize:#ffffff:200)"
|
||||
|
||||
homedecor.dark_wood = "(homedecor_generic_wood_plain.png^[colorize:#140900:200)^"..
|
||||
"(homedecor_generic_wood_boards_overlay.png^[colorize:#21110180:180)"
|
||||
|
||||
homedecor.color_black = 0xff303030
|
||||
homedecor.color_dark_grey = 0xff606060
|
||||
homedecor.color_med_grey = 0xffa0a0a0
|
||||
|
||||
-- load different handler subsystems
|
||||
dofile(modpath.."/handlers/init.lua")
|
||||
@ -123,4 +131,4 @@ dofile(modpath.."/wardrobe.lua")
|
||||
|
||||
dofile(modpath.."/crafts.lua")
|
||||
|
||||
print("[HomeDecor] " .. S("Loaded!"))
|
||||
print("[HomeDecor] " .. homedecor.gettext("Loaded!"))
|
||||
|
21
homedecor/kitchen_appliances.lua
Normal file → Executable file
21
homedecor/kitchen_appliances.lua
Normal file → Executable file
@ -1,8 +1,6 @@
|
||||
-- This file supplies refrigerators
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local function N_(x) return x end
|
||||
local S = homedecor.gettext
|
||||
|
||||
-- steel-textured fridge
|
||||
homedecor.register("refrigerator_steel", {
|
||||
@ -50,7 +48,6 @@ minetest.register_alias("homedecor:refrigerator_steel_top", "air")
|
||||
|
||||
minetest.register_alias("homedecor:refrigerator_white_bottom_locked", "homedecor:refrigerator_white_locked")
|
||||
minetest.register_alias("homedecor:refrigerator_white_top_locked", "air")
|
||||
minetest.register_alias("homedecor:refrigerator_locked", "homedecor:refrigerator_white_locked")
|
||||
|
||||
minetest.register_alias("homedecor:refrigerator_steel_bottom_locked", "homedecor:refrigerator_steel_locked")
|
||||
minetest.register_alias("homedecor:refrigerator_steel_top_locked", "air")
|
||||
@ -114,7 +111,7 @@ homedecor.register("coffee_maker", {
|
||||
"homedecor_coffeemaker_cup.png",
|
||||
"homedecor_coffeemaker_case.png",
|
||||
},
|
||||
description = S("Coffee Maker"),
|
||||
description = "Coffee Maker",
|
||||
inventory_image = "homedecor_coffeemaker_inv.png",
|
||||
walkable = false,
|
||||
groups = {snappy=3},
|
||||
@ -161,7 +158,7 @@ minetest.register_abm({
|
||||
})
|
||||
|
||||
homedecor.register("toaster", {
|
||||
description = S("Toaster"),
|
||||
description = "Toaster",
|
||||
tiles = { "homedecor_toaster_sides.png" },
|
||||
inventory_image = "homedecor_toaster_inv.png",
|
||||
walkable = false,
|
||||
@ -172,7 +169,7 @@ homedecor.register("toaster", {
|
||||
{-0.0625, -0.5, -0.125, 0.125, -0.3125, 0.125}, -- NodeBox1
|
||||
},
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
local fdir = node.param2
|
||||
minetest.set_node(pos, { name = "homedecor:toaster_loaf", param2 = fdir })
|
||||
minetest.sound_play("toaster", {
|
||||
@ -180,7 +177,6 @@ homedecor.register("toaster", {
|
||||
gain = 1.0,
|
||||
max_hear_distance = 5
|
||||
})
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
@ -203,17 +199,16 @@ homedecor.register("toaster_loaf", {
|
||||
{0.0625, -0.3125, -0.0935, 0.0935, -0.25, 0.0935}, -- NodeBox3
|
||||
},
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
local fdir = node.param2
|
||||
minetest.set_node(pos, { name = "homedecor:toaster", param2 = fdir })
|
||||
return itemstack
|
||||
end,
|
||||
drop = "homedecor:toaster"
|
||||
})
|
||||
|
||||
|
||||
homedecor.register("dishwasher", {
|
||||
description = S("Dishwasher"),
|
||||
description = "Dishwasher",
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
"homedecor_dishwasher_top.png",
|
||||
@ -237,11 +232,11 @@ homedecor.register("dishwasher", {
|
||||
groups = { snappy = 3 },
|
||||
})
|
||||
|
||||
local materials = { N_("granite"), N_("marble"), N_("steel"), N_("wood") }
|
||||
local materials = {"granite", "marble", "steel", "wood"}
|
||||
|
||||
for _, m in ipairs(materials) do
|
||||
homedecor.register("dishwasher_"..m, {
|
||||
description = S("Dishwasher (@1)", S(m)),
|
||||
description = "Dishwasher ("..m..")",
|
||||
tiles = {
|
||||
"homedecor_kitchen_cabinet_top_"..m..".png",
|
||||
"homedecor_dishwasher_bottom.png",
|
||||
|
21
homedecor/kitchen_furniture.lua
Normal file → Executable file
21
homedecor/kitchen_furniture.lua
Normal file → Executable file
@ -1,21 +1,18 @@
|
||||
-- This file supplies Kitchen cabinets and kitchen sink
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
local counter_materials = { "", "granite", "marble", "steel" }
|
||||
local cabinet_sides = "(default_wood.png^[transformR90)^homedecor_kitchen_cabinet_bevel.png"
|
||||
local cabinet_bottom = "(default_wood.png^[colorize:#000000:100)^(homedecor_kitchen_cabinet_bevel.png^[colorize:#46321580)"
|
||||
|
||||
local function N_(x) return x end
|
||||
|
||||
local counter_materials = { "", N_("granite"), N_("marble"), N_("steel") }
|
||||
|
||||
for _, mat in ipairs(counter_materials) do
|
||||
|
||||
local desc = S("Kitchen Cabinet")
|
||||
local material = ""
|
||||
|
||||
if mat ~= "" then
|
||||
desc = S("Kitchen Cabinet (@1 top)", S(mat))
|
||||
desc = S("Kitchen Cabinet ("..mat.." top)")
|
||||
material = "_"..mat
|
||||
end
|
||||
|
||||
@ -96,7 +93,7 @@ local cp_cbox = {
|
||||
}
|
||||
|
||||
homedecor.register("copper_pans", {
|
||||
description = S("Copper pans"),
|
||||
description = "Copper pans",
|
||||
mesh = "homedecor_copper_pans.obj",
|
||||
tiles = { "homedecor_polished_copper.png" },
|
||||
inventory_image = "homedecor_copper_pans_inv.png",
|
||||
@ -115,17 +112,16 @@ homedecor.register("kitchen_faucet", {
|
||||
mesh = "homedecor_kitchen_faucet.obj",
|
||||
tiles = { "homedecor_generic_metal_bright.png" },
|
||||
inventory_image = "homedecor_kitchen_faucet_inv.png",
|
||||
description = S("Kitchen Faucet"),
|
||||
description = "Kitchen Faucet",
|
||||
groups = {snappy=3},
|
||||
selection_box = kf_cbox,
|
||||
walkable = false,
|
||||
on_rotate = screwdriver.disallow,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
|
||||
if below and
|
||||
below.name == "homedecor:sink" or
|
||||
below.name == "homedecor:kitchen_cabinet_with_sink" or
|
||||
below.name == "homedecor:kitchen_cabinet_with_sink_locked" then
|
||||
below.name == "homedecor:kitchen_cabinet_with_sink" then
|
||||
local particledef = {
|
||||
outlet = { x = 0, y = -0.19, z = 0.13 },
|
||||
velocity_x = { min = -0.05, max = 0.05 },
|
||||
@ -135,7 +131,6 @@ homedecor.register("kitchen_faucet", {
|
||||
}
|
||||
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_faucet")
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_destruct = homedecor.stop_particle_spawner
|
||||
})
|
||||
@ -147,7 +142,7 @@ homedecor.register("paper_towel", {
|
||||
"default_wood.png"
|
||||
},
|
||||
inventory_image = "homedecor_paper_towel_inv.png",
|
||||
description = S("Paper towels"),
|
||||
description = "Paper towels",
|
||||
groups = { snappy=3 },
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
|
2
homedecor/laundry.lua
Normal file → Executable file
2
homedecor/laundry.lua
Normal file → Executable file
@ -52,7 +52,7 @@ homedecor.register("ironing_board", {
|
||||
mesh = "homedecor_ironing_board.obj",
|
||||
tiles = {
|
||||
"wool_grey.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
|
||||
"homedecor_generic_metal_black.png^[brighten"
|
||||
},
|
||||
expand = {right = "placeholder"},
|
||||
groups = { snappy = 3 },
|
||||
|
534
homedecor/lighting.lua
Normal file → Executable file
534
homedecor/lighting.lua
Normal file → Executable file
@ -1,6 +1,63 @@
|
||||
-- This file supplies glowlights
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local dirs1 = { 20, 23, 22, 21 }
|
||||
local dirs2 = { 9, 18, 7, 12 }
|
||||
|
||||
local S = homedecor.gettext
|
||||
|
||||
local colors = {"yellow","white"}
|
||||
|
||||
for i in ipairs(colors) do
|
||||
local color = colors[i]
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = { "homedecor:glowlight_thin_"..color },
|
||||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
minetest.set_node(pos, {name = "homedecor:glowlight_quarter_"..color, param2 = 20})
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = { "homedecor:glowlight_thick_"..color },
|
||||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
minetest.set_node(pos, {name = "homedecor:glowlight_half_"..color, param2 = 20})
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = { "homedecor:glowlight_thin_"..color.."_wall" },
|
||||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local fdir = node.param2 or 0
|
||||
local nfdir = dirs2[fdir+1]
|
||||
minetest.set_node(pos, {name = "homedecor:glowlight_quarter_"..color, param2 = nfdir})
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = { "homedecor:glowlight_thick_"..color.."_wall" },
|
||||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local fdir = node.param2 or 0
|
||||
local nfdir = dirs2[fdir+1]
|
||||
minetest.set_node(pos, {name = "homedecor:glowlight_half_"..color, param2 = nfdir})
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = { "homedecor:glowlight_small_cube_"..color.."_ceiling" },
|
||||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
minetest.set_node(pos, {name = "homedecor:glowlight_small_cube_"..color, param2 = 20})
|
||||
end,
|
||||
})
|
||||
|
||||
local glowlight_nodebox = {
|
||||
half = homedecor.nodebox.slab_y(1/2),
|
||||
@ -11,92 +68,66 @@ local glowlight_nodebox = {
|
||||
},
|
||||
}
|
||||
|
||||
minetest.register_node("homedecor:glowlight_half", {
|
||||
description = S("Thick Glowlight"),
|
||||
homedecor.register("glowlight_half_"..color, {
|
||||
description = S("Thick Glowlight ("..color..")"),
|
||||
tiles = {
|
||||
"homedecor_glowlight_top.png",
|
||||
"homedecor_glowlight_bottom.png",
|
||||
"homedecor_glowlight_thick_sides.png",
|
||||
"homedecor_glowlight_thick_sides.png",
|
||||
"homedecor_glowlight_thick_sides.png",
|
||||
"homedecor_glowlight_thick_sides.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
wall_top = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 },
|
||||
wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0, 0.5 },
|
||||
wall_side = { -0.5, -0.5, -0.5, 0, 0.5, 0.5 }
|
||||
"homedecor_glowlight_"..color.."_top.png",
|
||||
"homedecor_glowlight_"..color.."_bottom.png",
|
||||
"homedecor_glowlight_thick_"..color.."_sides.png",
|
||||
"homedecor_glowlight_thick_"..color.."_sides.png",
|
||||
"homedecor_glowlight_thick_"..color.."_sides.png",
|
||||
"homedecor_glowlight_thick_"..color.."_sides.png"
|
||||
},
|
||||
selection_box = glowlight_nodebox.half,
|
||||
node_box = glowlight_nodebox.half,
|
||||
groups = { snappy = 3, ud_param2_colorable = 1 },
|
||||
groups = { snappy = 3 },
|
||||
light_source = default.LIGHT_MAX,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
after_place_node = unifieddyes.fix_rotation,
|
||||
after_dig_node = unifieddyes.after_dig_node
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:glowlight_quarter", {
|
||||
description = S("Thin Glowlight"),
|
||||
homedecor.register("glowlight_quarter_"..color, {
|
||||
description = S("Thin Glowlight ("..color..")"),
|
||||
tiles = {
|
||||
"homedecor_glowlight_top.png",
|
||||
"homedecor_glowlight_bottom.png",
|
||||
"homedecor_glowlight_thin_sides.png",
|
||||
"homedecor_glowlight_thin_sides.png",
|
||||
"homedecor_glowlight_thin_sides.png",
|
||||
"homedecor_glowlight_thin_sides.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
wall_top = { -0.5, 0.25, -0.5, 0.5, 0.5, 0.5 },
|
||||
wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.25, 0.5 },
|
||||
wall_side = { -0.5, -0.5, -0.5, -0.25, 0.5, 0.5 }
|
||||
"homedecor_glowlight_"..color.."_top.png",
|
||||
"homedecor_glowlight_"..color.."_bottom.png",
|
||||
"homedecor_glowlight_thin_"..color.."_sides.png",
|
||||
"homedecor_glowlight_thin_"..color.."_sides.png",
|
||||
"homedecor_glowlight_thin_"..color.."_sides.png",
|
||||
"homedecor_glowlight_thin_"..color.."_sides.png"
|
||||
},
|
||||
selection_box = glowlight_nodebox.quarter,
|
||||
node_box = glowlight_nodebox.quarter,
|
||||
groups = { snappy = 3, ud_param2_colorable = 1 },
|
||||
groups = { snappy = 3 },
|
||||
light_source = default.LIGHT_MAX-1,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
after_place_node = unifieddyes.fix_rotation,
|
||||
after_dig_node = unifieddyes.after_dig_node
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:glowlight_small_cube", {
|
||||
description = S("Small Glowlight Cube"),
|
||||
-- Glowlight "cubes"
|
||||
|
||||
homedecor.register("glowlight_small_cube_"..color, {
|
||||
description = S("Small Glowlight Cube ("..color..")"),
|
||||
tiles = {
|
||||
"homedecor_glowlight_cube_tb.png",
|
||||
"homedecor_glowlight_cube_tb.png",
|
||||
"homedecor_glowlight_cube_sides.png",
|
||||
"homedecor_glowlight_cube_sides.png",
|
||||
"homedecor_glowlight_cube_sides.png",
|
||||
"homedecor_glowlight_cube_sides.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "colorwallmounted",
|
||||
drawtype = "nodebox",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
wall_top = { -0.25, 0, -0.25, 0.25, 0.5, 0.25 },
|
||||
wall_bottom = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 },
|
||||
wall_side = { -0.5, -0.25, -0.25, 0, 0.25, 0.25 }
|
||||
"homedecor_glowlight_cube_"..color.."_tb.png",
|
||||
"homedecor_glowlight_cube_"..color.."_tb.png",
|
||||
"homedecor_glowlight_cube_"..color.."_sides.png",
|
||||
"homedecor_glowlight_cube_"..color.."_sides.png",
|
||||
"homedecor_glowlight_cube_"..color.."_sides.png",
|
||||
"homedecor_glowlight_cube_"..color.."_sides.png"
|
||||
},
|
||||
selection_box = glowlight_nodebox.small_cube,
|
||||
node_box = glowlight_nodebox.small_cube,
|
||||
groups = { snappy = 3, ud_param2_colorable = 1 },
|
||||
groups = { snappy = 3 },
|
||||
light_source = default.LIGHT_MAX-1,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
after_place_node = unifieddyes.fix_rotation,
|
||||
after_dig_node = unifieddyes.after_dig_node
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
|
||||
end
|
||||
|
||||
homedecor.register("plasma_lamp", {
|
||||
description = S("Plasma Lamp"),
|
||||
description = "Plasma Lamp",
|
||||
drawtype = "glasslike_framed",
|
||||
tiles = {"default_gold_block.png","homedecor_glass_face_clean.png"},
|
||||
special_tiles = {
|
||||
@ -116,10 +147,10 @@ homedecor.register("plasma_lamp", {
|
||||
})
|
||||
|
||||
homedecor.register("plasma_ball", {
|
||||
description = S("Plasma Ball"),
|
||||
description = "Plasma Ball",
|
||||
mesh = "homedecor_plasma_ball.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_plastic.png",
|
||||
"homedecor_generic_plastic_black.png",
|
||||
{
|
||||
name = "homedecor_plasma_ball_streamers.png",
|
||||
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0},
|
||||
@ -249,10 +280,10 @@ homedecor.register("oil_lamp", {
|
||||
mesh = "homedecor_oil_lamp.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_metal_brass.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_black },
|
||||
{ name = "homedecor_generic_metal.png", color = 0xffa00000 },
|
||||
"homedecor_generic_metal_black.png",
|
||||
"homedecor_generic_metal_black.png^[colorize:#ff0000:160",
|
||||
"homedecor_oil_lamp_wick.png",
|
||||
{ name = "homedecor_generic_metal.png", color = 0xffa00000 },
|
||||
"homedecor_generic_metal_black.png^[colorize:#ff0000:150",
|
||||
"homedecor_oil_lamp_glass.png",
|
||||
},
|
||||
use_texture_alpha = true,
|
||||
@ -325,7 +356,7 @@ homedecor.register("ceiling_lantern", {
|
||||
tiles = { "homedecor_light.png", "homedecor_generic_metal_wrought_iron.png" },
|
||||
use_texture_alpha = true,
|
||||
inventory_image = "homedecor_ceiling_lantern_inv.png",
|
||||
description = S("Ceiling Lantern"),
|
||||
description = "Ceiling Lantern",
|
||||
groups = {snappy=3},
|
||||
light_source = 11,
|
||||
selection_box = cl_cbox,
|
||||
@ -361,31 +392,17 @@ homedecor.register("lattice_lantern_small", {
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
|
||||
local brightness_tab = {
|
||||
0xffd0d0d0,
|
||||
0xffd8d8d8,
|
||||
0xffe0e0e0,
|
||||
0xffe8e8e8,
|
||||
0xffffffff,
|
||||
}
|
||||
local repl = { off="low", low="med", med="hi", hi="max", max="off", }
|
||||
|
||||
-- table lamps and standing lamps
|
||||
|
||||
local repl = {
|
||||
["off"] ="low",
|
||||
["low"] ="med",
|
||||
["med"] ="hi",
|
||||
["hi"] ="max",
|
||||
["max"] ="off",
|
||||
}
|
||||
local brights_tab = { 0, 50, 100, 150, 200 }
|
||||
|
||||
local lamp_colors = {
|
||||
"white",
|
||||
"blue",
|
||||
"green",
|
||||
"pink",
|
||||
"red",
|
||||
"violet",
|
||||
{"white", "#ffffffe0:175"},
|
||||
{"blue", "#2626c6e0:200"},
|
||||
{"green", "#27a927e0:200"},
|
||||
{"pink", "#ff8fb7e0:200"},
|
||||
{"red", "#ad2323e0:200"},
|
||||
{"violet", "#7f29d7e0:200"}
|
||||
}
|
||||
|
||||
local tlamp_cbox = {
|
||||
@ -398,109 +415,111 @@ local slamp_cbox = {
|
||||
fixed = { -0.25, -0.5, -0.25, 0.25, 1.5, 0.25 }
|
||||
}
|
||||
|
||||
local function reg_lamp(suffix, nxt, light, brightness)
|
||||
local function reg_lamp(suffix, nxt, tilesuffix, light, color)
|
||||
local lampcolor = "_"..color[1]
|
||||
local colordesc = " ("..color[1]..")"
|
||||
local woolcolor = color[1]
|
||||
local invcolor = color[2]
|
||||
local wool_brighten = (light or 0) * 7
|
||||
local bulb_brighten = (light or 0) * 14
|
||||
|
||||
local wool_brighten = (light or 0) * 15
|
||||
if color == "" then
|
||||
lampcolor = ""
|
||||
colordesc = " (white)"
|
||||
woolcolor = "white"
|
||||
end
|
||||
|
||||
homedecor.register("table_lamp_"..suffix, {
|
||||
description = S("Table Lamp"),
|
||||
homedecor.register("table_lamp"..lampcolor.."_"..suffix, {
|
||||
description = S("Table Lamp "..colordesc),
|
||||
mesh = "homedecor_table_lamp.obj",
|
||||
tiles = {
|
||||
"wool_grey.png^[colorize:#ffffff:"..wool_brighten,
|
||||
{ name = "homedecor_table_standing_lamp_lightbulb.png", color = brightness_tab[brightness] },
|
||||
{ name = "homedecor_generic_wood_red.png", color = 0xffffffff },
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_black },
|
||||
"wool_"..woolcolor..".png^[colorize:#ffffff:"..wool_brighten,
|
||||
"homedecor_table_standing_lamp_lightbulb.png^[colorize:#ffffff:"..bulb_brighten,
|
||||
"homedecor_generic_wood_red.png",
|
||||
"homedecor_generic_metal_black.png^[brighten",
|
||||
},
|
||||
inventory_image = "homedecor_table_lamp_foot_inv.png^homedecor_table_lamp_top_inv.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
palette = "unifieddyes_palette_extended.png",
|
||||
place_param2 = 240,
|
||||
inventory_image = "homedecor_table_lamp_foot_inv.png^(homedecor_table_lamp_top_inv.png^[colorize:"..invcolor..")",
|
||||
walkable = false,
|
||||
light_source = light,
|
||||
selection_box = tlamp_cbox,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
groups = {cracky=2,oddly_breakable_by_hand=1, ud_param2_colorable = 1,
|
||||
groups = {cracky=2,oddly_breakable_by_hand=1,
|
||||
not_in_creative_inventory=((light ~= nil) and 1) or nil,
|
||||
},
|
||||
drop = "homedecor:table_lamp_off",
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
node.name = "homedecor:table_lamp_"..repl[suffix]
|
||||
drop = "homedecor:table_lamp"..lampcolor.."_off",
|
||||
on_punch = function(pos, node, puncher)
|
||||
node.name = "homedecor:table_lamp"..lampcolor.."_"..repl[suffix]
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
after_dig_node = unifieddyes.after_dig_node
|
||||
})
|
||||
|
||||
homedecor.register("standing_lamp_"..suffix, {
|
||||
description = S("Standing Lamp"),
|
||||
-- standing lamps
|
||||
|
||||
homedecor.register("standing_lamp"..lampcolor.."_"..suffix, {
|
||||
description = S("Standing Lamp"..colordesc),
|
||||
mesh = "homedecor_standing_lamp.obj",
|
||||
tiles = {
|
||||
"wool_grey.png^[colorize:#ffffff:"..wool_brighten,
|
||||
{ name = "homedecor_table_standing_lamp_lightbulb.png", color = brightness_tab[brightness] },
|
||||
{ name = "homedecor_generic_wood_red.png", color = 0xffffffff },
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_black },
|
||||
"wool_"..woolcolor..".png^[colorize:#ffffff:"..wool_brighten,
|
||||
"homedecor_table_standing_lamp_lightbulb.png^[colorize:#ffffff:"..bulb_brighten,
|
||||
"homedecor_generic_wood_red.png",
|
||||
"homedecor_generic_metal_black.png^[brighten",
|
||||
},
|
||||
inventory_image = "homedecor_standing_lamp_foot_inv.png^homedecor_standing_lamp_top_inv.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
palette = "unifieddyes_palette_extended.png",
|
||||
place_param2 = 240,
|
||||
inventory_image = "homedecor_standing_lamp_foot_inv.png^(homedecor_standing_lamp_top_inv.png^[colorize:"..invcolor..")",
|
||||
walkable = false,
|
||||
light_source = light,
|
||||
groups = {cracky=2,oddly_breakable_by_hand=1, ud_param2_colorable = 1,
|
||||
groups = {cracky=2,oddly_breakable_by_hand=1,
|
||||
not_in_creative_inventory=((light ~= nil) and 1) or nil,
|
||||
},
|
||||
selection_box = slamp_cbox,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rotate = screwdriver.rotate_simple,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
node.name = "homedecor:standing_lamp_"..repl[suffix]
|
||||
on_punch = function(pos, node, puncher)
|
||||
node.name = "homedecor:standing_lamp"..lampcolor.."_"..repl[suffix]
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
after_dig_node = unifieddyes.after_dig_node,
|
||||
expand = { top="placeholder" },
|
||||
})
|
||||
|
||||
minetest.register_alias("homedecor:standing_lamp_bottom"..lampcolor.."_"..suffix, "homedecor:standing_lamp"..lampcolor.."_"..suffix)
|
||||
minetest.register_alias("homedecor:standing_lamp_top"..lampcolor.."_"..suffix, "air")
|
||||
|
||||
-- for old maps that had the original 3dforniture mod
|
||||
minetest.register_alias("3dforniture:table_lamp_"..suffix, "homedecor:table_lamp_"..suffix)
|
||||
if lampcolor == "" then
|
||||
minetest.register_alias("3dforniture:table_lamp_"..suffix, "homedecor:table_lamp_"..suffix)
|
||||
end
|
||||
end
|
||||
|
||||
reg_lamp("off", "low", nil, 1 )
|
||||
reg_lamp("low", "med", 3, 2 )
|
||||
reg_lamp("med", "hi", 7, 3 )
|
||||
reg_lamp("hi", "max", 11, 4 )
|
||||
reg_lamp("max", "off", 14, 5 )
|
||||
|
||||
-- "gooseneck" style desk lamps
|
||||
for _, color in ipairs(lamp_colors) do
|
||||
reg_lamp("off", "low", "", nil, color )
|
||||
reg_lamp("low", "med", "l", 3, color )
|
||||
reg_lamp("med", "hi", "m", 7, color )
|
||||
reg_lamp("hi", "max", "h", 11, color )
|
||||
reg_lamp("max", "off", "x", 14, color )
|
||||
end
|
||||
|
||||
local dlamp_cbox = {
|
||||
type = "wallmounted",
|
||||
wall_side = { -0.2, -0.5, -0.15, 0.32, 0.12, 0.15 },
|
||||
type = "fixed",
|
||||
fixed = { -0.2, -0.5, -0.15, 0.32, 0.12, 0.15 },
|
||||
}
|
||||
|
||||
homedecor.register("desk_lamp", {
|
||||
description = S("Desk Lamp"),
|
||||
mesh = "homedecor_desk_lamp.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_metal.png",
|
||||
"homedecor_generic_metal.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
|
||||
{ name = "homedecor_table_standing_lamp_lightbulb.png", color = brightness_tab[5] },
|
||||
},
|
||||
inventory_image = "homedecor_desk_lamp_inv.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
selection_box = dlamp_cbox,
|
||||
node_box = dlamp_cbox,
|
||||
walkable = false,
|
||||
groups = {snappy=3, ud_param2_colorable = 1},
|
||||
after_place_node = unifieddyes.fix_rotation_nsew,
|
||||
after_dig_node = unifieddyes.after_dig_node,
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew
|
||||
})
|
||||
local dlamp_colors = { "red","blue","green","violet" }
|
||||
|
||||
-- "kitchen"/"dining room" ceiling lamp
|
||||
for _, color in ipairs(dlamp_colors) do
|
||||
homedecor.register("desk_lamp_"..color, {
|
||||
description = S("Desk Lamp ("..color..")"),
|
||||
mesh = "homedecor_desk_lamp.obj",
|
||||
tiles = {
|
||||
"homedecor_table_standing_lamp_lightbulb.png^[colorize:#ffffff:200",
|
||||
"homedecor_generic_metal_black.png^[colorize:"..color..":150",
|
||||
"homedecor_generic_metal_black.png",
|
||||
"homedecor_generic_metal_black.png^[colorize:"..color..":150"
|
||||
},
|
||||
inventory_image = "homedecor_desk_lamp_stem_inv.png^(homedecor_desk_lamp_metal_inv.png^[colorize:"..color..":140)",
|
||||
selection_box = dlamp_cbox,
|
||||
walkable = false,
|
||||
groups = {snappy=3},
|
||||
})
|
||||
end
|
||||
|
||||
homedecor.register("ceiling_lamp", {
|
||||
description = S("Ceiling Lamp"),
|
||||
@ -508,14 +527,14 @@ homedecor.register("ceiling_lamp", {
|
||||
tiles = {
|
||||
"homedecor_generic_metal_brass.png",
|
||||
"homedecor_ceiling_lamp_glass.png",
|
||||
"homedecor_table_standing_lamp_lightbulb.png",
|
||||
{ name = "homedecor_generic_plastic.png", color = 0xff442d04 },
|
||||
"homedecor_table_standing_lamp_lightbulb.png^[colorize:#ffffff:200",
|
||||
"homedecor_generic_plastic_black.png^[colorize:#442d04:200",
|
||||
},
|
||||
inventory_image = "homedecor_ceiling_lamp_inv.png",
|
||||
light_source = default.LIGHT_MAX,
|
||||
groups = {snappy=3},
|
||||
walkable = false,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_punch = function(pos, node, puncher)
|
||||
minetest.set_node(pos, {name = "homedecor:ceiling_lamp_off"})
|
||||
end,
|
||||
})
|
||||
@ -526,200 +545,13 @@ homedecor.register("ceiling_lamp_off", {
|
||||
tiles = {
|
||||
"homedecor_generic_metal_brass.png",
|
||||
"homedecor_ceiling_lamp_glass.png",
|
||||
{ "homedecor_table_standing_lamp_lightbulb.png", color = 0xffd0d0d0 },
|
||||
{ name = "homedecor_generic_plastic.png", color = 0xff442d04 },
|
||||
"homedecor_table_standing_lamp_lightbulb.png",
|
||||
"homedecor_generic_plastic_black.png^[colorize:#442d04:200",
|
||||
},
|
||||
groups = {snappy=3, not_in_creative_inventory=1},
|
||||
walkable = false,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_punch = function(pos, node, puncher)
|
||||
minetest.set_node(pos, {name = "homedecor:ceiling_lamp"})
|
||||
end,
|
||||
drop = "homedecor:ceiling_lamp"
|
||||
})
|
||||
|
||||
-- conversion LBM for param2 coloring
|
||||
|
||||
homedecor.old_static_nodes = {
|
||||
"homedecor:glowlight_quarter_white",
|
||||
"homedecor:glowlight_quarter_yellow",
|
||||
"homedecor:glowlight_half_white",
|
||||
"homedecor:glowlight_half_yellow",
|
||||
"homedecor:glowlight_small_cube_white",
|
||||
"homedecor:glowlight_small_cube_yellow"
|
||||
}
|
||||
|
||||
local lamp_power = {"off", "low", "med", "hi", "max"}
|
||||
|
||||
for _, power in ipairs(lamp_power) do
|
||||
for _, color in ipairs(lamp_colors) do
|
||||
table.insert(homedecor.old_static_nodes, "homedecor:table_lamp_"..color.."_"..power)
|
||||
table.insert(homedecor.old_static_nodes, "homedecor:standing_lamp_"..color.."_"..power)
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "homedecor:convert_lighting",
|
||||
label = "Convert homedecor glowlights, table lamps, and standing lamps to use param2 color",
|
||||
run_at_every_load = false,
|
||||
nodenames = homedecor.old_static_nodes,
|
||||
action = function(pos, node)
|
||||
local name = node.name
|
||||
local newname
|
||||
local color
|
||||
|
||||
if string.find(name, "small_cube") then
|
||||
newname = "homedecor:glowlight_small_cube"
|
||||
elseif string.find(name, "glowlight_half") then
|
||||
newname = "homedecor:glowlight_half"
|
||||
elseif string.find(name, "glowlight_quarter") then
|
||||
newname = "homedecor:glowlight_quarter"
|
||||
end
|
||||
|
||||
local lampname
|
||||
if string.find(name, "standing_lamp") then
|
||||
lampname = "homedecor:standing_lamp"
|
||||
elseif string.find(name, "table_lamp") then
|
||||
lampname = "homedecor:table_lamp"
|
||||
end
|
||||
if lampname then
|
||||
newname = lampname
|
||||
if string.find(name, "_off") then
|
||||
newname = newname.."_off"
|
||||
elseif string.find(name, "_low") then
|
||||
newname = newname.."_low"
|
||||
elseif string.find(name, "_med") then
|
||||
newname = newname.."_med"
|
||||
elseif string.find(name, "_hi") then
|
||||
newname = newname.."_hi"
|
||||
elseif string.find(name, "_max") then
|
||||
newname = newname.."_max"
|
||||
end
|
||||
end
|
||||
|
||||
if string.find(name, "red") then
|
||||
color = "red"
|
||||
elseif string.find(name, "pink") then
|
||||
color = "pink"
|
||||
elseif string.find(name, "green") then
|
||||
color = "green"
|
||||
elseif string.find(name, "blue") then
|
||||
color = "blue"
|
||||
elseif string.find(name, "yellow") then
|
||||
color = "yellow"
|
||||
elseif string.find(name, "violet") then
|
||||
color = "violet"
|
||||
else
|
||||
color = "white"
|
||||
end
|
||||
|
||||
local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, "extended")
|
||||
|
||||
local old_fdir
|
||||
local new_node = newname
|
||||
local new_fdir = 1
|
||||
local param2
|
||||
|
||||
if string.find(name, "glowlight") then
|
||||
paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted")
|
||||
|
||||
old_fdir = math.floor(node.param2 / 4)
|
||||
|
||||
if old_fdir == 5 then
|
||||
new_fdir = 0
|
||||
elseif old_fdir == 1 then
|
||||
new_fdir = 5
|
||||
elseif old_fdir == 2 then
|
||||
new_fdir = 4
|
||||
elseif old_fdir == 3 then
|
||||
new_fdir = 3
|
||||
elseif old_fdir == 4 then
|
||||
new_fdir = 2
|
||||
elseif old_fdir == 0 then
|
||||
new_fdir = 1
|
||||
end
|
||||
param2 = paletteidx + new_fdir
|
||||
else
|
||||
param2 = paletteidx
|
||||
end
|
||||
|
||||
local meta = minetest.get_meta(pos)
|
||||
|
||||
if string.find(name, "table_lamp") or string.find(name, "standing_lamp") then
|
||||
meta:set_string("palette", "ext")
|
||||
end
|
||||
|
||||
minetest.set_node(pos, { name = new_node, param2 = param2 })
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
end
|
||||
})
|
||||
|
||||
-- this one's for the small "gooseneck" desk lamps
|
||||
|
||||
homedecor.old_static_desk_lamps = {
|
||||
"homedecor:desk_lamp_red",
|
||||
"homedecor:desk_lamp_blue",
|
||||
"homedecor:desk_lamp_green",
|
||||
"homedecor:desk_lamp_violet",
|
||||
}
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "homedecor:convert_desk_lamps",
|
||||
label = "Convert homedecor desk lamps to use param2 color",
|
||||
run_at_every_load = false,
|
||||
nodenames = homedecor.old_static_desk_lamps,
|
||||
action = function(pos, node)
|
||||
local name = node.name
|
||||
local color = string.sub(name, string.find(name, "_", -8) + 1)
|
||||
|
||||
if color == "green" then
|
||||
color = "medium_green"
|
||||
elseif color == "violet" then
|
||||
color = "magenta"
|
||||
end
|
||||
|
||||
local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted")
|
||||
local old_fdir = math.floor(node.param2 % 32)
|
||||
local new_fdir = 3
|
||||
|
||||
if old_fdir == 0 then
|
||||
new_fdir = 3
|
||||
elseif old_fdir == 1 then
|
||||
new_fdir = 4
|
||||
elseif old_fdir == 2 then
|
||||
new_fdir = 2
|
||||
elseif old_fdir == 3 then
|
||||
new_fdir = 5
|
||||
end
|
||||
|
||||
local param2 = paletteidx + new_fdir
|
||||
|
||||
minetest.set_node(pos, { name = "homedecor:desk_lamp", param2 = param2 })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "homedecor:recolor_lighting",
|
||||
label = "Convert some kinds of lights to use UD extended palette",
|
||||
run_at_every_load = false,
|
||||
nodenames = {
|
||||
"homedecor:table_lamp_off",
|
||||
"homedecor:table_lamp_low",
|
||||
"homedecor:table_lamp_med",
|
||||
"homedecor:table_lamp_hi",
|
||||
"homedecor:table_lamp_max",
|
||||
"homedecor:standing_lamp_off",
|
||||
"homedecor:standing_lamp_low",
|
||||
"homedecor:standing_lamp_med",
|
||||
"homedecor:standing_lamp_hi",
|
||||
"homedecor:standing_lamp_max",
|
||||
},
|
||||
action = function(pos, node)
|
||||
local meta = minetest.get_meta(pos)
|
||||
if meta:get_string("palette") ~= "ext" then
|
||||
minetest.swap_node(pos, { name = node.name, param2 = unifieddyes.convert_classic_palette[node.param2] })
|
||||
meta:set_string("palette", "ext")
|
||||
end
|
||||
end
|
||||
})
|
||||
|
0
homedecor/listnodes.sh
Normal file → Executable file
0
homedecor/listnodes.sh
Normal file → Executable file
221
homedecor/locale/de.txt
Executable file
221
homedecor/locale/de.txt
Executable file
@ -0,0 +1,221 @@
|
||||
# Translation by Xanthin
|
||||
|
||||
### Special strings ###
|
||||
|
||||
### kitchen_cabinet.lua ###
|
||||
Kitchen Cabinet = Kuechenschrank
|
||||
## 1: Player name, 2: position
|
||||
%s moves stuff in kitchen cabinet at %s = %s bewegt etwas im Kuechenschrank bei %s
|
||||
%s moves stuff to kitchen cabinet at %s = %s legt etwas in den Kuechenschrank bei %s
|
||||
%s takes stuff from kitchen cabinet at %s = %s nimmt etwas aus dem Kuechenschrank bei %s
|
||||
Half-height Kitchen Cabinet (on ceiling) = Halbhoher Kuechenschrank (haengend)
|
||||
Under-sink cabinet = Unterschrank
|
||||
Kitchen Cabinet with sink = Unterschrank mit Spuele
|
||||
|
||||
### door_models.lua ###
|
||||
Mahogany Closet Door = Wandschranktuer aus Mahagoni
|
||||
Oak Closet Door = Wandschranktuer aus Eiche
|
||||
Fancy Wood/Glass Door = Schicke Holz/Glastuer
|
||||
Glass Office Door = Glasbuerotuer
|
||||
Glass and Wood, Mahogany-colored = Glas-Holz-Tuer, mahagonifarben
|
||||
Glass and Wood, Oak-colored = Glas-Holz-Tuer, eichefarben
|
||||
Glass and Wood, White = Glas-Holz-Tuer, weiss
|
||||
Plain Wooden Door = Einfache Holztuer
|
||||
left = links
|
||||
right = rechts
|
||||
## 1: Side the doors opens to
|
||||
#deaktiviert, weil es nicht funktioniert
|
||||
#(Top Half, %s-opening) = (obere Haelfte, %soeffnend)
|
||||
#(%s-opening) = (%soeffnend)
|
||||
|
||||
|
||||
### door_nodes.lua ###
|
||||
Not enough space above that spot to place a door! = Es gibt nicht genug Raum ueber dieser Stelle um die Tuer zu platzieren!
|
||||
|
||||
### crafts.lua ###
|
||||
Brass Ingot = Messingbarren
|
||||
Bucket of white paint = Eimer mit weisser Farbe
|
||||
Legs for Small Utility table = Tischbeine fuer kleinen Arbeitsplatte
|
||||
Plastic sheet = Kunststoffplatte
|
||||
Silicon lump = Silikonklumpen
|
||||
Simple Integrated Circuit = Einfacher integrierter Schaltkreis
|
||||
Small Wooden Drawer = Kleiner Holzschubkasten
|
||||
Terracotta Roof Tile = Terrakottadachziegel
|
||||
Titanium Dioxide = Titandioxid
|
||||
Uncooked Terracotta Base = Ungebrannte Terrakotta
|
||||
Unprocessed Plastic base = Unverarbeitetes Plastik
|
||||
|
||||
### door_models.lua ###
|
||||
|
||||
### door_nodes.lua ###
|
||||
|
||||
### fences.lua ###
|
||||
Barbed Wire Fence = Stacheldrahtzaun
|
||||
Barbed Wire Fence Corner = Stacheldrahtzaunecke
|
||||
Barbed Wire Fence Gate = Stacheldrahtzauntor
|
||||
Brass Fence/railing = Messingzaun/Gelaender
|
||||
Brass Fence/railing with sign = Messingzaun/Gelaender mit Schild
|
||||
Chainlink Fence = Maschendrahtzaun
|
||||
Chainlink Fence Corner = Maschendrahtzaunecke
|
||||
Chainlink Fence Gate = Maschendrahtzauntor
|
||||
Unpainted Picket Fence = Unlackierter Lattenenzaun
|
||||
Unpainted Picket Fence Corner = Unlackierte Lattenenzaunecke
|
||||
Unpainted Picket Fence Gate = Unlackiertes Lattenzauntor
|
||||
White Picket Fence = Weisser Lattenzaun
|
||||
White Picket Fence Corner = Weisse Lattenzaunecke
|
||||
White Picket Fence Gate = Weisses Lattenzauntor
|
||||
Wooden Privacy Fence = Sichtschutzzaun aus Holz
|
||||
Wooden Privacy Fence Corner = Sichtschutzzaunecke aus Holz
|
||||
Wrought Iron Fence/railing = Schmiedeeiserner Zaun/Gelaender
|
||||
Wrought Iron Fence/railing with sign = Schmiedeeiserner Zaun/Gelaender mit Schild
|
||||
want to simply place the wielded item like usual. = Moechte einfach den getragenen Gegenstand wie gewohnt platzieren.
|
||||
|
||||
### furniture.lua ###
|
||||
Table = Tisch
|
||||
Chair = Stuhl
|
||||
Black = schwarz
|
||||
Red = rot
|
||||
Pink = rosa
|
||||
Violet = violett
|
||||
Blue = blau
|
||||
Dark Green = dunkelgruen
|
||||
## 1: Color name
|
||||
Armchair (%s) = Sessel (%s)
|
||||
Table Lamp = Tischlampe
|
||||
|
||||
### furniture_medieval.lua ###
|
||||
Bars = Gitterstaebe
|
||||
Binding Bars = Eckverbindung fuer Gitterstaebe
|
||||
Chains = Ketten
|
||||
Wall Torch = Wandfackel
|
||||
|
||||
### furniture_bathroom.lua ###
|
||||
Toilet = Toilette
|
||||
Sink = Waschbecken
|
||||
Taps = Wasserhahn
|
||||
Shower Tray = Duschtasse
|
||||
Shower Head = Duschbrause
|
||||
|
||||
### init.lua ###
|
||||
Loaded! = Geladen!
|
||||
Air Conditioner = Klimaanlage
|
||||
Asphalt Shingles = Asphaltschindeln
|
||||
Asphalt Shingles (outer corner) = Asphaltschindeln (Aussenecke)
|
||||
Asphalt Shingles (inner corner) = Asphaltschindeln (Innenecke)
|
||||
Black Plastic Flower Pot = Schwarzer Plastikblumentopf
|
||||
Brass Pole = Messingstange
|
||||
Brass Table Legs = Messingtischbeine
|
||||
Wrought Iron Table Legs = Schmiedeeiserne Tischbeine
|
||||
red = rot
|
||||
green = gruen
|
||||
blue = blau
|
||||
white = weiss
|
||||
pink = rosa
|
||||
violet = violett
|
||||
## 1: Color name
|
||||
Curtains (%s) = Vorhaenge (%s)
|
||||
Drop-Ceiling Tile = Deckenplatte
|
||||
Glass Skylight = Glasdachfenster
|
||||
Glass Skylight Frosted = Milchglasdachfenster
|
||||
Glass Table (Small, Round) = Glastischplatte (klein, rund)
|
||||
Glass Table (Small, Square) = Glastischplatte (klein, quadratisch)
|
||||
Glass Table Piece (large) = Glastischplatte (gross)
|
||||
Green Plastic Flower Pot = Gruener Plastikblumentopf
|
||||
Large Area Rug = Grosser Teppich
|
||||
Glass Table Piece (large) = Glastischplatte (gross)
|
||||
Large Stereo Speaker = Grosser Lautsprecher
|
||||
Legs for Utility Table = Tischbeine fuer Arbeitsplatte
|
||||
Projection Screen Material = Projektorleinwand
|
||||
Small Surround Speaker = Kleiner Lautsprecher
|
||||
Small Throw Rug = Kleiner Teppich
|
||||
Stereo Receiver = Stereoanlage
|
||||
Terracotta Flower Pot = Terrakottablumentopf
|
||||
Terracotta Shingles = Terrakottaschindeln
|
||||
Terracotta Shingles (outer corner) = Terrakottaschindeln (Aussenecke)
|
||||
Terracotta Shingles (inner corner) = Terrakottaschindeln (Innenecke)
|
||||
Textured Ceiling Paint = Deckenfarbe (Raufaser)
|
||||
Utility Table = Arbeitsplatte
|
||||
Utility table mk2 = Arbeitsplatte Modell 2
|
||||
Wooden Shutter (Black) = Holzjalousie (schwarz)
|
||||
Wooden Shutter (Dark grey) = Holzjalousie (dunkelgrau)
|
||||
Wooden Shutter (Forest green) = Holzjalousie (waldgruen)
|
||||
Wooden Shutter (Grey) = Holzjalousie (grau)
|
||||
Wooden Shutter (Light blue) = Holzjalousie (hellblau)
|
||||
Wooden Shutter (Violet) = Holzjalousie (violett)
|
||||
Wooden Shutter (Red) = Holzjalousie (rot)
|
||||
Wooden Shutter (Mahogany) = Holzjalousie (mahagoni)
|
||||
Wooden Shutter (Unpainted oak) = Holzjalousie (eiche)
|
||||
Wooden Shutter (White) = Holzjalousie (weiss)
|
||||
Wooden Shutter (Yellow) = Holzjalousie (gelb)
|
||||
Wood Table Piece (large)= Holztischplatte (gross)
|
||||
Wood Table (Small, Round) = Holztischplatte (klein, rund)
|
||||
Wood Table (Small, Square) = Holztischplatte (klein, quadratisch)
|
||||
Wood Shingles = Holzschindeln
|
||||
Wood Shingles (outer corner) = Holzschindeln (Aussenecke)
|
||||
Wood Shingles (inner corner) = Holzschindeln (Innenecke)
|
||||
Wrought Iron Pole = Schmiedeeiserne Stange
|
||||
someone = jemand
|
||||
## 1: Player name
|
||||
Sorry, %s owns that spot. = Tut mir leid, %s gehoert diese Stelle.
|
||||
|
||||
### lighting.lua ###
|
||||
White Glowlight (small cube) = Weisse Gluehlampe (kleiner Wuerfel)
|
||||
White Glowlight (small cube, on ceiling) = Weisse Gluehlampe (kleiner Wuerfel, an der Decke)
|
||||
White Glowlight (thick) = Weisse Gluehlampe (dick)
|
||||
White Glowlight (thick, on wall) = Weisse Gluehlampe (dick, an der Wand)
|
||||
White Glowlight (thin) = Weisse Gluehlampe (duenn)
|
||||
White Glowlight (thin, on wall) = Weisse Gluehlampe (duenn, an der Wand)
|
||||
Yellow Glowlight (small cube) = Gelbe Gluehlampe (kleiner Wuerfel)
|
||||
Yellow Glowlight (small cube, on ceiling) = Gelbe Gluehlampe (kleiner Wuerfel, an der Decke)
|
||||
Yellow Glowlight (thick) = Gelbe Gluehlampe (dick)
|
||||
Yellow Glowlight (thick, on wall) = Gelbe Gluehlampe (dick, an der Wand)
|
||||
Yellow Glowlight (thin) = Gelbe Gluehlampe (duenn)
|
||||
Yellow Glowlight (thin, on wall) = Gelbe Gluehlampe (duenn, an der Wand)
|
||||
|
||||
### locked.lua ###
|
||||
## 1: Item description, 2: Owner name
|
||||
%s (owned by %s) = %s (gehoert %s)
|
||||
## 1: Player name, 2: Item description, 3: Owner name, 4: Position
|
||||
%s tried to access a %s belonging to %s at %s = %s versuchte Zugang zu %s von %s zu bekommen bei %s
|
||||
## 1: Item description
|
||||
%s (Locked) = %s (verschlossen)
|
||||
Locked Fridge = Verschlossener Kuehlschrank
|
||||
Locked Cabinet = Verschlossener Schrank
|
||||
Locked Nightstand = Verschlossener Nachttisch
|
||||
Locked Oven = Verschlossener Herd
|
||||
Locked Oven (active) = Verschlossener Herd (aktiv)
|
||||
Locked Microwave Oven = Verschlossene Mikrowelle
|
||||
Locked Microwave Oven (active) = Verschlossene Mikrowelle (aktiv)
|
||||
|
||||
### nightstands.lua ###
|
||||
Mahogany Nightstand with One Drawer = Mahagoninachttisch mit einer Schublade
|
||||
Mahogany Nightstand with Two Drawers = Mahagoninachttisch mit zwei Schubladen
|
||||
Oak Nightstand with One Drawer = Eichenachttisch mit einer Schublade
|
||||
Oak Nightstand with Two Drawers = Eichenachttisch mit zwei Schubladen
|
||||
## 1: Player name, 2: position
|
||||
%s moves stuff in nightstand at %s = %s bewegt etwas im Nachttisch
|
||||
%s moves stuff to nightstand at %s = %s legt etwas in den Nachttisch
|
||||
%s takes stuff from nightstand at %s = %s nimmt etwas aus dem Nachttisch
|
||||
One-drawer Nightstand = Nachttisch mit einer Schublade
|
||||
Two-drawer Nightstand = Nachttisch mit zwei Schubladen
|
||||
|
||||
### oven.lua ###
|
||||
Oven = Herd
|
||||
Microwave Oven = Mikrowelle
|
||||
## 1: Item description, 2: Percentage
|
||||
%s active: %d%% = %s ist aktiv: %d%%
|
||||
## 1: Item description
|
||||
%s is empty = %s ist leer
|
||||
: Out of fuel = : kein Brennmaterial vorhanden
|
||||
: output bins are full = : Produktfelder sind voll
|
||||
|
||||
### refrigerator.lua ###
|
||||
Refrigerator = Kuehlschrank
|
||||
## 1: Player name, 2: position
|
||||
%s moves stuff in refrigerator at %s = %s bewegt etwas im Kuehlschrank bei %s
|
||||
%s moves stuff to refrigerator at %s = %s legt etwas in den Kuehlschrank bei %s
|
||||
%s takes stuff from refrigerator at %s = %s nimmt etwas aus dem Kuehlschrank bei %s
|
||||
Not enough vertical space to place a refrigerator! = Es gibt nicht genug Raum ueber dieser Stelle um den Kuehlschrank zu platzieren!
|
||||
|
||||
### television.lua ###
|
||||
Small CRT Television = Kleiner Roehrenfernseher
|
192
homedecor/locale/es.txt
Executable file
192
homedecor/locale/es.txt
Executable file
@ -0,0 +1,192 @@
|
||||
|
||||
#
|
||||
# Language: Español
|
||||
# Author: Diego Martínez <lkaezadl3@gmail.com>
|
||||
#
|
||||
|
||||
### kitchen_cabinet.lua ###
|
||||
Kitchen Cabinet = Gabinete de Cocina
|
||||
## 1: Player name, 2: position
|
||||
%s moves stuff in kitchen cabinet at %s = %s mueve cosas en gabinete de cocina en %s
|
||||
%s moves stuff to kitchen cabinet at %s = %s mueve cosas al gabinete de cocina en %s
|
||||
%s takes stuff from kitchen cabinet at %s = %s toma cosas del gabinete de cocina en %s
|
||||
Half-height Kitchen Cabinet (on ceiling) = Gabinete de cocina de media altura (en techo)
|
||||
Under-sink cabinet = Gabinete con Lavabo
|
||||
Kitchen Cabinet with sink = Gabinete de cocina con lavabo
|
||||
|
||||
### door_models.lua ###
|
||||
Mahogany Closet Door = Puerta de Armario de Caoba
|
||||
Oak Closet Door = Puerta de Armario de Roble
|
||||
Fancy Wood/Glass Door = Puerta de Madera y Cristal de Lujo
|
||||
Glass Office Door = Puerta de Oficina de Cristal
|
||||
Glass and Wood, Mahogany-colored = Cristal y Madera, color Caoba
|
||||
Glass and Wood, Oak-colored = Cristal y Madera, color Roble
|
||||
Glass and Wood, White = Cristal y Madera, color Blanco
|
||||
Plain Wooden Door = Puerta Simple de Madera
|
||||
left = izquierda
|
||||
right = derecha
|
||||
## 1: Side the doors opens to
|
||||
(Top Half, %s-opening) = (Parte Superior, abre a la %s)
|
||||
(%s-opening) = (abre a la %s)
|
||||
|
||||
### door_nodes.lua ###
|
||||
Not enough vertical space to place a door! = ¡No hay suficiente espacio vertical para colocar una puerta!
|
||||
|
||||
### crafts.lua ###
|
||||
Brass Ingot = Lingote de Latón
|
||||
Bucket of white paint = Cubo de Pintura Blanca
|
||||
Legs for Small Utility table = Patas de Mesa Utilitaria Pequeña
|
||||
Plastic sheet = Lámina de Plástico
|
||||
Silicon lump = Terrón de Silicio
|
||||
Simple Integrated Circuit = Circuito Integrado Simple
|
||||
Small Wooden Drawer = Cajón Pequeño de Madera
|
||||
Terracotta Roof Tile = Teja de Terracota
|
||||
Titanium Dioxide = Dióxido de Titanio
|
||||
Uncooked Terracotta Base = Base de Terracota sin Cocer
|
||||
Unprocessed Plastic base = Base de Plástico sin Procesar
|
||||
|
||||
### fences.lua ###
|
||||
Barbed Wire Fence = Cerca de Alambre de Púas
|
||||
Barbed Wire Fence Gate = Portón de Cerca de Alambre de Púas
|
||||
Brass Fence/railing = Cerca/Barandilla de Latón
|
||||
Brass Fence/railing with sign = Cerca/Barandilla de Latón con Letrero
|
||||
Chainlink Fence = Cerca de Cadenas
|
||||
Chainlink Fence Gate = Portón de Cerca de Cadenas
|
||||
Chainlink Fence Gate (open) = Portón de Cerca de Cadenas (Abierto)
|
||||
Unpainted Picket Fence = Cerca de Piquete sin pintar
|
||||
Unpainted Picket Fence Gate = Portón de Cerca de Piquete sin pintar
|
||||
White Picket Fence = Cerca de Piquete blanca
|
||||
White Picket Fence Gate = Portón de Cerca de Piquete blanca
|
||||
Wooden Privacy Fence = Cerca privada de madera
|
||||
Wrought Iron Fence/railing = Cerca/Barandilla de Hierro Forjado
|
||||
Wrought Iron Fence/railing with sign = Cerca/Barandilla de Hierro Forjado con Letrero
|
||||
want to simply place the wielded item like usual. = solo se desea colocar el objeto empuñado normalmente.
|
||||
|
||||
### furniture_medieval.lua ###
|
||||
Bars = Barras
|
||||
Binding Bars = Barras de Unión
|
||||
Chains = Cadenas
|
||||
Wall Torch = Antorcha de Pared
|
||||
|
||||
### furniture_bathroom.lua ###
|
||||
Toilet = Inodoro
|
||||
Sink = Lavabo
|
||||
Taps = Grifo
|
||||
Shower Tray = Piso de Ducha
|
||||
Shower Head = Ducha
|
||||
|
||||
### init.lua ###
|
||||
Loaded! = ¡Cargado!
|
||||
Asphalt Shingles = Tejas de Asfalto
|
||||
Black Plastic Flower Pot = Florero de Plástico Negro
|
||||
Brass Pole = Poste de Latón
|
||||
Brass Table Legs = Patas de Mesa de Latón
|
||||
red = rojas
|
||||
green = verdes
|
||||
blue = azules
|
||||
white = blancas
|
||||
pink = rosas
|
||||
violet = violetas
|
||||
## 1: Color name
|
||||
Curtains (%s) = Cortinas (%s)
|
||||
Drop-Ceiling Tile = Cielorraso
|
||||
Glass Skylight = Claraboya de Cristal
|
||||
Glass Table (Small, Round) = Mesa de Cristal (Pequeña, Redonda)
|
||||
Glass Table (Small, Square) = Mesa de Cristal (Pequeña, Cuadrada)
|
||||
Green Plastic Flower Pot = Florero de Plástico Negro
|
||||
Large Area Rug = Manta Grande
|
||||
Large Glass Table Piece = Pieza de Mesa de Cristal Grande
|
||||
Large Stereo Speaker = Altavoz de Estéreo Grande
|
||||
Legs for Utility Table = Patas de Mesa Utilitaria
|
||||
Projection Screen Material = Material de Pantalla de Proyección
|
||||
Small Surround Speaker = Pequeño Altavoz Envolvente
|
||||
Small Throw Rug = Manta Pequeña
|
||||
Stereo Receiver = Receptor Estéreo
|
||||
Terracotta Flower Pot = Florero de Terracota
|
||||
Terracotta Roofing = Tejado de Terracota
|
||||
Textured Ceiling Paint = Pintura Texturada para Techo
|
||||
Utility Table = Mesa Utilitaria
|
||||
Utility table mk2 = Mesa Utilitaria mk2
|
||||
Wooden Shutter (Black) = Obturador de Madera (Negro)
|
||||
Wooden Shutter (Dark Grey) = Obturador de Madera (Gris Oscuro)
|
||||
Wooden Shutter (Forest Green) = Obturador de Madera (Verde Bosque)
|
||||
Wooden Shutter (Grey) = Obturador de Madera (Gris)
|
||||
Wooden Shutter (Light Blue) = Obturador de Madera (Azul Claro)
|
||||
Wooden Shutter (Purple) = Obturador de Madera (Púrpura)
|
||||
Wooden Shutter (Red) = Obturador de Madera (Rojo)
|
||||
Wooden Shutter (Unpainted Mahogany) = Obturador de Madera (Caoba sin Pintar)
|
||||
Wooden Shutter (Unpainted Oak) = Obturador de Madera (Roble sin Pintar)
|
||||
Wooden Shutter (White) = Obturador de Madera (Blanco)
|
||||
Wooden Shutter (Yellow) = Obturador de Madera (Amarillo)
|
||||
Wooden Tabletop piece = Pieza de Mesa de Madera
|
||||
Wooden Tabletop (Small, Round) = Pieza de Mesa de Madera (Pequeña, Redonda)
|
||||
Wooden Tabletop (Small, Square) = Pieza de Mesa de Madera (Pequeña, Cuadrada)
|
||||
Wood Shingles = Tejas de Madera
|
||||
Wrought Iron Pole = Poste de Hierro Forjado
|
||||
someone = alguien
|
||||
## 1: Player name
|
||||
Sorry, %s owns that spot. = Lo siento, %s es dueño de ése lugar.
|
||||
|
||||
### lighting.lua ###
|
||||
White Glowlight (small cube) = Luz Blanca (cubo pequeño)
|
||||
White Glowlight (small cube, on ceiling) = Luz Blanca (cubo pequeño, en techo)
|
||||
White Glowlight (thick) = Luz Blanca (Gruesa)
|
||||
White Glowlight (thick, on wall) = Luz Blanca (Gruesa, en pared)
|
||||
White Glowlight (thin) = Luz Blanca (Fina)
|
||||
White Glowlight (thin, on wall) = Luz Blanca (Fina, en pared)
|
||||
Yellow Glowlight (small cube) = Luz Amarilla (cubo pequeño)
|
||||
Yellow Glowlight (small cube, on ceiling) = Luz Amarilla (cubo pequeño, en techo)
|
||||
Yellow Glowlight (thick) = Luz Amarilla (Gruesa)
|
||||
Yellow Glowlight (thick, on wall) = Luz Amarilla (Gruesa, en pared)
|
||||
Yellow Glowlight (thin) = Luz Amarilla (Fina)
|
||||
Yellow Glowlight (thin, on wall) = Luz Amarilla (Fina, en pared)
|
||||
|
||||
### locked.lua ###
|
||||
## 1: Item description, 2: Owner name
|
||||
%s (owned by %s) = %s (propiedad de %s)
|
||||
## 1: Player name, 2: Item description, 3: Owner name, 4: Position
|
||||
%s tried to access a %s belonging to %s at %s = %s ha intentado acceder un(a) %s propiedad de %s en %s
|
||||
## 1: Item description
|
||||
%s (Locked) = %s (Cerrado)
|
||||
Locked Cabinet = Gabinete Cerrado
|
||||
Locked Nightstand = Mesa de Noche Cerrada
|
||||
Locked Fridge = Refri Cerrado
|
||||
Locked Oven = Estufa Cerrada
|
||||
|
||||
### nightstands.lua ###
|
||||
Mahogany Nightstand with One Drawer = Mesa de Noche de Caoba, un Cajón
|
||||
Mahogany Nightstand with Two Drawers = Mesa de Noche de Caoba, dos Cajones
|
||||
Oak Nightstand with One Drawer = Mesa de Noche de Roble, un Cajón
|
||||
Oak Nightstand with Two Drawers = Mesa de Noche de Roble, dos Cajones
|
||||
## 1: Player name, 2: position
|
||||
%s moves stuff in nightstand at %s = %s mueve cosas en mesa de noche en %s
|
||||
%s moves stuff to nightstand at %s = %s mueve cosas hacia mesa de noche en %s
|
||||
%s takes stuff from nightstand at %s = %s mueve cosas desde mesa de noche en %s
|
||||
One-drawer Nightstand = Mesa de Noche de un Cajón
|
||||
Two-drawer Nightstand = Mesa de Noche de dos Cajones
|
||||
|
||||
### oven.lua ###
|
||||
Oven = Estufa
|
||||
## 1: Percentage
|
||||
Oven active: %d%% = Estufa activa: %d%%
|
||||
Oven out of fuel = Estufa sin combustible
|
||||
Oven is empty = Estufavacía
|
||||
|
||||
### refrigerator.lua ###
|
||||
Refrigerator = Refrigerador
|
||||
## 1: Player name, 2: position
|
||||
%s moves stuff in refrigerator at %s = %s mueve cosas en refrigerador en %s
|
||||
%s moves stuff to refrigerator at %s = %s mueve cosas hacia refrigerador en %s
|
||||
%s takes stuff from refrigerator at %s = %s mueve cosas desde refrigerador en %s
|
||||
Not enough vertical space to place a refrigerator! = ¡No hay suficiente espacio vertical para colocar un refrigerador!
|
||||
|
||||
### television.lua ###
|
||||
Small CRT Television = Pequeña Televisión CRT
|
||||
|
||||
### signs_lib.lua ###
|
||||
%s wrote "%s" to sign at %s = %s ha escrito "%s" en el letrero en %s
|
||||
Reading cached character database. = Leyendo base de datos de catacteres.
|
||||
Font seems to have changed. Rebuilding cache. = La fuente parece haber cambiado. Reconstruyendo información guardada.
|
||||
Could not find font line height in cached DB. Trying brute force. = No se pudo encontrar la altura de línea en la base de datos. Intentando con fuerza bruta.
|
||||
Registered %s and %s = Registrados %s y %s
|
||||
signs loaded = letreros cargados
|
178
homedecor/locale/fr.txt
Executable file
178
homedecor/locale/fr.txt
Executable file
@ -0,0 +1,178 @@
|
||||
|
||||
#
|
||||
# Language: Français
|
||||
# Author: Calinou
|
||||
#
|
||||
|
||||
### kitchen_cabinet.lua ###
|
||||
Kitchen Cabinet = Meuble de cuisine
|
||||
## 1: Player name, 2: position
|
||||
%s moves stuff in kitchen cabinet at %s = %s déplace des objets dans un meuble de cuisine à %s
|
||||
%s moves stuff to kitchen cabinet at %s = %s édplace des objets vers un meuble de cuisine à %s
|
||||
%s takes stuff from kitchen cabinet at %s = %s prend des objets d'un meuble de cuisine à %s
|
||||
Half-height Kitchen Cabinet (on ceiling) = Meuble de cuisine réduit en hauteur (sur le plafond)
|
||||
Under-sink cabinet = Meuble sous évier
|
||||
Kitchen Cabinet with sink = Meuble de cuisine avec lavabo
|
||||
|
||||
### door_models.lua ###
|
||||
Mahogany Closet Door = Porte en bois d'acajou
|
||||
Oak Closet Door = Porte en bois de chêne
|
||||
Fancy Wood/Glass Door = Porte artistique en bois et verre
|
||||
Glass Office Door = Porte en verre
|
||||
Glass and Wood, Mahogany-colored = Porte couleur acajou en bois et verre
|
||||
Glass and Wood, Oak-colored = Porte couleur chêne en bois et verre
|
||||
Glass and Wood, White = Porte blanche en bois et verre
|
||||
Plain Wooden Door = Porte en bois simple
|
||||
left = gauche
|
||||
right = droite
|
||||
## 1: Side the doors opens to
|
||||
(Top Half, %s-opening) = (partie supérieur, charnière à %s)
|
||||
(%s-opening) = (charnière à %s)
|
||||
|
||||
### door_nodes.lua ###
|
||||
Not enough vertical space to place a door! = Pas assez d'espace vertical pour placer une porte !
|
||||
|
||||
### crafts.lua ###
|
||||
Brass Ingot = Lingot de laiton
|
||||
Bucket of white paint = Seau de peinture blanche
|
||||
Legs for Small Utility table = Pieds pour table basse
|
||||
Plastic sheet = Bout de plastique
|
||||
Silicon lump = Silicone
|
||||
Simple Integrated Circuit = Circuit intégré simple
|
||||
Small Wooden Drawer = Petit tiroir en bois
|
||||
Terracotta Roof Tile = Tuile de toit en terre cuite
|
||||
Titanium Dioxide = Dioxide de titane
|
||||
Uncooked Terracotta Base = Base de terre non cuite
|
||||
Unprocessed Plastic base = Base de plastique non transformée
|
||||
|
||||
### fences.lua ###
|
||||
Barbed Wire Fence = Barrière en fil barbelé
|
||||
Barbed Wire Fence Gate = Porte de barrière en fil barbelé
|
||||
Brass Fence/railing = Barrière en laiton
|
||||
Brass Fence/railing with sign = Barrière en laiton avec pancarte
|
||||
Chainlink Fence = Grillage
|
||||
Chainlink Fence Gate = Porte de grillage
|
||||
Chainlink Fence Gate (open) = Porte de grillage (ouverte)
|
||||
Unpainted Picket Fence = Barrière en piquets non peinte
|
||||
Unpainted Picket Fence Gate = Porte de barrière en piquets non peinte
|
||||
White Picket Fence = Barrière en piquets blanche
|
||||
White Picket Fence Gate = Porte de barrière en piquets blanche
|
||||
Wooden Privacy Fence = Barrière en bois
|
||||
Wrought Iron Fence/railing = Barrière en fer forgé
|
||||
Wrought Iron Fence/railing with sign = Barrière en fer forgé avec pancarte
|
||||
want to simply place the wielded item like usual. = veut simplement placer l'objet comme d'habitude.
|
||||
|
||||
### init.lua ###
|
||||
Loaded! = Chargé !
|
||||
Asphalt Shingles = Bardeaux d'asphalte
|
||||
Black Plastic Flower Pot = Pot de fleur en plastique noir
|
||||
Brass Pole = Barre en laiton
|
||||
Brass Table Legs = Pieds de table en laiton
|
||||
red = rouges
|
||||
green = vertes
|
||||
blue = bleues
|
||||
white = blanches
|
||||
pink = roses
|
||||
violet = violettes
|
||||
## 1: Color name
|
||||
Curtains (%s) = Volets (%s)
|
||||
Drop-Ceiling Tile = Dalle suspendue au plafond
|
||||
Glass Skylight = Verre
|
||||
Glass Table (Small, Round) = Table en verre (petite, ronde)
|
||||
Glass Table (Small, Square) = Table en verre (petite, carrée)
|
||||
Green Plastic Flower Pot = Pot de fleur en plastique vert
|
||||
Large Area Rug = Grande couverture
|
||||
Large Glass Table Piece = Grand bout de verre de table
|
||||
Large Stereo Speaker = Grand haut-parleur stéréo
|
||||
Legs for Utility Table = Pieds pour table basse
|
||||
Projection Screen Material = Matériel pour projecteur
|
||||
Small Surround Speaker = Petit haut-parleur surround
|
||||
Small Throw Rug = Petite couverture
|
||||
Stereo Receiver = Récepteur stéréo
|
||||
Terracotta Flower Pot = Pot de fleur en terre cuite
|
||||
Terracotta Roofing = Tuile en terre cuite
|
||||
Textured Ceiling Paint = Papier peint avec motif pour plafond
|
||||
Utility Table = Table basse
|
||||
Utility table mk2 = Table basse MK2
|
||||
Wooden Shutter (Black) = Volet en bois (noir)
|
||||
Wooden Shutter (Dark Grey) = Volet en bois (gris foncé)
|
||||
Wooden Shutter (Forest Green) = Volet en bois (vert foncé)
|
||||
Wooden Shutter (Grey) = Volet en bois (gris)
|
||||
Wooden Shutter (Light Blue) = Volet en bois (bleu clair)
|
||||
Wooden Shutter (Purple) = Volet en bois (violet)
|
||||
Wooden Shutter (Red) = Volet en bois (rouge)
|
||||
Wooden Shutter (Unpainted Mahogany) = Volet en bois (acajou non peint)
|
||||
Wooden Shutter (Unpainted Oak) = Volet en bois (chêne non peint)
|
||||
Wooden Shutter (White) = Volet en bois (blanc)
|
||||
Wooden Shutter (Yellow) = Volet en bois (jaune)
|
||||
Wooden Tabletop piece = Bout de dessus de table
|
||||
Wooden Tabletop (Small, Round) = Dessus de table (petit, rond)
|
||||
Wooden Tabletop (Small, Square) = Dessus de table (petit, carré)
|
||||
Wood Shingles = Bardeaux de bois
|
||||
Wrought Iron Pole = Barre de fer forgé
|
||||
someone = quelqu'un
|
||||
## 1: Player name
|
||||
Sorry, %s owns that spot. = Désolé, %s est propriétaire de cette zone.
|
||||
|
||||
### lighting.lua ###
|
||||
White Glowlight (small cube) = Lampe blanche (petit cube)
|
||||
White Glowlight (small cube, on ceiling) = Lampe blanche (petit cube, sur le plafond)
|
||||
White Glowlight (thick) = Lampe blanche (épaisse)
|
||||
White Glowlight (thick, on wall) = Lampe blanche (épaisse, sur le mur)
|
||||
White Glowlight (thin) = Lampe blanche (fine)
|
||||
White Glowlight (thin, on wall) = Lampe blanche (fine, sur le mur)
|
||||
Yellow Glowlight (small cube) = Lampe jaune (petit cube)
|
||||
Yellow Glowlight (small cube, on ceiling) = Lampe jaune (petit cube, sur le plafond)
|
||||
Yellow Glowlight (thick) = Lampe jaune (épaisse)
|
||||
Yellow Glowlight (thick, on wall) = Lampe jaune (épaisse, sur le mur)
|
||||
Yellow Glowlight (thin) = Lampe jaune (fine)
|
||||
Yellow Glowlight (thin, on wall) = Lampe jaune (fine, sur le mur)
|
||||
|
||||
### locked.lua ###
|
||||
## 1: Item description, 2: Owner name
|
||||
%s (owned by %s) = %s (propriété de %s)
|
||||
## 1: Player name, 2: Item description, 3: Owner name, 4: Position
|
||||
%s tried to access a %s belonging to %s at %s = %s a essayé d'accéder à %s qui est propriété de %s à %s
|
||||
## 1: Item description
|
||||
%s (Locked) = %s (verrouillé)
|
||||
Locked Cabinet = Meuble verrouillé
|
||||
Locked Nightstand = Table de chevet verrouillée
|
||||
Locked Fridge = Réfrégirateur verrouillé
|
||||
Locked Oven = Four verrouillé
|
||||
|
||||
### nightstands.lua ###
|
||||
Mahogany Nightstand with One Drawer = Table de chevet en acajou avec un tiroir
|
||||
Mahogany Nightstand with Two Drawers = Table de chevet en acajou avec deux tiroirs
|
||||
Oak Nightstand with One Drawer = Table de chevet en chêne avec un tiroir
|
||||
Oak Nightstand with Two Drawers = Table de chevet en chêne avec deux tiroirs
|
||||
## 1: Player name, 2: position
|
||||
%s moves stuff in nightstand at %s = %s déplace des objets dans une table de chevet à %s
|
||||
%s moves stuff to nightstand at %s = %s déplace des objets vers une table de chevet à %s
|
||||
%s takes stuff from nightstand at %s = %s prend des objets d'une table de chevet à %s
|
||||
One-drawer Nightstand = Table de chevet avec un tiroir
|
||||
Two-drawer Nightstand = Table de chevet avec deux tiroirs
|
||||
|
||||
### oven.lua ###
|
||||
Oven = Four
|
||||
## 1: Percentage
|
||||
Oven active: %d%% = Four actif : %d%%
|
||||
Oven out of fuel = Four sans carburant
|
||||
Oven is empty = Four vide
|
||||
|
||||
### refrigerator.lua ###
|
||||
Refrigerator = Réfrégirateur
|
||||
## 1: Player name, 2: position
|
||||
%s moves stuff in refrigerator at %s = %s déplace des objets dans un réfrégirateur à %s
|
||||
%s moves stuff to refrigerator at %s = %s déplace des objets vers un réfrégirateur à %s
|
||||
%s takes stuff from refrigerator at %s = %s prend des objets d'un réfrégirateur à %s
|
||||
Not enough vertical space to place a refrigerator! = Pas assez d'espace vertical pour placer un réfrégirateur !
|
||||
|
||||
### television.lua ###
|
||||
Small CRT Television = Petite télévision à tube cathodique
|
||||
|
||||
### signs_lib.lua ###
|
||||
E: character map file not found = E: fichier de table de caractère non trouvé
|
||||
## 1: Full String, 2: pos in string, 3: current char at pos
|
||||
W: unknown symbol in '%s' at %d (probably %s) = A: symbole inconnu dans '%s' dans %d (probablement %s)
|
||||
%s wrote "%s" to sign at %s =
|
||||
signs loaded =
|
196
homedecor/locale/pt.txt
Executable file
196
homedecor/locale/pt.txt
Executable file
@ -0,0 +1,196 @@
|
||||
|
||||
# Brazilian Portuguese translation of homedecor
|
||||
# Last update: 2013/11/10
|
||||
# Last translator: Aracnus <frederico@teia.bio.br>
|
||||
|
||||
### Special strings ###
|
||||
|
||||
### kitchen_cabinet.lua ###
|
||||
Kitchen Cabinet = Armário de cozinha
|
||||
## 1: Player name, 2: position
|
||||
%s moves stuff in kitchen cabinet at %s = %s moveu itens no armário de cozinha em %s
|
||||
%s moves stuff to kitchen cabinet at %s = %s moveu itens para o armário de cozinha em %s
|
||||
%s takes stuff from kitchen cabinet at %s = %s retirou itens do armário de cozinha em %s
|
||||
Half-height Kitchen Cabinet (on ceiling) = Meio armário de cozinha (no teto)
|
||||
Under-sink cabinet = Armário sob a pia
|
||||
Kitchen Cabinet with sink = Armário de cozinha com pia
|
||||
|
||||
### door_models.lua ###
|
||||
Mahogany Closet Door = Porta do armário de mogno
|
||||
Oak Closet Door = Porta do armário de carvalho
|
||||
Fancy Wood/Glass Door = Porta de madeira/vidro trabalhada
|
||||
Glass Office Door = Porta de escritório de vidro
|
||||
Glass and Wood, Mahogany-colored = Vidro e madeira (mogno)
|
||||
Glass and Wood, Oak-colored = Vidro e madeira (carvalho)
|
||||
Glass and Wood, White = Vidro e madeira (branca)
|
||||
Plain Wooden Door = Porta de madeira simples
|
||||
left = esquerda
|
||||
right = direita
|
||||
## 1: Side the doors opens to
|
||||
(Top Half, %s-opening) = (Metade superior, abre para %s)
|
||||
(%s-opening) = (abre para %s)
|
||||
|
||||
|
||||
### door_nodes.lua ###
|
||||
Not enough vertical space to place a door! = Não existe espaço vertical suficiente para colocar uma porta.
|
||||
|
||||
### crafts.lua ###
|
||||
Brass Ingot = Lingote de bronze
|
||||
Bucket of white paint = Balde de tinta branca
|
||||
Legs for Small Utility table = Pernas para mesa pequena
|
||||
Plastic sheet = Folha de plástico
|
||||
Silicon lump = Massa de silício
|
||||
Simple Integrated Circuit = Circuito integrado simples
|
||||
Small Wooden Drawer = Gaveta pequena de madeira
|
||||
Terracotta Roof Tile = Telha de terracota
|
||||
Titanium Dioxide = Dióxido de titânio
|
||||
Uncooked Terracotta Base = Base bruta de terracota
|
||||
Unprocessed Plastic base = Base de plástico não processada
|
||||
|
||||
### door_models.lua ###
|
||||
|
||||
### door_nodes.lua ###
|
||||
|
||||
### fences.lua ###
|
||||
Barbed Wire Fence = Cerca de arame farpado
|
||||
Barbed Wire Fence Gate = Portão da cerca de arame farpado
|
||||
Brass Fence/railing = Cerca/corrimão de bronze
|
||||
Brass Fence/railing with sign = Cerca/corrimão de bronze, com placa
|
||||
Chainlink Fence = Cerca de tela de arame
|
||||
Chainlink Fence Gate = Portão da cerca de tela de arame
|
||||
Chainlink Fence Gate (open) = Portão da cerca de tela de arame (aberto)
|
||||
Unpainted Picket Fence = Cerca de tábuas não pintada
|
||||
Unpainted Picket Fence Gate = Portão da cerca de madeira não pintado
|
||||
White Picket Fence = Cerca de madeira branca
|
||||
White Picket Fence Gate = Portão da cerca de madeira branco
|
||||
Wooden Privacy Fence = Cerca fechada de mandeira
|
||||
Wrought Iron Fence/railing = Cerca/corrimão de ferro forjado
|
||||
Wrought Iron Fence/railing with sign = Cerca/corrimão de ferro forjado, com placa
|
||||
want to simply place the wielded item like usual. = quer somente colocar o item empunhado normalmente.
|
||||
|
||||
### furniture_medieval.lua ###
|
||||
Bars = Barras
|
||||
Binding Bars = Barras do canto
|
||||
Chains = Correntes
|
||||
Wall Torch = Tocha de parede
|
||||
|
||||
### furniture_bathroom.lua ###
|
||||
Toilet = Vaso sanitário
|
||||
Sink = Pia
|
||||
Taps = Torneira
|
||||
Shower Tray = Ralo do chuveiro
|
||||
Shower Head = Chuveiro
|
||||
|
||||
### init.lua ###
|
||||
Loaded! = Carregado!
|
||||
Asphalt Shingles = Telhas de asfalto
|
||||
Black Plastic Flower Pot = Vaso de flor de plástico preto
|
||||
Brass Pole = Poste de bronze
|
||||
Brass Table Legs = Pernas da mesa de bronze
|
||||
red = vermelho
|
||||
green = verde
|
||||
blue = azul
|
||||
white = branco
|
||||
pink = rosa
|
||||
violet = violeta
|
||||
## 1: Color name
|
||||
Curtains (%s) = Cortina (%s)
|
||||
Drop-Ceiling Tile = Placa de teto
|
||||
Glass Skylight = Claraboia de vidro
|
||||
Glass Table (Small, Round) = Mesa de vidro (pequena, redonda)
|
||||
Glass Table (Small, Square) = Mesa de vidro (pequena, quadrada)
|
||||
Green Plastic Flower Pot = Vaso de flor de plástico verde
|
||||
Large Area Rug = Tapete grande
|
||||
Large Glass Table Piece = Pedaço da mesa grande de vidro
|
||||
Large Stereo Speaker = Auto-falante grande
|
||||
Legs for Utility Table = Pernas para mesa
|
||||
Projection Screen Material = Material de tela de projeção
|
||||
Small Surround Speaker = Auto-falante pequeno
|
||||
Small Throw Rug = Tapete pequeno
|
||||
Stereo Receiver = Aparelho de som
|
||||
Terracotta Flower Pot = Vaso de flor de terracota
|
||||
Terracotta Roofing = Telhado de terracota
|
||||
Textured Ceiling Paint = Pintura texturizada do teto
|
||||
Utility Table = Mesa de trabalho
|
||||
Utility table mk2 = Mesa de trabalho mk2
|
||||
Wooden Shutter (Black) = Persiana de madeira (preta)
|
||||
Wooden Shutter (Dark Grey) = Persiana de madeira (cinza escura)
|
||||
Wooden Shutter (Forest Green) = Persiana de madeira (verde)
|
||||
Wooden Shutter (Grey) = Persiana de madeira (cinza)
|
||||
Wooden Shutter (Light Blue) = Persiana de madeira (azul clara)
|
||||
Wooden Shutter (Purple) = Persiana de madeira (roxa)
|
||||
Wooden Shutter (Red) = Persiana de madeira (vermelha)
|
||||
Wooden Shutter (Unpainted Mahogany) = Persiana de madeira (mogno)
|
||||
Wooden Shutter (Unpainted Oak) = Persiana de madeira (carvalho)
|
||||
Wooden Shutter (White) = Persiana de madeira (branca)
|
||||
Wooden Shutter (Yellow) = Persiana de madeira (amarela)
|
||||
Wooden Tabletop piece = Pedaço do tampo da mesa
|
||||
Wooden Tabletop (Small, Round) = Tampo da mesa (pequeno, arredondado)
|
||||
Wooden Tabletop (Small, Square) = Tampo da mesa (pequeno, quadrado)
|
||||
Wood Shingles = Telhas de madeira
|
||||
Wrought Iron Pole = Poste de ferro forjado
|
||||
someone = alguém
|
||||
## 1: Player name
|
||||
Sorry, %s owns that spot. = Desculpe, mas esse local pertence a %s.
|
||||
|
||||
### lighting.lua ###
|
||||
White Glowlight (small cube) = Arandela branca (cubo pequeno)
|
||||
White Glowlight (small cube, on ceiling) = Arandela branca (cubo pequeno, na parede)
|
||||
White Glowlight (thick) = Arandela branca (grossa)
|
||||
White Glowlight (thick, on wall) = Arandela branca (grossa, na parede)
|
||||
White Glowlight (thin) = Arandela branca (fina)
|
||||
White Glowlight (thin, on wall) = Arandela branca (fina, na parede)
|
||||
Yellow Glowlight (small cube) = Arandela amarela (cubo pequeno)
|
||||
Yellow Glowlight (small cube, on ceiling) = Arandela amarela (cubo pequeno, na parede)
|
||||
Yellow Glowlight (thick) = Arandela amarela (grossa)
|
||||
Yellow Glowlight (thick, on wall) = Arandela amarela (grossa, na parede)
|
||||
Yellow Glowlight (thin) = Arandela amarela (fina)
|
||||
Yellow Glowlight (thin, on wall) = Arandela amarela (fina, na parede)
|
||||
|
||||
### locked.lua ###
|
||||
## 1: Item description, 2: Owner name
|
||||
%s (owned by %s) = %s (pertence a %s)
|
||||
## 1: Player name, 2: Item description, 3: Owner name, 4: Position
|
||||
%s tried to access a %s belonging to %s at %s = %s tentou acessar %s pertencente a %s em %s
|
||||
## 1: Item description
|
||||
%s (Locked) = %s (trancado)
|
||||
Locked Cabinet = Armário trancado
|
||||
Locked Nightstand = Criado-mudo trancado
|
||||
|
||||
### nightstands.lua ###
|
||||
Mahogany Nightstand with One Drawer = Criado-mudo de mogno, com uma gaveta
|
||||
Mahogany Nightstand with Two Drawers = Criado-mudo de mogno, com duas gavetas
|
||||
Oak Nightstand with One Drawer = Criado-mudo de carvalho, com uma gaveta
|
||||
Oak Nightstand with Two Drawers = Criado-mudo de carvalho, com duas gavetas
|
||||
## 1: Player name, 2: position
|
||||
%s moves stuff in nightstand at %s = %s moveu item(ns) no criado-mudo em %s
|
||||
%s moves stuff to nightstand at %s = %s moveu item(ns) para o criado-mudo em %s
|
||||
%s takes stuff from nightstand at %s = %s tirou item(ns) do criado-mudo em %s
|
||||
One-drawer Nightstand = Criado-mudo com uma gaveta
|
||||
Two-drawer Nightstand = Criado-mudo com duas gavetas
|
||||
|
||||
### oven.lua ###
|
||||
Oven = Forno
|
||||
## 1: Percentage
|
||||
Oven active: %d%% = Forno ativo: %d%%
|
||||
Oven out of fuel = O forno está sem combustível
|
||||
Oven is empty = O forno está vazio
|
||||
|
||||
### refrigerator.lua ###
|
||||
Refrigerator = Geladeira
|
||||
## 1: Player name, 2: position
|
||||
%s moves stuff in refrigerator at %s = %s moveu item(ns) na geladeira em %s
|
||||
%s moves stuff to refrigerator at %s = %s moveu item(ns) para a geladeira em %s
|
||||
%s takes stuff from refrigerator at %s = %s tirou item(ns) da geladeira em %s
|
||||
Not enough vertical space to place a refrigerator! = Não existe espaço vertical suficiente para adicionar uma geladeira.
|
||||
|
||||
### television.lua ###
|
||||
Small CRT Television = TV de tubo pequena
|
||||
|
||||
### signs_lib.lua ###
|
||||
%s wrote "%s" to sign at %s = %s escreveu "%s" na placa em %s
|
||||
Reading cached character database. = Lendo banco de dados de caracteres no cache.
|
||||
Font seems to have changed. Rebuilding cache. = Aparentemente as fontes foram alteradas. Reconstruindo o cache.
|
||||
Could not find font line height in cached DB. Trying brute force. = Não foi possível encontrar a altura da linha da fonte no cache do BD. Tentando na marra.
|
||||
Registered %s and %s = %s e %s registrados
|
||||
signs loaded = placas carregadas
|
230
homedecor/locale/template.txt
Executable file
230
homedecor/locale/template.txt
Executable file
@ -0,0 +1,230 @@
|
||||
##########################
|
||||
# Template language file #
|
||||
##########################
|
||||
|
||||
### Special strings ###
|
||||
|
||||
### kitchen_cabinet.lua ###
|
||||
Kitchen Cabinet =
|
||||
## 1: Player name, 2: position
|
||||
%s moves stuff in kitchen cabinet at %s =
|
||||
%s moves stuff to kitchen cabinet at %s =
|
||||
%s takes stuff from kitchen cabinet at %s =
|
||||
Half-height Kitchen Cabinet (on ceiling) =
|
||||
Under-sink cabinet =
|
||||
Kitchen Cabinet with sink =
|
||||
|
||||
### door_models.lua ###
|
||||
Mahogany Closet Door =
|
||||
Oak Closet Door =
|
||||
Fancy Wood/Glass Door =
|
||||
Glass Office Door =
|
||||
Glass and Wood, Mahogany-colored =
|
||||
Glass and Wood, Oak-colored =
|
||||
Glass and Wood, White =
|
||||
Plain Wooden Door =
|
||||
left =
|
||||
right =
|
||||
## 1: Side the doors opens to
|
||||
(Top Half, %s-opening) =
|
||||
(%s-opening) =
|
||||
|
||||
|
||||
### door_nodes.lua ###
|
||||
Not enough space above that spot to place a door! =
|
||||
|
||||
### crafts.lua ###
|
||||
Brass Ingot =
|
||||
Bucket of white paint =
|
||||
Legs for Small Utility table =
|
||||
Plastic sheet =
|
||||
Silicon lump =
|
||||
Simple Integrated Circuit =
|
||||
Small Wooden Drawer =
|
||||
Terracotta Roof Tile =
|
||||
Titanium Dioxide =
|
||||
Uncooked Terracotta Base =
|
||||
Unprocessed Plastic base =
|
||||
|
||||
### door_models.lua ###
|
||||
|
||||
### door_nodes.lua ###
|
||||
|
||||
### fences.lua ###
|
||||
Barbed Wire Fence =
|
||||
Barbed Wire Fence Corner =
|
||||
Barbed Wire Fence Gate =
|
||||
Brass Fence/railing =
|
||||
Brass Fence/railing with sign =
|
||||
Chainlink Fence =
|
||||
Chainlink Fence Corner =
|
||||
Chainlink Fence Gate =
|
||||
Unpainted Picket Fence =
|
||||
Unpainted Picket Fence Corner =
|
||||
Unpainted Picket Fence Gate =
|
||||
White Picket Fence =
|
||||
White Picket Fence Corner =
|
||||
White Picket Fence Gate =
|
||||
Wooden Privacy Fence =
|
||||
Wooden Privacy Fence Corner =
|
||||
Wrought Iron Fence/railing =
|
||||
Wrought Iron Fence/railing with sign =
|
||||
want to simply place the wielded item like usual. =
|
||||
|
||||
### furniture.lua ###
|
||||
Table =
|
||||
Chair =
|
||||
Black =
|
||||
Red =
|
||||
Pink =
|
||||
Violet =
|
||||
Blue =
|
||||
Dark Green =
|
||||
## 1: Color name
|
||||
Armchair (%s) =
|
||||
Table Lamp =
|
||||
|
||||
### furniture_medieval.lua ###
|
||||
Bars =
|
||||
Binding Bars =
|
||||
Chains =
|
||||
Wall Torch =
|
||||
|
||||
### furniture_bathroom.lua ###
|
||||
Toilet =
|
||||
Sink =
|
||||
Taps =
|
||||
Shower Tray =
|
||||
Shower Head =
|
||||
|
||||
### init.lua ###
|
||||
Loaded! =
|
||||
Air Conditioner =
|
||||
Asphalt Shingles =
|
||||
Asphalt Shingles (outer corner) =
|
||||
Asphalt Shingles (inner corner) =
|
||||
Black Plastic Flower Pot =
|
||||
Brass Pole =
|
||||
Brass Table Legs =
|
||||
Wrought Iron Table Legs =
|
||||
red =
|
||||
green =
|
||||
blue =
|
||||
white =
|
||||
pink =
|
||||
violet =
|
||||
## 1: Color name
|
||||
Curtains (%s) =
|
||||
Drop-Ceiling Tile =
|
||||
Glass Skylight =
|
||||
Glass Skylight Frosted =
|
||||
Glass Table (Small, Round) =
|
||||
Glass Table (Small, Square) =
|
||||
Glass Table Piece (large) =
|
||||
Green Plastic Flower Pot =
|
||||
Large Area Rug =
|
||||
Glass Table Piece (large) =
|
||||
Large Stereo Speaker =
|
||||
Legs for Utility Table =
|
||||
Projection Screen Material =
|
||||
Small Surround Speaker =
|
||||
Small Throw Rug =
|
||||
Stereo Receiver =
|
||||
Terracotta Flower Pot =
|
||||
Terracotta Shingles =
|
||||
Terracotta Shingles (outer corner) =
|
||||
Terracotta Shingles (inner corner) =
|
||||
Textured Ceiling Paint =
|
||||
Utility Table =
|
||||
Utility table mk2 =
|
||||
Wooden Shutter (Black) =
|
||||
Wooden Shutter (Dark grey) =
|
||||
Wooden Shutter (Forest green) =
|
||||
Wooden Shutter (Grey) =
|
||||
Wooden Shutter (Light blue) =
|
||||
Wooden Shutter (Violet) =
|
||||
Wooden Shutter (Red) =
|
||||
Wooden Shutter (Mahogany) =
|
||||
Wooden Shutter (Unpainted oak) =
|
||||
Wooden Shutter (White) =
|
||||
Wooden Shutter (Yellow) =
|
||||
Wood Table Piece (large)=
|
||||
Wood Table (Small, Round) =
|
||||
Wood Table (Small, Square) =
|
||||
Wood Shingles =
|
||||
Wood Shingles (outer corner) =
|
||||
Wood Shingles (inner corner) =
|
||||
Wrought Iron Pole =
|
||||
someone =
|
||||
## 1: Player name
|
||||
Sorry, %s owns that spot. =
|
||||
|
||||
### lighting.lua ###
|
||||
White Glowlight (small cube) =
|
||||
White Glowlight (small cube, on ceiling) =
|
||||
White Glowlight (thick) =
|
||||
White Glowlight (thick, on wall) =
|
||||
White Glowlight (thin) =
|
||||
White Glowlight (thin, on wall) =
|
||||
Yellow Glowlight (small cube) =
|
||||
Yellow Glowlight (small cube, on ceiling) =
|
||||
Yellow Glowlight (thick) =
|
||||
Yellow Glowlight (thick, on wall) =
|
||||
Yellow Glowlight (thin) =
|
||||
Yellow Glowlight (thin, on wall) =
|
||||
|
||||
### locked.lua ###
|
||||
## 1: Item description, 2: Owner name
|
||||
%s (owned by %s) =
|
||||
## 1: Player name, 2: Item description, 3: Owner name, 4: Position
|
||||
%s tried to access a %s belonging to %s at %s =
|
||||
## 1: Item description
|
||||
%s (Locked) =
|
||||
Locked Fridge =
|
||||
Locked Cabinet =
|
||||
Locked Nightstand =
|
||||
Locked Oven =
|
||||
Locked Oven (active) =
|
||||
Locked Microwave Oven =
|
||||
Locked Microwave Oven (active) =
|
||||
|
||||
### nightstands.lua ###
|
||||
Mahogany Nightstand with One Drawer =
|
||||
Mahogany Nightstand with Two Drawers =
|
||||
Oak Nightstand with One Drawer =
|
||||
Oak Nightstand with Two Drawers =
|
||||
## 1: Player name, 2: position
|
||||
%s moves stuff in nightstand at %s =
|
||||
%s moves stuff to nightstand at %s =
|
||||
%s takes stuff from nightstand at %s =
|
||||
One-drawer Nightstand =
|
||||
Two-drawer Nightstand =
|
||||
|
||||
### oven.lua ###
|
||||
Oven =
|
||||
Microwave Oven =
|
||||
## 1: Item description, 2: Percentage
|
||||
%s active: %d%% =
|
||||
## 1: Item description
|
||||
%s is empty =
|
||||
: Out of fuel =
|
||||
: output bins are full =
|
||||
|
||||
### refrigerator.lua ###
|
||||
Refrigerator =
|
||||
## 1: Player name, 2: position
|
||||
%s moves stuff in refrigerator at %s =
|
||||
%s moves stuff to refrigerator at %s =
|
||||
%s takes stuff from refrigerator at %s =
|
||||
Not enough vertical space to place a refrigerator! =
|
||||
|
||||
### television.lua ###
|
||||
Small CRT Television =
|
||||
|
||||
### signs_lib.lua ###
|
||||
%s wrote "%s" to sign at %s =
|
||||
Reading cached character database. =
|
||||
Font seems to have changed. Rebuilding cache. =
|
||||
Could not find font line height in cached DB. Trying brute force. =
|
||||
Registered %s and %s =
|
||||
signs loaded =
|
116
homedecor/misc-nodes.lua
Normal file → Executable file
116
homedecor/misc-nodes.lua
Normal file → Executable file
@ -1,7 +1,4 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local function N_(x) return x end
|
||||
local S = homedecor.gettext
|
||||
|
||||
homedecor.register("ceiling_paint", {
|
||||
description = S("Textured Ceiling Paint"),
|
||||
@ -28,13 +25,14 @@ homedecor.register("ceiling_tile", {
|
||||
})
|
||||
|
||||
local rug_types = {
|
||||
{ N_("small"), "homedecor_small_rug.obj" },
|
||||
{ N_("large"), homedecor.box.slab_y(0.0625) },
|
||||
{ N_("persian"), homedecor.box.slab_y(0.0625) },
|
||||
{ "small", "homedecor_small_rug.obj" },
|
||||
{ "large", homedecor.box.slab_y(0.0625)},
|
||||
{ "persian", homedecor.box.slab_y(0.0625)}
|
||||
}
|
||||
|
||||
for _, rt in ipairs(rug_types) do
|
||||
local s, m = unpack(rt)
|
||||
for i in ipairs(rug_types) do
|
||||
s = rug_types[i][1]
|
||||
m = rug_types[i][2]
|
||||
|
||||
local mesh = m
|
||||
local nodebox = nil
|
||||
@ -54,7 +52,7 @@ for _, rt in ipairs(rug_types) do
|
||||
end
|
||||
|
||||
homedecor.register("rug_"..s, {
|
||||
description = S("Rug (@1)", S(s)),
|
||||
description = S("Rug ("..s..")"),
|
||||
mesh = mesh,
|
||||
tiles = tiles,
|
||||
node_box = nodebox,
|
||||
@ -66,15 +64,15 @@ for _, rt in ipairs(rug_types) do
|
||||
})
|
||||
end
|
||||
|
||||
local pot_colors = { N_("black"), N_("green"), N_("terracotta") }
|
||||
local pot_colors = {"black", "green", "terracotta"}
|
||||
|
||||
for _, p in ipairs(pot_colors) do
|
||||
homedecor.register("flower_pot_"..p, {
|
||||
description = S("Flower Pot (@1)", S(p)),
|
||||
description = S("Flower Pot ("..p..")"),
|
||||
mesh = "homedecor_flowerpot.obj",
|
||||
tiles = {
|
||||
"homedecor_flower_pot_"..p..".png",
|
||||
{ name = "default_dirt.png", color = 0xff505050 },
|
||||
"default_dirt.png^[colorize:#000000:175"
|
||||
},
|
||||
groups = { snappy = 3, potting_soil=1 },
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
@ -82,25 +80,27 @@ homedecor.register("flower_pot_"..p, {
|
||||
end
|
||||
|
||||
local flowers_list = {
|
||||
{ S("Rose"), "rose", "flowers:rose" },
|
||||
{ S("Tulip"), "tulip", "flowers:tulip" },
|
||||
{ S("Yellow Dandelion"), "dandelion_yellow", "flowers:dandelion_yellow" },
|
||||
{ S("White Dandelion"), "dandelion_white", "flowers:dandelion_white" },
|
||||
{ S("Blue Geranium"), "geranium", "flowers:geranium" },
|
||||
{ S("Viola"), "viola", "flowers:viola" },
|
||||
{ S("Cactus"), "cactus", "default:cactus" },
|
||||
{ S("Bonsai"), "bonsai", "default:sapling" }
|
||||
{ "Rose", "rose", "flowers:rose" },
|
||||
{ "Tulip", "tulip", "flowers:tulip" },
|
||||
{ "Yellow Dandelion", "dandelion_yellow", "flowers:dandelion_yellow" },
|
||||
{ "White Dandelion", "dandelion_white", "flowers:dandelion_white" },
|
||||
{ "Blue Geranium", "geranium", "flowers:geranium" },
|
||||
{ "Viola", "viola", "flowers:viola" },
|
||||
{ "Cactus", "cactus", "default:cactus" },
|
||||
{ "Bonsai", "bonsai", "default:sapling" }
|
||||
}
|
||||
|
||||
for _, f in ipairs(flowers_list) do
|
||||
local flowerdesc, flower, craftwith = unpack(f)
|
||||
for i in ipairs(flowers_list) do
|
||||
local flowerdesc = flowers_list[i][1]
|
||||
local flower = flowers_list[i][2]
|
||||
local craftwith = flowers_list[i][3]
|
||||
|
||||
homedecor.register("potted_"..flower, {
|
||||
description = S("Potted flower (@1)", flowerdesc),
|
||||
description = S("Potted flower ("..flowerdesc..")"),
|
||||
mesh = "homedecor_potted_plant.obj",
|
||||
tiles = {
|
||||
"homedecor_flower_pot_terracotta.png",
|
||||
{ name = "default_dirt.png", color = 0xff303030 },
|
||||
"default_dirt.png^[colorize:#000000:175",
|
||||
"flowers_"..flower..".png"
|
||||
},
|
||||
walkable = false,
|
||||
@ -164,10 +164,10 @@ local ft_cbox = {
|
||||
}
|
||||
|
||||
homedecor.register("fishtank", {
|
||||
description = S("Fishtank"),
|
||||
description = "Fishtank",
|
||||
mesh = "homedecor_fishtank.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_generic_plastic.png", color = homedecor.color_black },
|
||||
"homedecor_generic_plastic_black.png",
|
||||
"homedecor_fishtank_filter.png",
|
||||
"homedecor_fishtank_fishes.png",
|
||||
"homedecor_fishtank_gravel.png",
|
||||
@ -179,17 +179,16 @@ homedecor.register("fishtank", {
|
||||
collision_box = ft_cbox,
|
||||
groups = {cracky=3,oddly_breakable_by_hand=3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
minetest.set_node(pos, {name = "homedecor:fishtank_lighted", param2 = node.param2})
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
homedecor.register("fishtank_lighted", {
|
||||
description = S("Fishtank (lighted)"),
|
||||
description = "Fishtank (lighted)",
|
||||
mesh = "homedecor_fishtank.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_generic_plastic.png", color = homedecor.color_black },
|
||||
"homedecor_generic_plastic_black.png",
|
||||
"homedecor_fishtank_filter.png",
|
||||
"homedecor_fishtank_fishes_lighted.png",
|
||||
"homedecor_fishtank_gravel_lighted.png",
|
||||
@ -202,9 +201,8 @@ homedecor.register("fishtank_lighted", {
|
||||
collision_box = ft_cbox,
|
||||
groups = {cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
minetest.set_node(pos, {name = "homedecor:fishtank", param2 = node.param2})
|
||||
return itemstack
|
||||
end,
|
||||
drop = "homedecor:fishtank",
|
||||
})
|
||||
@ -244,7 +242,7 @@ homedecor.register("cardboard_box", {
|
||||
})
|
||||
|
||||
homedecor.register("dvd_cd_cabinet", {
|
||||
description = S("DVD/CD cabinet"),
|
||||
description = "DVD/CD cabinet",
|
||||
mesh = "homedecor_dvd_cabinet.obj",
|
||||
tiles = {
|
||||
"default_wood.png",
|
||||
@ -268,9 +266,9 @@ homedecor.register("pool_table", {
|
||||
"homedecor_pool_table_baize.png",
|
||||
"homedecor_pool_table_pockets.png",
|
||||
"homedecor_pool_table_balls.png",
|
||||
homedecor.lux_wood,
|
||||
"homedecor_generic_wood_luxury.png^[colorize:#000000:90"
|
||||
},
|
||||
description = S("Pool Table"),
|
||||
description = "Pool Table",
|
||||
inventory_image = "homedecor_pool_table_inv.png",
|
||||
groups = {snappy=3},
|
||||
selection_box = pooltable_cbox,
|
||||
@ -290,12 +288,12 @@ local piano_cbox = {
|
||||
homedecor.register("piano", {
|
||||
mesh = "homedecor_piano.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_generic_wood_luxury.png", color = homedecor.color_black },
|
||||
"homedecor_generic_wood_luxury.png^[colorize:#000000:175",
|
||||
"homedecor_piano_keys.png",
|
||||
"homedecor_generic_metal_brass.png",
|
||||
},
|
||||
inventory_image = "homedecor_piano_inv.png",
|
||||
description = S("Piano"),
|
||||
description = "Piano",
|
||||
groups = { snappy = 3 },
|
||||
selection_box = piano_cbox,
|
||||
collision_box = piano_cbox,
|
||||
@ -313,7 +311,7 @@ local tr_cbox = {
|
||||
}
|
||||
|
||||
homedecor.register("trophy", {
|
||||
description = S("Trophy"),
|
||||
description = "Trophy",
|
||||
mesh = "homedecor_trophy.obj",
|
||||
tiles = {
|
||||
"default_wood.png",
|
||||
@ -331,12 +329,12 @@ local sb_cbox = {
|
||||
}
|
||||
|
||||
homedecor.register("sportbench", {
|
||||
description = S("Sport bench"),
|
||||
description = "Sport bench",
|
||||
mesh = "homedecor_sport_bench.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_metal_wrought_iron.png",
|
||||
"homedecor_generic_metal_bright.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_black },
|
||||
"homedecor_generic_metal_black.png",
|
||||
"wool_black.png"
|
||||
},
|
||||
inventory_image = "homedecor_sport_bench_inv.png",
|
||||
@ -356,7 +354,7 @@ homedecor.register("skateboard", {
|
||||
mesh = "homedecor_skateboard.obj",
|
||||
tiles = { "homedecor_skateboard.png" },
|
||||
inventory_image = "homedecor_skateboard_inv.png",
|
||||
description = S("Skateboard"),
|
||||
description = "Skateboard",
|
||||
groups = {snappy=3},
|
||||
selection_box = skate_cbox,
|
||||
walkable = false,
|
||||
@ -365,13 +363,13 @@ homedecor.register("skateboard", {
|
||||
})
|
||||
|
||||
homedecor.register("tool_cabinet", {
|
||||
description = S("Metal tool cabinet and work table"),
|
||||
description = "Metal tool cabinet and work table",
|
||||
mesh = "homedecor_tool_cabinet.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_generic_metal.png", color = 0xffd00000 },
|
||||
"homedecor_generic_metal_black.png^[colorize:#ff0000:150",
|
||||
"homedecor_tool_cabinet_drawers.png",
|
||||
{ name = "homedecor_generic_metal.png", color = 0xff006000 },
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
|
||||
"homedecor_generic_metal_black.png^[colorize:#006000:150",
|
||||
"homedecor_generic_metal_black.png^[brighten",
|
||||
"homedecor_generic_metal_bright.png",
|
||||
"homedecor_tool_cabinet_misc.png",
|
||||
},
|
||||
@ -400,7 +398,7 @@ for _, i in ipairs(n) do
|
||||
mesh = "homedecor_picture_frame.obj",
|
||||
tiles = {
|
||||
"homedecor_picture_frame_image"..i..".png",
|
||||
homedecor.lux_wood,
|
||||
"homedecor_generic_wood_luxury.png^[colorize:#000000:50",
|
||||
"homedecor_picture_frame_back.png",
|
||||
},
|
||||
inventory_image = "homedecor_picture_frame"..i.."_inv.png",
|
||||
@ -421,7 +419,7 @@ local p_cbox = {
|
||||
|
||||
for i = 1,20 do
|
||||
homedecor.register("painting_"..i, {
|
||||
description = S("Decorative painting #@1", i),
|
||||
description = "Decorative painting #"..i,
|
||||
mesh = "homedecor_painting.obj",
|
||||
tiles = {
|
||||
"default_wood.png",
|
||||
@ -437,7 +435,7 @@ end
|
||||
|
||||
homedecor.banister_materials = {
|
||||
{ "wood",
|
||||
S("wood"),
|
||||
"wood",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"group:wood",
|
||||
@ -446,7 +444,7 @@ homedecor.banister_materials = {
|
||||
""
|
||||
},
|
||||
{ "white_dark",
|
||||
S("dark topped"),
|
||||
"dark topped",
|
||||
homedecor.white_wood,
|
||||
homedecor.dark_wood,
|
||||
"group:wood",
|
||||
@ -455,7 +453,7 @@ homedecor.banister_materials = {
|
||||
"dye:white"
|
||||
},
|
||||
{ "brass",
|
||||
S("brass"),
|
||||
"brass",
|
||||
homedecor.white_wood,
|
||||
"homedecor_generic_metal_brass.png",
|
||||
"technic:brass_ingot",
|
||||
@ -464,7 +462,7 @@ homedecor.banister_materials = {
|
||||
"dye:white"
|
||||
},
|
||||
{ "wrought_iron",
|
||||
S("wrought iron"),
|
||||
"wrought iron",
|
||||
"homedecor_generic_metal_wrought_iron.png",
|
||||
"homedecor_generic_metal_wrought_iron.png",
|
||||
"homedecor:pole_wrought_iron",
|
||||
@ -476,11 +474,9 @@ homedecor.banister_materials = {
|
||||
|
||||
for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do
|
||||
|
||||
local sidedesc = side:match("^diagonal") and S("diagonal") or S("horizontal")
|
||||
for i in ipairs(homedecor.banister_materials) do
|
||||
|
||||
for _, mat in ipairs(homedecor.banister_materials) do
|
||||
|
||||
local name, matdesc, tile1, tile2 = unpack(mat)
|
||||
local name = homedecor.banister_materials[i][1]
|
||||
local nodename = "banister_"..name.."_"..side
|
||||
|
||||
local groups = { snappy = 3, not_in_creative_inventory = 1 }
|
||||
@ -500,11 +496,11 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do
|
||||
end
|
||||
|
||||
homedecor.register(nodename, {
|
||||
description = S("Banister for Stairs (@1, @2)", matdesc, sidedesc),
|
||||
description = S("Banister for Stairs ("..homedecor.banister_materials[i][2]..", "..side..")"),
|
||||
mesh = "homedecor_banister_"..side..".obj",
|
||||
tiles = {
|
||||
tile1,
|
||||
tile2,
|
||||
homedecor.banister_materials[i][3],
|
||||
homedecor.banister_materials[i][4]
|
||||
},
|
||||
inventory_image = "homedecor_banister_"..name.."_inv.png",
|
||||
groups = groups,
|
||||
@ -573,7 +569,7 @@ homedecor.register("spiral_staircase", {
|
||||
|
||||
if #minetest.find_nodes_in_area(minp, maxp, "air") < 11 then
|
||||
minetest.set_node(pos, {name = "air"})
|
||||
minetest.chat_send_player(placer:get_player_name(), S("not enough space"))
|
||||
minetest.chat_send_player(placer:get_player_name(), "This object takes up a 2x3x2 block of space (the bottom step goes in the forward-right corner), and some of it is occupied!" )
|
||||
return true
|
||||
end
|
||||
|
||||
|
360
homedecor/models/forniture_armchair.obj
Normal file → Executable file
360
homedecor/models/forniture_armchair.obj
Normal file → Executable file
@ -1,142 +1,142 @@
|
||||
# Blender v2.72 (sub 0) OBJ File: 'forniture-armchair.blend'
|
||||
# Blender v2.73 (sub 0) OBJ File: 'forniture-armchair.blend'
|
||||
# www.blender.org
|
||||
o chair_Cylinder
|
||||
v 0.500000 -0.375000 -0.437500
|
||||
v 0.500000 -0.375000 0.039062
|
||||
v 0.437500 -0.375000 0.101562
|
||||
v -0.035156 -0.375000 0.101562
|
||||
v -0.035156 -0.375000 0.437500
|
||||
v -0.097656 -0.375000 0.500000
|
||||
v -0.375000 0.375000 0.500000
|
||||
v 0.375000 -0.312500 -0.187500
|
||||
v -0.097656 0.375000 0.500000
|
||||
v -0.035156 0.375000 0.437500
|
||||
v 0.375000 0.312500 -0.187500
|
||||
v -0.035156 0.375000 0.101562
|
||||
v 0.437500 0.375000 0.101562
|
||||
v 0.500000 0.375000 0.039062
|
||||
v -0.375000 -0.375000 0.500000
|
||||
v 0.500000 0.375000 -0.437500
|
||||
v 0.500000 0.437500 -0.437500
|
||||
v 0.375000 0.500000 -0.437500
|
||||
v -0.097656 0.500000 0.437500
|
||||
v 0.500000 0.437500 0.039062
|
||||
v -0.437500 -0.437500 0.500000
|
||||
v 0.437500 0.437500 0.101562
|
||||
v -0.097656 -0.437500 0.500000
|
||||
v -0.035156 0.437500 0.101562
|
||||
v -0.035156 -0.437500 0.437500
|
||||
v -0.035156 0.437500 0.437500
|
||||
v -0.035156 -0.437500 0.101562
|
||||
v -0.097656 0.437500 0.500000
|
||||
v 0.437500 -0.437500 0.101562
|
||||
v -0.437500 0.437500 0.500000
|
||||
v 0.500000 -0.437500 0.039062
|
||||
v -0.097656 -0.500000 0.437500
|
||||
v 0.375000 -0.437500 -0.500000
|
||||
v 0.375000 0.039062 -0.500000
|
||||
v 0.375000 0.101562 -0.437500
|
||||
v 0.375000 0.101562 0.035156
|
||||
v 0.375000 0.437500 0.035156
|
||||
v 0.375000 0.500000 0.097656
|
||||
v -0.375000 0.500000 0.375000
|
||||
v 0.312500 -0.187500 -0.375000
|
||||
v -0.375000 0.500000 0.097656
|
||||
v -0.375000 0.437500 0.035156
|
||||
v -0.312500 -0.187500 -0.375000
|
||||
v -0.375000 0.101562 0.035156
|
||||
v -0.375000 0.101562 -0.437500
|
||||
v -0.375000 0.039062 -0.500000
|
||||
v 0.375000 0.500000 0.375000
|
||||
v -0.375000 -0.437500 -0.500000
|
||||
v -0.437500 -0.437500 -0.500000
|
||||
v -0.500000 -0.437500 -0.375000
|
||||
v -0.500000 0.437500 0.097656
|
||||
v -0.437500 0.039062 -0.500000
|
||||
v 0.437500 0.500000 0.437500
|
||||
v -0.437500 0.101562 -0.437500
|
||||
v 0.437500 0.500000 0.097656
|
||||
v -0.437500 0.101562 0.035156
|
||||
v 0.437500 0.437500 0.035156
|
||||
v -0.437500 0.437500 0.035156
|
||||
v 0.437500 0.101562 0.035156
|
||||
v -0.437500 0.500000 0.097656
|
||||
v 0.437500 0.101562 -0.437500
|
||||
v -0.437500 0.500000 0.437500
|
||||
v 0.437500 0.039062 -0.500000
|
||||
v 0.500000 0.437500 0.097656
|
||||
v 0.437500 -0.437500 -0.500000
|
||||
v -0.312500 -0.437500 -0.375000
|
||||
v 0.500000 0.437500 0.500000
|
||||
v 0.500000 -0.437500 0.500000
|
||||
v 0.312500 -0.437500 -0.375000
|
||||
v -0.500000 0.437500 0.500000
|
||||
v -0.500000 -0.437500 0.500000
|
||||
v -0.500000 0.039062 0.097656
|
||||
v 0.500000 0.039062 0.097656
|
||||
v -0.500000 0.039062 -0.437500
|
||||
v 0.500000 0.039062 -0.437500
|
||||
v -0.500000 -0.437500 -0.437500
|
||||
v 0.500000 -0.437500 -0.437500
|
||||
v 0.375000 0.312500 -0.437500
|
||||
v -0.500000 -0.500000 0.437500
|
||||
v -0.500000 -0.500000 -0.437500
|
||||
v 0.375000 -0.312500 -0.437500
|
||||
v -0.500000 0.500000 0.437500
|
||||
v -0.500000 0.500000 -0.437500
|
||||
v -0.097656 0.500000 0.039062
|
||||
v -0.097656 -0.500000 0.039062
|
||||
v 0.437500 0.500000 0.039062
|
||||
v 0.437500 -0.500000 0.039062
|
||||
v 0.437500 0.500000 -0.437500
|
||||
v 0.437500 -0.500000 -0.437500
|
||||
v -0.097656 -0.312500 0.437500
|
||||
v -0.097656 -0.312500 0.039062
|
||||
v 0.437500 -0.312500 0.039062
|
||||
v 0.437500 -0.312500 -0.437500
|
||||
v -0.097656 0.312500 0.437500
|
||||
v 0.375000 -0.500000 -0.437500
|
||||
v -0.097656 0.312500 0.039062
|
||||
v 0.437500 0.312500 0.039062
|
||||
v 0.437500 0.312500 -0.437500
|
||||
v -0.312500 -0.312500 -0.125000
|
||||
v -0.312500 0.312500 -0.125000
|
||||
v -0.312500 -0.312500 0.437500
|
||||
v -0.312500 0.312500 0.437500
|
||||
v 0.187500 -0.312500 -0.109375
|
||||
v 0.187500 0.312500 -0.109375
|
||||
v -0.285156 -0.312500 0.156250
|
||||
v -0.285156 0.312500 0.156250
|
||||
v 0.312500 -0.312500 -0.125000
|
||||
v -0.250000 0.312500 -0.109375
|
||||
v -0.296875 -0.312500 -0.062500
|
||||
v -0.296875 0.312500 0.375000
|
||||
v -0.250000 -0.312500 -0.109375
|
||||
v 0.312500 0.312500 -0.125000
|
||||
v -0.296875 -0.312500 0.375000
|
||||
v -0.296875 0.312500 -0.062500
|
||||
v -0.031250 -0.312500 -0.101562
|
||||
v -0.031250 0.312500 -0.101562
|
||||
v -0.343750 0.432138 -0.500000
|
||||
v -0.343750 0.432138 -0.437500
|
||||
v -0.343750 0.380361 -0.500000
|
||||
v -0.343750 0.380361 -0.437500
|
||||
v -0.380362 0.343750 -0.500000
|
||||
v -0.380362 0.343750 -0.437500
|
||||
v -0.432139 0.343750 -0.500000
|
||||
v -0.432139 0.343750 -0.437500
|
||||
v -0.468750 0.380361 -0.500000
|
||||
v -0.468750 0.380361 -0.437500
|
||||
v -0.468750 0.432138 -0.500000
|
||||
v -0.468750 0.432138 -0.437500
|
||||
v -0.432139 0.468750 -0.500000
|
||||
v -0.432139 0.468750 -0.437500
|
||||
v -0.380362 0.468750 -0.500000
|
||||
v -0.380362 0.468750 -0.437500
|
||||
v -0.380361 -0.343750 -0.437500
|
||||
v -0.380361 -0.343750 -0.500000
|
||||
v -0.432138 -0.343750 -0.437500
|
||||
v -0.432138 -0.343750 -0.500000
|
||||
v -0.468750 -0.380362 -0.437500
|
||||
v -0.468750 -0.380362 -0.500000
|
||||
v -0.468750 -0.432139 -0.437500
|
||||
v -0.468750 -0.432139 -0.500000
|
||||
v -0.432138 -0.468750 -0.437500
|
||||
v -0.432138 -0.468750 -0.500000
|
||||
v -0.380361 -0.468750 -0.437500
|
||||
v -0.380361 -0.468750 -0.500000
|
||||
v -0.343750 -0.432139 -0.437500
|
||||
v -0.343750 -0.432139 -0.500000
|
||||
v -0.343750 -0.380362 -0.437500
|
||||
v -0.343750 -0.380362 -0.500000
|
||||
v 0.468750 0.432139 -0.500000
|
||||
v 0.468750 0.432139 -0.437500
|
||||
v 0.468750 0.380362 -0.500000
|
||||
v 0.468750 0.380362 -0.437500
|
||||
v 0.432138 0.343750 -0.500000
|
||||
v 0.432138 0.343750 -0.437500
|
||||
v 0.380361 0.343750 -0.500000
|
||||
v 0.380361 0.343750 -0.437500
|
||||
v 0.343750 0.380362 -0.500000
|
||||
v 0.343750 0.380362 -0.437500
|
||||
v 0.343750 0.432139 -0.500000
|
||||
v 0.343750 0.432139 -0.437500
|
||||
v 0.380361 0.468750 -0.500000
|
||||
v 0.380361 0.468750 -0.437500
|
||||
v 0.432138 0.468750 -0.500000
|
||||
v 0.432138 0.468750 -0.437500
|
||||
v 0.432139 -0.343750 -0.437500
|
||||
v 0.432139 -0.343750 -0.500000
|
||||
v 0.380362 -0.343750 -0.437500
|
||||
v 0.380362 -0.343750 -0.500000
|
||||
v 0.343750 -0.380361 -0.437500
|
||||
v 0.343750 -0.380361 -0.500000
|
||||
v 0.343750 -0.432138 -0.437500
|
||||
v 0.343750 -0.432138 -0.500000
|
||||
v 0.380362 -0.468750 -0.437500
|
||||
v 0.380362 -0.468750 -0.500000
|
||||
v 0.432139 -0.468750 -0.437500
|
||||
v 0.432139 -0.468750 -0.500000
|
||||
v 0.468750 -0.432138 -0.437500
|
||||
v 0.468750 -0.432138 -0.500000
|
||||
v 0.468750 -0.380361 -0.437500
|
||||
v 0.468750 -0.380361 -0.500000
|
||||
v 0.312500 0.437500 0.097656
|
||||
v 0.312500 0.039062 0.097656
|
||||
v 0.312500 0.039062 -0.437500
|
||||
v 0.312500 -0.437500 -0.437500
|
||||
v -0.312500 0.437500 0.097656
|
||||
v 0.500000 -0.437500 -0.375000
|
||||
v -0.312500 0.039062 0.097656
|
||||
v -0.312500 0.039062 -0.437500
|
||||
v -0.312500 -0.437500 -0.437500
|
||||
v 0.312500 -0.125000 0.312500
|
||||
v -0.312500 -0.125000 0.312500
|
||||
v 0.312500 0.437500 0.312500
|
||||
v -0.312500 0.437500 0.312500
|
||||
v 0.312500 -0.109375 -0.187500
|
||||
v -0.312500 -0.109375 -0.187500
|
||||
v 0.312500 0.156250 0.285156
|
||||
v -0.312500 0.156250 0.285156
|
||||
v 0.312500 -0.125000 -0.312500
|
||||
v -0.312500 -0.109375 0.250000
|
||||
v 0.312500 -0.062500 0.296875
|
||||
v -0.312500 0.375000 0.296875
|
||||
v 0.312500 -0.109375 0.250000
|
||||
v -0.312500 -0.125000 -0.312500
|
||||
v 0.312500 0.375000 0.296875
|
||||
v -0.312500 -0.062500 0.296875
|
||||
v 0.312500 -0.101562 0.031250
|
||||
v -0.312500 -0.101562 0.031250
|
||||
v -0.432138 -0.500000 0.343750
|
||||
v -0.432138 -0.437500 0.343750
|
||||
v -0.380362 -0.500000 0.343750
|
||||
v -0.380362 -0.437500 0.343750
|
||||
v -0.343750 -0.500000 0.380362
|
||||
v -0.343750 -0.437500 0.380362
|
||||
v -0.343750 -0.500000 0.432138
|
||||
v -0.343750 -0.437500 0.432138
|
||||
v -0.380362 -0.500000 0.468750
|
||||
v -0.380362 -0.437500 0.468750
|
||||
v -0.432138 -0.500000 0.468750
|
||||
v -0.432138 -0.437500 0.468750
|
||||
v -0.468750 -0.500000 0.432138
|
||||
v -0.468750 -0.437500 0.432138
|
||||
v -0.468750 -0.500000 0.380362
|
||||
v -0.468750 -0.437500 0.380362
|
||||
v 0.343750 -0.437500 0.380362
|
||||
v 0.343750 -0.500000 0.380362
|
||||
v 0.343750 -0.437500 0.432138
|
||||
v 0.343750 -0.500000 0.432138
|
||||
v 0.380362 -0.437500 0.468750
|
||||
v 0.380362 -0.500000 0.468750
|
||||
v 0.432138 -0.437500 0.468750
|
||||
v 0.432138 -0.500000 0.468750
|
||||
v 0.468750 -0.437500 0.432138
|
||||
v 0.468750 -0.500000 0.432138
|
||||
v 0.468750 -0.437500 0.380362
|
||||
v 0.468750 -0.500000 0.380362
|
||||
v 0.432138 -0.437500 0.343750
|
||||
v 0.432138 -0.500000 0.343750
|
||||
v 0.380362 -0.437500 0.343750
|
||||
v 0.380362 -0.500000 0.343750
|
||||
v -0.432138 -0.500000 -0.468750
|
||||
v -0.432138 -0.437500 -0.468750
|
||||
v -0.380362 -0.500000 -0.468750
|
||||
v -0.380362 -0.437500 -0.468750
|
||||
v -0.343750 -0.500000 -0.432138
|
||||
v -0.343750 -0.437500 -0.432138
|
||||
v -0.343750 -0.500000 -0.380362
|
||||
v -0.343750 -0.437500 -0.380362
|
||||
v -0.380362 -0.500000 -0.343750
|
||||
v -0.380362 -0.437500 -0.343750
|
||||
v -0.432138 -0.500000 -0.343750
|
||||
v -0.432138 -0.437500 -0.343750
|
||||
v -0.468750 -0.500000 -0.380362
|
||||
v -0.468750 -0.437500 -0.380362
|
||||
v -0.468750 -0.500000 -0.432138
|
||||
v -0.468750 -0.437500 -0.432138
|
||||
v 0.343750 -0.437500 -0.432138
|
||||
v 0.343750 -0.500000 -0.432138
|
||||
v 0.343750 -0.437500 -0.380362
|
||||
v 0.343750 -0.500000 -0.380362
|
||||
v 0.380362 -0.437500 -0.343750
|
||||
v 0.380362 -0.500000 -0.343750
|
||||
v 0.432138 -0.437500 -0.343750
|
||||
v 0.432138 -0.500000 -0.343750
|
||||
v 0.468750 -0.437500 -0.380362
|
||||
v 0.468750 -0.500000 -0.380362
|
||||
v 0.468750 -0.437500 -0.432138
|
||||
v 0.468750 -0.500000 -0.432138
|
||||
v 0.432138 -0.437500 -0.468750
|
||||
v 0.432138 -0.500000 -0.468750
|
||||
v 0.380362 -0.437500 -0.468750
|
||||
v 0.380362 -0.500000 -0.468750
|
||||
vt 0.062590 0.539162
|
||||
vt 0.062590 0.601648
|
||||
vt 0.000103 0.539162
|
||||
@ -367,52 +367,52 @@ vt 0.125000 0.312500
|
||||
vt 0.125000 0.375000
|
||||
vt 0.187500 0.312500
|
||||
vt 0.187500 0.375000
|
||||
vn 0.875600 -0.341600 0.341600
|
||||
vn 0.341600 -0.341600 0.875600
|
||||
vn 0.341600 -0.875600 0.341600
|
||||
vn 0.341600 0.341600 0.875600
|
||||
vn 0.875600 0.341600 0.341600
|
||||
vn 0.341600 0.875600 0.341600
|
||||
vn -0.300200 0.300200 0.905400
|
||||
vn -0.650700 0.650700 0.391300
|
||||
vn -0.300200 -0.300200 0.905400
|
||||
vn -0.650700 -0.650700 0.391300
|
||||
vn 0.110000 0.987800 0.110000
|
||||
vn 0.297100 0.717300 -0.630300
|
||||
vn -0.577400 0.577400 -0.577400
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.923900 0.000000 0.382700
|
||||
vn -0.139900 -0.000000 0.990200
|
||||
vn 0.707100 0.000000 0.707100
|
||||
vn 0.676600 0.729300 0.101700
|
||||
vn 0.676600 -0.729300 0.101700
|
||||
vn 0.563000 -0.526700 0.636900
|
||||
vn 0.563000 0.526700 0.636900
|
||||
vn 0.110000 0.110000 0.987800
|
||||
vn 0.110000 -0.110000 0.987800
|
||||
vn 0.578900 0.574300 0.578900
|
||||
vn 0.717300 0.297100 -0.630200
|
||||
vn 0.717300 -0.297100 -0.630200
|
||||
vn 0.297100 -0.717300 -0.630200
|
||||
vn 0.439400 0.000000 0.898300
|
||||
vn 0.079900 0.000000 0.996800
|
||||
vn 0.988900 0.000000 -0.148700
|
||||
vn 0.110000 -0.987800 0.110000
|
||||
vn 0.578900 -0.574300 0.578900
|
||||
vn 0.297100 -0.717300 -0.630300
|
||||
vn 0.297100 0.717300 -0.630200
|
||||
vn -0.577400 -0.577400 -0.577400
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn -0.000000 1.000000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 0.707100 -0.707100
|
||||
vn 0.000000 -0.707100 -0.707100
|
||||
vn 0.341600 0.341600 -0.875600
|
||||
vn 0.341600 0.875600 -0.341600
|
||||
vn 0.875600 0.341600 -0.341600
|
||||
vn -0.341600 0.875600 -0.341600
|
||||
vn -0.341600 0.341600 -0.875600
|
||||
vn -0.875600 0.341600 -0.341600
|
||||
vn -0.300200 0.905400 0.300200
|
||||
vn -0.650700 0.391300 0.650700
|
||||
vn 0.300200 0.905400 0.300200
|
||||
vn 0.650700 0.391300 0.650700
|
||||
vn -0.987800 0.110000 -0.110000
|
||||
vn -0.717300 -0.630300 -0.297100
|
||||
vn -0.577400 -0.577400 0.577400
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.707100 -0.707100 0.000000
|
||||
vn -0.707100 -0.707100 0.000000
|
||||
vn 0.000000 0.382700 -0.923900
|
||||
vn 0.000000 0.990200 0.139900
|
||||
vn 0.000000 0.707100 -0.707100
|
||||
vn -0.729300 0.101700 -0.676600
|
||||
vn 0.729300 0.101700 -0.676600
|
||||
vn 0.526700 0.636900 -0.563000
|
||||
vn -0.526700 0.636900 -0.563000
|
||||
vn -0.110000 0.987800 -0.110000
|
||||
vn 0.110000 0.987800 -0.110000
|
||||
vn -0.574300 0.578900 -0.578900
|
||||
vn -0.297100 -0.630200 -0.717300
|
||||
vn 0.297100 -0.630200 -0.717300
|
||||
vn 0.717300 -0.630200 -0.297100
|
||||
vn 0.000000 0.898300 -0.439400
|
||||
vn 0.000000 0.996800 -0.079900
|
||||
vn 0.000000 -0.148700 -0.988900
|
||||
vn 0.987800 0.110000 -0.110000
|
||||
vn 0.574300 0.578900 -0.578900
|
||||
vn 0.717300 -0.630300 -0.297100
|
||||
vn -0.717300 -0.630200 -0.297100
|
||||
vn 0.577400 -0.577400 0.577400
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn -0.707100 0.707100 0.000000
|
||||
vn 0.707100 0.707100 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn -0.707100 -0.707100 0.000000
|
||||
vn 0.707100 -0.707100 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.707100 0.000000 -0.707100
|
||||
vn 0.707100 0.000000 0.707100
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn -0.707100 0.000000 0.707100
|
||||
vn -0.707100 0.000000 -0.707100
|
||||
g chair_Cylinder_colored
|
||||
s 1
|
||||
f 31/1/1 29/2/2 43/3/3
|
||||
|
0
homedecor/models/forniture_chains.obj
Normal file → Executable file
0
homedecor/models/forniture_chains.obj
Normal file → Executable file
0
homedecor/models/forniture_torch.obj
Normal file → Executable file
0
homedecor/models/forniture_torch.obj
Normal file → Executable file
0
homedecor/models/homedecor_4_bottles.obj
Normal file → Executable file
0
homedecor/models/homedecor_4_bottles.obj
Normal file → Executable file
0
homedecor/models/homedecor_ac.obj
Normal file → Executable file
0
homedecor/models/homedecor_ac.obj
Normal file → Executable file
0
homedecor/models/homedecor_analog_clock.obj
Normal file → Executable file
0
homedecor/models/homedecor_analog_clock.obj
Normal file → Executable file
0
homedecor/models/homedecor_banister_diagonal_left.obj
Normal file → Executable file
0
homedecor/models/homedecor_banister_diagonal_left.obj
Normal file → Executable file
0
homedecor/models/homedecor_banister_diagonal_right.obj
Normal file → Executable file
0
homedecor/models/homedecor_banister_diagonal_right.obj
Normal file → Executable file
0
homedecor/models/homedecor_banister_horizontal.obj
Normal file → Executable file
0
homedecor/models/homedecor_banister_horizontal.obj
Normal file → Executable file
0
homedecor/models/homedecor_barbecue.obj
Normal file → Executable file
0
homedecor/models/homedecor_barbecue.obj
Normal file → Executable file
0
homedecor/models/homedecor_bathroom_faucet.obj
Normal file → Executable file
0
homedecor/models/homedecor_bathroom_faucet.obj
Normal file → Executable file
0
homedecor/models/homedecor_bathroom_set.obj
Normal file → Executable file
0
homedecor/models/homedecor_bathroom_set.obj
Normal file → Executable file
0
homedecor/models/homedecor_bathroom_sink.obj
Normal file → Executable file
0
homedecor/models/homedecor_bathroom_sink.obj
Normal file → Executable file
File diff suppressed because it is too large
Load Diff
318
homedecor/models/homedecor_bed_extended.obj
Normal file → Executable file
318
homedecor/models/homedecor_bed_extended.obj
Normal file → Executable file
@ -1,158 +1,158 @@
|
||||
# Blender v2.72 (sub 0) OBJ File: 'bed-extended.blend'
|
||||
# Blender v2.73 (sub 0) OBJ File: 'bed-extended.blend'
|
||||
# www.blender.org
|
||||
o Cube
|
||||
v -1.437500 0.500000 -0.375000
|
||||
v 0.437500 0.500000 -0.375000
|
||||
v 0.437500 -0.500000 -0.375000
|
||||
v -1.437500 -0.500000 -0.375000
|
||||
v -1.437500 0.500000 -0.125000
|
||||
v 0.437500 0.500000 -0.125000
|
||||
v 0.437500 -0.500000 -0.125000
|
||||
v -1.437500 -0.500000 -0.125000
|
||||
v -1.437500 0.437500 -0.125000
|
||||
v 0.437500 0.437500 -0.125000
|
||||
v 0.437500 -0.437500 -0.125000
|
||||
v -1.437500 -0.437500 -0.125000
|
||||
v 0.437500 -0.375000 -0.500000
|
||||
v 0.500000 -0.375000 -0.500000
|
||||
v -0.500000 -0.375000 1.437500
|
||||
v -0.500000 -0.375000 -0.437500
|
||||
v 0.500000 -0.375000 -0.437500
|
||||
v 0.500000 -0.375000 1.437500
|
||||
v -0.500000 -0.125000 1.437500
|
||||
v -0.500000 -0.125000 -0.437500
|
||||
v 0.500000 -0.125000 -0.437500
|
||||
v 0.500000 -0.125000 1.437500
|
||||
v -0.437500 -0.125000 1.437500
|
||||
v -0.437500 -0.125000 -0.437500
|
||||
v 0.437500 -0.125000 -0.437500
|
||||
v 0.437500 -0.125000 1.437500
|
||||
v 0.375000 -0.500000 -0.437500
|
||||
v 0.375000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.437500 -0.500000 -0.500000
|
||||
v 0.437500 -0.375000 0.500000
|
||||
v 0.500000 -0.375000 0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.437500 -0.500000 0.500000
|
||||
v 0.437500 0.500000 -0.500000
|
||||
v 0.500000 -0.500000 -0.437500
|
||||
v 0.375000 0.500000 -0.437500
|
||||
v 0.375000 0.500000 -0.500000
|
||||
v 0.500000 0.500000 -0.500000
|
||||
v 0.500000 0.375000 -0.500000
|
||||
v 0.437500 0.375000 -0.500000
|
||||
v 0.437500 0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v 0.500000 0.375000 0.500000
|
||||
v 0.437500 0.375000 0.500000
|
||||
v 0.437500 0.375000 -0.375000
|
||||
v 0.500000 0.375000 -0.375000
|
||||
v 0.500000 -0.375000 -0.375000
|
||||
v 0.500000 0.500000 -0.437500
|
||||
v -0.500000 -0.500000 -0.437500
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v -0.375000 -0.500000 -0.500000
|
||||
v -0.375000 -0.500000 -0.437500
|
||||
v -0.500000 0.500000 -0.437500
|
||||
v -0.500000 0.500000 -0.500000
|
||||
v -0.375000 0.500000 -0.500000
|
||||
v -0.375000 0.500000 -0.437500
|
||||
v -0.375000 -0.375000 -0.437500
|
||||
v -0.375000 -0.375000 -0.500000
|
||||
v 0.375000 -0.375000 -0.500000
|
||||
v 0.375000 -0.375000 -0.437500
|
||||
v -0.375000 -0.125000 -0.437500
|
||||
v -0.375000 -0.125000 -0.500000
|
||||
v 0.375000 -0.125000 -0.500000
|
||||
v 0.375000 -0.125000 -0.437500
|
||||
v -0.375000 0.000000 -0.437500
|
||||
v -0.375000 0.000000 -0.500000
|
||||
v 0.375000 0.000000 -0.500000
|
||||
v 0.375000 0.000000 -0.437500
|
||||
v -0.375000 0.125000 -0.437500
|
||||
v -0.375000 0.125000 -0.500000
|
||||
v 0.375000 0.125000 -0.500000
|
||||
v 0.375000 0.125000 -0.437500
|
||||
v 0.375000 -0.500000 1.437500
|
||||
v 0.375000 -0.500000 1.500000
|
||||
v 0.500000 -0.500000 1.500000
|
||||
v 0.500000 -0.500000 1.437500
|
||||
v 0.375000 0.500000 1.437500
|
||||
v 0.375000 0.500000 1.500000
|
||||
v 0.500000 0.500000 1.500000
|
||||
v 0.500000 0.500000 1.437500
|
||||
v -0.500000 -0.500000 1.437500
|
||||
v -0.500000 -0.500000 1.500000
|
||||
v -0.375000 -0.500000 1.500000
|
||||
v -0.375000 -0.500000 1.437500
|
||||
v -0.500000 0.500000 1.437500
|
||||
v -0.500000 0.500000 1.500000
|
||||
v -0.375000 0.500000 1.500000
|
||||
v -0.375000 0.500000 1.437500
|
||||
v -0.375000 -0.375000 1.437500
|
||||
v -0.375000 -0.375000 1.500000
|
||||
v 0.375000 -0.375000 1.500000
|
||||
v 0.375000 -0.375000 1.437500
|
||||
v -0.375000 -0.125000 1.437500
|
||||
v -0.375000 -0.125000 1.500000
|
||||
v 0.375000 -0.125000 1.500000
|
||||
v 0.375000 -0.125000 1.437500
|
||||
v -0.375000 -0.062500 1.437500
|
||||
v -0.375000 -0.062500 1.500000
|
||||
v 0.375000 -0.062500 1.500000
|
||||
v 0.375000 -0.062500 1.437500
|
||||
v -0.375000 0.187500 1.437500
|
||||
v -0.375000 0.187500 1.500000
|
||||
v 0.375000 0.187500 1.500000
|
||||
v 0.375000 0.187500 1.437500
|
||||
v -0.375000 0.250000 1.437500
|
||||
v -0.375000 0.250000 1.500000
|
||||
v 0.375000 0.250000 1.500000
|
||||
v 0.375000 0.250000 1.437500
|
||||
v -0.375000 0.437500 1.437500
|
||||
v -0.375000 0.437500 1.500000
|
||||
v 0.375000 0.437500 1.500000
|
||||
v 0.375000 0.437500 1.437500
|
||||
v -0.500000 -0.125000 0.500000
|
||||
v -0.500000 -0.375000 0.500000
|
||||
v 0.500000 -0.125000 0.500000
|
||||
v 0.500000 -0.375000 0.500000
|
||||
v -0.437500 -0.125000 0.500000
|
||||
v 0.437500 -0.125000 0.500000
|
||||
v -0.437500 -0.375000 0.500000
|
||||
v -0.437500 -0.375000 1.437500
|
||||
v -0.437500 -0.078125 1.437500
|
||||
v -0.437500 -0.078125 -0.437500
|
||||
v 0.437500 -0.078125 -0.437500
|
||||
v 0.437500 -0.078125 1.437500
|
||||
v -0.406250 -0.046875 1.437500
|
||||
v -0.406250 -0.046875 -0.437500
|
||||
v 0.406250 -0.046875 -0.437500
|
||||
v 0.406250 -0.046875 1.437500
|
||||
v -0.312500 -0.046875 1.437500
|
||||
v -0.312500 -0.046875 1.062500
|
||||
v 0.312500 -0.046875 1.062500
|
||||
v 0.312500 -0.046875 1.437500
|
||||
v -0.406250 -0.046875 0.500000
|
||||
v -0.437500 -0.078125 0.500000
|
||||
v 0.406250 -0.046875 0.500000
|
||||
v 0.437500 -0.078125 0.500000
|
||||
v -0.312500 -0.031250 1.437500
|
||||
v -0.312500 -0.031250 1.062500
|
||||
v 0.312500 -0.031250 1.062500
|
||||
v 0.312500 -0.031250 1.437500
|
||||
v -0.250000 0.031250 1.375000
|
||||
v -0.250000 0.031250 1.125000
|
||||
v 0.250000 0.031250 1.125000
|
||||
v 0.250000 0.031250 1.375000
|
||||
v 0.437500 -0.375000 1.437500
|
||||
v 0.437500 -0.375000 0.500000
|
||||
v -0.437500 -0.375000 1.375000
|
||||
v 0.437500 -0.375000 1.375000
|
||||
v -0.437500 -0.375000 -0.375000
|
||||
v 0.437500 -0.375000 -0.375000
|
||||
v 0.437500 0.375000 -0.125000
|
||||
v 0.500000 0.375000 -0.125000
|
||||
v 0.500000 -0.375000 -0.125000
|
||||
v 0.437500 -0.375000 -0.125000
|
||||
v 0.437500 0.375000 0.000000
|
||||
v 0.500000 0.375000 0.000000
|
||||
v 0.500000 -0.375000 0.000000
|
||||
v 0.437500 -0.375000 0.000000
|
||||
v 0.437500 0.375000 0.125000
|
||||
v 0.500000 0.375000 0.125000
|
||||
v 0.500000 -0.375000 0.125000
|
||||
v 0.437500 -0.375000 0.125000
|
||||
v -1.437500 -0.375000 -0.500000
|
||||
v -1.500000 -0.375000 -0.500000
|
||||
v -1.500000 -0.500000 -0.500000
|
||||
v -1.437500 -0.500000 -0.500000
|
||||
v -1.437500 -0.375000 0.500000
|
||||
v -1.500000 -0.375000 0.500000
|
||||
v -1.500000 -0.500000 0.500000
|
||||
v -1.437500 -0.500000 0.500000
|
||||
v -1.437500 0.500000 -0.500000
|
||||
v -1.500000 0.500000 -0.500000
|
||||
v -1.500000 0.375000 -0.500000
|
||||
v -1.437500 0.375000 -0.500000
|
||||
v -1.437500 0.500000 0.500000
|
||||
v -1.500000 0.500000 0.500000
|
||||
v -1.500000 0.375000 0.500000
|
||||
v -1.437500 0.375000 0.500000
|
||||
v -1.437500 0.375000 -0.375000
|
||||
v -1.500000 0.375000 -0.375000
|
||||
v -1.500000 -0.375000 -0.375000
|
||||
v -1.437500 -0.375000 -0.375000
|
||||
v -1.437500 0.375000 -0.125000
|
||||
v -1.500000 0.375000 -0.125000
|
||||
v -1.500000 -0.375000 -0.125000
|
||||
v -1.437500 -0.375000 -0.125000
|
||||
v -1.437500 0.375000 -0.062500
|
||||
v -1.500000 0.375000 -0.062500
|
||||
v -1.500000 -0.375000 -0.062500
|
||||
v -1.437500 -0.375000 -0.062500
|
||||
v -1.437500 0.375000 0.187500
|
||||
v -1.500000 0.375000 0.187500
|
||||
v -1.500000 -0.375000 0.187500
|
||||
v -1.437500 -0.375000 0.187500
|
||||
v -1.437500 0.375000 0.250000
|
||||
v -1.500000 0.375000 0.250000
|
||||
v -1.500000 -0.375000 0.250000
|
||||
v -1.437500 -0.375000 0.250000
|
||||
v -1.437500 0.375000 0.437500
|
||||
v -1.500000 0.375000 0.437500
|
||||
v -1.500000 -0.375000 0.437500
|
||||
v -1.437500 -0.375000 0.437500
|
||||
v -0.500000 0.500000 -0.125000
|
||||
v -0.500000 0.500000 -0.375000
|
||||
v -0.500000 -0.500000 -0.125000
|
||||
v -0.500000 -0.500000 -0.375000
|
||||
v -0.500000 0.437500 -0.125000
|
||||
v -0.500000 -0.437500 -0.125000
|
||||
v -0.500000 0.437500 -0.375000
|
||||
v -1.437500 0.437500 -0.375000
|
||||
v -1.437500 0.437500 -0.078125
|
||||
v 0.437500 0.437500 -0.078125
|
||||
v 0.437500 -0.437500 -0.078125
|
||||
v -1.437500 -0.437500 -0.078125
|
||||
v -1.437500 0.406250 -0.046875
|
||||
v 0.437500 0.406250 -0.046875
|
||||
v 0.437500 -0.406250 -0.046875
|
||||
v -1.437500 -0.406250 -0.046875
|
||||
v -1.437500 0.312500 -0.046875
|
||||
v -1.062500 0.312500 -0.046875
|
||||
v -1.062500 -0.312500 -0.046875
|
||||
v -1.437500 -0.312500 -0.046875
|
||||
v -0.500000 0.406250 -0.046875
|
||||
v -0.500000 0.437500 -0.078125
|
||||
v -0.500000 -0.406250 -0.046875
|
||||
v -0.500000 -0.437500 -0.078125
|
||||
v -1.437500 0.312500 -0.031250
|
||||
v -1.062500 0.312500 -0.031250
|
||||
v -1.062500 -0.312500 -0.031250
|
||||
v -1.437500 -0.312500 -0.031250
|
||||
v -1.375000 0.250000 0.031250
|
||||
v -1.125000 0.250000 0.031250
|
||||
v -1.125000 -0.250000 0.031250
|
||||
v -1.375000 -0.250000 0.031250
|
||||
v -1.437500 -0.437500 -0.375000
|
||||
v -0.500000 -0.437500 -0.375000
|
||||
v -1.375000 0.437500 -0.375000
|
||||
v -1.375000 -0.437500 -0.375000
|
||||
v 0.375000 0.437500 -0.375000
|
||||
v 0.375000 -0.437500 -0.375000
|
||||
v -1.375000 0.437500 -0.312500
|
||||
v -1.375000 -0.437500 -0.312500
|
||||
v 0.375000 0.437500 -0.312500
|
||||
v 0.375000 -0.437500 -0.312500
|
||||
v -1.000000 0.437500 -0.125000
|
||||
v -1.000000 -0.437500 -0.125000
|
||||
v -1.000000 0.437500 -0.078125
|
||||
v -1.000000 -0.406250 -0.046875
|
||||
v -1.000000 0.406250 -0.046875
|
||||
v -1.000000 -0.437500 -0.078125
|
||||
v -0.500000 0.437500 -0.312500
|
||||
v -0.500000 -0.437500 -0.312500
|
||||
v 0.437500 0.500000 -0.375000
|
||||
v 0.437500 -0.500000 -0.375000
|
||||
v -0.500000 0.500000 -0.375000
|
||||
v -0.500000 -0.500000 -0.375000
|
||||
v -0.500000 0.437500 -0.375000
|
||||
v 0.437500 0.437500 -0.375000
|
||||
v 0.437500 -0.437500 -0.375000
|
||||
v -0.500000 -0.437500 -0.375000
|
||||
v 0.375000 0.437500 -0.375000
|
||||
v 0.375000 -0.437500 -0.375000
|
||||
v 0.437500 0.375000 0.250000
|
||||
v 0.500000 0.375000 0.250000
|
||||
v 0.500000 -0.375000 0.250000
|
||||
v 0.437500 -0.375000 0.250000
|
||||
v 0.437500 0.375000 0.375000
|
||||
v 0.500000 0.375000 0.375000
|
||||
v 0.500000 -0.375000 0.375000
|
||||
v 0.437500 -0.375000 0.375000
|
||||
v -0.437500 -0.312500 1.375000
|
||||
v 0.437500 -0.312500 1.375000
|
||||
v -0.437500 -0.312500 -0.375000
|
||||
v 0.437500 -0.312500 -0.375000
|
||||
v -0.437500 -0.125000 1.000000
|
||||
v 0.437500 -0.125000 1.000000
|
||||
v -0.437500 -0.078125 1.000000
|
||||
v 0.406250 -0.046875 1.000000
|
||||
v -0.406250 -0.046875 1.000000
|
||||
v 0.437500 -0.078125 1.000000
|
||||
v -0.437500 -0.312500 0.500000
|
||||
v 0.437500 -0.312500 0.500000
|
||||
v -0.500000 -0.375000 -0.437500
|
||||
v 0.500000 -0.375000 -0.437500
|
||||
v -0.500000 -0.375000 0.500000
|
||||
v 0.500000 -0.375000 0.500000
|
||||
v -0.437500 -0.375000 0.500000
|
||||
v -0.437500 -0.375000 -0.437500
|
||||
v 0.437500 -0.375000 -0.437500
|
||||
v 0.437500 -0.375000 0.500000
|
||||
v -0.437500 -0.375000 -0.375000
|
||||
v 0.437500 -0.375000 -0.375000
|
||||
v -0.375000 0.250000 -0.437500
|
||||
v -0.375000 0.250000 -0.500000
|
||||
v 0.375000 0.250000 -0.500000
|
||||
v 0.375000 0.250000 -0.437500
|
||||
v -0.375000 0.375000 -0.437500
|
||||
v -0.375000 0.375000 -0.500000
|
||||
v 0.375000 0.375000 -0.500000
|
||||
v 0.375000 0.375000 -0.437500
|
||||
vt 1.000000 0.250000
|
||||
vt 0.062500 0.250000
|
||||
vt 0.062500 -0.000000
|
||||
@ -233,16 +233,16 @@ vt 0.750000 0.125000
|
||||
vt 0.812500 0.062500
|
||||
vt 0.812500 0.500000
|
||||
vt 0.187500 0.500000
|
||||
vn -0.000000 1.000000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn 0.000000 -0.707100 0.707100
|
||||
vn -0.000000 0.707100 0.707100
|
||||
vn 0.707100 0.000000 0.707100
|
||||
vn -0.707100 0.000000 0.707100
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.707100 0.707100 0.000000
|
||||
vn -0.707100 0.707100 0.000000
|
||||
vn 0.000000 0.707100 -0.707100
|
||||
vn 0.000000 0.707100 0.707100
|
||||
g Cube_Cube_frame-metal
|
||||
s off
|
||||
f 85/1/1 6/2/1 2/3/1 86/4/1
|
||||
|
514
homedecor/models/homedecor_bed_kingsize.obj
Normal file → Executable file
514
homedecor/models/homedecor_bed_kingsize.obj
Normal file → Executable file
@ -1,260 +1,260 @@
|
||||
# Blender v2.72 (sub 0) OBJ File: 'bed-kingsize.blend'
|
||||
# Blender v2.73 (sub 0) OBJ File: 'bed-kingsize.blend'
|
||||
# www.blender.org
|
||||
o Cube
|
||||
v -1.437500 0.500000 -0.375000
|
||||
v 0.437500 -0.500000 -0.375000
|
||||
v -1.437500 -0.500000 -0.375000
|
||||
v 0.437500 -0.500000 -0.125000
|
||||
v -1.437500 -0.500000 -0.125000
|
||||
v 0.437500 -0.437500 -0.125000
|
||||
v -1.437500 -0.437500 -0.125000
|
||||
v 0.437500 -0.375000 -0.500000
|
||||
v 0.500000 -0.375000 -0.500000
|
||||
v -0.500000 -0.375000 1.437500
|
||||
v 0.500000 -0.375000 -0.437500
|
||||
v 0.500000 -0.375000 1.437500
|
||||
v 0.500000 -0.125000 -0.437500
|
||||
v 0.500000 -0.125000 1.437500
|
||||
v 0.437500 -0.125000 -0.437500
|
||||
v 0.437500 -0.125000 1.437500
|
||||
v 0.375000 -0.500000 -0.437500
|
||||
v 0.375000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.437500 -0.500000 -0.500000
|
||||
v 0.437500 -0.375000 0.187500
|
||||
v 0.500000 -0.375000 0.187500
|
||||
v 0.500000 -0.500000 0.187500
|
||||
v 0.437500 -0.500000 0.187500
|
||||
v 0.437500 0.500000 -0.375000
|
||||
v 0.500000 0.500000 -0.375000
|
||||
v 0.500000 -0.375000 -0.375000
|
||||
v 0.500000 -0.500000 -0.437500
|
||||
v 0.375000 0.187500 -0.437500
|
||||
v 0.375000 0.187500 -0.500000
|
||||
v 0.500000 0.187500 -0.500000
|
||||
v 0.500000 0.187500 -0.437500
|
||||
v -0.500000 -0.375000 -0.437500
|
||||
v -0.500000 -0.375000 -0.500000
|
||||
v 0.375000 -0.375000 -0.500000
|
||||
v 0.375000 -0.375000 -0.437500
|
||||
v -0.500000 -0.125000 -0.437500
|
||||
v -0.500000 -0.125000 -0.500000
|
||||
v 0.375000 -0.125000 -0.500000
|
||||
v 0.375000 -0.125000 -0.437500
|
||||
v -0.500000 0.000000 -0.437500
|
||||
v -0.500000 0.000000 -0.500000
|
||||
v 0.375000 0.000000 -0.500000
|
||||
v 0.375000 0.000000 -0.437500
|
||||
v -0.500000 0.125000 -0.437500
|
||||
v -0.500000 0.125000 -0.500000
|
||||
v 0.375000 0.125000 -0.500000
|
||||
v 0.375000 0.125000 -0.437500
|
||||
v 0.375000 -0.500000 1.437500
|
||||
v 0.375000 -0.500000 1.500000
|
||||
v 0.500000 -0.500000 1.500000
|
||||
v 0.500000 -0.500000 1.437500
|
||||
v 0.375000 0.500000 1.437500
|
||||
v 0.375000 0.500000 1.500000
|
||||
v 0.500000 0.500000 1.500000
|
||||
v 0.500000 0.500000 1.437500
|
||||
v -0.500000 -0.375000 1.437500
|
||||
v -0.500000 -0.375000 1.500000
|
||||
v 0.375000 -0.375000 1.500000
|
||||
v 0.375000 -0.375000 1.437500
|
||||
v -0.500000 -0.125000 1.437500
|
||||
v -0.500000 -0.125000 1.500000
|
||||
v 0.375000 -0.125000 1.500000
|
||||
v 0.375000 -0.125000 1.437500
|
||||
v -0.500000 -0.062500 1.437500
|
||||
v -0.500000 -0.062500 1.500000
|
||||
v 0.375000 -0.062500 1.500000
|
||||
v 0.375000 -0.062500 1.437500
|
||||
v -0.500000 0.187500 1.437500
|
||||
v -0.500000 0.187500 1.500000
|
||||
v 0.375000 0.187500 1.500000
|
||||
v 0.375000 0.187500 1.437500
|
||||
v -0.500000 0.250000 1.437500
|
||||
v -0.500000 0.250000 1.500000
|
||||
v 0.375000 0.250000 1.500000
|
||||
v 0.375000 0.250000 1.437500
|
||||
v -0.500000 0.437500 1.437500
|
||||
v -0.500000 0.437500 1.500000
|
||||
v 0.375000 0.437500 1.500000
|
||||
v 0.375000 0.437500 1.437500
|
||||
v -0.500000 -0.375000 0.500000
|
||||
v 0.500000 -0.125000 0.500000
|
||||
v 0.500000 -0.375000 0.500000
|
||||
v 0.437500 -0.125000 0.500000
|
||||
v -0.437500 -0.375000 0.500000
|
||||
v -0.437500 -0.375000 1.437500
|
||||
v 0.437500 -0.078125 -0.437500
|
||||
v 0.437500 -0.078125 1.437500
|
||||
v -0.500000 -0.046875 1.437500
|
||||
v -0.500000 -0.046875 -0.437500
|
||||
v 0.406250 -0.046875 -0.437500
|
||||
v 0.406250 -0.046875 1.437500
|
||||
v -0.312500 -0.046875 1.437500
|
||||
v -0.312500 -0.046875 1.062500
|
||||
v 0.312500 -0.046875 1.062500
|
||||
v 0.312500 -0.046875 1.437500
|
||||
v -0.500000 -0.046875 0.500000
|
||||
v 0.406250 -0.046875 0.500000
|
||||
v 0.437500 -0.078125 0.500000
|
||||
v -0.312500 -0.031250 1.437500
|
||||
v -0.312500 -0.031250 1.062500
|
||||
v 0.312500 -0.031250 1.062500
|
||||
v 0.312500 -0.031250 1.437500
|
||||
v -0.250000 0.031250 1.375000
|
||||
v -0.250000 0.031250 1.125000
|
||||
v 0.250000 0.031250 1.125000
|
||||
v 0.250000 0.031250 1.375000
|
||||
v 0.437500 -0.375000 1.437500
|
||||
v 0.437500 -0.375000 0.500000
|
||||
v -0.437500 -0.375000 1.375000
|
||||
v 0.437500 -0.375000 1.375000
|
||||
v -0.437500 -0.375000 -0.375000
|
||||
v 0.437500 -0.375000 -0.375000
|
||||
v 0.437500 0.500000 -0.125000
|
||||
v 0.500000 0.500000 -0.125000
|
||||
v 0.500000 -0.375000 -0.125000
|
||||
v 0.437500 -0.375000 -0.125000
|
||||
v 0.437500 0.500000 0.000000
|
||||
v 0.500000 0.500000 0.000000
|
||||
v 0.500000 -0.375000 0.000000
|
||||
v 0.437500 -0.375000 0.000000
|
||||
v 0.437500 0.500000 0.125000
|
||||
v 0.500000 0.500000 0.125000
|
||||
v 0.500000 -0.375000 0.125000
|
||||
v 0.437500 -0.375000 0.125000
|
||||
v -1.437500 -0.375000 -0.500000
|
||||
v -1.500000 -0.375000 -0.500000
|
||||
v -0.437500 -0.312500 1.375000
|
||||
v 0.437500 -0.312500 1.375000
|
||||
v -0.437500 -0.312500 -0.375000
|
||||
v 0.437500 -0.312500 -0.375000
|
||||
v 0.437500 -0.125000 1.000000
|
||||
v 0.406250 -0.046875 1.000000
|
||||
v -0.500000 -0.046875 1.000000
|
||||
v 0.437500 -0.078125 1.000000
|
||||
v -0.437500 -0.312500 0.500000
|
||||
v 0.437500 -0.312500 0.500000
|
||||
v -0.500000 -0.375000 -0.437500
|
||||
v 0.500000 -0.375000 -0.437500
|
||||
v -0.500000 -0.375000 0.500000
|
||||
v 0.500000 -0.375000 0.500000
|
||||
v -0.437500 -0.375000 0.500000
|
||||
v -0.437500 -0.375000 -0.437500
|
||||
v 0.437500 -0.375000 -0.437500
|
||||
v 0.437500 -0.375000 0.500000
|
||||
v -0.437500 -0.375000 -0.375000
|
||||
v 0.437500 -0.375000 -0.375000
|
||||
v -1.500000 -0.375000 1.437500
|
||||
v -1.500000 -0.375000 -0.437500
|
||||
v -0.500000 -0.375000 1.437500
|
||||
v -1.500000 -0.125000 1.437500
|
||||
v -1.500000 -0.125000 -0.437500
|
||||
v -1.437500 -0.125000 1.437500
|
||||
v -1.437500 -0.125000 -0.437500
|
||||
v -1.500000 -0.500000 -0.437500
|
||||
v -1.500000 -0.500000 -0.500000
|
||||
v -1.437500 -0.500000 -0.500000
|
||||
v -1.437500 -0.375000 0.500000
|
||||
v -1.375000 -0.500000 -0.500000
|
||||
v -1.375000 -0.500000 -0.437500
|
||||
v -1.500000 0.187500 -0.437500
|
||||
v -1.500000 0.187500 -0.500000
|
||||
v -1.375000 0.187500 -0.500000
|
||||
v -1.375000 0.187500 -0.437500
|
||||
v -1.375000 -0.375000 -0.437500
|
||||
v -1.375000 -0.375000 -0.500000
|
||||
v -0.500000 -0.375000 -0.500000
|
||||
v -0.500000 -0.375000 -0.437500
|
||||
v -1.375000 -0.125000 -0.437500
|
||||
v -1.375000 -0.125000 -0.500000
|
||||
v -0.500000 -0.125000 -0.500000
|
||||
v -0.500000 -0.125000 -0.437500
|
||||
v -1.375000 0.000000 -0.437500
|
||||
v -1.375000 0.000000 -0.500000
|
||||
v -0.500000 0.000000 -0.500000
|
||||
v -0.500000 0.000000 -0.437500
|
||||
v -1.375000 0.125000 -0.437500
|
||||
v -1.375000 0.125000 -0.500000
|
||||
v -0.500000 0.125000 -0.500000
|
||||
v -0.500000 0.125000 -0.437500
|
||||
v -1.500000 -0.500000 1.437500
|
||||
v -1.500000 -0.500000 1.500000
|
||||
v -1.375000 -0.500000 1.500000
|
||||
v -1.375000 -0.500000 1.437500
|
||||
v -1.500000 0.500000 1.437500
|
||||
v -1.500000 0.500000 1.500000
|
||||
v -1.375000 0.500000 1.500000
|
||||
v -1.375000 0.500000 1.437500
|
||||
v -1.375000 -0.375000 1.437500
|
||||
v -1.375000 -0.375000 1.500000
|
||||
v -0.500000 -0.375000 1.500000
|
||||
v -0.500000 -0.375000 1.437500
|
||||
v -1.375000 -0.125000 1.437500
|
||||
v -1.375000 -0.125000 1.500000
|
||||
v -0.500000 -0.125000 1.500000
|
||||
v -0.500000 -0.125000 1.437500
|
||||
v -1.375000 -0.062500 1.437500
|
||||
v -1.375000 -0.062500 1.500000
|
||||
v -0.500000 -0.062500 1.500000
|
||||
v -0.500000 -0.062500 1.437500
|
||||
v -1.375000 0.187500 1.437500
|
||||
v -1.375000 0.187500 1.500000
|
||||
v -0.500000 0.187500 1.500000
|
||||
v -0.500000 0.187500 1.437500
|
||||
v -1.375000 0.250000 1.437500
|
||||
v -1.375000 0.250000 1.500000
|
||||
v -0.500000 0.250000 1.500000
|
||||
v -0.500000 0.250000 1.437500
|
||||
v -1.375000 0.437500 1.437500
|
||||
v -1.375000 0.437500 1.500000
|
||||
v -0.500000 0.437500 1.500000
|
||||
v -0.500000 0.437500 1.437500
|
||||
v -1.500000 -0.125000 0.500000
|
||||
v -1.500000 -0.375000 0.500000
|
||||
v -1.500000 -0.500000 0.500000
|
||||
v -1.437500 -0.500000 0.500000
|
||||
v -1.437500 0.500000 -0.375000
|
||||
v -1.500000 0.500000 -0.375000
|
||||
v -1.500000 -0.375000 -0.375000
|
||||
v -0.500000 -0.375000 0.500000
|
||||
v -1.437500 -0.125000 0.500000
|
||||
v -1.437500 -0.375000 0.500000
|
||||
v -1.437500 -0.375000 1.437500
|
||||
v -1.437500 -0.078125 1.437500
|
||||
v -1.437500 -0.078125 -0.437500
|
||||
v -1.406250 -0.046875 1.437500
|
||||
v -1.406250 -0.046875 -0.437500
|
||||
v -0.500000 -0.046875 -0.437500
|
||||
v -0.500000 -0.046875 1.437500
|
||||
v -1.312500 -0.046875 1.437500
|
||||
v -1.312500 -0.046875 1.062500
|
||||
v -0.687500 -0.046875 1.062500
|
||||
v -0.687500 -0.046875 1.437500
|
||||
v -1.406250 -0.046875 0.500000
|
||||
v -1.437500 -0.078125 0.500000
|
||||
v -0.500000 -0.046875 0.500000
|
||||
v -1.312500 -0.031250 1.437500
|
||||
v -1.312500 -0.031250 1.062500
|
||||
v -0.687500 -0.031250 1.062500
|
||||
v -0.687500 -0.031250 1.437500
|
||||
v -1.250000 0.031250 1.375000
|
||||
v -1.250000 0.031250 1.125000
|
||||
v -0.750000 0.031250 1.125000
|
||||
v -0.750000 0.031250 1.375000
|
||||
v -0.562500 -0.375000 1.437500
|
||||
v -0.562500 -0.375000 0.500000
|
||||
v -1.437500 -0.375000 1.375000
|
||||
v -0.562500 -0.375000 1.375000
|
||||
v -1.437500 -0.375000 -0.375000
|
||||
v -1.437500 0.500000 -0.125000
|
||||
v -1.500000 0.500000 -0.125000
|
||||
v -1.500000 -0.375000 -0.125000
|
||||
v -1.437500 -0.375000 -0.125000
|
||||
v -1.437500 0.500000 -0.062500
|
||||
v -1.500000 0.500000 -0.062500
|
||||
v -1.500000 -0.375000 -0.062500
|
||||
v -1.437500 -0.375000 -0.062500
|
||||
v -1.437500 0.500000 0.187500
|
||||
v -1.500000 0.500000 0.187500
|
||||
v -1.500000 -0.375000 0.187500
|
||||
v -1.437500 -0.375000 0.187500
|
||||
v -1.437500 0.500000 0.250000
|
||||
v -1.500000 0.500000 0.250000
|
||||
v -1.500000 -0.375000 0.250000
|
||||
v -1.437500 -0.375000 0.250000
|
||||
v -1.437500 0.500000 0.437500
|
||||
v -1.500000 0.500000 0.437500
|
||||
v -1.500000 -0.375000 0.437500
|
||||
v -1.437500 -0.375000 0.437500
|
||||
v -0.500000 0.500000 -0.375000
|
||||
v -0.500000 -0.500000 -0.125000
|
||||
v -0.500000 -0.500000 -0.375000
|
||||
v -0.500000 -0.437500 -0.125000
|
||||
v -0.500000 0.437500 -0.375000
|
||||
v -1.437500 0.437500 -0.375000
|
||||
v 0.437500 -0.437500 -0.078125
|
||||
v -1.437500 -0.437500 -0.078125
|
||||
v -1.437500 0.500000 -0.046875
|
||||
v 0.437500 0.500000 -0.046875
|
||||
v 0.437500 -0.406250 -0.046875
|
||||
v -1.437500 -0.406250 -0.046875
|
||||
v -1.437500 0.312500 -0.046875
|
||||
v -1.062500 0.312500 -0.046875
|
||||
v -1.062500 -0.312500 -0.046875
|
||||
v -1.437500 -0.312500 -0.046875
|
||||
v -0.500000 0.500000 -0.046875
|
||||
v -0.500000 -0.406250 -0.046875
|
||||
v -0.500000 -0.437500 -0.078125
|
||||
v -1.437500 0.312500 -0.031250
|
||||
v -1.062500 0.312500 -0.031250
|
||||
v -1.062500 -0.312500 -0.031250
|
||||
v -1.437500 -0.312500 -0.031250
|
||||
v -1.375000 0.250000 0.031250
|
||||
v -1.125000 0.250000 0.031250
|
||||
v -1.125000 -0.250000 0.031250
|
||||
v -1.375000 -0.250000 0.031250
|
||||
v -1.437500 -0.437500 -0.375000
|
||||
v -0.500000 -0.437500 -0.375000
|
||||
v -1.375000 0.437500 -0.375000
|
||||
v -1.375000 -0.437500 -0.375000
|
||||
v 0.375000 0.437500 -0.375000
|
||||
v 0.375000 -0.437500 -0.375000
|
||||
v -1.375000 0.437500 -0.312500
|
||||
v -1.375000 -0.437500 -0.312500
|
||||
v 0.375000 0.437500 -0.312500
|
||||
v 0.375000 -0.437500 -0.312500
|
||||
v -1.000000 -0.437500 -0.125000
|
||||
v -1.000000 -0.406250 -0.046875
|
||||
v -1.000000 0.500000 -0.046875
|
||||
v -1.000000 -0.437500 -0.078125
|
||||
v -0.500000 0.437500 -0.312500
|
||||
v -0.500000 -0.437500 -0.312500
|
||||
v 0.437500 0.500000 -0.375000
|
||||
v 0.437500 -0.500000 -0.375000
|
||||
v -0.500000 0.500000 -0.375000
|
||||
v -0.500000 -0.500000 -0.375000
|
||||
v -0.500000 0.437500 -0.375000
|
||||
v 0.437500 0.437500 -0.375000
|
||||
v 0.437500 -0.437500 -0.375000
|
||||
v -0.500000 -0.437500 -0.375000
|
||||
v 0.375000 0.437500 -0.375000
|
||||
v 0.375000 -0.437500 -0.375000
|
||||
v -1.437500 1.500000 -0.375000
|
||||
v 0.437500 1.500000 -0.375000
|
||||
v -1.437500 0.500000 -0.375000
|
||||
v -1.437500 1.500000 -0.125000
|
||||
v 0.437500 1.500000 -0.125000
|
||||
v -1.437500 1.437500 -0.125000
|
||||
v 0.437500 1.437500 -0.125000
|
||||
v 0.437500 1.500000 -0.500000
|
||||
v 0.500000 1.500000 -0.500000
|
||||
v 0.500000 1.375000 -0.500000
|
||||
v 0.437500 1.375000 -0.500000
|
||||
v 0.437500 1.500000 0.187500
|
||||
v 0.500000 1.500000 0.187500
|
||||
v 0.500000 1.375000 0.187500
|
||||
v 0.437500 1.375000 0.187500
|
||||
v 0.437500 1.375000 -0.375000
|
||||
v 0.500000 1.375000 -0.375000
|
||||
v 0.500000 0.500000 -0.375000
|
||||
v 0.437500 0.500000 -0.375000
|
||||
v 0.437500 1.375000 -0.125000
|
||||
v 0.500000 1.375000 -0.125000
|
||||
v 0.500000 0.500000 -0.125000
|
||||
v 0.437500 0.500000 -0.125000
|
||||
v 0.437500 1.375000 0.000000
|
||||
v 0.500000 1.375000 0.000000
|
||||
v 0.500000 0.500000 0.000000
|
||||
v 0.437500 0.500000 0.000000
|
||||
v 0.437500 1.375000 0.125000
|
||||
v 0.500000 1.375000 0.125000
|
||||
v 0.500000 0.500000 0.125000
|
||||
v 0.437500 0.500000 0.125000
|
||||
v -1.437500 1.500000 -0.500000
|
||||
v -1.500000 1.500000 -0.500000
|
||||
v -1.500000 1.375000 -0.500000
|
||||
v -1.437500 1.375000 -0.500000
|
||||
v -1.437500 1.500000 0.500000
|
||||
v -1.500000 1.500000 0.500000
|
||||
v -1.500000 1.375000 0.500000
|
||||
v -1.437500 1.375000 0.500000
|
||||
v -1.437500 1.375000 -0.375000
|
||||
v -1.500000 1.375000 -0.375000
|
||||
v -1.500000 0.500000 -0.375000
|
||||
v -1.437500 0.500000 -0.375000
|
||||
v -1.437500 1.375000 -0.125000
|
||||
v -1.500000 1.375000 -0.125000
|
||||
v -1.500000 0.500000 -0.125000
|
||||
v -1.437500 0.500000 -0.125000
|
||||
v -1.437500 1.375000 -0.062500
|
||||
v -1.500000 1.375000 -0.062500
|
||||
v -1.500000 0.500000 -0.062500
|
||||
v -1.437500 0.500000 -0.062500
|
||||
v -1.437500 1.375000 0.187500
|
||||
v -1.500000 1.375000 0.187500
|
||||
v -1.500000 0.500000 0.187500
|
||||
v -1.437500 0.500000 0.187500
|
||||
v -1.437500 1.375000 0.250000
|
||||
v -1.500000 1.375000 0.250000
|
||||
v -1.500000 0.500000 0.250000
|
||||
v -1.437500 0.500000 0.250000
|
||||
v -1.437500 1.375000 0.437500
|
||||
v -1.500000 1.375000 0.437500
|
||||
v -1.500000 0.500000 0.437500
|
||||
v -1.437500 0.500000 0.437500
|
||||
v -0.500000 1.500000 -0.125000
|
||||
v -0.500000 1.500000 -0.375000
|
||||
v -0.500000 0.500000 -0.375000
|
||||
v -0.500000 1.437500 -0.125000
|
||||
v -0.500000 1.437500 -0.375000
|
||||
v -1.437500 1.437500 -0.375000
|
||||
v -1.437500 1.437500 -0.078125
|
||||
v 0.437500 1.437500 -0.078125
|
||||
v -1.437500 1.406250 -0.046875
|
||||
v 0.437500 1.406250 -0.046875
|
||||
v 0.437500 0.500000 -0.046875
|
||||
v -1.437500 0.500000 -0.046875
|
||||
v -1.437500 1.312500 -0.046875
|
||||
v -1.062500 1.312500 -0.046875
|
||||
v -1.062500 0.687500 -0.046875
|
||||
v -1.437500 0.687500 -0.046875
|
||||
v -0.500000 1.406250 -0.046875
|
||||
v -0.500000 1.437500 -0.078125
|
||||
v -0.500000 0.500000 -0.046875
|
||||
v -1.437500 1.312500 -0.031250
|
||||
v -1.062500 1.312500 -0.031250
|
||||
v -1.062500 0.687500 -0.031250
|
||||
v -1.437500 0.687500 -0.031250
|
||||
v -1.375000 1.250000 0.031250
|
||||
v -1.125000 1.250000 0.031250
|
||||
v -1.125000 0.750000 0.031250
|
||||
v -1.375000 0.750000 0.031250
|
||||
v -1.437500 0.562500 -0.375000
|
||||
v -0.500000 0.562500 -0.375000
|
||||
v -1.375000 1.437500 -0.375000
|
||||
v -1.375000 0.562500 -0.375000
|
||||
v 0.375000 1.437500 -0.375000
|
||||
v 0.375000 0.562500 -0.375000
|
||||
v -1.375000 1.437500 -0.312500
|
||||
v -1.375000 0.562500 -0.312500
|
||||
v 0.375000 1.437500 -0.312500
|
||||
v 0.375000 0.562500 -0.312500
|
||||
v -1.000000 1.437500 -0.125000
|
||||
v -1.000000 1.437500 -0.078125
|
||||
v -1.000000 0.500000 -0.046875
|
||||
v -1.000000 1.406250 -0.046875
|
||||
v -0.500000 1.437500 -0.312500
|
||||
v -0.500000 0.562500 -0.312500
|
||||
v 0.437500 1.500000 -0.375000
|
||||
v 0.437500 0.500000 -0.375000
|
||||
v -0.500000 1.500000 -0.375000
|
||||
v -0.500000 0.500000 -0.375000
|
||||
v -0.500000 1.437500 -0.375000
|
||||
v 0.437500 1.437500 -0.375000
|
||||
v 0.437500 0.562500 -0.375000
|
||||
v -0.500000 0.562500 -0.375000
|
||||
v 0.375000 1.437500 -0.375000
|
||||
v 0.375000 0.562500 -0.375000
|
||||
v 0.437500 0.500000 -0.125000
|
||||
v -1.437500 0.500000 -0.046875
|
||||
v -1.437500 0.500000 -0.125000
|
||||
v -1.437500 0.500000 -0.078125
|
||||
v 0.437500 0.500000 -0.046875
|
||||
v 0.437500 0.500000 -0.078125
|
||||
v 0.375000 0.562500 -0.500000
|
||||
v 0.437500 0.562500 -0.500000
|
||||
v 0.437500 0.437500 -0.500000
|
||||
v 0.375000 0.437500 -0.500000
|
||||
v 0.375000 0.562500 -0.375000
|
||||
v 0.437500 0.562500 -0.375000
|
||||
v 0.437500 0.437500 -0.375000
|
||||
v 0.375000 0.437500 -0.375000
|
||||
v -1.437500 0.562500 -0.500000
|
||||
v -1.375000 0.562500 -0.500000
|
||||
v -1.375000 0.437500 -0.500000
|
||||
v -1.437500 0.437500 -0.500000
|
||||
v -1.437500 0.562500 -0.375000
|
||||
v -1.375000 0.562500 -0.375000
|
||||
v -1.375000 0.437500 -0.375000
|
||||
v -1.437500 0.437500 -0.375000
|
||||
v -0.562500 -0.375000 -0.375000
|
||||
v -1.437500 -0.312500 1.375000
|
||||
v -0.562500 -0.312500 1.375000
|
||||
v -1.437500 -0.312500 -0.375000
|
||||
v -0.562500 -0.312500 -0.375000
|
||||
v -1.437500 -0.125000 1.000000
|
||||
v -1.437500 -0.078125 1.000000
|
||||
v -0.500000 -0.046875 1.000000
|
||||
v -1.406250 -0.046875 1.000000
|
||||
v -1.437500 -0.312500 0.500000
|
||||
v -0.562500 -0.312500 0.500000
|
||||
v -1.500000 -0.375000 -0.437500
|
||||
v -0.500000 -0.375000 -0.437500
|
||||
v -1.500000 -0.375000 0.500000
|
||||
v -0.500000 -0.375000 0.500000
|
||||
v -1.437500 -0.375000 0.500000
|
||||
v -1.437500 -0.375000 -0.437500
|
||||
v -0.562500 -0.375000 -0.437500
|
||||
v -0.562500 -0.375000 0.500000
|
||||
v -1.437500 -0.375000 -0.375000
|
||||
v -0.562500 -0.375000 -0.375000
|
||||
v -0.500000 -0.125000 -0.437500
|
||||
v -0.500000 -0.046875 1.437500
|
||||
v -0.500000 -0.125000 1.437500
|
||||
v -0.500000 -0.078125 1.437500
|
||||
v -0.500000 -0.046875 -0.437500
|
||||
v -0.500000 -0.078125 -0.437500
|
||||
v -0.562500 -0.500000 -0.375000
|
||||
v -0.562500 -0.500000 -0.437500
|
||||
v -0.437500 -0.500000 -0.437500
|
||||
v -0.437500 -0.500000 -0.375000
|
||||
v -0.562500 -0.375000 -0.375000
|
||||
v -0.562500 -0.375000 -0.437500
|
||||
v -0.437500 -0.375000 -0.437500
|
||||
v -0.437500 -0.375000 -0.375000
|
||||
v -0.562500 -0.500000 1.437500
|
||||
v -0.562500 -0.500000 1.375000
|
||||
v -0.437500 -0.500000 1.375000
|
||||
v -0.437500 -0.500000 1.437500
|
||||
v -0.562500 -0.375000 1.437500
|
||||
v -0.562500 -0.375000 1.375000
|
||||
v -0.437500 -0.375000 1.375000
|
||||
v -0.437500 -0.375000 1.437500
|
||||
vt 1.000000 0.250000
|
||||
vt 0.062500 0.250000
|
||||
vt 0.062500 -0.000000
|
||||
@ -361,16 +361,16 @@ vt 0.750000 0.125000
|
||||
vt 0.812500 0.062500
|
||||
vt 0.812500 0.500000
|
||||
vt 0.187500 0.500000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn -0.000000 1.000000 0.000000
|
||||
vn 0.000000 -0.707100 0.707100
|
||||
vn 0.707100 0.707100 0.000000
|
||||
vn -0.707100 0.707100 0.000000
|
||||
vn 0.000000 0.707100 -0.707100
|
||||
vn 0.000000 0.707100 0.707100
|
||||
vn 0.707100 0.000000 0.707100
|
||||
vn -0.707100 0.000000 0.707100
|
||||
g Cube_Cube_frame-metal
|
||||
s off
|
||||
f 65/1/1 5/2/1 3/3/1 66/4/1
|
||||
|
304
homedecor/models/homedecor_bed_regular.obj
Normal file → Executable file
304
homedecor/models/homedecor_bed_regular.obj
Normal file → Executable file
@ -1,150 +1,150 @@
|
||||
# Blender v2.72 (sub 0) OBJ File: 'bed.blend'
|
||||
# Blender v2.73 (sub 0) OBJ File: 'bed.blend'
|
||||
# www.blender.org
|
||||
o Cube
|
||||
v -1.437500 0.500000 -0.375000
|
||||
v 0.437500 0.500000 -0.375000
|
||||
v 0.437500 -0.500000 -0.375000
|
||||
v -1.437500 -0.500000 -0.375000
|
||||
v -1.437500 0.500000 -0.125000
|
||||
v 0.437500 0.500000 -0.125000
|
||||
v 0.437500 -0.500000 -0.125000
|
||||
v -1.437500 -0.500000 -0.125000
|
||||
v -1.437500 0.437500 -0.125000
|
||||
v 0.437500 0.437500 -0.125000
|
||||
v 0.437500 -0.437500 -0.125000
|
||||
v -1.437500 -0.437500 -0.125000
|
||||
v 0.437500 -0.375000 -0.500000
|
||||
v 0.500000 -0.375000 -0.500000
|
||||
v -0.500000 -0.375000 1.437500
|
||||
v -0.500000 -0.375000 -0.437500
|
||||
v 0.500000 -0.375000 -0.437500
|
||||
v 0.500000 -0.375000 1.437500
|
||||
v -0.500000 -0.125000 1.437500
|
||||
v -0.500000 -0.125000 -0.437500
|
||||
v 0.500000 -0.125000 -0.437500
|
||||
v 0.500000 -0.125000 1.437500
|
||||
v -0.437500 -0.125000 1.437500
|
||||
v -0.437500 -0.125000 -0.437500
|
||||
v 0.437500 -0.125000 -0.437500
|
||||
v 0.437500 -0.125000 1.437500
|
||||
v 0.375000 -0.500000 -0.437500
|
||||
v 0.375000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.437500 -0.500000 -0.500000
|
||||
v 0.437500 -0.375000 0.187500
|
||||
v 0.500000 -0.375000 0.187500
|
||||
v 0.500000 -0.500000 0.187500
|
||||
v 0.437500 -0.500000 0.187500
|
||||
v 0.437500 0.500000 -0.500000
|
||||
v 0.500000 0.500000 -0.500000
|
||||
v 0.500000 0.375000 -0.500000
|
||||
v 0.437500 0.375000 -0.500000
|
||||
v 0.437500 0.500000 0.187500
|
||||
v 0.500000 0.500000 0.187500
|
||||
v 0.500000 0.375000 0.187500
|
||||
v 0.437500 0.375000 0.187500
|
||||
v 0.437500 0.375000 -0.375000
|
||||
v 0.500000 0.375000 -0.375000
|
||||
v 0.500000 -0.375000 -0.375000
|
||||
v 0.500000 -0.500000 -0.437500
|
||||
v 0.375000 0.187500 -0.437500
|
||||
v 0.375000 0.187500 -0.500000
|
||||
v 0.500000 0.187500 -0.500000
|
||||
v 0.500000 0.187500 -0.437500
|
||||
v -0.500000 -0.500000 -0.437500
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v -0.375000 -0.500000 -0.500000
|
||||
v -0.375000 -0.500000 -0.437500
|
||||
v -0.500000 0.187500 -0.437500
|
||||
v -0.500000 0.187500 -0.500000
|
||||
v -0.375000 0.187500 -0.500000
|
||||
v -0.375000 0.187500 -0.437500
|
||||
v -0.375000 -0.375000 -0.437500
|
||||
v -0.375000 -0.375000 -0.500000
|
||||
v 0.375000 -0.375000 -0.500000
|
||||
v 0.375000 -0.375000 -0.437500
|
||||
v -0.375000 -0.125000 -0.437500
|
||||
v -0.375000 -0.125000 -0.500000
|
||||
v 0.375000 -0.125000 -0.500000
|
||||
v 0.375000 -0.125000 -0.437500
|
||||
v -0.375000 0.000000 -0.437500
|
||||
v -0.375000 0.000000 -0.500000
|
||||
v 0.375000 0.000000 -0.500000
|
||||
v 0.375000 0.000000 -0.437500
|
||||
v -0.375000 0.125000 -0.437500
|
||||
v -0.375000 0.125000 -0.500000
|
||||
v 0.375000 0.125000 -0.500000
|
||||
v 0.375000 0.125000 -0.437500
|
||||
v 0.375000 -0.500000 1.437500
|
||||
v 0.375000 -0.500000 1.500000
|
||||
v 0.500000 -0.500000 1.500000
|
||||
v 0.500000 -0.500000 1.437500
|
||||
v 0.375000 0.500000 1.437500
|
||||
v 0.375000 0.500000 1.500000
|
||||
v 0.500000 0.500000 1.500000
|
||||
v 0.500000 0.500000 1.437500
|
||||
v -0.500000 -0.500000 1.437500
|
||||
v -0.500000 -0.500000 1.500000
|
||||
v -0.375000 -0.500000 1.500000
|
||||
v -0.375000 -0.500000 1.437500
|
||||
v -0.500000 0.500000 1.437500
|
||||
v -0.500000 0.500000 1.500000
|
||||
v -0.375000 0.500000 1.500000
|
||||
v -0.375000 0.500000 1.437500
|
||||
v -0.375000 -0.375000 1.437500
|
||||
v -0.375000 -0.375000 1.500000
|
||||
v 0.375000 -0.375000 1.500000
|
||||
v 0.375000 -0.375000 1.437500
|
||||
v -0.375000 -0.125000 1.437500
|
||||
v -0.375000 -0.125000 1.500000
|
||||
v 0.375000 -0.125000 1.500000
|
||||
v 0.375000 -0.125000 1.437500
|
||||
v -0.375000 -0.062500 1.437500
|
||||
v -0.375000 -0.062500 1.500000
|
||||
v 0.375000 -0.062500 1.500000
|
||||
v 0.375000 -0.062500 1.437500
|
||||
v -0.375000 0.187500 1.437500
|
||||
v -0.375000 0.187500 1.500000
|
||||
v 0.375000 0.187500 1.500000
|
||||
v 0.375000 0.187500 1.437500
|
||||
v -0.375000 0.250000 1.437500
|
||||
v -0.375000 0.250000 1.500000
|
||||
v 0.375000 0.250000 1.500000
|
||||
v 0.375000 0.250000 1.437500
|
||||
v -0.375000 0.437500 1.437500
|
||||
v -0.375000 0.437500 1.500000
|
||||
v 0.375000 0.437500 1.500000
|
||||
v 0.375000 0.437500 1.437500
|
||||
v -0.500000 -0.125000 0.500000
|
||||
v -0.500000 -0.375000 0.500000
|
||||
v 0.500000 -0.125000 0.500000
|
||||
v 0.500000 -0.375000 0.500000
|
||||
v -0.437500 -0.125000 0.500000
|
||||
v 0.437500 -0.125000 0.500000
|
||||
v -0.437500 -0.375000 0.500000
|
||||
v -0.437500 -0.375000 1.437500
|
||||
v -0.437500 -0.078125 1.437500
|
||||
v -0.437500 -0.078125 -0.437500
|
||||
v 0.437500 -0.078125 -0.437500
|
||||
v 0.437500 -0.078125 1.437500
|
||||
v -0.406250 -0.046875 1.437500
|
||||
v -0.406250 -0.046875 -0.437500
|
||||
v 0.406250 -0.046875 -0.437500
|
||||
v 0.406250 -0.046875 1.437500
|
||||
v -0.312500 -0.046875 1.437500
|
||||
v -0.312500 -0.046875 1.062500
|
||||
v 0.312500 -0.046875 1.062500
|
||||
v 0.312500 -0.046875 1.437500
|
||||
v -0.406250 -0.046875 0.500000
|
||||
v -0.437500 -0.078125 0.500000
|
||||
v 0.406250 -0.046875 0.500000
|
||||
v 0.437500 -0.078125 0.500000
|
||||
v -0.312500 -0.031250 1.437500
|
||||
v -0.312500 -0.031250 1.062500
|
||||
v 0.312500 -0.031250 1.062500
|
||||
v 0.312500 -0.031250 1.437500
|
||||
v -0.250000 0.031250 1.375000
|
||||
v -0.250000 0.031250 1.125000
|
||||
v 0.250000 0.031250 1.125000
|
||||
v 0.250000 0.031250 1.375000
|
||||
v 0.437500 -0.375000 1.437500
|
||||
v 0.437500 -0.375000 0.500000
|
||||
v -0.437500 -0.375000 1.375000
|
||||
v 0.437500 -0.375000 1.375000
|
||||
v -0.437500 -0.375000 -0.375000
|
||||
v 0.437500 -0.375000 -0.375000
|
||||
v -0.437500 -0.312500 1.375000
|
||||
v 0.437500 -0.312500 1.375000
|
||||
v -0.437500 -0.312500 -0.375000
|
||||
v 0.437500 -0.312500 -0.375000
|
||||
v -0.437500 -0.125000 1.000000
|
||||
v 0.437500 -0.125000 1.000000
|
||||
v -0.437500 -0.078125 1.000000
|
||||
v 0.406250 -0.046875 1.000000
|
||||
v -0.406250 -0.046875 1.000000
|
||||
v 0.437500 -0.078125 1.000000
|
||||
v -0.437500 -0.312500 0.500000
|
||||
v 0.437500 -0.312500 0.500000
|
||||
v -0.500000 -0.375000 -0.437500
|
||||
v 0.500000 -0.375000 -0.437500
|
||||
v -0.500000 -0.375000 0.500000
|
||||
v 0.500000 -0.375000 0.500000
|
||||
v -0.437500 -0.375000 0.500000
|
||||
v -0.437500 -0.375000 -0.437500
|
||||
v 0.437500 -0.375000 -0.437500
|
||||
v 0.437500 -0.375000 0.500000
|
||||
v -0.437500 -0.375000 -0.375000
|
||||
v 0.437500 -0.375000 -0.375000
|
||||
v 0.437500 0.375000 -0.125000
|
||||
v 0.500000 0.375000 -0.125000
|
||||
v 0.500000 -0.375000 -0.125000
|
||||
v 0.437500 -0.375000 -0.125000
|
||||
v 0.437500 0.375000 0.000000
|
||||
v 0.500000 0.375000 0.000000
|
||||
v 0.500000 -0.375000 0.000000
|
||||
v 0.437500 -0.375000 0.000000
|
||||
v 0.437500 0.375000 0.125000
|
||||
v 0.500000 0.375000 0.125000
|
||||
v 0.500000 -0.375000 0.125000
|
||||
v 0.437500 -0.375000 0.125000
|
||||
v -1.437500 -0.375000 -0.500000
|
||||
v -1.500000 -0.375000 -0.500000
|
||||
v -1.500000 -0.500000 -0.500000
|
||||
v -1.437500 -0.500000 -0.500000
|
||||
v -1.437500 -0.375000 0.500000
|
||||
v -1.500000 -0.375000 0.500000
|
||||
v -1.500000 -0.500000 0.500000
|
||||
v -1.437500 -0.500000 0.500000
|
||||
v -1.437500 0.500000 -0.500000
|
||||
v -1.500000 0.500000 -0.500000
|
||||
v -1.500000 0.375000 -0.500000
|
||||
v -1.437500 0.375000 -0.500000
|
||||
v -1.437500 0.500000 0.500000
|
||||
v -1.500000 0.500000 0.500000
|
||||
v -1.500000 0.375000 0.500000
|
||||
v -1.437500 0.375000 0.500000
|
||||
v -1.437500 0.375000 -0.375000
|
||||
v -1.500000 0.375000 -0.375000
|
||||
v -1.500000 -0.375000 -0.375000
|
||||
v -1.437500 -0.375000 -0.375000
|
||||
v -1.437500 0.375000 -0.125000
|
||||
v -1.500000 0.375000 -0.125000
|
||||
v -1.500000 -0.375000 -0.125000
|
||||
v -1.437500 -0.375000 -0.125000
|
||||
v -1.437500 0.375000 -0.062500
|
||||
v -1.500000 0.375000 -0.062500
|
||||
v -1.500000 -0.375000 -0.062500
|
||||
v -1.437500 -0.375000 -0.062500
|
||||
v -1.437500 0.375000 0.187500
|
||||
v -1.500000 0.375000 0.187500
|
||||
v -1.500000 -0.375000 0.187500
|
||||
v -1.437500 -0.375000 0.187500
|
||||
v -1.437500 0.375000 0.250000
|
||||
v -1.500000 0.375000 0.250000
|
||||
v -1.500000 -0.375000 0.250000
|
||||
v -1.437500 -0.375000 0.250000
|
||||
v -1.437500 0.375000 0.437500
|
||||
v -1.500000 0.375000 0.437500
|
||||
v -1.500000 -0.375000 0.437500
|
||||
v -1.437500 -0.375000 0.437500
|
||||
v -0.500000 0.500000 -0.125000
|
||||
v -0.500000 0.500000 -0.375000
|
||||
v -0.500000 -0.500000 -0.125000
|
||||
v -0.500000 -0.500000 -0.375000
|
||||
v -0.500000 0.437500 -0.125000
|
||||
v -0.500000 -0.437500 -0.125000
|
||||
v -0.500000 0.437500 -0.375000
|
||||
v -1.437500 0.437500 -0.375000
|
||||
v -1.437500 0.437500 -0.078125
|
||||
v 0.437500 0.437500 -0.078125
|
||||
v 0.437500 -0.437500 -0.078125
|
||||
v -1.437500 -0.437500 -0.078125
|
||||
v -1.437500 0.406250 -0.046875
|
||||
v 0.437500 0.406250 -0.046875
|
||||
v 0.437500 -0.406250 -0.046875
|
||||
v -1.437500 -0.406250 -0.046875
|
||||
v -1.437500 0.312500 -0.046875
|
||||
v -1.062500 0.312500 -0.046875
|
||||
v -1.062500 -0.312500 -0.046875
|
||||
v -1.437500 -0.312500 -0.046875
|
||||
v -0.500000 0.406250 -0.046875
|
||||
v -0.500000 0.437500 -0.078125
|
||||
v -0.500000 -0.406250 -0.046875
|
||||
v -0.500000 -0.437500 -0.078125
|
||||
v -1.437500 0.312500 -0.031250
|
||||
v -1.062500 0.312500 -0.031250
|
||||
v -1.062500 -0.312500 -0.031250
|
||||
v -1.437500 -0.312500 -0.031250
|
||||
v -1.375000 0.250000 0.031250
|
||||
v -1.125000 0.250000 0.031250
|
||||
v -1.125000 -0.250000 0.031250
|
||||
v -1.375000 -0.250000 0.031250
|
||||
v -1.437500 -0.437500 -0.375000
|
||||
v -0.500000 -0.437500 -0.375000
|
||||
v -1.375000 0.437500 -0.375000
|
||||
v -1.375000 -0.437500 -0.375000
|
||||
v 0.375000 0.437500 -0.375000
|
||||
v 0.375000 -0.437500 -0.375000
|
||||
v -1.375000 0.437500 -0.312500
|
||||
v -1.375000 -0.437500 -0.312500
|
||||
v 0.375000 0.437500 -0.312500
|
||||
v 0.375000 -0.437500 -0.312500
|
||||
v -1.000000 0.437500 -0.125000
|
||||
v -1.000000 -0.437500 -0.125000
|
||||
v -1.000000 0.437500 -0.078125
|
||||
v -1.000000 -0.406250 -0.046875
|
||||
v -1.000000 0.406250 -0.046875
|
||||
v -1.000000 -0.437500 -0.078125
|
||||
v -0.500000 0.437500 -0.312500
|
||||
v -0.500000 -0.437500 -0.312500
|
||||
v 0.437500 0.500000 -0.375000
|
||||
v 0.437500 -0.500000 -0.375000
|
||||
v -0.500000 0.500000 -0.375000
|
||||
v -0.500000 -0.500000 -0.375000
|
||||
v -0.500000 0.437500 -0.375000
|
||||
v 0.437500 0.437500 -0.375000
|
||||
v 0.437500 -0.437500 -0.375000
|
||||
v -0.500000 -0.437500 -0.375000
|
||||
v 0.375000 0.437500 -0.375000
|
||||
v 0.375000 -0.437500 -0.375000
|
||||
vt 1.000000 0.250000
|
||||
vt 0.062500 0.250000
|
||||
vt 0.062500 -0.000000
|
||||
@ -227,16 +227,16 @@ vt 0.750000 0.125000
|
||||
vt 0.812500 0.062500
|
||||
vt 0.812500 0.500000
|
||||
vt 0.187500 0.500000
|
||||
vn -0.000000 1.000000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn 0.000000 -0.707100 0.707100
|
||||
vn -0.000000 0.707100 0.707100
|
||||
vn 0.707100 0.000000 0.707100
|
||||
vn -0.707100 0.000000 0.707100
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.707100 0.707100 0.000000
|
||||
vn -0.707100 0.707100 0.000000
|
||||
vn 0.000000 0.707100 -0.707100
|
||||
vn 0.000000 0.707100 0.707100
|
||||
g Cube_Cube_frame-metal
|
||||
s off
|
||||
f 85/1/1 6/2/1 2/3/1 86/4/1
|
||||
|
0
homedecor/models/homedecor_bedroom_wardrobe.obj
Normal file → Executable file
0
homedecor/models/homedecor_bedroom_wardrobe.obj
Normal file → Executable file
0
homedecor/models/homedecor_beer_mug.obj
Normal file → Executable file
0
homedecor/models/homedecor_beer_mug.obj
Normal file → Executable file
0
homedecor/models/homedecor_beer_taps.obj
Normal file → Executable file
0
homedecor/models/homedecor_beer_taps.obj
Normal file → Executable file
0
homedecor/models/homedecor_bench_large_1.obj
Normal file → Executable file
0
homedecor/models/homedecor_bench_large_1.obj
Normal file → Executable file
0
homedecor/models/homedecor_bench_large_2.obj
Normal file → Executable file
0
homedecor/models/homedecor_bench_large_2.obj
Normal file → Executable file
@ -1,44 +0,0 @@
|
||||
# Blender v2.72 (sub 0) OBJ File: 'unifiedbricks_brick_block.blend'
|
||||
# www.blender.org
|
||||
o Cube
|
||||
v 0.496092 0.496092 0.496092
|
||||
v 0.496092 0.496092 -0.496092
|
||||
v -0.496092 0.496092 -0.496092
|
||||
v -0.496092 0.496092 0.496092
|
||||
v 0.496092 -0.496092 0.496092
|
||||
v 0.496092 -0.496092 -0.496092
|
||||
v -0.496092 -0.496092 -0.496092
|
||||
v -0.496092 -0.496092 0.496092
|
||||
v 0.499750 0.499750 0.499750
|
||||
v 0.499750 0.499750 -0.499750
|
||||
v -0.499750 0.499750 -0.499750
|
||||
v -0.499750 0.499750 0.499750
|
||||
v 0.499750 -0.499750 0.499750
|
||||
v 0.499750 -0.499750 -0.499750
|
||||
v -0.499750 -0.499750 -0.499750
|
||||
v -0.499750 -0.499750 0.499750
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
g Cube_Cube_base
|
||||
s off
|
||||
f 8/1/1 7/2/1 6/3/1 5/4/1
|
||||
f 4/2/2 3/3/2 7/4/2 8/1/2
|
||||
f 1/3/3 2/4/3 3/1/3 4/2/3
|
||||
f 2/2/4 1/3/4 5/4/4 6/1/4
|
||||
f 3/2/5 2/3/5 6/4/5 7/1/5
|
||||
f 1/2/6 4/3/6 8/4/6 5/1/6
|
||||
g Cube_Cube_overlay
|
||||
f 16/1/1 15/2/1 14/3/1 13/4/1
|
||||
f 12/2/2 11/3/2 15/4/2 16/1/2
|
||||
f 9/3/3 10/4/3 11/1/3 12/2/3
|
||||
f 10/2/4 9/3/4 13/4/4 14/1/4
|
||||
f 11/2/5 10/3/5 14/4/5 15/1/5
|
||||
f 9/2/6 12/3/6 16/4/6 13/1/6
|
236
homedecor/models/homedecor_book.obj
Normal file → Executable file
236
homedecor/models/homedecor_book.obj
Normal file → Executable file
@ -1,92 +1,60 @@
|
||||
# Blender v2.72 (sub 0) OBJ File: 'book.blend'
|
||||
# Blender v2.73 (sub 0) OBJ File: 'book.blend'
|
||||
# www.blender.org
|
||||
o Cube.002_Cube.001
|
||||
v -0.216625 -0.161995 -0.448008
|
||||
v -0.216625 -0.149566 -0.485966
|
||||
v -0.216625 -0.113157 -0.485966
|
||||
v -0.216625 -0.142021 -0.448008
|
||||
v -0.208120 -0.115781 -0.485966
|
||||
v -0.208120 -0.142021 -0.448008
|
||||
v 0.220555 -0.113157 -0.485966
|
||||
v 0.220555 0.159347 -0.485966
|
||||
v 0.212050 -0.115781 -0.485966
|
||||
v -0.208120 -0.161995 -0.448008
|
||||
v -0.208120 0.148926 -0.485966
|
||||
v -0.208120 0.155653 -0.448008
|
||||
v 0.212051 0.155653 -0.448008
|
||||
v 0.212051 0.148926 -0.485966
|
||||
v -0.208120 -0.152482 -0.485966
|
||||
v 0.212050 -0.152482 -0.485966
|
||||
v 0.220555 -0.161995 -0.448008
|
||||
v 0.212050 -0.161995 -0.448008
|
||||
v 0.212050 -0.145193 -0.500002
|
||||
v -0.208120 -0.145193 -0.500002
|
||||
v -0.208120 -0.115781 -0.500002
|
||||
v 0.212050 -0.115781 -0.500002
|
||||
v 0.212050 -0.115781 -0.396013
|
||||
v -0.208120 -0.115781 -0.396013
|
||||
v -0.208120 -0.145193 -0.396013
|
||||
v 0.212050 -0.145193 -0.396013
|
||||
v 0.212050 -0.152482 -0.410049
|
||||
v -0.208120 -0.152482 -0.410049
|
||||
v 0.212051 0.148926 -0.410049
|
||||
v -0.208120 0.148926 -0.410049
|
||||
v 0.212050 -0.115781 -0.410049
|
||||
v 0.220555 0.159347 -0.410049
|
||||
v 0.220555 -0.113157 -0.410049
|
||||
v -0.208120 -0.115781 -0.410049
|
||||
v -0.216625 -0.113157 -0.410049
|
||||
v -0.216625 -0.149566 -0.410049
|
||||
v -0.216625 -0.115781 -0.396013
|
||||
v -0.216625 -0.141549 -0.396013
|
||||
v 0.220555 -0.149566 -0.410049
|
||||
v 0.220555 -0.141549 -0.396013
|
||||
v 0.220555 0.159346 -0.396013
|
||||
v -0.216624 0.159347 -0.396013
|
||||
v 0.220555 -0.115781 -0.396013
|
||||
v -0.216624 0.159347 -0.410049
|
||||
v -0.216625 -0.115781 -0.500002
|
||||
v -0.216625 -0.141549 -0.500002
|
||||
v 0.212050 -0.142021 -0.448008
|
||||
v 0.220555 -0.149566 -0.485966
|
||||
v 0.220555 -0.141549 -0.500002
|
||||
v 0.220555 0.159346 -0.500002
|
||||
v -0.216624 0.159347 -0.500002
|
||||
v 0.220555 -0.142021 -0.448008
|
||||
v 0.220555 -0.115781 -0.500002
|
||||
v -0.216624 0.159347 -0.485966
|
||||
v -0.216625 -0.162729 -0.448008
|
||||
v -0.216625 -0.150269 -0.486432
|
||||
v -0.208120 -0.162729 -0.448008
|
||||
v -0.208120 -0.153192 -0.486432
|
||||
v 0.212050 -0.153192 -0.486432
|
||||
v 0.220555 -0.162729 -0.448008
|
||||
v 0.212050 -0.162729 -0.448008
|
||||
v 0.212050 -0.145885 -0.500640
|
||||
v -0.208120 -0.145885 -0.500640
|
||||
v -0.208120 -0.116399 -0.500640
|
||||
v 0.212050 -0.116399 -0.500640
|
||||
v 0.212050 -0.116399 -0.395375
|
||||
v -0.208120 -0.116399 -0.395375
|
||||
v -0.208120 -0.145885 -0.395375
|
||||
v 0.212050 -0.145885 -0.395375
|
||||
v 0.212050 -0.153192 -0.409583
|
||||
v -0.208120 -0.153192 -0.409583
|
||||
v -0.216625 -0.150269 -0.409583
|
||||
v -0.216625 -0.116399 -0.395375
|
||||
v -0.216625 -0.142232 -0.395375
|
||||
v 0.220555 -0.150269 -0.409583
|
||||
v 0.220555 -0.142232 -0.395375
|
||||
v 0.220555 0.159416 -0.395375
|
||||
v -0.216624 0.159417 -0.395375
|
||||
v 0.220555 -0.116399 -0.395375
|
||||
v -0.216625 -0.116399 -0.500640
|
||||
v -0.216625 -0.142232 -0.500640
|
||||
v 0.220555 -0.150269 -0.486432
|
||||
v 0.220555 -0.142232 -0.500640
|
||||
v 0.220555 0.159416 -0.500640
|
||||
v -0.216624 0.159417 -0.500640
|
||||
v 0.220555 -0.116399 -0.500640
|
||||
v 0.161995 -0.448008 0.216625
|
||||
v 0.149566 -0.485966 0.216625
|
||||
v 0.113157 -0.485966 0.216625
|
||||
v 0.142021 -0.448008 0.216625
|
||||
v 0.115781 -0.485966 0.208120
|
||||
v 0.142021 -0.448008 0.208120
|
||||
v 0.113157 -0.485966 -0.220555
|
||||
v -0.159347 -0.485966 -0.220555
|
||||
v 0.115781 -0.485966 -0.212050
|
||||
v 0.161995 -0.448008 0.208120
|
||||
v -0.148926 -0.485966 0.208120
|
||||
v -0.155653 -0.448008 0.208120
|
||||
v -0.155653 -0.448008 -0.212051
|
||||
v -0.148926 -0.485966 -0.212051
|
||||
v 0.152482 -0.485966 0.208120
|
||||
v 0.152482 -0.485966 -0.212050
|
||||
v 0.161995 -0.448008 -0.220555
|
||||
v 0.161995 -0.448008 -0.212050
|
||||
v 0.145193 -0.500002 -0.212050
|
||||
v 0.145193 -0.500002 0.208120
|
||||
v 0.115781 -0.500002 0.208120
|
||||
v 0.115781 -0.500002 -0.212050
|
||||
v 0.115781 -0.396013 -0.212050
|
||||
v 0.115781 -0.396013 0.208120
|
||||
v 0.145193 -0.396013 0.208120
|
||||
v 0.145193 -0.396013 -0.212050
|
||||
v 0.152482 -0.410049 -0.212050
|
||||
v 0.152482 -0.410049 0.208120
|
||||
v -0.148926 -0.410049 -0.212051
|
||||
v -0.148926 -0.410049 0.208120
|
||||
v 0.115781 -0.410049 -0.212050
|
||||
v -0.159347 -0.410049 -0.220555
|
||||
v 0.113157 -0.410049 -0.220555
|
||||
v 0.115781 -0.410049 0.208120
|
||||
v 0.113157 -0.410049 0.216625
|
||||
v 0.149566 -0.410049 0.216625
|
||||
v 0.115781 -0.396013 0.216625
|
||||
v 0.141549 -0.396013 0.216625
|
||||
v 0.149566 -0.410049 -0.220555
|
||||
v 0.141549 -0.396013 -0.220555
|
||||
v -0.159346 -0.396013 -0.220555
|
||||
v -0.159347 -0.396013 0.216624
|
||||
v 0.115781 -0.396013 -0.220555
|
||||
v -0.159347 -0.410049 0.216624
|
||||
v 0.115781 -0.500002 0.216625
|
||||
v 0.141549 -0.500002 0.216625
|
||||
v 0.142021 -0.448008 -0.212050
|
||||
v 0.149566 -0.485966 -0.220555
|
||||
v 0.141549 -0.500002 -0.220555
|
||||
v -0.159346 -0.500002 -0.220555
|
||||
v -0.159347 -0.500002 0.216624
|
||||
v 0.142021 -0.448008 -0.220555
|
||||
v 0.115781 -0.500002 -0.220555
|
||||
v -0.159347 -0.485966 0.216624
|
||||
vt 0.921987 0.383861
|
||||
vt 0.921987 0.340448
|
||||
vt 0.931829 0.340448
|
||||
@ -181,10 +149,6 @@ vt 0.670829 0.990273
|
||||
vt 0.667792 1.000000
|
||||
vt 0.704866 0.000000
|
||||
vt 0.000000 0.000001
|
||||
vt 0.668539 0.639838
|
||||
vt 0.640677 0.639838
|
||||
vt 0.640677 0.630641
|
||||
vt 0.672479 0.630641
|
||||
vt 0.439305 1.000000
|
||||
vt 0.439305 0.319104
|
||||
vt 0.527160 0.379125
|
||||
@ -203,41 +167,29 @@ vt 0.263593 0.961094
|
||||
vt 0.263593 0.000000
|
||||
vt 0.175736 0.000000
|
||||
vt 0.175736 0.961094
|
||||
vn -0.123900 0.803100 -0.582900
|
||||
vn -0.123900 0.803000 0.582900
|
||||
vn 0.000000 -0.970000 0.243100
|
||||
vn 0.162500 -0.947900 0.274000
|
||||
vn 0.162500 -0.947900 -0.274000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn -0.320700 -0.831600 -0.453400
|
||||
vn 0.000000 -0.000000 1.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.123900 0.803100 -0.582900
|
||||
vn -0.803100 -0.582900 0.123900
|
||||
vn -0.803000 0.582900 0.123900
|
||||
vn 0.970000 0.243100 0.000000
|
||||
vn 0.947900 0.274000 -0.162500
|
||||
vn 0.947900 -0.274000 -0.162500
|
||||
vn -0.000000 -1.000000 -0.000000
|
||||
vn 0.831600 -0.453400 0.320700
|
||||
vn 0.000000 1.000000 -0.000000
|
||||
vn 0.320700 -0.831600 -0.453400
|
||||
vn -0.162500 -0.947900 -0.274000
|
||||
vn 0.000000 -0.970000 -0.243100
|
||||
vn -0.162500 -0.947900 0.274000
|
||||
vn 0.123900 0.803000 0.582900
|
||||
vn 0.000000 -0.887500 -0.460900
|
||||
vn 0.000000 -0.887500 0.460900
|
||||
vn 0.320700 -0.831600 0.453400
|
||||
vn -0.320700 -0.831600 0.453400
|
||||
vn 0.000000 0.984700 -0.174500
|
||||
vn -0.000000 0.984700 0.174500
|
||||
vn 0.000000 -0.970600 0.240900
|
||||
vn 0.163000 -0.948500 0.271500
|
||||
vn 0.163000 -0.948500 -0.271500
|
||||
vn -0.322100 -0.833000 -0.449800
|
||||
vn 0.322100 -0.833000 -0.449800
|
||||
vn -0.163000 -0.948500 -0.271500
|
||||
vn 0.000000 -0.970600 -0.240900
|
||||
vn -0.163000 -0.948500 0.271500
|
||||
vn 0.000000 -0.889300 -0.457400
|
||||
vn 0.000000 -0.889300 0.457400
|
||||
vn 0.322100 -0.833000 0.449800
|
||||
vn -0.322100 -0.833000 0.449800
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn -0.803100 -0.582900 -0.123900
|
||||
vn -1.000000 -0.000000 -0.000000
|
||||
vn 0.831600 -0.453400 -0.320700
|
||||
vn 0.947900 -0.274000 0.162500
|
||||
vn 0.970000 -0.243100 -0.000000
|
||||
vn 0.947900 0.274000 0.162500
|
||||
vn -0.803000 0.582900 -0.123900
|
||||
vn 0.887500 -0.460900 -0.000000
|
||||
vn 0.887500 0.460900 -0.000000
|
||||
vn 0.831600 0.453400 -0.320700
|
||||
vn 0.831600 0.453400 0.320700
|
||||
vn -0.984700 -0.174500 -0.000000
|
||||
vn -0.984700 0.174500 0.000000
|
||||
g Cube.002_Cube.001_Cube.002_Cube.001_cover
|
||||
s off
|
||||
f 47/1/1 31/2/1 33/3/1 52/4/1
|
||||
@ -279,32 +231,10 @@ f 28/9/21 25/72/21 38/93/21 36/60/21
|
||||
f 29/74/6 30/90/6 44/84/6 32/20/6
|
||||
f 41/26/8 42/94/8 37/76/8 24/68/8 23/67/8 43/50/8
|
||||
f 54/26/8 11/25/8 14/65/8 8/64/8
|
||||
f 46/95/6 45/96/6 21/97/6 20/98/6
|
||||
g Cube.002_Cube.001_Cube.002_Cube.001_edges
|
||||
f 13/99/10 47/100/10 9/101/10 14/102/10
|
||||
f 6/103/9 12/104/9 11/105/9 5/106/9
|
||||
f 13/99/10 29/107/10 31/108/10 47/100/10
|
||||
f 6/103/9 34/109/9 30/110/9 12/104/9
|
||||
f 14/111/22 11/112/22 12/113/22 13/114/22
|
||||
f 29/115/23 13/114/23 12/113/23 30/116/23
|
||||
g Cube.002_Cube.001_Cube.002_Cube.001_trim
|
||||
f 61/7/24 70/8/24 71/9/24 57/10/24
|
||||
f 70/8/25 61/7/25 60/11/25 75/12/25
|
||||
f 59/13/26 82/14/26 60/11/26 61/7/26
|
||||
f 84/15/6 86/16/6 65/17/6 64/18/6 80/19/6 85/20/6
|
||||
f 58/21/27 56/22/27 81/23/27 63/24/27
|
||||
f 65/17/6 86/16/6 83/29/6 62/30/6
|
||||
f 62/55/28 83/56/28 82/14/28 59/13/28
|
||||
f 57/10/29 55/59/29 56/22/29 58/21/29
|
||||
f 61/7/30 57/10/30 58/21/30 59/13/30
|
||||
f 57/10/31 71/9/31 72/60/31 55/59/31
|
||||
f 59/13/32 58/21/32 63/24/32 62/55/32
|
||||
f 65/17/6 62/30/6 63/66/6 64/18/6
|
||||
f 66/67/8 67/68/8 68/69/8 69/70/8
|
||||
f 70/8/33 69/71/33 68/72/33 71/9/33
|
||||
f 68/69/8 67/68/8 73/76/8 74/77/8
|
||||
f 69/71/34 70/8/34 75/12/34 76/78/34
|
||||
f 66/67/8 69/70/8 76/89/8 79/50/8
|
||||
f 71/9/35 68/72/35 74/93/35 72/60/35
|
||||
f 77/26/8 78/94/8 73/76/8 67/68/8 66/67/8 79/50/8
|
||||
f 81/95/6 80/96/6 64/97/6 63/98/6
|
||||
f 13/95/10 47/96/10 9/97/10 14/98/10
|
||||
f 6/99/9 12/100/9 11/101/9 5/102/9
|
||||
f 13/95/10 29/103/10 31/104/10 47/96/10
|
||||
f 6/99/9 34/105/9 30/106/9 12/100/9
|
||||
f 14/107/22 11/108/22 12/109/22 13/110/22
|
||||
f 29/111/23 13/110/23 12/109/23 30/112/23
|
||||
|
459
homedecor/models/homedecor_book_open.obj
Normal file → Executable file
459
homedecor/models/homedecor_book_open.obj
Normal file → Executable file
@ -1,84 +1,84 @@
|
||||
# Blender v2.72 (sub 0) OBJ File: 'book-open.blend'
|
||||
# Blender v2.73 (sub 0) OBJ File: 'book-open.blend'
|
||||
# www.blender.org
|
||||
o Cube.002_Cube.001
|
||||
v -0.216625 0.012428 -0.485966
|
||||
v 0.220555 -0.000000 -0.486750
|
||||
v 0.220555 0.321341 -0.485966
|
||||
v -0.208120 -0.000001 -0.462863
|
||||
v -0.208120 0.310920 -0.485966
|
||||
v -0.208120 0.306022 -0.464409
|
||||
v 0.212051 0.306022 -0.464409
|
||||
v 0.212051 0.310921 -0.485966
|
||||
v 0.212050 -0.000000 -0.462862
|
||||
v 0.212050 0.016802 -0.500002
|
||||
v -0.208120 0.016801 -0.500002
|
||||
v -0.208120 0.046213 -0.500002
|
||||
v 0.212050 0.046214 -0.500002
|
||||
v -0.216625 0.046213 -0.500002
|
||||
v -0.216625 0.020445 -0.500002
|
||||
v 0.220555 0.012429 -0.485966
|
||||
v 0.220555 0.020446 -0.500002
|
||||
v 0.220555 0.321340 -0.500002
|
||||
v -0.216624 0.321341 -0.500002
|
||||
v 0.220555 0.046214 -0.500002
|
||||
v -0.216624 0.321341 -0.485966
|
||||
v -0.208120 0.238235 -0.450057
|
||||
v -0.216625 -0.000001 -0.486750
|
||||
v 0.212051 0.238236 -0.450057
|
||||
v -0.208120 -0.306023 -0.464409
|
||||
v 0.212051 -0.306023 -0.464409
|
||||
v -0.208120 -0.238237 -0.450057
|
||||
v 0.212051 -0.238237 -0.450057
|
||||
v 0.212050 -0.046214 -0.500003
|
||||
v -0.208120 -0.046215 -0.500003
|
||||
v -0.208120 -0.016803 -0.500003
|
||||
v 0.212050 -0.016803 -0.500003
|
||||
v -0.216625 -0.000001 -0.481442
|
||||
v 0.220555 -0.000000 -0.481442
|
||||
v 0.212051 -0.310922 -0.485967
|
||||
v -0.208120 -0.310922 -0.485967
|
||||
v 0.220555 -0.321342 -0.485967
|
||||
v -0.216625 -0.012430 -0.485967
|
||||
v -0.216625 -0.046215 -0.500003
|
||||
v -0.216625 -0.020447 -0.500003
|
||||
v 0.220555 -0.012429 -0.485967
|
||||
v 0.220555 -0.020446 -0.500003
|
||||
v 0.220555 -0.321341 -0.500003
|
||||
v -0.216624 -0.321343 -0.500003
|
||||
v 0.220555 -0.046214 -0.500003
|
||||
v -0.216624 -0.321343 -0.485967
|
||||
v -0.208120 -0.000001 -0.486750
|
||||
v 0.212050 -0.000000 -0.486750
|
||||
v 0.212051 -0.086920 -0.442244
|
||||
v -0.208120 -0.086920 -0.442244
|
||||
v 0.212051 0.086847 -0.442244
|
||||
v -0.208120 0.086847 -0.442244
|
||||
v 0.212050 0.043405 -0.447755
|
||||
v -0.208120 0.043405 -0.447755
|
||||
v 0.212050 -0.043478 -0.447755
|
||||
v -0.208120 -0.043478 -0.447755
|
||||
v -0.216625 -0.010224 -0.490836
|
||||
v -0.216625 0.006214 -0.482857
|
||||
v 0.220555 0.006214 -0.482857
|
||||
v -0.208120 0.008400 -0.490836
|
||||
v 0.212050 0.008401 -0.490836
|
||||
v 0.220555 0.010223 -0.490836
|
||||
v -0.216625 0.010222 -0.490836
|
||||
v 0.220555 -0.010223 -0.490836
|
||||
v 0.212050 -0.008401 -0.490836
|
||||
v -0.208120 -0.008402 -0.490836
|
||||
v 0.220555 -0.006215 -0.482858
|
||||
v -0.216625 -0.006215 -0.482858
|
||||
v 0.212050 0.012429 -0.485966
|
||||
v 0.212050 -0.000000 -0.481442
|
||||
v 0.212050 -0.012429 -0.485967
|
||||
v 0.212050 0.006214 -0.482857
|
||||
v 0.212050 -0.006215 -0.482858
|
||||
v -0.208120 0.012428 -0.485966
|
||||
v -0.208120 -0.000001 -0.481442
|
||||
v -0.208120 -0.012430 -0.485967
|
||||
v -0.208120 0.006214 -0.482857
|
||||
v -0.208120 -0.006215 -0.482858
|
||||
v -0.012428 -0.485966 0.216625
|
||||
v 0.000001 -0.486750 -0.220555
|
||||
v -0.321341 -0.485966 -0.220555
|
||||
v 0.000001 -0.462863 0.208120
|
||||
v -0.310920 -0.485966 0.208120
|
||||
v -0.306022 -0.464409 0.208120
|
||||
v -0.306022 -0.464409 -0.212051
|
||||
v -0.310920 -0.485966 -0.212051
|
||||
v 0.000001 -0.462862 -0.212050
|
||||
v -0.016802 -0.500002 -0.212050
|
||||
v -0.016802 -0.500002 0.208120
|
||||
v -0.046214 -0.500002 0.208120
|
||||
v -0.046214 -0.500002 -0.212050
|
||||
v -0.046214 -0.500002 0.216625
|
||||
v -0.020445 -0.500002 0.216625
|
||||
v -0.012428 -0.485966 -0.220555
|
||||
v -0.020445 -0.500002 -0.220555
|
||||
v -0.321340 -0.500002 -0.220555
|
||||
v -0.321341 -0.500002 0.216624
|
||||
v -0.046214 -0.500002 -0.220555
|
||||
v -0.321341 -0.485966 0.216624
|
||||
v -0.238235 -0.450057 0.208120
|
||||
v 0.000001 -0.486750 0.216625
|
||||
v -0.238235 -0.450057 -0.212051
|
||||
v 0.306023 -0.464409 0.208120
|
||||
v 0.306023 -0.464409 -0.212051
|
||||
v 0.238237 -0.450057 0.208120
|
||||
v 0.238237 -0.450057 -0.212051
|
||||
v 0.046215 -0.500003 -0.212050
|
||||
v 0.046215 -0.500003 0.208120
|
||||
v 0.016803 -0.500003 0.208120
|
||||
v 0.016803 -0.500003 -0.212050
|
||||
v 0.000001 -0.481442 0.216625
|
||||
v 0.000001 -0.481442 -0.220555
|
||||
v 0.310922 -0.485967 -0.212051
|
||||
v 0.310922 -0.485967 0.208120
|
||||
v 0.321343 -0.485967 -0.220555
|
||||
v 0.012430 -0.485967 0.216625
|
||||
v 0.046215 -0.500003 0.216625
|
||||
v 0.020447 -0.500003 0.216625
|
||||
v 0.012430 -0.485967 -0.220555
|
||||
v 0.020447 -0.500003 -0.220555
|
||||
v 0.321342 -0.500003 -0.220555
|
||||
v 0.321343 -0.500003 0.216624
|
||||
v 0.046215 -0.500003 -0.220555
|
||||
v 0.321343 -0.485967 0.216624
|
||||
v 0.000001 -0.486750 0.208120
|
||||
v 0.000001 -0.486750 -0.212050
|
||||
v 0.086920 -0.442244 -0.212051
|
||||
v 0.086920 -0.442244 0.208120
|
||||
v -0.086847 -0.442244 -0.212051
|
||||
v -0.086847 -0.442244 0.208120
|
||||
v -0.043405 -0.447755 -0.212050
|
||||
v -0.043405 -0.447755 0.208120
|
||||
v 0.043478 -0.447755 -0.212050
|
||||
v 0.043478 -0.447755 0.208120
|
||||
v 0.010224 -0.490836 0.216625
|
||||
v -0.006214 -0.482857 0.216625
|
||||
v -0.006214 -0.482857 -0.220555
|
||||
v -0.008400 -0.490836 0.208120
|
||||
v -0.008400 -0.490836 -0.212050
|
||||
v -0.010222 -0.490836 -0.220555
|
||||
v -0.010222 -0.490836 0.216625
|
||||
v 0.010224 -0.490836 -0.220555
|
||||
v 0.008402 -0.490836 -0.212050
|
||||
v 0.008402 -0.490836 0.208120
|
||||
v 0.006215 -0.482858 -0.220555
|
||||
v 0.006215 -0.482858 0.216625
|
||||
v -0.012428 -0.485966 -0.212050
|
||||
v 0.000001 -0.481442 -0.212050
|
||||
v 0.012430 -0.485967 -0.212050
|
||||
v -0.006214 -0.482857 -0.212050
|
||||
v 0.006215 -0.482858 -0.212050
|
||||
v -0.012428 -0.485966 0.208120
|
||||
v 0.000001 -0.481442 0.208120
|
||||
v 0.012430 -0.485967 0.208120
|
||||
v -0.006214 -0.482857 0.208120
|
||||
v 0.006215 -0.482858 0.208120
|
||||
vt 0.965735 0.839196
|
||||
vt 0.711783 0.839196
|
||||
vt 0.711783 0.832541
|
||||
@ -249,79 +249,80 @@ vt 0.500000 0.156314
|
||||
vt 0.568437 0.156314
|
||||
vt 0.568437 0.984311
|
||||
vt 0.500000 0.984311
|
||||
vn 0.577300 0.577300 -0.577300
|
||||
vn 0.707100 0.000000 -0.707100
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn -0.707100 0.000000 -0.707100
|
||||
vn -0.577300 0.577300 -0.577300
|
||||
vn -0.246900 -0.280700 0.927500
|
||||
vn -0.658800 -0.172900 0.732100
|
||||
vn -0.762700 -0.148700 0.629400
|
||||
vn -0.577300 -0.577300 0.577300
|
||||
vn 0.668800 -0.216600 -0.711100
|
||||
vn 0.071700 -0.428700 -0.900500
|
||||
vn -0.762700 0.148700 0.629400
|
||||
vn -0.577300 0.577300 0.577300
|
||||
vn -0.668800 -0.216600 -0.711100
|
||||
vn 0.577300 0.577300 0.577300
|
||||
vn 0.762700 0.148700 0.629400
|
||||
vn -0.658800 0.172900 0.732100
|
||||
vn -0.246900 0.280700 0.927500
|
||||
vn -0.071700 -0.428700 -0.900500
|
||||
vn 0.246900 0.280700 0.927500
|
||||
vn -0.071700 0.428800 -0.900500
|
||||
vn 0.071700 0.428800 -0.900500
|
||||
vn -0.668800 0.216600 -0.711100
|
||||
vn 0.577300 -0.577300 0.577300
|
||||
vn 0.577300 -0.577300 -0.577300
|
||||
vn 0.668800 0.216600 -0.711100
|
||||
vn 0.762700 -0.148700 0.629400
|
||||
vn -0.577300 -0.577300 -0.577300
|
||||
vn 0.658800 -0.172900 0.732100
|
||||
vn 0.246900 -0.280700 0.927500
|
||||
vn 0.794100 0.350300 -0.496700
|
||||
vn 0.814600 0.000000 -0.580000
|
||||
vn 0.681100 -0.246900 0.689300
|
||||
vn 0.660400 0.000000 0.750900
|
||||
vn 0.681100 0.246800 0.689300
|
||||
vn 0.794100 -0.350300 -0.496700
|
||||
vn -0.794100 -0.350300 -0.496700
|
||||
vn -0.814600 0.000000 -0.580000
|
||||
vn -0.681100 0.246800 0.689300
|
||||
vn -0.660400 0.000000 0.750900
|
||||
vn -0.681100 -0.246900 0.689300
|
||||
vn -0.794100 0.350300 -0.496700
|
||||
vn -0.062900 0.569600 -0.819500
|
||||
vn -0.023700 0.000000 -0.999700
|
||||
vn -0.062900 -0.569600 -0.819500
|
||||
vn 0.062900 0.569600 -0.819500
|
||||
vn 0.023700 0.000000 -0.999700
|
||||
vn 0.062900 -0.569600 -0.819500
|
||||
vn 0.760600 0.000000 0.649100
|
||||
vn 0.735000 -0.228600 0.638300
|
||||
vn 0.658800 0.172900 0.732100
|
||||
vn 0.735000 0.228600 0.638300
|
||||
vn -0.735000 -0.228600 0.638300
|
||||
vn -0.760600 0.000000 0.649100
|
||||
vn -0.735000 0.228600 0.638300
|
||||
vn -0.603500 0.559600 0.567900
|
||||
vn 0.603500 0.559600 0.567900
|
||||
vn 0.603500 -0.559600 0.567900
|
||||
vn -0.603500 -0.559600 0.567900
|
||||
vn 0.789000 -0.000200 0.614300
|
||||
vn 0.684400 -0.166600 0.709800
|
||||
vn -0.687600 0.027100 0.725500
|
||||
vn -0.684400 0.166400 0.709800
|
||||
vn 0.689800 0.093900 0.717800
|
||||
vn 0.687600 -0.027100 0.725500
|
||||
vn 0.689800 -0.093900 0.717800
|
||||
vn 0.687600 0.027100 0.725500
|
||||
vn 0.684400 0.166400 0.709800
|
||||
vn -0.689800 0.093900 0.717800
|
||||
vn -0.687600 -0.027100 0.725500
|
||||
vn -0.789000 -0.000200 0.614300
|
||||
vn -0.684400 -0.166600 0.709800
|
||||
vn -0.689800 -0.093900 0.717800
|
||||
vn 0.000000 -0.707100 -0.707100
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 -0.707100 0.707100
|
||||
vn -0.577300 -0.577300 0.577300
|
||||
vn 0.280700 0.927500 0.246900
|
||||
vn 0.172900 0.732100 0.658800
|
||||
vn 0.148700 0.629400 0.762700
|
||||
vn 0.577300 0.577300 0.577300
|
||||
vn 0.216600 -0.711100 -0.668800
|
||||
vn 0.428700 -0.900500 -0.071700
|
||||
vn -0.148700 0.629400 0.762700
|
||||
vn -0.577300 0.577300 0.577300
|
||||
vn 0.216600 -0.711100 0.668800
|
||||
vn -0.577300 0.577300 -0.577300
|
||||
vn -0.148700 0.629400 -0.762700
|
||||
vn -0.172900 0.732100 0.658800
|
||||
vn -0.280700 0.927500 0.246900
|
||||
vn 0.428700 -0.900500 0.071700
|
||||
vn -0.280700 0.927500 -0.246900
|
||||
vn -0.428800 -0.900500 0.071700
|
||||
vn -0.428800 -0.900500 -0.071700
|
||||
vn -0.216600 -0.711100 0.668800
|
||||
vn 0.577300 0.577300 -0.577300
|
||||
vn 0.577300 -0.577300 -0.577300
|
||||
vn 0.000000 -0.707100 -0.707000
|
||||
vn -0.216600 -0.711100 -0.668800
|
||||
vn 0.148700 0.629400 -0.762700
|
||||
vn 0.577300 -0.577300 0.577300
|
||||
vn 0.172900 0.732100 -0.658800
|
||||
vn 0.280700 0.927500 -0.246900
|
||||
vn -0.350300 -0.496700 -0.794100
|
||||
vn 0.000000 -0.580000 -0.814600
|
||||
vn 0.246900 0.689300 -0.681100
|
||||
vn 0.000000 0.750900 -0.660400
|
||||
vn -0.246800 0.689300 -0.681100
|
||||
vn 0.350300 -0.496700 -0.794100
|
||||
vn 0.350300 -0.496700 0.794100
|
||||
vn 0.000000 -0.580000 0.814600
|
||||
vn -0.246800 0.689300 0.681100
|
||||
vn 0.000000 0.750900 0.660400
|
||||
vn 0.246900 0.689300 0.681100
|
||||
vn -0.350300 -0.496700 0.794100
|
||||
vn -0.569600 -0.819500 0.062900
|
||||
vn 0.000000 -0.999700 0.023700
|
||||
vn 0.569600 -0.819500 0.062900
|
||||
vn -0.569600 -0.819500 -0.062900
|
||||
vn 0.000000 -0.999700 -0.023700
|
||||
vn 0.569600 -0.819500 -0.062900
|
||||
vn 0.000000 0.649100 -0.760600
|
||||
vn 0.228600 0.638300 -0.735000
|
||||
vn -0.172900 0.732100 -0.658800
|
||||
vn -0.228600 0.638300 -0.735000
|
||||
vn 0.228600 0.638300 0.735000
|
||||
vn 0.000000 0.649100 0.760600
|
||||
vn -0.228600 0.638300 0.735000
|
||||
vn -0.559600 0.567900 0.603500
|
||||
vn -0.559600 0.567900 -0.603500
|
||||
vn 0.559600 0.567900 -0.603500
|
||||
vn 0.559600 0.567900 0.603500
|
||||
vn 0.000200 0.614300 -0.789000
|
||||
vn 0.166600 0.709800 -0.684400
|
||||
vn -0.027100 0.725500 0.687600
|
||||
vn -0.166400 0.709800 0.684400
|
||||
vn -0.093900 0.717800 -0.689800
|
||||
vn 0.027100 0.725500 -0.687600
|
||||
vn 0.093900 0.717800 -0.689800
|
||||
vn -0.027100 0.725500 -0.687600
|
||||
vn -0.166400 0.709800 -0.684400
|
||||
vn -0.093900 0.717800 0.689800
|
||||
vn 0.027100 0.725500 0.687600
|
||||
vn 0.000200 0.614300 0.789000
|
||||
vn 0.166600 0.709800 0.684400
|
||||
vn 0.093900 0.717800 0.689800
|
||||
g Cube.002_Cube.001_Cube.002_Cube.001_cover
|
||||
s 1
|
||||
f 18/1/1 20/2/2 13/3/3 12/4/3 14/5/4 19/6/5
|
||||
@ -335,84 +336,84 @@ f 13/3/3 10/12/11 11/31/19 12/4/3
|
||||
f 21/30/13 5/29/18 8/32/20 3/33/15
|
||||
f 29/34/3 30/35/3 31/31/21 32/12/22
|
||||
f 31/31/21 30/35/3 39/36/4 40/37/23
|
||||
f 37/38/24 43/39/25 45/40/2 42/41/26 41/42/27
|
||||
f 43/43/25 37/21/24 46/20/9 44/44/28
|
||||
f 38/45/8 40/46/23 39/47/4 44/48/28 46/49/9
|
||||
f 29/34/3 32/12/22 42/50/26 45/51/2
|
||||
f 41/52/27 71/53/29 35/54/30 37/55/24
|
||||
f 35/54/30 36/7/6 46/10/9 37/55/24
|
||||
f 43/56/25 44/57/28 39/36/4 30/35/3 29/34/3 45/51/2
|
||||
f 37/38/24 43/39/25 45/40/26 42/41/27 41/42/28
|
||||
f 43/43/25 37/21/24 46/20/9 44/44/29
|
||||
f 38/45/8 40/46/23 39/47/4 44/48/29 46/49/9
|
||||
f 29/34/3 32/12/22 42/50/27 45/51/26
|
||||
f 41/52/28 71/53/30 35/54/31 37/55/24
|
||||
f 35/54/31 36/7/6 46/10/9 37/55/24
|
||||
f 43/56/25 44/57/29 39/36/4 30/35/3 29/34/3 45/51/26
|
||||
f 15/58/14 14/5/4 12/4/3 11/31/19
|
||||
f 42/41/26 64/59/31 41/42/27
|
||||
f 41/42/27 64/59/31 2/60/32 67/61/33
|
||||
f 67/61/33 2/60/32 34/62/34
|
||||
f 34/62/34 2/60/32 59/63/35
|
||||
f 2/60/32 62/64/36 16/23/16 59/63/35
|
||||
f 16/23/16 62/64/36 17/24/10
|
||||
f 15/17/14 63/65/37 1/13/12
|
||||
f 23/66/38 58/67/39 1/13/12 63/65/37
|
||||
f 58/67/39 23/66/38 33/68/40
|
||||
f 68/69/41 33/68/40 23/66/38
|
||||
f 38/45/8 68/69/41 23/66/38 57/70/42
|
||||
f 57/70/42 40/46/23 38/45/8
|
||||
f 40/71/23 57/72/42 66/73/43 31/74/21
|
||||
f 57/44/42 23/75/38 47/76/44 66/77/43
|
||||
f 47/76/44 23/75/38 63/78/37 60/79/45
|
||||
f 15/71/14 11/80/19 60/81/45 63/82/37
|
||||
f 32/83/22 65/84/46 64/85/31 42/86/26
|
||||
f 64/43/31 65/87/46 48/88/47 2/89/32
|
||||
f 48/88/47 61/90/48 62/91/36 2/89/32
|
||||
f 17/86/10 62/92/36 61/93/48 10/94/11
|
||||
f 67/95/33 34/96/34 70/97/49 73/98/50
|
||||
f 59/99/35 16/100/16 69/101/51 72/102/52
|
||||
f 41/52/27 67/95/33 73/98/50 71/53/29
|
||||
f 34/96/34 59/99/35 72/102/52 70/97/49
|
||||
f 33/103/40 68/104/41 78/105/53 75/106/54
|
||||
f 1/27/12 58/107/39 77/108/55 74/28/17
|
||||
f 68/104/41 38/9/8 76/8/7 78/105/53
|
||||
f 58/107/39 33/103/40 75/106/54 77/108/55
|
||||
f 8/32/20 69/101/51 16/100/16 3/33/15
|
||||
f 10/94/11 61/93/48 60/81/45 11/80/19
|
||||
f 47/76/44 60/79/45 61/90/48 48/88/47
|
||||
f 65/87/46 66/77/43 47/76/44 48/88/47
|
||||
f 31/74/21 66/73/43 65/84/46 32/83/22
|
||||
f 42/41/27 64/59/32 41/42/28
|
||||
f 41/42/28 64/59/32 2/60/33 67/61/34
|
||||
f 67/61/34 2/60/33 34/62/35
|
||||
f 34/62/35 2/60/33 59/63/36
|
||||
f 2/60/33 62/64/37 16/23/16 59/63/36
|
||||
f 16/23/16 62/64/37 17/24/10
|
||||
f 15/17/14 63/65/38 1/13/12
|
||||
f 23/66/39 58/67/40 1/13/12 63/65/38
|
||||
f 58/67/40 23/66/39 33/68/41
|
||||
f 68/69/42 33/68/41 23/66/39
|
||||
f 38/45/8 68/69/42 23/66/39 57/70/43
|
||||
f 57/70/43 40/46/23 38/45/8
|
||||
f 40/71/23 57/72/43 66/73/44 31/74/21
|
||||
f 57/44/43 23/75/39 47/76/45 66/77/44
|
||||
f 47/76/45 23/75/39 63/78/38 60/79/46
|
||||
f 15/71/14 11/80/19 60/81/46 63/82/38
|
||||
f 32/83/22 65/84/47 64/85/32 42/86/27
|
||||
f 64/43/32 65/87/47 48/88/48 2/89/33
|
||||
f 48/88/48 61/90/49 62/91/37 2/89/33
|
||||
f 17/86/10 62/92/37 61/93/49 10/94/11
|
||||
f 67/95/34 34/96/35 70/97/50 73/98/51
|
||||
f 59/99/36 16/100/16 69/101/52 72/102/53
|
||||
f 41/52/28 67/95/34 73/98/51 71/53/30
|
||||
f 34/96/35 59/99/36 72/102/53 70/97/50
|
||||
f 33/103/41 68/104/42 78/105/54 75/106/55
|
||||
f 1/27/12 58/107/40 77/108/56 74/28/17
|
||||
f 68/104/42 38/9/8 76/8/7 78/105/54
|
||||
f 58/107/40 33/103/41 75/106/55 77/108/56
|
||||
f 8/32/20 69/101/52 16/100/16 3/33/15
|
||||
f 10/94/11 61/93/49 60/81/46 11/80/19
|
||||
f 47/76/45 60/79/46 61/90/49 48/88/48
|
||||
f 65/87/47 66/77/44 47/76/45 48/88/48
|
||||
f 31/74/21 66/73/44 65/84/47 32/83/22
|
||||
g Cube.002_Cube.001_Cube.002_Cube.001_edges
|
||||
f 8/109/20 5/110/18 6/111/56 7/112/57
|
||||
f 35/113/30 26/114/58 25/115/59 36/116/6
|
||||
f 9/117/60 69/118/51 53/119/61
|
||||
f 50/120/62 56/121/63 76/122/7
|
||||
f 24/123/64 69/118/51 8/124/20
|
||||
f 9/125/60 71/126/29 73/127/50
|
||||
f 51/128/65 53/119/61 69/118/51
|
||||
f 9/125/60 73/127/50 70/129/49
|
||||
f 28/130/66 26/131/58 35/132/30
|
||||
f 71/126/29 49/133/67 28/130/66
|
||||
f 72/134/52 69/118/51 9/117/60
|
||||
f 71/126/29 55/135/68 49/133/67
|
||||
f 28/130/66 35/132/30 71/126/29
|
||||
f 24/123/64 8/124/20 7/136/57
|
||||
f 69/118/51 24/123/64 51/128/65
|
||||
f 9/125/60 55/135/68 71/126/29
|
||||
f 70/137/49 72/134/52 9/117/60
|
||||
f 22/138/69 6/139/56 5/140/18
|
||||
f 74/141/17 52/142/70 22/138/69
|
||||
f 75/143/54 78/144/53 4/145/71
|
||||
f 74/141/17 54/146/72 52/142/70
|
||||
f 22/138/69 5/140/18 74/141/17
|
||||
f 27/147/73 76/122/7 36/148/6
|
||||
f 4/149/71 74/141/17 77/150/55
|
||||
f 27/147/73 50/120/62 76/122/7
|
||||
f 4/149/71 77/150/55 75/151/54
|
||||
f 4/145/71 78/144/53 76/122/7
|
||||
f 4/149/71 54/146/72 74/141/17
|
||||
f 27/147/73 36/148/6 25/152/59
|
||||
f 56/121/63 4/145/71 76/122/7
|
||||
f 8/109/20 5/110/18 6/111/57 7/112/58
|
||||
f 35/113/31 26/114/59 25/115/60 36/116/6
|
||||
f 9/117/61 69/118/52 53/119/62
|
||||
f 50/120/63 56/121/64 76/122/7
|
||||
f 24/123/65 69/118/52 8/124/20
|
||||
f 9/125/61 71/126/30 73/127/51
|
||||
f 51/128/66 53/119/62 69/118/52
|
||||
f 9/125/61 73/127/51 70/129/50
|
||||
f 28/130/67 26/131/59 35/132/31
|
||||
f 71/126/30 49/133/68 28/130/67
|
||||
f 72/134/53 69/118/52 9/117/61
|
||||
f 71/126/30 55/135/69 49/133/68
|
||||
f 28/130/67 35/132/31 71/126/30
|
||||
f 24/123/65 8/124/20 7/136/58
|
||||
f 69/118/52 24/123/65 51/128/66
|
||||
f 9/125/61 55/135/69 71/126/30
|
||||
f 70/137/50 72/134/53 9/117/61
|
||||
f 22/138/70 6/139/57 5/140/18
|
||||
f 74/141/17 52/142/71 22/138/70
|
||||
f 75/143/55 78/144/54 4/145/72
|
||||
f 74/141/17 54/146/73 52/142/71
|
||||
f 22/138/70 5/140/18 74/141/17
|
||||
f 27/147/74 76/122/7 36/148/6
|
||||
f 4/149/72 74/141/17 77/150/56
|
||||
f 27/147/74 50/120/63 76/122/7
|
||||
f 4/149/72 77/150/56 75/151/55
|
||||
f 4/145/72 78/144/54 76/122/7
|
||||
f 4/149/72 54/146/73 74/141/17
|
||||
f 27/147/74 36/148/6 25/152/60
|
||||
f 56/121/64 4/145/72 76/122/7
|
||||
g Cube.002_Cube.001_Cube.002_Cube.001_pages
|
||||
f 50/153/62 27/154/73 28/155/66 49/156/67
|
||||
f 6/157/56 22/158/69 24/159/64 7/160/57
|
||||
f 27/154/73 25/161/59 26/162/58 28/155/66
|
||||
f 52/163/70 54/164/72 53/165/61 51/166/65
|
||||
f 22/158/69 52/163/70 51/166/65 24/159/64
|
||||
f 4/167/71 56/168/63 55/169/68 9/170/60
|
||||
f 54/164/72 4/167/71 9/170/60 53/165/61
|
||||
f 56/168/63 50/153/62 49/156/67 55/169/68
|
||||
f 50/153/63 27/154/74 28/155/67 49/156/68
|
||||
f 6/157/57 22/158/70 24/159/65 7/160/58
|
||||
f 27/154/74 25/161/60 26/162/59 28/155/67
|
||||
f 52/163/71 54/164/73 53/165/62 51/166/66
|
||||
f 22/158/70 52/163/71 51/166/66 24/159/65
|
||||
f 4/167/72 56/168/64 55/169/69 9/170/61
|
||||
f 54/164/73 4/167/72 9/170/61 53/165/62
|
||||
f 56/168/64 50/153/63 49/156/68 55/169/69
|
||||
|
0
homedecor/models/homedecor_bottle.obj
Normal file → Executable file
0
homedecor/models/homedecor_bottle.obj
Normal file → Executable file
0
homedecor/models/homedecor_calendar.obj
Normal file → Executable file
0
homedecor/models/homedecor_calendar.obj
Normal file → Executable file
0
homedecor/models/homedecor_candle_thick.obj
Normal file → Executable file
0
homedecor/models/homedecor_candle_thick.obj
Normal file → Executable file
0
homedecor/models/homedecor_candle_thin.obj
Normal file → Executable file
0
homedecor/models/homedecor_candle_thin.obj
Normal file → Executable file
0
homedecor/models/homedecor_candlestick.obj
Normal file → Executable file
0
homedecor/models/homedecor_candlestick.obj
Normal file → Executable file
0
homedecor/models/homedecor_ceiling_lamp.obj
Normal file → Executable file
0
homedecor/models/homedecor_ceiling_lamp.obj
Normal file → Executable file
0
homedecor/models/homedecor_ceiling_lantern.obj
Normal file → Executable file
0
homedecor/models/homedecor_ceiling_lantern.obj
Normal file → Executable file
0
homedecor/models/homedecor_chimney.obj
Normal file → Executable file
0
homedecor/models/homedecor_chimney.obj
Normal file → Executable file
0
homedecor/models/homedecor_coatrack.obj
Normal file → Executable file
0
homedecor/models/homedecor_coatrack.obj
Normal file → Executable file
0
homedecor/models/homedecor_coffeemaker.obj
Normal file → Executable file
0
homedecor/models/homedecor_coffeemaker.obj
Normal file → Executable file
0
homedecor/models/homedecor_copper_pans.obj
Normal file → Executable file
0
homedecor/models/homedecor_copper_pans.obj
Normal file → Executable file
0
homedecor/models/homedecor_cube.obj
Normal file → Executable file
0
homedecor/models/homedecor_cube.obj
Normal file → Executable file
0
homedecor/models/homedecor_cutlery_set.obj
Normal file → Executable file
0
homedecor/models/homedecor_cutlery_set.obj
Normal file → Executable file
0
homedecor/models/homedecor_dartboard.obj
Normal file → Executable file
0
homedecor/models/homedecor_dartboard.obj
Normal file → Executable file
0
homedecor/models/homedecor_deckchair.obj
Normal file → Executable file
0
homedecor/models/homedecor_deckchair.obj
Normal file → Executable file
0
homedecor/models/homedecor_desk.obj
Normal file → Executable file
0
homedecor/models/homedecor_desk.obj
Normal file → Executable file
0
homedecor/models/homedecor_desk_fan.b3d
Normal file → Executable file
0
homedecor/models/homedecor_desk_fan.b3d
Normal file → Executable file
Binary file not shown.
Before Width: | Height: | Size: 165 B After Width: | Height: | Size: 164 B |
0
homedecor/models/homedecor_desk_globe.obj
Normal file → Executable file
0
homedecor/models/homedecor_desk_globe.obj
Normal file → Executable file
3372
homedecor/models/homedecor_desk_lamp.obj
Normal file → Executable file
3372
homedecor/models/homedecor_desk_lamp.obj
Normal file → Executable file
File diff suppressed because it is too large
Load Diff
0
homedecor/models/homedecor_doghouse.obj
Normal file → Executable file
0
homedecor/models/homedecor_doghouse.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_closet.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_closet.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_closet_right.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_closet_right.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_fancy.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_fancy.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_fancy_right.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_fancy_right.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_japanese_closed.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_japanese_closed.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_japanese_open.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_japanese_open.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_plain.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_plain.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_plain_right.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_plain_right.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_wood_glass.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_wood_glass.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_wood_glass_right.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_wood_glass_right.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_woodglass_typea.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_woodglass_typea.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_woodglass_typea_right.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_woodglass_typea_right.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_wrought_iron.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_wrought_iron.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_wrought_iron_right.obj
Normal file → Executable file
0
homedecor/models/homedecor_door_wrought_iron_right.obj
Normal file → Executable file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user