[homedecor_modpack] Downgrade to Git commit 8e467ef & patch 68585f6:

For compatibility with stable server.

Commit: https://github.com/minetest-mods/homedecor_modpack/tree/8e467ef
Patch: https://github.com/AntumDeluge/mtmp-homedecor/tree/68585f6
master
AntumDeluge 2017-05-18 17:08:13 -07:00
parent a0e0409c9d
commit f9903b1336
171 changed files with 8273 additions and 37148 deletions

View File

@ -176,7 +176,7 @@ The game includes the mods from the default [minetest_game](https://github.com/m
* oerrki
* sheep
* zombie
* [homedecor_modpack][homedecor] ([LGPL / WTFPL / CC BY-SA / CC0][lic.homedecor]) -- version: [5fb16c4 Git][ver.homedecor] *2017-03-31* ([patched][patch.homedecor])
* [homedecor_modpack][homedecor] ([LGPL / WTFPL / CC BY-SA / CC0][lic.homedecor]) -- version: [8e467ef Git][ver.homedecor] *2017-01-24* ([patched][patch.homedecor])
* mp_homedecor_modpack/
* building_blocks
* chains
@ -434,7 +434,7 @@ The game includes the mods from the default [minetest_game](https://github.com/m
[ver.helicopter]: https://github.com/SokolovPavel/helicopter/tree/10f1433
[ver.hidename]: https://github.com/AntumDeluge/mtmod-hidename/tree/bb52dbc
[ver.home_gui]: https://github.com/cornernote/minetest-home_gui/tree/f6b5001
[ver.homedecor]: https://github.com/minetest-mods/homedecor_modpack/tree/5fb16c4
[ver.homedecor]: https://github.com/minetest-mods/homedecor_modpack/tree/8e467ef
[ver.hovercraft]: https://github.com/stujones11/hovercraft/tree/7b0df6f
[ver.hud]: https://github.com/BlockMen/hud/tree/c58f703
[ver.hudmap]: https://github.com/stujones11/hudmap/tree/09d40f3
@ -507,7 +507,7 @@ The game includes the mods from the default [minetest_game](https://github.com/m
[patch.fort_spikes]: https://github.com/AntumDeluge/mtmod-fort_spikes/tree/74dca42
[patch.glow]: https://github.com/AntumDeluge/mtmod-glow/tree/12266d3
[patch.helicopter]: https://github.com/AntumDeluge/mtmod-helicopter/tree/66a6523
[patch.homedecor]: https://github.com/AntumDeluge/mtmp-homedecor/tree/4d6f0c0
[patch.homedecor]: https://github.com/AntumDeluge/mtmp-homedecor/tree/68585f6
[patch.hovercraft]: https://github.com/AntumDeluge/mtmod-hovercraft/tree/96ad3b4
[patch.hud]: https://github.com/AntumDeluge/mtmod-hud/tree/6846e20
[patch.ilights]: https://github.com/AntumDeluge/mtmod-ilights/tree/f610d75

View File

@ -1,25 +0,0 @@
unused_args = false
allow_defined_top = true
read_globals = {
"DIR_DELIM",
"minetest", "core",
"dump",
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
"intllib",
"default",
"stairsplus",
"signs_lib",
"beds",
"technic",
"mesecon",
"unifieddyes",
"creative",
}
globals = {
"armor",
}

View File

@ -1,8 +1,61 @@
This is what I consider to be a fairly feature-filled home decor modpack.
See the forum thread at
https://forum.minetest.net/viewtopic.php?f=11&t=2041 for details about
this modpack.
This is what I consider to be a fairly feature-filled home decor
modpack. As such, it comes in multiple parts:
Dependencies: unifieddyes and a Minetest engine build newer than 2017-01-23.
* The actual homedecor mod, which supplies a bunch of stuff found in
most homes (like flower pots, home electronics, brass and wrought-iron
tables, and a bunch of other things).
Recommends: signs_lib, windmill, moreblocks, unified_inventory.
* A "3d extras" mod, which supplies things that re-define something in
some other mod (or in the default game) so that those objects become
fully 3d (instead of a flat cube), as well as things which are directly
related. This mod, for example, provides 3d bookshelves and their empty
and half-depth "open frame" counterparts.
* A signs library forked from the one that thexyz and PilzAdam first
made, which produces visible text on signs (and which has been extended
to put signs on fences, including the brass and wrought iron ones here
in homedecor).
* Sdzen's building_blocks mod, which is here to supply not only a few
blocks to build with, obviously, :-) but also to supply a number of
materials to craft other things in Homedecor with.
All items can be accessed either by crafting various other items
together, or with the usual /give commands. To get a list of the actual
node names, just go into the homedecor/ folder and run the listnodes.sh
Bash script. Note that a few of the listed nodes are kinda useless by
themselves (like the various parts of the folding doors).
All of the images used for the recipes in the forum post tracking this
mod are included in the crafting-guide/ folder.
Most stuff can be made from materials found through a game world. Some
stuff can only be crafted by using materials from another mod (look for
the orange highlights). Currently, this mod can use materials from
moreores, mesecons, wool, and unifieddyes if present. You can still use
the usual /give commands to get the items that depend on these mods if
you don't use them installed.
This mod is still a work-in-progress, but should be complete enough not
to irritate anyone. :-) Namely, many items can be used as fuel but the
burn times need tuning and I need to tune the cook time and fuel usage
on the four smelted items.
Much of the code (especially for the doors) plus the bucket were taken
from the files which come with Minetest and altered to suit. Many
thanks to Jeija for coming up with an elegant cylinder using nodeboxes;
see his 'irregular' mods). His code is used herein (you can guess where
:-) ).
Dependencies: none (just the game's default stuff)
Recommends: buckets, flowers, unifieddyes, junglegrass, moreores,
mesecons, wool
Skin credits:
Mammu by hansuke123
http://minetest.fensta.bplaced.net/#name=Mammu
BrightGirl by Malarif
http://minetest.fensta.bplaced.net/#name=BrightGirl

View File

@ -1,3 +1,3 @@
default
homedecor_i18n
moreblocks?
craft_guide?

View File

@ -1,9 +1,6 @@
local S = homedecor_i18n.gettext
minetest.register_node("building_blocks:Adobe", {
tiles = {"building_blocks_Adobe.png"},
description = S("Adobe"),
description = "Adobe",
is_ground_content = true,
groups = {crumbly=3},
sounds = default.node_sound_stone_defaults(),
@ -11,7 +8,7 @@ minetest.register_node("building_blocks:Adobe", {
minetest.register_node("building_blocks:Roofing", {
tiles = {"building_blocks_Roofing.png"},
is_ground_content = true,
description = S("Roof block"),
description = "Roof block",
groups = {snappy=3},
})
minetest.register_craft({
@ -131,7 +128,7 @@ minetest.register_craft({
})
minetest.register_craft({
output = 'building_blocks:tar_base 4',
output = 'building_blocks:tar_base 2',
recipe = {
{"default:coal_lump", "default:gravel"},
{"default:gravel", "default:coal_lump"}
@ -139,7 +136,7 @@ minetest.register_craft({
})
minetest.register_craft({
output = 'building_blocks:tar_base 4',
output = 'building_blocks:tar_base 2',
recipe = {
{"default:gravel", "default:coal_lump"},
{"default:coal_lump", "default:gravel"}
@ -153,7 +150,7 @@ minetest.register_craft({
})
minetest.register_node("building_blocks:smoothglass", {
drawtype = "glasslike",
description = S("Streak Free Glass"),
description = "Streak Free Glass",
tiles = {"building_blocks_sglass.png"},
inventory_image = minetest.inventorycube("building_blocks_sglass.png"),
paramtype = "light",
@ -164,7 +161,7 @@ minetest.register_node("building_blocks:smoothglass", {
})
minetest.register_node("building_blocks:grate", {
drawtype = "glasslike",
description = S("Grate"),
description = "Grate",
tiles = {"building_blocks_grate.png"},
inventory_image = minetest.inventorycube("building_blocks_grate.png"),
paramtype = "light",
@ -174,7 +171,7 @@ minetest.register_node("building_blocks:grate", {
})
minetest.register_node("building_blocks:Fireplace", {
description = S("Fireplace"),
description = "Fireplace",
tiles = {
"building_blocks_cast_iron.png",
"building_blocks_cast_iron.png",
@ -191,7 +188,7 @@ minetest.register_node("building_blocks:Fireplace", {
minetest.register_node("building_blocks:woodglass", {
drawtype = "glasslike",
description = S("Wood Framed Glass"),
description = "Wood Framed Glass",
tiles = {"building_blocks_wglass.png"},
inventory_image = minetest.inventorycube("building_blocks_wglass.png"),
paramtype = "light",
@ -202,7 +199,7 @@ minetest.register_node("building_blocks:woodglass", {
})
minetest.register_node("building_blocks:terrycloth_towel", {
drawtype = "raillike",
description = S("Terrycloth towel"),
description = "Terrycloth towel",
tiles = {"building_blocks_towel.png"},
inventory_image = "building_blocks_towel_inv.png",
paramtype = "light",
@ -218,7 +215,7 @@ minetest.register_node("building_blocks:terrycloth_towel", {
})
minetest.register_node("building_blocks:Tarmac_spread", {
drawtype = "raillike",
description = S("Tarmac Spread"),
description = "Tarmac Spread",
tiles = {"building_blocks_tar.png"},
inventory_image = "building_blocks_tar_spread_inv.png",
paramtype = "light",
@ -235,7 +232,7 @@ minetest.register_node("building_blocks:Tarmac_spread", {
})
minetest.register_node("building_blocks:BWtile", {
drawtype = "raillike",
description = S("Chess board tiling"),
description = "Chess board tiling",
tiles = {"building_blocks_BWtile.png"},
inventory_image = "building_blocks_bwtile_inv.png",
paramtype = "light",
@ -251,9 +248,7 @@ minetest.register_node("building_blocks:BWtile", {
})
minetest.register_node("building_blocks:brobble_spread", {
drawtype = "raillike",
-- Translators: "Brobble" is a portmanteau of "Brick" and "Cobble".
-- Translate however you see fit.
description = S("Brobble Spread"),
description = "Brobble Spread",
tiles = {"building_blocks_brobble.png"},
inventory_image = "building_blocks_brobble_spread_inv.png",
paramtype = "light",
@ -269,7 +264,7 @@ minetest.register_node("building_blocks:brobble_spread", {
})
minetest.register_node("building_blocks:gravel_spread", {
drawtype = "raillike",
description = S("Gravel Spread"),
description = "Gravel Spread",
tiles = {"default_gravel.png"},
inventory_image = "building_blocks_gravel_spread_inv.png",
paramtype = "light",
@ -290,7 +285,7 @@ minetest.register_node("building_blocks:gravel_spread", {
minetest.register_node("building_blocks:hardwood", {
tiles = {"building_blocks_hardwood.png"},
is_ground_content = true,
description = S("Hardwood"),
description = "Hardwood",
groups = {choppy=1,flammable=1},
sounds = default.node_sound_wood_defaults(),
})
@ -332,17 +327,6 @@ if minetest.get_modpath("moreblocks") then
}),
}
)
for _, i in ipairs(stairsplus.shapes_list) do
local class = i[1]
local cut = i[2]
minetest.unregister_item("moreblocks:"..class.."tar"..cut)
minetest.register_alias("moreblocks:"..class.."tar"..cut, "building_blocks:"..class.."tar"..cut)
end
minetest.unregister_item("moreblocks:tar")
minetest.register_alias("moreblocks:tar", "building_blocks:Tar")
stairsplus:register_all(
"building_blocks",
"tar",
@ -354,7 +338,6 @@ if minetest.get_modpath("moreblocks") then
sounds = default.node_sound_stone_defaults(),
}
)
stairsplus:register_all(
"building_blocks",
"grate",
@ -465,44 +448,44 @@ else
bb_stairs.register_stair_and_slab("marble","building_blocks:Marble",
{cracky=3},
{"building_blocks_marble.png"},
S("Marble stair"),
S("Marble slab")
"Marble stair",
"Marble slab"
)
bb_stairs.register_stair_and_slab("hardwood","building_blocks:hardwood",
{choppy=1,flammable=1},
{"building_blocks_hardwood.png"},
S("Hardwood stair"),
S("Hardwood slab")
"Hardwood stair",
"Hardwood slab"
)
bb_stairs.register_stair_and_slab("fakegrass","building_blocks:fakegrass",
{crumbly=3},
{"default_grass.png"},
S("Grass stair"),
S("Grass slab")
"Grass stair",
"Grass slab"
)
bb_stairs.register_stair_and_slab("tar","building_blocks:Tar",
{crumbly=1},
{"building_blocks_tar.png"},
S("Tar stair"),
S("Tar slab")
"Tar stair",
"Tar slab"
)
bb_stairs.register_stair_and_slab("grate","building_blocks:grate",
{cracky=1},
{"building_blocks_grate.png"},
S("Grate Stair"),
S("Grate Slab")
"Grate Stair",
"Grate Slab"
)
bb_stairs.register_stair_and_slab("Adobe", "building_blocks:Adobe",
{crumbly=3},
{"building_blocks_Adobe.png"},
S("Adobe stair"),
S("Adobe slab")
"Adobe stair",
"Adobe slab"
)
bb_stairs.register_stair_and_slab("Roofing", "building_blocks:Roofing",
{snappy=3},
{"building_blocks_Roofing.png"},
S("Roofing stair"),
S("Roofing slab")
"Roofing stair",
"Roofing slab"
)
end
@ -515,7 +498,7 @@ minetest.register_craft({
minetest.register_node("building_blocks:fakegrass", {
tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
description = S("Fake Grass"),
description = "Fake Grass",
is_ground_content = true,
groups = {crumbly=3},
sounds = default.node_sound_dirt_defaults({
@ -524,13 +507,13 @@ minetest.register_node("building_blocks:fakegrass", {
})
minetest.register_craftitem("building_blocks:sticks", {
description = S("Small bundle of sticks"),
description = "Small bundle of sticks",
image = "building_blocks_sticks.png",
on_place_on_ground = minetest.craftitem_place_item,
})
minetest.register_craftitem("building_blocks:tar_base", {
description = S("Tar base"),
description = "Tar base",
image = "building_blocks_tar_base.png",
})
@ -554,14 +537,14 @@ minetest.register_alias("building_blocks:faggot", "building_blocks:sticks")
minetest.register_alias("marble", "building_blocks:Marble")
minetest.register_node("building_blocks:Tar", {
description = S("Tar"),
description = "Tar",
tiles = {"building_blocks_tar.png"},
is_ground_content = true,
groups = {crumbly=1, tar_block = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("building_blocks:Marble", {
description = S("Marble"),
description = "Marble",
tiles = {"building_blocks_marble.png"},
is_ground_content = true,
groups = {cracky=3, marble = 1},
@ -585,7 +568,7 @@ minetest.register_craft({
})
minetest.register_tool("building_blocks:knife", {
description = S("Tar Knife"),
description = "Tar Knife",
inventory_image = "building_blocks_knife.png",
tool_capabilities = {
max_drop_level=0,
@ -607,7 +590,7 @@ minetest.register_craft({
if not minetest.get_modpath("technic") then
minetest.register_node( ":technic:granite", {
description = S("Granite"),
description = "Granite",
tiles = { "technic_granite.png" },
is_ground_content = true,
groups = {cracky=1},
@ -625,7 +608,7 @@ if not minetest.get_modpath("technic") then
if minetest.get_modpath("moreblocks") then
stairsplus:register_all("technic", "granite", "technic:granite", {
description=S("Granite"),
description="Granite",
groups={cracky=1, not_in_creative_inventory=1},
tiles={"technic_granite.png"},
})

View File

@ -1,2 +1,2 @@
default
homedecor
craft_guide?

View File

@ -1,6 +1,3 @@
local S = homedecor_i18n.gettext
local chains_sbox = {
type = "fixed",
fixed = { -0.1, -0.625, -0.1, 0.1, 0.5, 0.1 }
@ -15,7 +12,7 @@ local topchains_sbox = {
}
minetest.register_node("chains:chain", {
description = S("Hanging chain (wrought iron)"),
description = "Hanging chain (wrought iron)",
drawtype = "mesh",
mesh = "chains.obj",
tiles = {"chains_wrought_iron.png"},
@ -29,7 +26,7 @@ minetest.register_node("chains:chain", {
})
minetest.register_node("chains:chain_brass", {
description = S("Hanging chain (brass)"),
description = "Hanging chain (brass)",
drawtype = "mesh",
mesh = "chains.obj",
tiles = {"chains_brass.png"},
@ -43,7 +40,7 @@ minetest.register_node("chains:chain_brass", {
})
minetest.register_node("chains:chain_top", {
description = S("Hanging chain (ceiling mount, wrought iron)"),
description = "Hanging chain (ceiling mount, wrought iron)",
drawtype = "mesh",
mesh = "top_chains.obj",
tiles = {"chains_wrought_iron.png"},
@ -57,7 +54,7 @@ minetest.register_node("chains:chain_top", {
})
minetest.register_node("chains:chain_top_brass", {
description = S("Hanging chain (ceiling mount, brass)"),
description = "Hanging chain (ceiling mount, brass)",
drawtype = "mesh",
mesh = "top_chains.obj",
tiles = {"chains_brass.png"},
@ -71,12 +68,13 @@ minetest.register_node("chains:chain_top_brass", {
})
minetest.register_node("chains:chandelier", {
description = S("Chandelier (wrought iron)"),
description = "Chandelier (wrought iron)",
paramtype = "light",
light_source = default.LIGHT_MAX-2,
walkable = false,
climbable = true,
sunlight_propagates = true,
paramtype = "light",
tiles = {
"chains_wrought_iron.png",
"chains_candle.png",
@ -97,12 +95,13 @@ minetest.register_node("chains:chandelier", {
})
minetest.register_node("chains:chandelier_brass", {
description = S("Chandelier (brass)"),
description = "Chandelier (brass)",
paramtype = "light",
light_source = default.LIGHT_MAX-2,
walkable = false,
climbable = true,
sunlight_propagates = true,
paramtype = "light",
tiles = {
"chains_brass.png",
"chains_candle.png",

View File

@ -1,6 +1,3 @@
local S = homedecor_i18n.gettext
-- Amiga 500 lookalike
computer.register("computer:shefriendSOO", {
description = "SheFriendSOO",
@ -153,19 +150,6 @@ computer.register("computer:admiral128", {
})
})
-- XBox lookalike
computer.register("computer:hueg_box", {
description = "HUEG Box",
tiles_off = { },
node_box = computer.pixelnodebox(16, {
-- X Y Z W H L
{ 0, 0, 7, 16, 6, 9 }, -- Console
{ 2, 0, 1, 11, 3, 6 }, -- Controller
{ 2, 0, 0, 2, 3, 1 },
{ 11, 0, 0, 2, 3, 1 },
})
})
-- Generic Flat Screen LCD (16x9) with keyboard
local mo_sbox = {
type = "fixed",
@ -173,7 +157,7 @@ local mo_sbox = {
}
minetest.register_node("computer:monitor", {
description = S("Monitor and keyboard"),
description = "Monitor and keyboard",
inventory_image = "computer_monitor_inv.png",
drawtype = "mesh",
mesh = "computer_monitor.obj",
@ -191,6 +175,7 @@ minetest.register_node("computer:monitor", {
})
minetest.register_node("computer:monitor_on", {
description = "Monitor and keyboard",
drawtype = "mesh",
mesh = "computer_monitor.obj",
tiles = {"monitor_display.png^[transformFX", "monitor_plastic.png", "computer_black.png", "monitor_plastic.png"},
@ -215,7 +200,7 @@ minetest.register_alias("computer:monitor_desktop", "computer:monitor")
--WIFI Router (linksys look-a-like)
minetest.register_node("computer:router", {
description = S("WIFI Router"),
description = "WIFI Router",
inventory_image = "computer_router_inv.png",
tiles = {"computer_router_t.png","computer_router_bt.png","computer_router_l.png","computer_router_r.png","computer_router_b.png",
{name="computer_router_f_animated.png", animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1.0}},}, --"computer_router_f.png"},
@ -243,7 +228,7 @@ local pct_cbox = {
--Modern PC Tower
minetest.register_node("computer:tower", {
description = S("Computer Tower"),
description = "Computer Tower",
inventory_image = "computer_tower_inv.png",
drawtype = "mesh",
mesh = "computer_tower.obj",
@ -260,7 +245,7 @@ minetest.register_alias("computer:tower_on", "computer:tower")
-- Printer/scaner combo
minetest.register_node("computer:printer", {
description = S("Printer-Scanner Combo"),
description = "Printer Scaner Combo",
inventory_image = "computer_printer_inv.png",
tiles = {"computer_printer_t.png","computer_printer_bt.png","computer_printer_l.png",
"computer_printer_r.png","computer_printer_b.png","computer_printer_f.png"},
@ -288,7 +273,7 @@ minetest.register_node("computer:printer", {
--Rack Server
minetest.register_node("computer:server", {
drawtype = "nodebox",
description = S("Rack Server"),
description = "Rack Server",
tiles = {
'computer_server_t.png',
'computer_server_bt.png',
@ -318,8 +303,7 @@ minetest.register_node("computer:server", {
on_place = function(itemstack, placer, pointed_thing)
local pos = pointed_thing.above
if minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
minetest.chat_send_player( placer:get_player_name(),
S("Not enough vertical space to place a server!" ))
minetest.chat_send_player( placer:get_player_name(), "Not enough vertical space to place a server!" )
return itemstack
end
return minetest.item_place(itemstack, placer, pointed_thing)
@ -328,6 +312,7 @@ minetest.register_node("computer:server", {
minetest.register_node("computer:server_on", {
drawtype = "nodebox",
description = "Rack Server",
tiles = {
'computer_server_t.png',
'computer_server_bt.png',

View File

@ -1,2 +1,3 @@
default
homedecor_i18n
intllib?
craft_guide?

View File

@ -4,7 +4,8 @@
-- This file defines some items in order to not have to depend on other mods.
local S = homedecor_i18n.gettext
-- Boilerplate to support localized strings if intllib mod is installed.
local S = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end
if (not minetest.get_modpath("homedecor")) then

View File

@ -1,6 +1,3 @@
local S = homedecor_i18n.gettext
local shapes = {
{ { x = {0, 1, 0, 1}, y = {0, 0, 1, 1} } },
@ -38,7 +35,7 @@ local buttons = "button[3,4.5;0.6,0.6;left;<]"
.."button[4.2,5.3;0.6,0.6;drop;V]"
.."button[4.8,4.5;0.6,0.6;rotateright;R]"
.."button[5.4,4.5;0.6,0.6;right;>]"
.."button[3.5,3;2,2;new;"..minetest.formspec_escape(S("New Game")).."]"
.."button[3.5,3;2,2;new;New Game]"
local formsize = "size[5.9,5.7]"
local boardx, boardy = 0, 0
@ -244,7 +241,7 @@ local function step(pos, fields)
end
minetest.register_node("computer:tetris_arcade", {
description=S("Tetris Arcade"),
description="Tetris Arcade",
drawtype = "mesh",
mesh = "tetris_arcade.obj",
tiles = {"tetris_arcade.png"},
@ -262,8 +259,7 @@ minetest.register_node("computer:tetris_arcade", {
},
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec", formsize
.."button[2,2.5;2,2;new;"..minetest.formspec_escape(S("New Game")).."]"
meta:set_string("formspec", formsize.."button[2,2.5;2,2;new;New Game]"
..default.gui_bg..default.gui_bg_img..default.gui_slots)
end,
on_timer = function(pos)
@ -279,7 +275,7 @@ minetest.register_node("computer:tetris_arcade", {
return itemstack
end
if minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
minetest.chat_send_player(placer:get_player_name(), S("No room for place the Arcade!"))
minetest.chat_send_player(placer:get_player_name(), "No room for place the Arcade!")
return itemstack
end
local dir = placer:get_look_dir()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 B

View File

@ -1,2 +1,2 @@
default
homedecor
craft_guide?

View File

@ -1,6 +1,3 @@
local S = homedecor_i18n.gettext
screwdriver = screwdriver or {}
local function start_smoke(pos, node, clicker, chimney)
@ -67,16 +64,12 @@ local function stop_smoke(pos)
end
-- FLAME TYPES
local flame_types = {
{ "fake", S("Fake fire") },
{ "ice", S("Ice fire") },
}
local flame_types = {"fake", "ice"}
for _, f in ipairs(flame_types) do
local name, desc = unpack(f)
minetest.register_node("fake_fire:"..name.."_fire", {
inventory_image = name.."_fire_inv.png",
description = desc,
minetest.register_node("fake_fire:"..f.."_fire", {
inventory_image = f.."_fire_inv.png",
description = f.." fire",
drawtype = "plantlike",
paramtype = "light",
paramtype2 = "facedir",
@ -87,7 +80,7 @@ for _, f in ipairs(flame_types) do
light_source = 14,
waving = 1,
tiles = {
{name=name.."_fire_animated.png", animation={type="vertical_frames",
{name=f.."_fire_animated.png", animation={type="vertical_frames",
aspect_w=16, aspect_h=16, length=1.5}},
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
@ -106,7 +99,7 @@ end
minetest.register_node("fake_fire:fancy_fire", {
inventory_image = "fancy_fire_inv.png",
description = S("Fancy Fire"),
description = "Fancy Fire",
drawtype = "mesh",
mesh = "fancy_fire.obj",
paramtype = "light",
@ -143,7 +136,7 @@ minetest.register_node("fake_fire:fancy_fire", {
-- EMBERS
minetest.register_node("fake_fire:embers", {
description = S("Glowing Embers"),
description = "Glowing Embers",
tiles = {
{name="embers_animated.png", animation={type="vertical_frames",
aspect_w=16, aspect_h=16, length=2}},
@ -155,16 +148,12 @@ minetest.register_node("fake_fire:embers", {
})
-- CHIMNEYS
local materials = {
{ "stone", S("Stone chimney top") },
{ "sandstone", S("Sandstone chimney top") },
}
local materials = {"stone", "sandstone"}
for _, mat in ipairs(materials) do
local name, desc = unpack(mat)
minetest.register_node("fake_fire:chimney_top_"..name, {
description = desc,
tiles = {"default_"..name..".png^chimney_top.png", "default_"..name..".png"},
for _, m in ipairs(materials) do
minetest.register_node("fake_fire:chimney_top_"..m, {
description = "Chimney Top - "..m,
tiles = {"default_"..m..".png^chimney_top.png", "default_"..m..".png"},
groups = {snappy=3},
paramtype = "light",
sounds = default.node_sound_stone_defaults(),
@ -185,14 +174,14 @@ for _, mat in ipairs(materials) do
minetest.register_craft({
type = "shapeless",
output = 'fake_fire:chimney_top_'..name,
recipe = {"default:torch", "stairs:slab_"..name}
output = 'fake_fire:chimney_top_'..m,
recipe = {"default:torch", "stairs:slab_"..m}
})
end
-- FLINT and STEEL
minetest.register_tool("fake_fire:flint_and_steel", {
description = S("Flint and steel"),
description = "Flint and steel",
inventory_image = "flint_and_steel.png",
liquids_pointable = false,
stack_max = 1,
@ -210,7 +199,7 @@ minetest.register_tool("fake_fire:flint_and_steel", {
minetest.set_node(pointed_thing.above, {name="fake_fire:fake_fire"})
end
else
minetest.chat_send_player(user:get_player_name(), S("This area is protected!"))
minetest.chat_send_player(user:get_player_name(), "This area is protected!")
end
else
return

View File

@ -1,62 +1,43 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
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(),
on_construct = unifieddyes.on_construct,
after_place_node = unifieddyes.recolor_on_place,
after_dig_node = unifieddyes.after_dig_node
})
local bathroom_tile_colors = {
{ "1", S("white/grey"), "#c0c0c0:200" },
{ "2", S("white/dark grey"), "#404040:150" },
{ "3", S("white/black"), "#000000:200" },
{ "4", S("black/dark grey"), "" },
{ "red", S("white/red"), "#d00000:150" },
{ "green", S("white/green"), "#00d000:150" },
{ "blue", S("white/blue"), "#0000d0:150" },
{ "yellow", S("white/yellow"), "#ffff00:150" },
{ "tan", S("white/tan"), "#ceaf42:150" }
}
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(),
on_construct = unifieddyes.on_construct,
after_place_node = unifieddyes.recolor_on_place,
after_dig_node = unifieddyes.after_dig_node
})
for _, c in ipairs(bathroom_tile_colors) do
local color, shade, hue = unpack(c)
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(),
on_construct = unifieddyes.on_construct,
after_place_node = unifieddyes.recolor_on_place,
after_dig_node = unifieddyes.after_dig_node
})
local coloredtile = "homedecor_bathroom_tiles_bg.png^(homedecor_bathroom_tiles_fg.png^[colorize:"..hue..")"
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 = S("Bathroom/kitchen tiles (@1)", 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",
@ -121,73 +102,3 @@ homedecor.register("medicine_cabinet_open", {
minetest.swap_node(pos, node)
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
})

View 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"
},
@ -138,9 +137,9 @@ 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 +162,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,7 +218,7 @@ 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",
@ -247,46 +246,6 @@ homedecor.register("shower_head", {
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 }

View File

@ -1,16 +1,34 @@
local S = homedecor_i18n.gettext
local S, NS = homedecor.gettext, homedecor.ngettext
local function N_(x) return x end
local bedcolors = {
{ S("black"), "black", "#000000:200" }, --new cg72
{ S("brown"), "brown", "#603010:175" },
{ S("blue"), "blue", "#0000d0:150" },
{ S("cyan"), "cyan", "#009fa7:150" }, --new cg72
{ S("dark grey"), "darkgrey", "#101010:175" },
{ S("dark green"), "dark_green", "#007000:150" },
{ S("green"), "green", "#00d000:150" }, --new cg72
{ S("grey"), "grey", "#101010:100" }, --new cg72
{ S("magenta"), "magenta", "#e0048b:150" }, --new cg72
{ S("orange"), "orange", "#ff3000:150" },
{ S("pink"), "pink", "#ff80b0:150" },
{ S("red"), "red", "#d00000:150" },
{ S("violet"), "violet", "#7000e0:150" },
{ S("white"), "white", "#000000:000" }, --new cg72
{ S("yellow"), "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,135 +36,125 @@ 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)
unifieddyes.recolor_on_place(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, oldnode, oldmetadata, digger)
unifieddyes.after_dig_node(pos, oldnode, oldmetadata, digger)
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 _, c in ipairs(bedcolors) do
local colordesc, color, hue = unpack(c)
local color2=color
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_place_node = unifieddyes.recolor_on_place,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
unifieddyes.after_dig_node(pos, oldnode, oldmetadata, digger)
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 = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing)
end,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
unifieddyes.after_dig_node(pos, oldnode, oldmetadata, digger)
local inv = digger:get_inventory()
if digger:get_player_control().sneak and inv:room_for_item("main", "homedecor:bed_regular 2") 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 (@1)", colordesc),
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)
homedecor.unextend_bed(pos, color)
end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
if minetest.get_modpath("beds") then
beds.on_rightclick(pos, clicker)
end
return itemstack
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
})
})
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, itemstack, pointed_thing)
if minetest.get_modpath("beds") then
beds.on_rightclick(pos, clicker)
end
return itemstack
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 (@1, king sized)", colordesc),
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, itemstack, pointed_thing)
if minetest.get_modpath("beds") then
beds.on_rightclick(pos, clicker)
end
return itemstack
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({ N_("mahogany"), N_("oak") }) do
homedecor.register("nightstand_"..w.."_one_drawer", {
@ -204,78 +212,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
})

View File

@ -1,155 +1,160 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
local function N_(x) return x end
local bookcolors = {
{ N_("red"), "#c00000:150" },
{ N_("green"), "#008000:150" },
{ N_("blue"), "#4040c0:150" },
{ N_("violet"), "#600070:150" },
{ N_("grey"), "#202020:150" },
{ N_("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, hue = unpack(c)
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 (@1)", S(color)),
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, itemstack, pointed_thing)
local meta = minetest.get_meta(pos)
local player_name = clicker:get_player_name()
local title = meta:get_string("title") or ""
local text = meta:get_string("text") or ""
local owner = meta:get_string("owner") or ""
local formspec
if owner == "" or owner == player_name then
formspec = "size[8,8]"..default.gui_bg..default.gui_bg_img..
"field[0.5,1;7.5,0;title;Book title :;"..
minetest.formspec_escape(title).."]"..
"textarea[0.5,1.5;7.5,7;text;Book content :;"..
minetest.formspec_escape(text).."]"..
"button_exit[2.5,7.5;3,1;save;Save]"
else
formspec = "size[8,8]"..default.gui_bg..
"button_exit[7,0.25;1,0.5;close;X]"..
default.gui_bg_img..
"label[0.5,0.5;by "..owner.."]"..
"label[0.5,0;"..minetest.formspec_escape(title).."]"..
"textarea[0.5,1.5;7.5,7;;"..minetest.formspec_escape(text)..";]"
end
player_current_book[player_name] = pos
minetest.show_formspec(player_name, BOOK_FORMNAME, formspec)
return itemstack
end,
on_punch = function(pos, node, puncher, pointed_thing)
local fdir = node.param2
minetest.swap_node(pos, { name = "homedecor:book_"..color, param2 = fdir })
minetest.sound_play("homedecor_book_close", {
pos=pos,
max_hear_distance = 3,
gain = 2,
})
end,
selection_box = {
type = "fixed",
fixed = {-0.35, -0.5, -0.25, 0.35, -0.4, 0.25}
}
})
end
minetest.register_on_player_receive_fields(function(player, form_name, fields)
if form_name ~= BOOK_FORMNAME or not fields.save then
@ -168,68 +173,3 @@ minetest.register_on_player_receive_fields(function(player, form_name, fields)
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())))
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
})

View 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"),
@ -59,7 +59,7 @@ homedecor.register("desk_fan", {
meta:set_string("active", "no")
add_mesh_desk_fan_entity(pos)
end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
on_punch = function(pos)
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)
@ -132,7 +132,7 @@ 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",

View 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"
},

View 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",

View File

@ -2,7 +2,7 @@
--
-- Mostly my own code; overall template borrowed from game default
local S = homedecor_i18n.gettext
local S = homedecor.gettext
-- misc craftitems
@ -537,13 +537,15 @@ minetest.register_craft({
recipe = "homedecor:skylight_frosted",
})
-- Various colors of shutters
minetest.register_craft( {
output = "homedecor:shutter 2",
recipe = {
output = "homedecor:shutter_oak 2",
recipe = {
{ "group:stick", "group:stick" },
{ "group:stick", "group:stick" },
{ "group:stick", "group:stick" },
},
},
})
minetest.register_craft({
@ -552,6 +554,201 @@ minetest.register_craft({
burntime = 30,
})
--
minetest.register_craft( {
type = "shapeless",
output = "homedecor:shutter_black 4",
recipe = {
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"dye:black"
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:shutter_black",
burntime = 30,
})
--
minetest.register_craft( {
type = "shapeless",
output = "homedecor:shutter_dark_grey 4",
recipe = {
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"dye:dark_grey"
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:shutter_dark_grey",
burntime = 30,
})
--
minetest.register_craft( {
type = "shapeless",
output = "homedecor:shutter_grey 4",
recipe = {
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"dye:grey"
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:shutter_grey",
burntime = 30,
})
--
minetest.register_craft( {
type = "shapeless",
output = "homedecor:shutter_white 4",
recipe = {
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"dye:white"
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:shutter_white",
burntime = 30,
})
--
minetest.register_craft( {
type = "shapeless",
output = "homedecor:shutter_mahogany 4",
recipe = {
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"dye:brown"
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:shutter_mahogany",
burntime = 30,
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:shutter_red 4",
recipe = {
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"dye:red"
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:shutter_red",
burntime = 30,
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:shutter_yellow 4",
recipe = {
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"dye:yellow"
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:shutter_yellow",
burntime = 30,
})
--
minetest.register_craft( {
type = "shapeless",
output = "homedecor:shutter_forest_green 4",
recipe = {
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"dye:dark_green"
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:shutter_forest_green",
burntime = 30,
})
--
minetest.register_craft( {
type = "shapeless",
output = "homedecor:shutter_light_blue 4",
recipe = {
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"unifieddyes:light_blue"
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:shutter_light_blue",
burntime = 30,
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:shutter_violet 4",
recipe = {
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"homedecor:shutter_oak",
"dye:violet"
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:shutter_violet",
burntime = 30,
})
--
minetest.register_craft( {
output = "homedecor:drawer_small",
recipe = {
@ -849,23 +1046,26 @@ minetest.register_craft( {
-- Curtains
minetest.register_craft( {
output = "homedecor:curtain_closed 4",
recipe = {
{ "wool:white", "", ""},
{ "wool:white", "", ""},
{ "wool:white", "", ""},
},
})
local curtaincolors = {
"red",
"green",
"blue",
"white",
"pink",
"violet"
}
minetest.register_craft( {
output = "homedecor:curtain_closed 4",
recipe = {
{ "cottages:wool", "", ""},
{ "cottages:wool", "", ""},
{ "cottages:wool", "", ""},
},
})
for c in ipairs(curtaincolors) do
local color = curtaincolors[c]
minetest.register_craft( {
output = "homedecor:curtain_"..color.." 3",
recipe = {
{ "wool:"..color, "", ""},
{ "wool:"..color, "", ""},
{ "wool:"..color, "", ""},
},
})
end
local mats = {
{ "brass", "homedecor:pole_brass" },
@ -1014,7 +1214,7 @@ minetest.register_craft({
minetest.register_craft({
output = "homedecor:refrigerator_steel",
recipe = {
{"default:steel_ingot", "homedecor:glowlight_small_cube", "default:steel_ingot", },
{"default:steel_ingot", "homedecor:glowlight_small_cube_white", "default:steel_ingot", },
{"default:steel_ingot", "default:copperblock", "default:steel_ingot", },
{"default:steel_ingot", "default:clay", "default:steel_ingot", },
}
@ -1190,10 +1390,73 @@ minetest.register_craft( {
},
})
-- glowlights
-- yellow glowlights
minetest.register_craft({
output = "homedecor:glowlight_half 6",
output = "homedecor:glowlight_half_yellow 6",
recipe = {
{"default:glass", "homedecor:power_crystal", "default:glass", },
}
})
minetest.register_craft({
output = "homedecor:glowlight_half_yellow 6",
recipe = {
{"moreblocks:super_glow_glass", "moreblocks:glow_glass", "moreblocks:super_glow_glass", },
}
})
minetest.register_craft({
output = "homedecor:glowlight_quarter_yellow 6",
recipe = {
{"homedecor:glowlight_half_yellow", "homedecor:glowlight_half_yellow", "homedecor:glowlight_half_yellow", },
}
})
minetest.register_craft({
output = "homedecor:glowlight_small_cube_yellow 16",
recipe = {
{"default:glass" },
{"homedecor:power_crystal" },
}
})
minetest.register_craft({
output = "homedecor:glowlight_small_cube_yellow 16",
recipe = {
{"moreblocks:glow_glass" },
{"moreblocks:super_glow_glass" },
}
})
minetest.register_craft({
output = "homedecor:glowlight_small_cube_yellow 4",
recipe = {
{"homedecor:glowlight_half_yellow" },
}
})
minetest.register_craft({
output = "homedecor:glowlight_half_yellow",
recipe = {
{"homedecor:glowlight_small_cube_yellow","homedecor:glowlight_small_cube_yellow"},
{"homedecor:glowlight_small_cube_yellow","homedecor:glowlight_small_cube_yellow"}
}
})
minetest.register_craft({
output = "homedecor:glowlight_half_yellow",
type = "shapeless",
recipe = {
"homedecor:glowlight_quarter_yellow",
"homedecor:glowlight_quarter_yellow"
}
})
-- white
minetest.register_craft({
output = "homedecor:glowlight_half_white 6",
recipe = {
{ "dye:white", "dye:white", "dye:white" },
{ "default:glass", "homedecor:power_crystal", "default:glass", },
@ -1201,7 +1464,7 @@ minetest.register_craft({
})
minetest.register_craft({
output = "homedecor:glowlight_half 6",
output = "homedecor:glowlight_half_white 6",
recipe = {
{ "dye:white", "dye:white", "dye:white" },
{"moreblocks:super_glow_glass", "moreblocks:glow_glass", "moreblocks:super_glow_glass", },
@ -1209,14 +1472,24 @@ minetest.register_craft({
})
minetest.register_craft({
output = "homedecor:glowlight_quarter 6",
type = "shapeless",
output = "homedecor:glowlight_half_white 2",
recipe = {
{"homedecor:glowlight_half", "homedecor:glowlight_half", "homedecor:glowlight_half", },
"dye:white",
"homedecor:glowlight_half_yellow",
"homedecor:glowlight_half_yellow",
}
})
minetest.register_craft({
output = "homedecor:glowlight_small_cube 8",
output = "homedecor:glowlight_quarter_white 6",
recipe = {
{"homedecor:glowlight_half_white", "homedecor:glowlight_half_white", "homedecor:glowlight_half_white", },
}
})
minetest.register_craft({
output = "homedecor:glowlight_small_cube_white 8",
recipe = {
{ "dye:white" },
{ "default:glass" },
@ -1225,7 +1498,7 @@ minetest.register_craft({
})
minetest.register_craft({
output = "homedecor:glowlight_small_cube 8",
output = "homedecor:glowlight_small_cube_white 8",
recipe = {
{"dye:white" },
{"moreblocks:super_glow_glass" },
@ -1233,26 +1506,26 @@ minetest.register_craft({
})
minetest.register_craft({
output = "homedecor:glowlight_small_cube 4",
output = "homedecor:glowlight_small_cube_white 4",
recipe = {
{"homedecor:glowlight_half" },
{"homedecor:glowlight_half_white" },
}
})
minetest.register_craft({
output = "homedecor:glowlight_half",
output = "homedecor:glowlight_half_white",
recipe = {
{"homedecor:glowlight_small_cube","homedecor:glowlight_small_cube"},
{"homedecor:glowlight_small_cube","homedecor:glowlight_small_cube"}
{"homedecor:glowlight_small_cube_white","homedecor:glowlight_small_cube_white"},
{"homedecor:glowlight_small_cube_white","homedecor:glowlight_small_cube_white"}
}
})
minetest.register_craft({
output = "homedecor:glowlight_half",
output = "homedecor:glowlight_half_white",
type = "shapeless",
recipe = {
"homedecor:glowlight_quarter",
"homedecor:glowlight_quarter"
"homedecor:glowlight_quarter_white",
"homedecor:glowlight_quarter_white"
}
})
@ -1298,7 +1571,15 @@ minetest.register_craft( {
-- other types of fences
minetest.register_craft( {
output = "homedecor:fence_wrought_iron_2 4",
output = "homedecor:fence_wrought_iron_2 2",
recipe = {
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
},
})
minetest.register_craft( {
output = "homedecor:fence_wrought_iron_2 2",
recipe = {
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
@ -1932,7 +2213,7 @@ minetest.register_craft({
minetest.register_craft({
output = "homedecor:fishtank",
recipe = {
{ "homedecor:plastic_sheeting", "homedecor:glowlight_small_cube", "homedecor:plastic_sheeting" },
{ "homedecor:plastic_sheeting", "homedecor:glowlight_small_cube_white", "homedecor:plastic_sheeting" },
{ "default:glass", "bucket:bucket_water", "default:glass" },
{ "default:glass", "building_blocks:gravel_spread", "default:glass" },
},
@ -2068,7 +2349,7 @@ minetest.register_craft({
recipe = {
{ "homedecor:motor" },
{ "homedecor:fan_blades" },
{ "homedecor:glowlight_small_cube" }
{ "homedecor:glowlight_small_cube_white" }
}
})
@ -2077,7 +2358,7 @@ minetest.register_craft({
recipe = {
{ "technic:motor" },
{ "homedecor:fan_blades" },
{ "homedecor:glowlight_small_cube" }
{ "homedecor:glowlight_small_cube_white" }
}
})
@ -2219,29 +2500,30 @@ minetest.register_craft( {
-- bathroom/kitchen tiles
minetest.register_craft( {
output = "homedecor:bathroom_tiles_light 4",
recipe = {
{ "group:marble", "group:marble", "" },
{ "group:marble", "group:marble", "dye:white" }
},
})
local color_pairings = {
{ "grey", "white", "1" },
{ "dark_grey", "white", "2" },
{ "black", "white", "3" },
{ "black", "dark_grey", "4" },
{ "red", "white", "red" },
{ "green", "white", "green" },
{ "blue", "white", "blue" },
{ "yellow", "white", "yellow" },
{ "brown", "white", "tan" }
}
minetest.register_craft( {
output = "homedecor:bathroom_tiles_medium 4",
recipe = {
{ "group:marble", "group:marble", "" },
{ "group:marble", "group:marble", "dye:grey" }
},
})
minetest.register_craft( {
output = "homedecor:bathroom_tiles_dark 4",
recipe = {
{ "group:marble", "group:marble", "" },
{ "group:marble", "group:marble", "dye:dark_grey" }
},
})
for i in ipairs(color_pairings) do
local dye1 = color_pairings[i][1]
local dye2 = color_pairings[i][2]
local result = color_pairings[i][3]
minetest.register_craft( {
output = "homedecor:tiles_"..result.." 2",
recipe = {
{ "group:marble", "dye:"..dye1 },
{ "group:marble", "dye:"..dye2 }
},
})
end
-- misc electrical
@ -2467,21 +2749,39 @@ minetest.register_craft( {
},
})
minetest.register_craft( {
output = "homedecor:bed_regular",
recipe = {
{ "group:stick", "", "group:stick" },
{ "wool:white", "wool:white", "wool:white" },
{ "group:wood", "", "group:wood" },
},
})
local bedcolors = {
{ "red", "red"},
{ "orange", "orange" },
{ "yellow", "yellow"},
{ "green", "dark_green"},
{ "blue", "blue"},
{ "violet", "violet"},
{ "pink", "pink"},
{ "darkgrey", "dark_grey"},
{ "brown", "brown" },
}
minetest.register_craft( {
output = "homedecor:bed_kingsize",
recipe = {
{ "homedecor:bed_regular", "homedecor:bed_regular" }
},
})
for c in ipairs(bedcolors) do
local color = bedcolors[c][1]
local woolcolor = bedcolors[c][2]
minetest.register_craft( {
output = "homedecor:bed_"..color.."_regular",
recipe = {
{ "group:stick", "", "group:stick" },
{ "wool:white", "wool:"..woolcolor, "wool:"..woolcolor },
{ "group:wood", "", "group:wood" },
},
})
minetest.register_craft( {
output = "homedecor:bed_"..color.."_kingsize",
recipe = {
{ "homedecor:bed_"..color.."_regular", "homedecor:bed_"..color.."_regular" }
},
})
end
minetest.register_craft( {
output = "homedecor:bottle_green",
@ -2834,14 +3134,18 @@ for i in ipairs(picture_dyes) do
})
end
minetest.register_craft({
output = "homedecor:desk_lamp 2",
recipe = {
{ "", "default:steel_ingot", "homedecor:glowlight_small_cube" },
{ "", "homedecor:steel_strip", "" },
{ "homedecor:plastic_sheeting", "homedecor:copper_wire", "homedecor:plastic_sheeting" },
},
})
local dlamp_colors = { "red","blue","green","violet" }
for _, color in ipairs(dlamp_colors) do
minetest.register_craft({
output = "homedecor:desk_lamp_"..color,
recipe = {
{ "", "homedecor:steel_strip", "homedecor:glowlight_small_cube_white" },
{ "", "homedecor:copper_wire", "" },
{ "homedecor:plastic_sheeting", "dye:"..color, "homedecor:plastic_sheeting" },
},
})
end
minetest.register_craft({
output = "homedecor:hanging_lantern 2",
@ -2920,7 +3224,7 @@ minetest.register_craft({
recipe = {
{ "", "technic:brass_ingot", ""},
{ "", "homedecor:chainlink_brass", ""},
{ "default:glass", "homedecor:glowlight_small", "default:glass"}
{ "default:glass", "homedecor:glowlight_small_cube_white", "default:glass"}
},
})
@ -2928,7 +3232,7 @@ minetest.register_craft({
output = "homedecor:ceiling_lamp",
recipe = {
{ "", "chains:chain_top_brass", ""},
{ "default:glass", "homedecor:glowlight_small", "default:glass"}
{ "default:glass", "homedecor:glowlight_small_cube_white", "default:glass"}
},
})

View File

@ -1,13 +1,13 @@
default
unifieddyes
homedecor_i18n
building_blocks?
signs_lib?
moreblocks?
technic?
dye?
bees?
intllib?
bucket?
beds?
flowers?
3d_armor?
craft_guide?

View File

@ -1,6 +1,6 @@
-- Node definitions for Homedecor doors
local S = homedecor_i18n.gettext
local S = homedecor.gettext
local function N_(x) return x end
@ -293,12 +293,10 @@ 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)") }
{ "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") },
}
local gate_models_closed = {
@ -317,12 +315,7 @@ local gate_models_closed = {
{ -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 = {
@ -341,11 +334,7 @@ local gate_models_open = {
{ 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
@ -420,8 +409,8 @@ 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],
@ -538,7 +527,7 @@ minetest.register_node("homedecor: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",
@ -554,7 +543,7 @@ minetest.register_node("homedecor:japanese_wall_middle", {
drawtype = "mesh",
mesh = "homedecor_wall_japanese_middle.obj",
tiles = {
homedecor.lux_wood,
"homedecor_generic_wood_luxury.png",
"homedecor_japanese_paper.png"
},
paramtype = "light",
@ -570,7 +559,7 @@ minetest.register_node("homedecor: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",
@ -606,7 +595,7 @@ homedecor.register("door_japanese_closed", {
description = S("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",
@ -629,7 +618,7 @@ homedecor.register("door_japanese_closed", {
homedecor.register("door_japanese_open", {
tiles = {
homedecor.lux_wood,
"homedecor_generic_wood_luxury.png",
"homedecor_japanese_paper.png"
},
mesh = "homedecor_door_japanese_open.obj",

View 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,

View 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
})

View File

@ -1,5 +1,5 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
local function N_(x) return x end
@ -12,8 +12,8 @@ homedecor.register("barbecue", {
description = S("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,
@ -319,7 +319,7 @@ 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",

View File

@ -14,7 +14,9 @@ if signs_modpath then
sign_post_model = signs_lib.sign_post_model.nodebox
end
local S = homedecor_i18n.gettext
local S = homedecor.gettext
local function N_(x) return x end
local materials = {
{ S("brass"), "brass" },

View File

@ -1,10 +1,8 @@
local S = homedecor_i18n.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 +28,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 +40,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",

View File

@ -1,5 +1,4 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
local table_colors = {
{ "", S("Table"), homedecor.plain_wood },
@ -32,6 +31,16 @@ for _, t in ipairs(table_colors) do
})
end
local chaircolors = {
{ "", S("plain") },
{ "black", S("black") },
{ "red", S("red") },
{ "pink", S("pink") },
{ "violet", S("violet") },
{ "blue", S("blue") },
{ "dark_green", S("dark green") },
}
local kc_cbox = {
type = "fixed",
fixed = { -0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125 },
@ -45,76 +54,64 @@ 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 _, t in ipairs(chaircolors) do
homedecor.register("kitchen_chair_padded", {
description = S("Kitchen chair"),
mesh = "homedecor_kitchen_chair.obj",
tiles = {
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 = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing)
end,
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
})
local woolcolor, colordesc = unpack(t)
local color = woolcolor
local chairtiles
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 = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing)
end,
after_dig_node = unifieddyes.after_dig_node,
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
})
if woolcolor == "" then
chairtiles = {
homedecor.plain_wood,
homedecor.plain_wood
}
else
color = "_"..woolcolor
chairtiles = {
homedecor.plain_wood,
"wool"..color..".png",
}
end
homedecor.register("chair"..color, {
description = S("Kitchen chair (@1)", colordesc),
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, itemstack, pointed_thing)
pos.y = pos.y+0 -- where do I put my ass ?
homedecor.sit(pos, node, clicker)
return itemstack
end
})
if color ~= "" then
homedecor.register("armchair"..color, {
description = S("Armchair (@1)", colordesc),
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:"..woolcolor,""},
{ "group:wood","group:wood" },
{ "wool:"..woolcolor,"wool:"..woolcolor },
},
})
end
end
local ob_cbox = {
type = "fixed",
@ -163,90 +160,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 = {}
local chair_colors = {
"black",
"brown",
"blue",
"cyan",
"dark_grey",
"dark_green",
"green",
"grey",
"magenta",
"orange",
"pink",
"red",
"violet",
"white",
"yellow",
}
for _, color in ipairs(chair_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
})

View 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},

View 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 = {

View File

@ -1,6 +1,4 @@
local S = homedecor_i18n.gettext
local cutlery_cbox = {
type = "fixed",
fixed = {
@ -14,7 +12,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 +33,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 +50,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 +71,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 +81,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 +98,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 +114,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 +127,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 +160,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 +169,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 +178,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 +187,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
})

View File

@ -1,6 +1,4 @@
local S = homedecor_i18n.gettext
-- vectors to place one node next to or behind another
homedecor.fdir_to_right = {
@ -24,37 +22,18 @@ 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 = "air"
minetest.register_alias("homedecor:expansion_placeholder", "air")
local placeholder_node = "homedecor:expansion_placeholder"
minetest.register_node(placeholder_node, {
description = "Expansion placeholder (you hacker you!)",
groups = { not_in_creative_inventory=1 },
drawtype = "airlike",
paramtype = "light",
walkable = false,
selection_box = { type = "fixed", fixed = { 0, 0, 0, 0, 0, 0 } },
is_ground_content = false,
sunlight_propagates = true,
buildable_to = false,
})
--- select which node was pointed at based on it being known, not ignored, buildable_to
-- returns nil if no node could be selected
@ -84,7 +63,7 @@ local function is_buildable_to(placer_name, ...)
end
-- place one or two nodes if and only if both can be placed
local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2, pointed_thing)
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())
@ -101,7 +80,7 @@ local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2, poin
-- call after_place_node of the placed node if available
local ctrl_node_def = minetest.registered_nodes[node1]
if ctrl_node_def and ctrl_node_def.after_place_node then
ctrl_node_def.after_place_node(pos, placer, itemstack, pointed_thing)
ctrl_node_def.after_place_node(pos, placer)
end
if not homedecor.expect_infinite_stacks then
@ -111,18 +90,18 @@ local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2, poin
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)
@ -130,14 +109,14 @@ function homedecor.stack_vertically(itemstack, placer, pointed_thing, node1, nod
local top_pos = { x=pos.x, y=pos.y+1, z=pos.z }
return stack(itemstack, placer, nil, pos, def, top_pos, node1, node2, pointed_thing)
return stack(itemstack, placer, nil, pos, def, top_pos, node1, node2)
end
-- Stack one door node above another
-- 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)
@ -152,11 +131,11 @@ function homedecor.stack_wing(itemstack, placer, pointed_thing, node1, node2, no
end
local top_pos = { x=pos.x, y=pos.y+1, z=pos.z }
return stack(itemstack, placer, fdir, pos, def, top_pos, node1, node2, pointed_thing)
return stack(itemstack, placer, fdir, pos, def, top_pos, node1, node2)
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)
@ -167,17 +146,16 @@ function homedecor.stack_sideways(itemstack, placer, pointed_thing, node1, node2
local pos2 = { x = pos.x + fdir_transform[fdir+1][1], y=pos.y, z = pos.z + fdir_transform[fdir+1][2] }
return stack(itemstack, placer, fdir, pos, def, pos2, node1, node2, pointed_thing)
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 param2 = thisnode.param2
local fdir = param2 % 8
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)
@ -186,79 +164,67 @@ 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)
local inv = placer:get_inventory()
local lastdye = unifieddyes.last_used_dye[placer_name]
if leftnode.name == "homedecor:bed_regular" then
if leftnode.name == "homedecor:bed_"..color.."_regular" then
local newname = string.gsub(thisnode.name, "_regular", "_kingsize")
local meta = minetest.get_meta(leftpos)
minetest.set_node(pos, {name = "air"})
minetest.set_node(leftpos, { name = newname, param2 = param2})
meta:set_string("dye", lastdye)
inv:add_item("main", lastdye)
elseif rightnode.name == "homedecor:bed_regular" then
minetest.set_node(leftpos, { name = newname, param2 = fdir})
elseif rightnode.name == "homedecor:bed_"..color.."_regular" then
local newname = string.gsub(thisnode.name, "_regular", "_kingsize")
local meta = minetest.get_meta(rightpos)
minetest.set_node(rightpos, {name = "air"})
minetest.set_node(pos, { name = newname, param2 = param2})
meta:set_string("dye", lastdye)
inv:add_item("main", lastdye)
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")
local newparam2 = param2 % 8
if inv:contains_item("main", lastdye) then
minetest.set_node(toppos, { name = thisnode.name, param2 = param2})
if lastdye then inv:remove_item("main", lastdye.." 1") end
else
minetest.set_node(toppos, { name = thisnode.name, param2 = newparam2})
minetest.chat_send_player(placer_name, "Ran out of "..lastdye..", using neutral color.")
unifieddyes.last_used_dye[placer_name] = nil
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
minetest.swap_node(pos, { name = newname, param2 = param2})
itemstack:take_item()
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 param2 = bottomnode.param2
if bottomnode.name == "homedecor:bed_extended" then
local fdir = bottomnode.param2
if string.find(bottomnode.name, "homedecor:bed_.*_extended$") then
local newname = string.gsub(bottomnode.name, "_extended", "_regular")
minetest.swap_node({x=pos.x, y=pos.y-1.0, z=pos.z}, { name = newname, param2 = param2})
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)
@ -273,12 +239,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

View 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)

View 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)
@ -119,7 +118,7 @@ function homedecor.handle_inventory(name, def, original_def)
local playername = player:get_player_name()
if playername == owner or
minetest.check_player_privs(playername, "protection_bypass") then
minetest.check_player_privs(player, "protection_bypass") then
return allow_move and
allow_move(pos, from_list, from_index, to_list, to_index, count, player) or
count
@ -138,7 +137,7 @@ function homedecor.handle_inventory(name, def, original_def)
local playername = player:get_player_name()
if playername == owner or
minetest.check_player_privs(playername, "protection_bypass") then
minetest.check_player_privs(player, "protection_bypass") then
return allow_put and allow_put(pos, listname, index, stack, player) or
stack:get_count()
end
@ -156,7 +155,7 @@ function homedecor.handle_inventory(name, def, original_def)
local playername = player:get_player_name()
if playername == owner or
minetest.check_player_privs(playername, "protection_bypass") then
minetest.check_player_privs(player, "protection_bypass") then
return allow_take and allow_take(pos, listname, index, stack, player) or
stack:get_count()
end

View File

@ -9,11 +9,15 @@
local modpath = minetest.get_modpath("homedecor")
local S = homedecor_i18n.gettext
-- Load support for intllib.
local S, NS = dofile(modpath.."/intllib.lua")
homedecor = {
modpath = modpath,
gettext = S,
ngettext = NS,
-- infinite stacks
expect_infinite_stacks = minetest.setting_getbool("creative_mode") and not minetest.get_modpath("unified_inventory")
}
@ -63,15 +67,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")

View File

@ -1,6 +1,6 @@
-- This file supplies refrigerators
local S = homedecor_i18n.gettext
local S = homedecor.gettext
local function N_(x) return x end

View File

@ -1,6 +1,6 @@
-- This file supplies Kitchen cabinets and kitchen sink
local S = homedecor_i18n.gettext
local S = homedecor.gettext
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)"
@ -96,7 +96,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,7 +115,7 @@ 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,

View 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 },

View File

@ -1,6 +1,64 @@
-- This file supplies glowlights
local S = homedecor_i18n.gettext
local dirs2 = { 9, 18, 7, 12 }
local S = homedecor.gettext
local function N_(x) return x end
local colors = { N_("yellow"), N_("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,99 +69,64 @@ local glowlight_nodebox = {
},
}
minetest.register_node("homedecor:glowlight_half", {
description = S("Thick Glowlight"),
homedecor.register("glowlight_half_"..color, {
description = S("Thick Glowlight (@1)", S(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 = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing)
end,
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 (@1)", S(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 = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing)
end,
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 (@1)", S(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 = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing)
end,
after_dig_node = unifieddyes.after_dig_node
on_place = minetest.rotate_node
})
end
homedecor.register("plasma_lamp", {
description = S("Plasma Lamp"),
drawtype = "glasslike_framed",
@ -128,7 +151,7 @@ homedecor.register("plasma_ball", {
description = S("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},
@ -258,10 +281,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,
@ -334,7 +357,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,
@ -370,31 +393,15 @@ homedecor.register("lattice_lantern_small", {
on_place = minetest.rotate_node
})
local brightness_tab = {
0xffd0d0d0,
0xffd8d8d8,
0xffe0e0e0,
0xffe8e8e8,
0xffffffff,
}
-- table lamps and standing lamps
local repl = {
["off"] ="low",
["low"] ="med",
["med"] ="hi",
["hi"] ="max",
["max"] ="off",
}
local repl = { off="low", low="med", med="hi", hi="max", max="off", }
local lamp_colors = {
"white",
"blue",
"green",
"pink",
"red",
"violet",
{ N_("white"), "#ffffffe0:175" },
{ N_("blue"), "#2626c6e0:200" },
{ N_("green"), "#27a927e0:200" },
{ N_("pink"), "#ff8fb7e0:200" },
{ N_("red"), "#ad2323e0:200" },
{ N_("violet"), "#7f29d7e0:200" },
}
local tlamp_cbox = {
@ -407,116 +414,105 @@ 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 = S(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
homedecor.register("table_lamp_"..suffix, {
description = S("Table Lamp"),
homedecor.register("table_lamp"..lampcolor.."_"..suffix, {
description = S("Table Lamp (@1)", 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,
on_construct = unifieddyes.on_construct,
after_place_node = unifieddyes.recolor_on_place,
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 (@1)", 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,
on_construct = unifieddyes.on_construct,
after_place_node = unifieddyes.recolor_on_place,
after_dig_node = unifieddyes.after_dig_node,
expand = { top="air" },
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 = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing)
end,
after_dig_node = unifieddyes.after_dig_node,
on_rotate = unifieddyes.fix_after_screwdriver_nsew
})
local dlamp_colors = { N_("red"), N_("blue"), N_("green"), N_("violet") }
-- "kitchen"/"dining room" ceiling lamp
for _, color in ipairs(dlamp_colors) do
homedecor.register("desk_lamp_"..color, {
description = S("Desk Lamp (@1)", S(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"),
@ -524,14 +520,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,
})
@ -542,200 +538,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
})

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
local function N_(x) return x end
@ -74,7 +74,7 @@ homedecor.register("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(),
@ -100,7 +100,7 @@ for _, f in ipairs(flowers_list) do
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,
@ -167,7 +167,7 @@ homedecor.register("fishtank", {
description = S("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",
@ -189,7 +189,7 @@ homedecor.register("fishtank_lighted", {
description = S("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",
@ -268,7 +268,7 @@ 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"),
inventory_image = "homedecor_pool_table_inv.png",
@ -290,7 +290,7 @@ 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",
},
@ -336,7 +336,7 @@ homedecor.register("sportbench", {
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",
@ -368,10 +368,10 @@ homedecor.register("tool_cabinet", {
description = S("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 +400,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",

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View File

@ -1,85 +1,85 @@
# Blender v2.72 (sub 0) OBJ File: 'kitchen-chair.blend'
# Blender v2.73 (sub 0) OBJ File: 'kitchen-chair.blend'
# www.blender.org
o Cylinder
v -0.187500 -0.312500 -0.125000
v -0.187500 0.312500 -0.125000
v 0.312500 -0.312500 -0.500000
v 0.187500 -0.312500 -0.500000
v 0.187500 -0.187500 -0.500000
v 0.312500 -0.187500 -0.500000
v 0.312500 -0.312500 -0.125000
v 0.187500 -0.312500 -0.125000
v 0.187500 -0.187500 -0.125000
v 0.312500 -0.187500 -0.125000
v 0.312500 0.187500 -0.500000
v 0.187500 0.187500 -0.500000
v 0.187500 0.312500 -0.500000
v 0.312500 0.187500 -0.125000
v 0.187500 0.187500 -0.125000
v 0.187500 0.312500 -0.125000
v 0.312500 0.312500 -0.125000
v -0.187500 -0.312500 -0.062500
v 0.312500 -0.312500 -0.062500
v 0.312500 0.312500 -0.062500
v -0.187500 -0.312500 0.000000
v -0.187500 0.312500 0.000000
v 0.312500 -0.312500 0.000000
v 0.312500 0.312500 0.000000
v -0.312500 -0.312500 0.500000
v -0.187500 -0.312500 0.500000
v -0.187500 -0.187500 0.500000
v -0.312500 -0.187500 0.500000
v -0.312500 0.187500 0.500000
v -0.187500 0.187500 0.500000
v -0.187500 0.312500 0.500000
v -0.312500 0.312500 0.500000
v -0.187500 0.312500 -0.062500
v -0.257812 -0.187500 0.437500
v -0.257813 0.187500 0.437500
v -0.257812 -0.187500 0.062500
v -0.257813 0.187500 0.062500
v -0.242187 -0.187500 0.437500
v -0.242187 0.187500 0.437500
v -0.242188 -0.187500 0.062500
v -0.242188 0.187500 0.062500
v 0.312500 0.187500 -0.500000
v 0.187500 0.187500 -0.500000
v 0.187500 0.312500 -0.500000
v 0.312500 0.312500 -0.500000
v 0.312500 0.187500 -0.125000
v 0.187500 0.312500 -0.125000
v 0.312500 0.312500 -0.125000
v -0.187500 -0.312500 -0.500000
v -0.312500 -0.187500 -0.500000
v -0.187500 -0.187500 -0.500000
v -0.187500 -0.312500 0.500000
v -0.312500 -0.187500 0.500000
v -0.187500 -0.187500 0.500000
v -0.187500 0.187500 0.500000
v -0.187500 0.312500 -0.500000
v -0.312500 -0.312500 0.500000
v -0.187500 -0.312500 0.500000
v -0.187500 -0.187500 -0.500000
v -0.312500 -0.187500 -0.500000
v -0.312500 -0.312500 -0.500000
v -0.187500 -0.312500 -0.500000
v -0.312500 0.312500 -0.500000
v -0.312500 0.187500 -0.500000
v -0.187500 0.187500 -0.500000
v -0.312500 -0.187500 0.500000
v -0.312500 0.187500 0.500000
v -0.312500 0.312500 0.500000
v -0.187500 0.312500 0.500000
v -0.187500 0.187500 -0.125000
v -0.187500 0.187500 0.000000
v -0.187500 -0.187500 -0.125000
v -0.187500 -0.187500 0.000000
v -0.312500 0.187500 -0.125000
v -0.312500 0.187500 0.000000
v -0.312500 -0.187500 -0.125000
v -0.312500 -0.187500 -0.062500
v -0.312500 -0.187500 0.000000
v -0.312500 0.187500 -0.062500
v 0.312500 -0.125000 0.187500
v -0.312500 -0.125000 0.187500
v 0.312500 -0.500000 -0.312500
v 0.312500 -0.500000 -0.187500
v 0.187500 -0.500000 -0.187500
v 0.187500 -0.500000 -0.312500
v 0.312500 -0.125000 -0.312500
v 0.312500 -0.125000 -0.187500
v 0.187500 -0.125000 -0.187500
v 0.187500 -0.125000 -0.312500
v -0.187500 -0.500000 -0.312500
v -0.187500 -0.500000 -0.187500
v -0.312500 -0.500000 -0.187500
v -0.187500 -0.125000 -0.312500
v -0.187500 -0.125000 -0.187500
v -0.312500 -0.125000 -0.187500
v -0.312500 -0.125000 -0.312500
v 0.312500 -0.062500 0.187500
v 0.312500 -0.062500 -0.312500
v -0.312500 -0.062500 -0.312500
v 0.312500 0.000000 0.187500
v -0.312500 0.000000 0.187500
v 0.312500 0.000000 -0.312500
v -0.312500 0.000000 -0.312500
v 0.312500 0.500000 0.312500
v 0.312500 0.500000 0.187500
v 0.187500 0.500000 0.187500
v 0.187500 0.500000 0.312500
v -0.187500 0.500000 0.312500
v -0.187500 0.500000 0.187500
v -0.312500 0.500000 0.187500
v -0.312500 0.500000 0.312500
v -0.312500 -0.062500 0.187500
v 0.187500 0.437500 0.257812
v -0.187500 0.437500 0.257813
v 0.187500 0.062500 0.257812
v -0.187500 0.062500 0.257813
v 0.187500 0.437500 0.242187
v -0.187500 0.437500 0.242187
v 0.187500 0.062500 0.242188
v -0.187500 0.062500 0.242188
v -0.187500 -0.500000 -0.312500
v -0.187500 -0.500000 -0.187500
v -0.312500 -0.500000 -0.187500
v -0.312500 -0.500000 -0.312500
v -0.187500 -0.125000 -0.312500
v -0.312500 -0.125000 -0.187500
v -0.312500 -0.125000 -0.312500
v 0.312500 -0.500000 0.187500
v 0.187500 -0.500000 0.312500
v 0.187500 -0.500000 0.187500
v 0.312500 0.500000 0.187500
v 0.187500 0.500000 0.312500
v 0.187500 0.500000 0.187500
v -0.187500 0.500000 0.187500
v -0.312500 -0.500000 0.187500
v 0.312500 0.500000 0.312500
v 0.312500 0.500000 0.187500
v 0.187500 -0.500000 0.187500
v 0.187500 -0.500000 0.312500
v 0.312500 -0.500000 0.312500
v 0.312500 -0.500000 0.187500
v -0.312500 -0.500000 0.312500
v -0.187500 -0.500000 0.312500
v -0.187500 -0.500000 0.187500
v 0.187500 0.500000 0.312500
v -0.187500 0.500000 0.312500
v -0.312500 0.500000 0.312500
v -0.312500 0.500000 0.187500
v -0.187500 -0.125000 0.187500
v -0.187500 0.000000 0.187500
v 0.187500 -0.125000 0.187500
v 0.187500 0.000000 0.187500
v -0.187500 -0.125000 0.312500
v -0.187500 0.000000 0.312500
v 0.187500 -0.125000 0.312500
v 0.187500 -0.062500 0.312500
v 0.187500 0.000000 0.312500
v -0.187500 -0.062500 0.312500
vt 0.125000 0.375000
vt 0.625000 0.375000
vt 0.625000 0.437500
@ -155,12 +155,12 @@ vt 0.750000 0.750000
vt 0.250000 0.750000
vt 0.312500 0.625000
vt 0.687500 0.625000
vn 0.000000 -1.000000 0.000000
vn 1.000000 0.000000 0.000000
vn -1.000000 -0.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 1.000000 0.000000
g Cylinder_Cylinder_wood
s off
f 1/1/1 7/2/1 19/3/1 18/4/1

View File

@ -1,42 +1,42 @@
# Blender v2.72 (sub 0) OBJ File: 'shutter.blend'
# Blender v2.73 (sub 0) OBJ File: 'shutter.blend'
# www.blender.org
o Plane
v 0.437500 -0.453125 -0.031250
v -0.437500 -0.453125 -0.031250
v -0.437500 -0.453125 0.031250
v 0.437500 -0.453125 0.031250
v 0.437500 -0.461698 0.344815
v -0.437500 -0.461698 0.344815
v 0.437500 -0.477874 0.405185
v -0.437500 -0.477874 0.405185
v 0.437500 -0.461698 -0.405185
v -0.437500 -0.461698 -0.405185
v 0.437500 -0.477874 -0.344815
v -0.437500 -0.477874 -0.344815
v 0.437500 -0.461698 -0.311435
v -0.437500 -0.461698 -0.311435
v 0.437500 -0.477874 -0.251065
v -0.437500 -0.477874 -0.251065
v 0.437500 -0.461698 0.251065
v -0.437500 -0.461698 0.251065
v 0.437500 -0.477874 0.311435
v -0.437500 -0.477874 0.311435
v 0.437500 -0.461698 0.157315
v -0.437500 -0.461698 0.157315
v 0.437500 -0.477874 0.217685
v -0.437500 -0.477874 0.217685
v 0.437500 -0.461698 -0.217685
v -0.437500 -0.461698 -0.217685
v 0.437500 -0.477874 -0.157315
v -0.437500 -0.477874 -0.157315
v 0.437500 -0.461698 -0.123935
v -0.437500 -0.461698 -0.123935
v 0.437500 -0.477874 -0.063565
v -0.437500 -0.477874 -0.063565
v 0.437500 -0.461698 0.063565
v -0.437500 -0.461698 0.063565
v 0.437500 -0.477874 0.123935
v -0.437500 -0.477874 0.123935
v 0.437500 -0.460698 0.344815
v -0.437500 -0.460698 0.344815
v 0.437500 -0.476874 0.405185
v -0.437500 -0.476874 0.405185
v 0.437500 -0.460698 -0.405185
v -0.437500 -0.460698 -0.405185
v 0.437500 -0.476874 -0.344815
v -0.437500 -0.476874 -0.344815
v 0.437500 -0.460698 -0.311435
v -0.437500 -0.460698 -0.311435
v 0.437500 -0.476874 -0.251065
v -0.437500 -0.476874 -0.251065
v 0.437500 -0.460698 0.251065
v -0.437500 -0.460698 0.251065
v 0.437500 -0.476874 0.311435
v -0.437500 -0.476874 0.311435
v 0.437500 -0.460698 0.157315
v -0.437500 -0.460698 0.157315
v 0.437500 -0.476874 0.217685
v -0.437500 -0.476874 0.217685
v 0.437500 -0.460698 -0.217685
v -0.437500 -0.460698 -0.217685
v 0.437500 -0.476874 -0.157315
v -0.437500 -0.476874 -0.157315
v 0.437500 -0.460698 -0.123935
v -0.437500 -0.460698 -0.123935
v 0.437500 -0.476874 -0.063565
v -0.437500 -0.476874 -0.063565
v 0.437500 -0.460698 0.063565
v -0.437500 -0.460698 0.063565
v 0.437500 -0.476874 0.123935
v -0.437500 -0.476874 0.123935
v 0.437500 -0.484375 0.031250
v -0.437500 -0.484375 0.031250
v -0.437500 -0.484375 -0.031250
@ -167,41 +167,57 @@ vt 0.945313 0.062500
vt 0.992188 0.062500
vt 0.992187 0.937500
vt 0.945313 0.937500
vn -0.000000 -0.965900 -0.258800
vn 0.000000 -1.000000 0.000000
vn 0.000000 0.000000 1.000000
vn -0.000000 -0.000000 -1.000000
vn -0.000000 1.000000 -0.000000
vn -1.000000 0.000000 0.000000
vn 0.124000 0.992300 -0.000000
vn 0.000000 0.992300 0.124000
vn 0.000000 0.992300 -0.124000
vn -0.124000 0.992300 -0.000000
vn 1.000000 -0.000000 -0.000000
vn -0.000000 -0.992300 0.124000
vn 0.124000 -0.992300 0.000000
vn -0.124000 -0.992300 0.000000
vn -0.000000 -0.992300 -0.124000
vn 0.000000 0.965900 0.258800
g Plane_Plane_Material
s off
f 7/1 8/2 6/3 5/4
f 11/5 12/6 10/7 9/8
f 15/9 16/10 14/11 13/12
f 19/13 20/14 18/15 17/16
f 23/17 24/18 22/19 21/20
f 27/21 28/22 26/23 25/24
f 31/25 32/26 30/27 29/28
f 35/29 36/30 34/31 33/32
f 37/33 38/34 39/35 40/36
f 3/37 38/38 37/39 4/40
f 1/41 40/42 39/43 2/44
f 3/34 4/33 1/45 2/46
f 41/47 42/48 43/49 44/50
f 46/51 53/52 51/53 47/54
f 41/55 44/50 47/54 51/56
f 41/50 51/54 55/57 56/58
f 41/50 56/58 54/59 42/49
f 51/54 53/51 52/60 55/57
f 52/60 53/51 42/49 54/59
f 42/61 53/62 46/51 43/49
f 44/50 43/49 49/59 50/58
f 48/57 47/54 44/50 50/58
f 43/49 46/51 45/60 49/59
f 45/60 46/51 47/54 48/57
f 50/63 49/64 54/65 56/66
f 45/67 48/68 55/69 52/70
f 48/71 50/72 56/73 55/74
f 54/75 49/76 45/77 52/78
f 59/1 57/4 58/3 60/2
f 63/5 61/8 62/7 64/6
f 67/9 65/12 66/11 68/10
f 71/13 69/16 70/15 72/14
f 75/17 73/20 74/19 76/18
f 79/21 77/24 78/23 80/22
f 83/25 81/28 82/27 84/26
f 87/29 85/32 86/31 88/30
f 7/1/1 8/2/1 6/3/1 5/4/1
f 11/5/1 12/6/1 10/7/1 9/8/1
f 15/9/1 16/10/1 14/11/1 13/12/1
f 19/13/1 20/14/1 18/15/1 17/16/1
f 23/17/1 24/18/1 22/19/1 21/20/1
f 27/21/1 28/22/1 26/23/1 25/24/1
f 31/25/1 32/26/1 30/27/1 29/28/1
f 35/29/1 36/30/1 34/31/1 33/32/1
f 37/33/2 38/34/2 39/35/2 40/36/2
f 3/37/3 38/38/3 37/39/3 4/40/3
f 1/41/4 40/42/4 39/43/4 2/44/4
f 3/34/5 4/33/5 1/45/5 2/46/5
f 41/47/4 42/48/4 43/49/4 44/50/4
f 46/51/3 53/52/3 51/53/3 47/54/3
f 41/55/6 44/50/6 47/54/6 51/56/6
f 41/50/7 51/54/7 55/57/7 56/58/7
f 41/50/8 56/58/8 54/59/8 42/49/8
f 51/54/9 53/51/9 52/60/9 55/57/9
f 52/60/10 53/51/10 42/49/10 54/59/10
f 42/61/11 53/62/11 46/51/11 43/49/11
f 44/50/12 43/49/12 49/59/12 50/58/12
f 48/57/13 47/54/13 44/50/13 50/58/13
f 43/49/14 46/51/14 45/60/14 49/59/14
f 45/60/15 46/51/15 47/54/15 48/57/15
f 50/63/3 49/64/3 54/65/3 56/66/3
f 45/67/4 48/68/4 55/69/4 52/70/4
f 48/71/11 50/72/11 56/73/11 55/74/11
f 54/75/6 49/76/6 45/77/6 52/78/6
f 59/1/16 57/4/16 58/3/16 60/2/16
f 63/5/16 61/8/16 62/7/16 64/6/16
f 67/9/16 65/12/16 66/11/16 68/10/16
f 71/13/16 69/16/16 70/15/16 72/14/16
f 75/17/16 73/20/16 74/19/16 76/18/16
f 79/21/16 77/24/16 78/23/16 80/22/16
f 83/25/16 81/28/16 82/27/16 84/26/16
f 87/29/16 85/32/16 86/31/16 88/30/16

View File

@ -1,5 +1,4 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
homedecor.register("filing_cabinet", {
description = S("Filing cabinet"),
@ -23,12 +22,12 @@ local desk_cbox = {
fixed = { -0.5, -0.5, -0.5, 1.5, 0.5, 0.5 }
}
homedecor.register("desk", {
description = S("Desk"),
description = "Desk",
mesh = "homedecor_desk.obj",
tiles = {
homedecor.plain_wood,
"homedecor_desk_drawers.png",
{ name = "homedecor_generic_metal.png", color = homedecor.color_black }
"homedecor_generic_metal_black.png",
},
inventory_image = "homedecor_desk_inv.png",
selection_box = desk_cbox,
@ -49,11 +48,11 @@ local globe_cbox = {
}
homedecor.register("desk_globe", {
description = S("Desk globe"),
description = "Desk globe",
mesh = "homedecor_desk_globe.obj",
tiles = {
"homedecor_generic_wood_red.png",
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
"homedecor_generic_metal_black.png^[brighten",
"homedecor_earth.png"
},
inventory_image = "homedecor_desk_globe_inv.png",
@ -65,7 +64,7 @@ homedecor.register("desk_globe", {
})
homedecor.register("calendar", {
description = S("Calendar"),
description = "Calendar",
mesh = "homedecor_calendar.obj",
tiles = {"homedecor_calendar.png"},
inventory_image = "homedecor_calendar_inv.png",
@ -81,11 +80,11 @@ homedecor.register("calendar", {
groups = {choppy=2,attached_node=1},
legacy_wallmounted = true,
sounds = default.node_sound_defaults(),
infotext = S("Date (right-click to update):\n@1", os.date("%Y-%m-%d")), -- ISO 8601 format
infotext = "Date (right-click to update):\n" .. os.date("%Y-%m-%d"), -- ISO 8601 format
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
local meta = minetest.get_meta(pos)
local date = os.date("%Y-%m-%d")
meta:set_string("infotext", S("Date (right-click to update):\n@1", date))
meta:set_string("infotext", "Date (right-click to update):\n"..date)
return itemstack
end
})
@ -104,18 +103,12 @@ local ofchairs_cbox = {
}
}
local chairs = {
{ "basic", S("Basic office chair") },
{ "upscale", S("Upscale office chair") },
}
for _, c in pairs(chairs) do
local name, desc = unpack(c)
homedecor.register("office_chair_"..name, {
description = desc,
for _, c in pairs({"basic", "upscale"}) do
homedecor.register("office_chair_"..c, {
description = "Office chair ("..c..")",
drawtype = "mesh",
tiles = { "homedecor_office_chair_"..name..".png" },
mesh = "homedecor_office_chair_"..name..".obj",
tiles = { "homedecor_office_chair_"..c..".png" },
mesh = "homedecor_office_chair_"..c..".obj",
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
selection_box = ofchairs_sbox,

View File

@ -1,5 +1,5 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
local function N_(x) return x end

View File

@ -1,18 +1,19 @@
-- Various kinds of window shutters
local S = homedecor_i18n.gettext
local S = homedecor.gettext
local shutters = {
"mahogany",
"red",
"yellow",
"forest_green",
"light_blue",
"violet",
"black",
"dark_grey",
"grey",
"white",
{"oak", S("unpainted oak"), "#bf8a51:200" },
{"mahogany", S("mahogany"), "#822606:200" },
{"red", S("red"), "#d00000:150" },
{"yellow", S("yellow"), "#ffff00:150" },
{"forest_green", S("forest green"), "#006000:150" },
{"light_blue", S("light blue"), "#1963c7:150" },
{"violet", S("violet"), "#6000ff:150" },
{"black", S("black"), "#000000:200" },
{"dark_grey", S("dark grey"), "#202020:200" },
{"grey", S("grey"), "#c0c0c0:150" },
{"white", S("white"), "#ffffff:150" },
}
local shutter_cbox = {
@ -22,85 +23,27 @@ local shutter_cbox = {
wall_side = { -0.5, -0.5, -0.5, -0.4375, 0.5, 0.5 }
}
local inv = "homedecor_window_shutter_inv.png^[colorize:#a87034:150"
for _, s in ipairs(shutters) do
local name, desc, hue = unpack(s)
homedecor.register("shutter", {
mesh = "homedecor_window_shutter.obj",
tiles = {
{ name = "homedecor_window_shutter.png", color = 0xffa87034 }
},
description = S("Wooden Shutter"),
inventory_image = inv,
wield_image = inv,
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
ud_replacement_node = "homedecor:shutter_colored",
groups = { snappy = 3, ud_param2_colorable = 1 },
sounds = default.node_sound_wood_defaults(),
selection_box = shutter_cbox,
node_box = shutter_cbox,
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing)
end,
after_dig_node = unifieddyes.after_dig_node
})
local tile = "homedecor_window_shutter.png^[colorize:"..hue
local inv = "homedecor_window_shutter_inv.png^[colorize:"..hue
homedecor.register("shutter_colored", {
mesh = "homedecor_window_shutter.obj",
tiles = { "homedecor_window_shutter.png" },
description = S("Wooden Shutter"),
inventory_image = "homedecor_window_shutter_inv.png",
wield_image = "homedecor_window_shutter_inv.png",
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
groups = { snappy = 3 , not_in_creative_inventory = 1, ud_param2_colorable = 1},
sounds = default.node_sound_wood_defaults(),
selection_box = shutter_cbox,
node_box = shutter_cbox,
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing)
end,
after_dig_node = unifieddyes.after_dig_node,
drop = "homedecor:shutter"
})
minetest.register_alias("homedecor:shutter_purple", "homedecor:shutter_violet")
minetest.register_alias("homedecor:shutter_oak", "homedecor:shutter")
-- convert to param2 coloring
homedecor.old_shutter_nodes = {}
for _, color in ipairs(shutters) do
table.insert(homedecor.old_shutter_nodes, "homedecor:shutter_"..color)
homedecor.register("shutter_"..name, {
mesh = "homedecor_window_shutter.obj",
tiles = { tile },
description = S("Wooden Shutter (@1)", desc),
inventory_image = inv,
wield_image = inv,
paramtype2 = "wallmounted",
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
selection_box = shutter_cbox,
node_box = shutter_cbox,
-- collision_box doesn't accept type="wallmounted", but node_box
-- does. Said nodeboxes create a custom collision box but are
-- invisible themselves because drawtype="mesh".
})
end
minetest.register_lbm({
name = "homedecor:convert_shutters",
label = "Convert shutter static nodes to use param2 color",
run_at_every_load = false,
nodenames = homedecor.old_shutter_nodes,
action = function(pos, node)
local name = node.name
local color = string.sub(name, string.find(name, "_") + 1)
if color == "mahogany" then
color = "dark_red"
elseif color == "forest_green" then
color = "dark_green"
elseif color == "light_blue" then
color = "medium_cyan"
elseif color == "red" then
color = "medium_red"
end
local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted")
local param2 = paletteidx + node.param2
minetest.set_node(pos, { name = "homedecor:shutter_colored", param2 = param2 })
local meta = minetest.get_meta(pos)
meta:set_string("dye", "unifieddyes:"..color)
end
})
minetest.register_alias("homedecor:shutter_purple", "homedecor:shutter_violet")

View File

@ -1,10 +1,9 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
-- Various kinds of tables
local materials = {
{ "glass",
{ "glass",
S("Small square glass table"),
S("Small round glass table"),
S("Large glass table piece"),

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 B

After

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 B

After

Width:  |  Height:  |  Size: 381 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 B

After

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 684 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 384 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 590 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 293 B

After

Width:  |  Height:  |  Size: 605 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 B

Some files were not shown because too many files have changed in this diff Show More