1
0
mirror of https://github.com/mt-mods/homedecor_modpack.git synced 2025-06-28 12:56:01 +02:00

Compare commits

...

75 Commits

Author SHA1 Message Date
c98ec41ba7 move some images to the right places :P 2019-06-02 08:24:13 -04:00
84c3933fd4 fix wrong textures on a couple of lamps 2019-06-02 03:16:00 -04:00
968cdfd549 rope lights are not dimmable 2019-06-02 03:13:46 -04:00
c457874d03 fix bad not-in-creative-inventory flags on wall lamp and plasma ball 2019-06-02 02:51:41 -04:00
67acbd6d59 fix not being able to right-click table and standing lamps 2019-06-02 02:47:46 -04:00
fdb37bdaf5 fix wrong colorization table usage in table, standing, and desk lamps 2019-06-02 02:45:01 -04:00
ab8bf5586f move "medieval" wall lamp and torch to homedecor_lighting
make them mesecon/digiline controllable (on/off only, alldir rules)

also fix a couple of old texture references
2019-06-02 02:37:02 -04:00
2f3c12eb2a rename and move generic light source textures 2019-06-02 02:23:10 -04:00
4174737a1a make most presently non-dimmable lights dimmable
merge table and standing lamps into the new code

of all the relevant lights, the plasma ball is the only one that remains
on/off-only, since dimmable doesn't make sense there.

That one, and any future lights that get the on/off-only treatment, will
use the previous on/off behavior, i.e. turn off with the messages "off"
or "low" or a number < 4, and turn on with "med", "hi", "max", "on" or
a number > 3

This alters the behavior of table/standing lamps - they will no longer
cycle brightnesses by right-click.  Like all other controllable lights,
they'll just toggle on/off.  If there's enough demand for it, I'll add
that feature back in at a later date.
2019-06-02 02:11:15 -04:00
11771e12cb allow numeric messages for dimmable lamps
allow non-dimmables to respond to "off", "low", "med", "hi", "max", "on"

number messages for dimmables:
0 turns the light off
1-3 sets it to "low"
4-7 sets it to "med"
8-11 sets it to "hi"
12+ sets it to "max" (i.e. full-on)

non-dimmables:
a number > 3 or the strings "med", "hi", "max", or "on" turn the light on
a number < 4 or the strings "off" and "low" turn the light off
2019-06-01 23:13:02 -04:00
b3337921a1 fix crash (bad variable ref) 2019-05-31 08:00:46 -04:00
301ae2ee1d Rearrange mesecons, diglines, dimmable functions and related, tweak
digiline stuff to be more generic, and add various digilines connections
rules to complement mesecons rules.

Mesecons must be present to get the "wallmounted" rules for digilines nodes.
Without mesecons, nodes that want wall rules will get alldir rules instead.

Add mesecons support to table and standing lamps (off -> max -> off).

Add digilines support to all other lights that now support mesecons,
except rope lights, since they're a mesecon conductor.

(will approach that last one later)
2019-05-29 22:01:27 -04:00
9b77ba1c28 move door 3d models to "3d extras" mod
by extension, require its presence to cause doors to be 3d

for consistency with the appearance/style of mtg doors in worlds that
wouldn't normally use the 3d extras mod

minor rework of closet door textures to make them work decently in both modes
2019-05-28 07:59:23 -04:00
bb1a2c9314 follow proper naming conventions (or at least, make it better than it was :P ) 2019-05-28 06:38:18 -04:00
6181f9c400 3d-ify default doors and trapdoors 2019-05-28 06:26:50 -04:00
c13c3a1c8c make sure doors component works without mesecons :P 2019-05-27 05:09:42 -04:00
a129cf177f fix broken door recipes
also got rid of some old dirt+coal+door recipes
2019-05-27 03:09:48 -04:00
7be5e15263 use custom models for most doors
all are derived from homedecor's pre-mtg-doors models, with minimal changes,
so doors should look virtually identical to what they used to.

uses the old clone_node() technique to force-dereference the door defs

reworked a few textures for quality and to fix stuff I broke but didn't
notice right away, pulling from pre-mtg-doors when needed.

also fixes the broken alpha on doors that use it.
2019-05-27 02:41:20 -04:00
0f2c4f94de fix missing rules for gates 2019-05-26 22:13:15 -04:00
c28df63aae add mesecons support to doors 2019-05-26 21:52:42 -04:00
e767b08011 add missing alias 2019-05-26 20:11:50 -04:00
c645964dd5 Refactor tables and seating
move lrfurn tables to homedecor_tables

create new mod: homedecor_seating

move lrfurn chair, sofas, and all types of homedecor
chairs, benches, etc. that I could think of,
whether intended for exterior or interior use,
to that new mod.

(except tree swing :P )

lrfurn was left empty after this, so deleted.
2019-05-26 20:02:29 -04:00
603eeba810 make table- and standing lamps respond to diglines messages
"off", "low", "med", "hi", "max".  Any other message is ignored

shift-punch to set the digiline channel

only connects from X/Z directions

right-click still cycles brightness as before

also adds protection check for right-click brightness changing
2019-05-26 19:05:11 -04:00
960f4c4200 fix bad player ref (sneder -> clicker) 2019-05-26 17:13:32 -04:00
7cdfc3b49c move wall switch up a bit (almost centered now) 2019-05-26 02:17:21 -04:00
bf7e47342f remove "on" switch from creative inv
add proper "receiver" group
remove color from switch buttons
2019-05-26 01:59:14 -04:00
b85278fbaa make wall switch work (mesecons) 2019-05-26 01:33:22 -04:00
cacf04e2d1 Add mesecons support for the rest of the other relevant lights
Each light connects only according to what sides make sense.

For example:

* a plasma lamp cube or large lattice lamp will connect from all 6 sides
* a ground lantern will only connect from its NSEW sides, not its top or
  bottom
* a glowlight slab, glowlight cube, or lattice cube uses the same rules as
  mesecons lamps, so its four edges and it back/bottom, whatever its
  orientation, but not its top/front.
* a (kitchen) ceiling lamp, and a (hanging, exterior) ceiling lantern will
  only connect from the top.

Rope lights are defined as a conductor, just like a mesecons wire,
so if mesecons is present, they will default to off unless powered by
a mesecons wire/switch/etc.

You can still right-click-toggle individual segments on/off.

Ceiling rope light connection rules are a little funky, but they work
(I wanted them to only connect from the top, but I couldn't get it
just right).  Floor-orientation connections are straightforward.
2019-05-26 00:44:37 -04:00
07141bff47 fill-out mesecons support for first few lights,
also removed debug prints

Lights are forced-on when placed, and remain so
until they receive a mesecons "off" signal.

Lights can be toggled on/off independent of the
mesecon signal state by right click, which will
persist until the next signal transition,
which will change the light to follow.
2019-05-25 22:51:49 -04:00
542f688c09 fix global warnings 2019-05-25 21:46:08 -04:00
fee09943e3 mesecons support, wip 2019-05-25 21:35:38 -04:00
bed4d1e6f8 make table- and standing-lamps return "hi"
brightness version, instead of "off".  do
the same for their crafts.
2019-05-25 20:59:19 -04:00
798ff29b0a add drops 2019-05-25 20:50:30 -04:00
7491fd4aa8 Allow most light sources to be toggled on/off
with right-click.

Rework glowlight slab and cube textures, simplify,
use overlays and compositing, so that the bulk
of the light can switch between a dark, matte surface,
and a bright surface with central glare gradient, and
so that the surface and eging respond to param2 color.

Tweak all other relevant nodes so that their light
source changes to a darkened (or even translucent
texture) when off.

On/off switching doesn't affect things like oil lamps,
candles, chandeliers, etc.  Just basically the stuff
that would be electric-powered in real life.

If in a protected area, only that area's owner can
turn the light on/off.
2019-05-25 19:35:14 -04:00
7ab149275b Add "rope" lighting 2019-05-25 02:34:50 -04:00
c6ef999591 re-add fan blades
(lost during The Big Split)
2019-05-25 01:10:29 -04:00
a9cfef8fba give bathtub some rough collision info
allow showerhead to be turned on when placed 2m above the tub
(must be on the same end as the taps)
2019-05-25 00:59:51 -04:00
9d64af85ca convert doors over to use minetest_game doors API
simplify gates code a bit
2019-05-25 00:11:54 -04:00
712ca909ca Multiple related changes:
remove duplicate dishwasher recipe
more kitchen depends fixes
fix wrong brass taps recipe (ref technic brass, need basic_materials brass)
re-add missing bathroom items recipes
re-add missing stading- and table-lamp recipes
add alternate dishwasher recipe
add recipes for "half-doors"
change light bath tiles recipe (don't need white dye for base node, now)
move japanese wall parts to homedecor_misc, make _doors opt depend on that
2019-05-24 20:40:44 -04:00
32fc5dc49b bad modpath check (leftover from The Big Split); fixes #12
also added optdepend on kitchen stuff (for the recipe)
2019-05-04 13:10:03 -04:00
854e96d4c0 add "light" to lava lamp desc. 2019-05-03 12:06:43 -04:00
6e61cc4ad8 move sounds to their correct folders 2019-05-02 18:40:25 -04:00
2ee1cd6887 Make sure all "lanterns" and "lamps" have "light" in their descriptions also
(for easier searching in sfinv and unified inv)
2019-05-02 18:36:36 -04:00
0cd8bd7780 remove homedecor_i18n and merged into homedecor_common, fixed meseon global error 2019-04-21 16:25:21 +01:00
8b78caf7c6 wardrobe now uses homedecor api 2019-04-21 15:22:27 +01:00
18d74e2f09 fix a couple of wrong depends 2019-04-21 07:47:09 -04:00
b94139c9df lighter, softer building_blocks marble texture 2019-04-20 17:02:48 -04:00
bb808a944c fix wrong "kitchen" chair selection box 2019-04-20 17:02:48 -04:00
b08c0905c0 Split the big "homedecor" mod into multiple sub-mods
Any of these new submods can be run without any other
components that were once part of the big "homedecor"
mod, other than homedecor_common and homedecor_i18n

Reduced dependencies where possible, but each submod still
has its various dependencies more or less the same as before,
i.e. some need basic_materials, others need unifieddyes,
some need building_blocks, and so on.

All of the stuff that used to be under homedecor/handlers
got moved to homedecor_common, as did any models and/or textures
that are used by more than one other homedecor component.

All the miscellaneous items that didn't warrant their own
mod ended up in homedecor_misc, which can also be thought
of as the remains of the original "homedecor" mod, renamed.
2019-04-20 17:02:42 -04:00
95590f23c5 Separate-out the wardrobe into its own mod
Standalone -- can be used without the rest of home decor
2019-04-20 10:01:42 -04:00
554ec8028d use basic_materials motor 2019-03-31 19:37:39 -04:00
0ab1040760 Merge branch 'pg-fix-tap-particles' into 'master'
Fix the tap particles spilling out of the sink

See merge request VanessaE/homedecor_modpack!4
2019-03-24 21:07:58 +00:00
52375443ed Fix the tap particles spilling out of the sink 2019-03-24 18:57:58 +01:00
ac71c0f189 Merge branch 'master' into 'master'
bugfix wardrobe save/restore skins for skinsdb

See merge request VanessaE/homedecor_modpack!2
2018-12-16 20:42:15 +00:00
37c6b99ac1 make currency opt depend 2018-11-12 08:23:19 -05:00
bcf9238e47 use currency mod's 25-cent Minegeld coin for soda machine 2018-11-09 20:23:42 -05:00
e291a45d99 license fixups: use LGPL 3.0 for code,
CC-by-SA 4.0 for media and everything else
2018-11-08 18:58:34 -05:00
12bdbd6684 use basic_materials padlock instead of steel ingot
for lockable items.
2018-10-31 12:16:50 -04:00
13a35d12a0 use basic_materials mod where possible 2018-10-30 20:46:10 -04:00
c5393f1462 use empty bucket in shower tray recipe 2018-10-25 13:15:24 -04:00
93351aecda use three marble + bucket to make bathroom sink 2018-10-25 13:14:14 -04:00
bf79c7d430 if both gloopblocks and moreblocks present, don't register "gravel spread"
alias it to gloopblocks:slab_gravel_1
2018-10-25 13:03:25 -04:00
f7ff5ae3f4 allow crafting coffee table from two endtables 2018-10-25 12:44:18 -04:00
c64dabfa28 use "default:wood" explicitly in homedecor:table recipe
("group:wood" conflicts with lrfurn coffee table,
probably an issue with moreblocks)
2018-10-25 12:40:13 -04:00
d4e85cbab2 disable sleeping in beds 2018-10-25 12:34:33 -04:00
3791311422 get rid of glass office doors
alias them to default glass doors
2018-10-25 12:30:21 -04:00
ec0e332918 get rid of phone ringing sound effect 2018-10-25 12:18:15 -04:00
6dec410d29 better recipes for the spools
(now the end cost is 0.5 ingot and 2.333 plastic per spool of wire)
2018-10-24 19:27:14 -04:00
0c58327df7 add empty spool (craft from 7 plastic sheet)
make steel and copper wire use it.
reworked existing spool images
2018-10-24 19:04:25 -04:00
fba875f474 allow turning 8 small lattice lamps into one large. 2018-10-18 07:20:36 -04:00
f983710899 reduce light output of small lattice cube lantern
(especially if it comes from a darkage:lamp)
2018-10-18 07:17:32 -04:00
6a3c009276 if darkage is also installed,
don't register large homedecor lattice lamp or the recipes to
create it or to split it into 8 small lamps. instead, add an
alias to darkage:lamp and a recipe to split that.
2018-10-18 06:54:26 -04:00
69e87419ea add alternate recipe for green welcome mat
(workaround for a moreblocks bug)
2018-10-16 15:06:07 -04:00
25fef974e3 add palette to wood banister 2018-09-13 22:32:46 -04:00
04cb59401b bugfix wardrobe save/restore skins for skinsdb 2018-06-25 16:12:09 +02:00
927 changed files with 13615 additions and 10422 deletions

450
LICENSE
View File

@ -1,17 +1,15 @@
For the Lua code: LGPL 3.0 or higher
For all models, all textures, and all sounds: CC-by-SA 3.0 or higher
For everything else: WTFPL
License for code: LGPL 3.0
License for media and all other assets: CC-by-SA 4.0
Exceptions to the above:
These licenses apply to all modules and components in this modpack,
unless otherwise stated.
Fancy mesh fire model and texture by NathanS (CC-0).
===============================================================================
###############################################################################
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@ -174,26 +172,432 @@ apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.
===============================================================================
###############################################################################
This work is licensed under the Creative Commons Attribution-ShareAlike
4.0 International License. To view a copy of this license, visit
http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to
Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
Attribution-ShareAlike 4.0 International
===============================================================================
=======================================================================
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Using Creative Commons Public Licenses
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
0. You just DO WHAT THE FUCK YOU WANT TO.
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution-ShareAlike 4.0 International Public
License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution-ShareAlike 4.0 International Public License ("Public
License"). To the extent this Public License may be interpreted as a
contract, You are granted the Licensed Rights in consideration of Your
acceptance of these terms and conditions, and the Licensor grants You
such rights in consideration of benefits the Licensor receives from
making the Licensed Material available under these terms and
conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. BY-SA Compatible License means a license listed at
creativecommons.org/compatiblelicenses, approved by Creative
Commons as essentially the equivalent of this Public License.
d. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
e. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
f. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
g. License Elements means the license attributes listed in the name
of a Creative Commons Public License. The License Elements of this
Public License are Attribution and ShareAlike.
h. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
i. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
j. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
k. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
l. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
m. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. Additional offer from the Licensor -- Adapted Material.
Every recipient of Adapted Material from You
automatically receives an offer from the Licensor to
exercise the Licensed Rights in the Adapted Material
under the conditions of the Adapter's License You apply.
c. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified
form), You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
b. ShareAlike.
In addition to the conditions in Section 3(a), if You Share
Adapted Material You produce, the following conditions also apply.
1. The Adapter's License You apply must be a Creative Commons
license with the same License Elements, this version or
later, or a BY-SA Compatible License.
2. You must include the text of, or the URI or hyperlink to, the
Adapter's License You apply. You may satisfy this condition
in any reasonable manner based on the medium, means, and
context in which You Share Adapted Material.
3. You may not offer or impose any additional or different terms
or conditions on, or apply any Effective Technological
Measures to, Adapted Material that restrict exercise of the
rights granted under the Adapter's License You apply.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material,
including for purposes of Section 3(b); and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public
licenses. Notwithstanding, Creative Commons may elect to apply one of
its public licenses to material it publishes and in those instances
will be considered the “Licensor.” The text of the Creative Commons
public licenses is dedicated to the public domain under the CC0 Public
Domain Dedication. Except for the limited purpose of indicating that
material is shared under a Creative Commons public license or as
otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the
public licenses.
Creative Commons may be contacted at creativecommons.org.

View File

@ -1,4 +1,4 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
if minetest.get_modpath("moreblocks") or minetest.get_modpath("stairs") then
minetest.register_alias("building_blocks:slab_tar", "stairs:slab_Tar")
@ -19,6 +19,10 @@ if minetest.get_modpath("moreblocks") then
minetest.unregister_item("moreblocks:tar")
minetest.register_alias("moreblocks:tar", "building_blocks:Tar")
stairsplus:register_alias_all("moreblocks", "tar", "building_blocks", "Tar")
if minetest.get_modpath("gloopblocks") then
minetest.register_alias("building_blocks:gravel_spread", "gloopblocks:slab_gravel_1")
end
end
minetest.register_alias("adobe", "building_blocks:Adobe")

View File

@ -1,4 +1,5 @@
default
homedecor_i18n
homedecor_common
moreblocks?
gloopblocks?
stairs?

View File

@ -1,7 +1,7 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
local modpath = minetest.get_modpath("building_blocks")
dofile(modpath.."/alias.lua")
dofile(modpath.."/node_stairs.lua")
dofile(modpath.."/others.lua")
dofile(modpath.."/recipes.lua")
dofile(modpath.."/recipes.lua")

View File

@ -1,4 +1,4 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
local stairs_groups_names = {"cracky","choppy","flammable","crumbly","snappy"}
@ -33,7 +33,7 @@ local function building_blocks_stairs(nodename, def)
("%s Slab"):format(def.description),
def.sounds
)
end
end
end
end
@ -131,26 +131,30 @@ minetest.register_node("building_blocks:brobble_spread", {
is_ground_content = true,
groups = {crumbly=3},
})
minetest.register_node("building_blocks:gravel_spread", {
drawtype = "raillike",
description = S("Gravel Spread"),
tiles = {"default_gravel.png"},
inventory_image = "building_blocks_gravel_spread_inv.png",
paramtype = "light",
walkable = false,
selection_box = {
type = "fixed",
-- but how to specify the dimensions for curved and sideways rails?
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = true,
groups = {crumbly=2},
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_gravel_footstep", gain=0.5},
dug = {name="default_gravel_footstep", gain=1.0},
}),
})
if not minetest.get_modpath("moreblocks") or not minetest.get_modpath("gloopblocks") then
minetest.register_node("building_blocks:gravel_spread", {
drawtype = "raillike",
description = S("Gravel Spread"),
tiles = {"default_gravel.png"},
inventory_image = "building_blocks_gravel_spread_inv.png",
paramtype = "light",
walkable = false,
selection_box = {
type = "fixed",
-- but how to specify the dimensions for curved and sideways rails?
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = true,
groups = {crumbly=2},
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_gravel_footstep", gain=0.5},
dug = {name="default_gravel_footstep", gain=1.0},
}),
})
end
minetest.register_node("building_blocks:Tarmac_spread", {
drawtype = "raillike",
description = S("Tarmac Spread"),

View File

@ -1,4 +1,4 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
minetest.register_craftitem("building_blocks:sticks", {
description = S("Small bundle of sticks"),
@ -20,4 +20,4 @@ minetest.register_tool("building_blocks:knife", {
fleshy={times={[2]=5.50, [3]=2.80}, uses=100, maxlevel=1}
}
},
})
})

View File

@ -1,4 +1,4 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
if minetest.get_modpath("moreblocks") then
minetest.register_craft({
@ -60,12 +60,16 @@ minetest.register_craft({
{"default:glass", "default:glass"},
}
})
minetest.register_craft({
output = 'building_blocks:gravel_spread 4',
recipe = {
{"default:gravel", "default:gravel", "default:gravel"},
}
})
if not minetest.get_modpath("moreblocks") or not minetest.get_modpath("gloopblocks") then
minetest.register_craft({
output = 'building_blocks:gravel_spread 4',
recipe = {
{"default:gravel", "default:gravel", "default:gravel"},
}
})
end
minetest.register_craft({
output = 'building_blocks:hardwood 2',
recipe = {
@ -167,4 +171,4 @@ minetest.register_craft({
type = "fuel",
recipe = "building_blocks:Tar",
burntime = 40,
})
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 499 B

After

Width:  |  Height:  |  Size: 450 B

View File

@ -1,2 +0,0 @@
default
homedecor

View File

@ -1,179 +0,0 @@
local S = homedecor_i18n.gettext
local chains_sbox = {
type = "fixed",
fixed = { -0.1, -0.5, -0.1, 0.1, 0.5, 0.1 }
}
local topchains_sbox = {
type = "fixed",
fixed = {
{ -0.25, 0.35, -0.25, 0.25, 0.5, 0.25 },
{ -0.1, -0.5, -0.1, 0.1, 0.4, 0.1 }
}
}
minetest.register_node("chains:chain", {
description = S("Hanging chain (wrought iron)"),
drawtype = "mesh",
mesh = "chains.obj",
tiles = {"chains_wrought_iron.png"},
walkable = false,
climbable = true,
sunlight_propagates = true,
paramtype = "light",
inventory_image = "chain_wrought_iron_inv.png",
groups = {cracky=3},
selection_box = chains_sbox,
})
minetest.register_node("chains:chain_brass", {
description = S("Hanging chain (brass)"),
drawtype = "mesh",
mesh = "chains.obj",
tiles = {"chains_brass.png"},
walkable = false,
climbable = true,
sunlight_propagates = true,
paramtype = "light",
inventory_image = "chain_brass_inv.png",
groups = {cracky=3},
selection_box = chains_sbox,
})
minetest.register_node("chains:chain_top", {
description = S("Hanging chain (ceiling mount, wrought iron)"),
drawtype = "mesh",
mesh = "top_chains.obj",
tiles = {"chains_wrought_iron.png"},
walkable = false,
climbable = true,
sunlight_propagates = true,
paramtype = "light",
inventory_image = "top_chain_wrought_iron_inv.png",
groups = {cracky=3},
selection_box = topchains_sbox,
})
minetest.register_node("chains:chain_top_brass", {
description = S("Hanging chain (ceiling mount, brass)"),
drawtype = "mesh",
mesh = "top_chains.obj",
tiles = {"chains_brass.png"},
walkable = false,
climbable = true,
sunlight_propagates = true,
paramtype = "light",
inventory_image = "top_chain_brass_inv.png",
groups = {cracky=3},
selection_box = topchains_sbox,
})
minetest.register_node("chains:chandelier", {
description = S("Chandelier (wrought iron)"),
paramtype = "light",
light_source = 12,
walkable = false,
climbable = true,
sunlight_propagates = true,
tiles = {
"chains_wrought_iron.png",
"chains_candle.png",
{
name="chains_candle_flame.png",
animation={
type="vertical_frames",
aspect_w=16,
aspect_h=16,
length=3.0
}
}
},
drawtype = "mesh",
mesh = "chains_chandelier.obj",
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("chains:chandelier_brass", {
description = S("Chandelier (brass)"),
paramtype = "light",
light_source = 12,
walkable = false,
climbable = true,
sunlight_propagates = true,
tiles = {
"chains_brass.png",
"chains_candle.png",
{
name="chains_candle_flame.png",
animation={
type="vertical_frames",
aspect_w=16,
aspect_h=16,
length=3.0
}
}
},
drawtype = "mesh",
mesh = "chains_chandelier.obj",
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
})
-- crafts
minetest.register_craft({
output = 'chains:chain 2',
recipe = {
{'glooptest:chainlink'},
{'glooptest:chainlink'},
{'glooptest:chainlink'},
}
})
minetest.register_craft({
output = 'chains:chain_top',
recipe = {
{'default:steel_ingot'},
{'glooptest:chainlink'},
},
})
minetest.register_craft({
output = 'chains:chandelier',
recipe = {
{'', 'glooptest:chainlink', ''},
{'default:torch', 'glooptest:chainlink', 'default:torch'},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
}
})
-- brass versions
minetest.register_craft({
output = 'chains:chain_brass 2',
recipe = {
{'homedecor:chainlink_brass'},
{'homedecor:chainlink_brass'},
{'homedecor:chainlink_brass'},
}
})
minetest.register_craft({
output = 'chains:chain_top_brass',
recipe = {
{'technic:brass_ingot'},
{'homedecor:chainlink_brass'},
},
})
minetest.register_craft({
output = 'chains:chandelier_brass',
recipe = {
{'', 'homedecor:chainlink_brass', ''},
{'default:torch', 'homedecor:chainlink_brass', 'default:torch'},
{'technic:brass_ingot', 'technic:brass_ingot', 'technic:brass_ingot'},
}
})

View File

@ -1,881 +0,0 @@
# Blender v2.73 (sub 0) OBJ File: 'chains.blend'
# www.blender.org
o Torus.016_Torus
v 0.000000 -0.429978 0.000002
v 0.000000 -0.401109 0.055211
v -0.014044 -0.391975 0.048870
v -0.014044 -0.423304 0.000002
v -0.009826 -0.379748 0.040970
v -0.009826 -0.406012 0.000002
v 0.009826 -0.379748 0.040970
v 0.009826 -0.406012 0.000002
v 0.014044 -0.391975 0.048870
v 0.014044 -0.423304 0.000002
v 0.000000 -0.316336 0.080195
v -0.014044 -0.316336 0.069112
v -0.009826 -0.316336 0.057941
v 0.009826 -0.316336 0.057941
v 0.014044 -0.316336 0.069112
v 0.000000 -0.231564 0.055211
v -0.014044 -0.240700 0.048870
v -0.009826 -0.252925 0.040970
v 0.009826 -0.252925 0.040970
v 0.014044 -0.240700 0.048870
v 0.000000 -0.202695 0.000002
v -0.014044 -0.209368 0.000002
v -0.009826 -0.226661 0.000002
v 0.009826 -0.226661 0.000002
v 0.014044 -0.209368 0.000002
v 0.000000 -0.231564 -0.055206
v -0.014044 -0.240700 -0.048868
v -0.009826 -0.252925 -0.040967
v 0.009826 -0.252925 -0.040967
v 0.014044 -0.240700 -0.048865
v 0.000000 -0.316336 -0.080190
v -0.014044 -0.316336 -0.069108
v -0.009826 -0.316336 -0.057936
v 0.009826 -0.316336 -0.057936
v 0.014044 -0.316336 -0.069108
v 0.000000 -0.400361 -0.055206
v -0.014044 -0.391975 -0.048868
v -0.009826 -0.379748 -0.040967
v 0.009826 -0.379748 -0.040967
v 0.014044 -0.391975 -0.048868
v 0.000000 -0.262249 0.000002
v -0.061672 -0.233381 0.000002
v -0.054590 -0.224245 -0.012569
v 0.000000 -0.255577 -0.012569
v -0.045765 -0.212018 -0.008794
v 0.000000 -0.238285 -0.008794
v -0.045765 -0.212018 0.008798
v 0.000000 -0.238285 0.008798
v -0.054590 -0.224245 0.012574
v 0.000000 -0.255577 0.012574
v -0.089582 -0.148609 0.000002
v -0.077200 -0.148609 -0.012569
v -0.064722 -0.148609 -0.008794
v -0.064722 -0.148609 0.008799
v -0.077200 -0.148609 0.012574
v -0.061672 -0.063837 0.000002
v -0.054590 -0.072971 -0.012569
v -0.045765 -0.085198 -0.008794
v -0.045765 -0.085198 0.008799
v -0.054590 -0.072971 0.012574
v 0.000000 -0.034967 0.000002
v 0.000000 -0.041641 -0.012569
v 0.000000 -0.058933 -0.008794
v 0.000000 -0.058933 0.008799
v 0.000000 -0.041641 0.012574
v 0.061672 -0.063837 0.000002
v 0.054590 -0.072971 -0.012569
v 0.045765 -0.085198 -0.008794
v 0.045765 -0.085198 0.008799
v 0.054590 -0.072971 0.012574
v 0.089582 -0.148609 0.000002
v 0.077200 -0.148609 -0.012569
v 0.064722 -0.148609 -0.008794
v 0.064722 -0.148609 0.008799
v 0.077200 -0.148609 0.012574
v 0.061672 -0.232631 0.000002
v 0.054590 -0.224245 -0.012569
v 0.045765 -0.212018 -0.008794
v 0.045765 -0.212018 0.008798
v 0.054590 -0.224245 0.012574
v 0.000000 0.073316 0.000002
v 0.061672 0.102183 0.000002
v 0.054590 0.111319 0.012574
v 0.000000 0.079988 0.012574
v 0.045765 0.123546 0.008799
v 0.000000 0.097280 0.008799
v 0.045765 0.123546 -0.008794
v 0.000000 0.097280 -0.008794
v 0.054590 0.111319 -0.012569
v 0.000000 0.079988 -0.012569
v 0.089582 0.186956 0.000002
v 0.077200 0.186956 0.012574
v 0.064722 0.186956 0.008799
v 0.064722 0.186956 -0.008794
v 0.077200 0.186956 -0.012569
v 0.061672 0.271728 0.000002
v 0.054590 0.262594 0.012574
v 0.045765 0.250367 0.008799
v 0.045765 0.250367 -0.008794
v 0.054590 0.262594 -0.012569
v 0.000000 0.300597 0.000002
v 0.000000 0.293923 0.012574
v 0.000000 0.276631 0.008799
v 0.000000 0.276631 -0.008794
v 0.000000 0.293923 -0.012569
v -0.061672 0.271728 0.000002
v -0.054590 0.262594 0.012574
v -0.045765 0.250367 0.008799
v -0.045765 0.250367 -0.008794
v -0.054590 0.262594 -0.012569
v -0.089582 0.186956 0.000002
v -0.077200 0.186956 0.012574
v -0.064722 0.186956 0.008799
v -0.064722 0.186956 -0.008794
v -0.077200 0.186956 -0.012569
v -0.061672 0.102931 0.000002
v -0.054590 0.111319 0.012574
v -0.045765 0.123546 0.008799
v -0.045765 0.123546 -0.008794
v -0.054590 0.111319 -0.012569
v 0.000000 -0.095037 0.000002
v 0.000000 -0.066168 -0.055206
v 0.014044 -0.057034 -0.048868
v 0.014044 -0.088363 0.000002
v 0.009826 -0.044807 -0.040967
v 0.009826 -0.071071 0.000002
v -0.009826 -0.044807 -0.040967
v -0.009826 -0.071071 0.000002
v -0.014044 -0.057034 -0.048868
v -0.014044 -0.088363 0.000002
v 0.000000 0.018605 -0.080190
v 0.014044 0.018605 -0.069108
v 0.009826 0.018605 -0.057936
v -0.009826 0.018605 -0.057936
v -0.014044 0.018605 -0.069108
v 0.000000 0.103377 -0.055206
v 0.014044 0.094243 -0.048868
v 0.009826 0.082016 -0.040967
v -0.009826 0.082016 -0.040967
v -0.014044 0.094243 -0.048868
v 0.000000 0.132246 0.000002
v 0.014044 0.125572 0.000002
v 0.009826 0.108280 0.000002
v -0.009826 0.108280 0.000002
v -0.014044 0.125572 0.000002
v 0.000000 0.103377 0.055211
v 0.014044 0.094243 0.048870
v 0.009826 0.082016 0.040970
v -0.009826 0.082016 0.040970
v -0.014044 0.094243 0.048870
v 0.000000 0.018605 0.080195
v 0.014044 0.018605 0.069112
v 0.009826 0.018605 0.057941
v -0.009826 0.018605 0.057941
v -0.014044 0.018605 0.069112
v 0.000000 -0.065420 0.055211
v 0.014044 -0.057032 0.048870
v 0.009826 -0.044807 0.040970
v -0.009826 -0.044807 0.040970
v -0.014044 -0.057032 0.048870
v 0.000000 -0.598329 0.000002
v 0.061672 -0.569460 0.000002
v 0.054590 -0.560326 0.012574
v 0.000000 -0.591655 0.012574
v 0.045765 -0.548099 0.008798
v 0.000000 -0.574363 0.008798
v 0.045765 -0.548099 -0.008794
v 0.000000 -0.574363 -0.008794
v 0.054590 -0.560326 -0.012569
v 0.000000 -0.591655 -0.012569
v 0.089582 -0.484687 0.000002
v 0.077200 -0.484687 0.012574
v 0.064722 -0.484687 0.008798
v 0.064722 -0.484687 -0.008794
v 0.077200 -0.484687 -0.012569
v 0.061672 -0.399915 0.000002
v 0.054590 -0.409051 0.012574
v 0.045765 -0.421278 0.008798
v 0.045765 -0.421278 -0.008794
v 0.054590 -0.409051 -0.012569
v 0.000000 -0.371048 0.000002
v 0.000000 -0.377719 0.012574
v 0.000000 -0.395012 0.008798
v 0.000000 -0.395012 -0.008794
v 0.000000 -0.377719 -0.012569
v -0.061672 -0.399915 0.000002
v -0.054590 -0.409051 0.012574
v -0.045765 -0.421278 0.008798
v -0.045765 -0.421278 -0.008794
v -0.054590 -0.409051 -0.012569
v -0.089582 -0.484687 0.000002
v -0.077200 -0.484687 0.012574
v -0.064722 -0.484687 0.008798
v -0.064722 -0.484687 -0.008794
v -0.077200 -0.484687 -0.012569
v -0.061672 -0.568712 0.000002
v -0.054590 -0.560326 0.012574
v -0.045765 -0.548099 0.008798
v -0.045765 -0.548099 -0.008794
v -0.054590 -0.560326 -0.012569
v 0.000000 0.241043 0.000002
v 0.000000 0.269910 0.055211
v -0.014044 0.279047 0.048870
v -0.014044 0.247717 0.000002
v -0.009826 0.291274 0.040970
v -0.009826 0.265007 0.000002
v 0.009826 0.291274 0.040970
v 0.009826 0.265007 0.000002
v 0.014044 0.279047 0.048870
v 0.014044 0.247717 0.000002
v 0.000000 0.354683 0.080195
v -0.014044 0.354683 0.069112
v -0.009826 0.354683 0.057941
v 0.009826 0.354683 0.057941
v 0.014044 0.354683 0.069112
v 0.000000 0.439455 0.055211
v -0.014044 0.430321 0.048870
v -0.009826 0.418094 0.040970
v 0.009826 0.418094 0.040970
v 0.014044 0.430321 0.048870
v 0.000000 0.468325 0.000002
v -0.014044 0.461651 0.000002
v -0.009826 0.444361 0.000002
v 0.009826 0.444361 0.000002
v 0.014044 0.461651 0.000002
v 0.000000 0.439455 -0.055206
v -0.014044 0.430321 -0.048868
v -0.009826 0.418094 -0.040967
v 0.009826 0.418094 -0.040967
v 0.014044 0.430321 -0.048868
v 0.000000 0.354683 -0.080190
v -0.014044 0.354683 -0.069108
v -0.009826 0.354683 -0.057936
v 0.009826 0.354683 -0.057936
v 0.014044 0.354683 -0.069108
v 0.000000 0.270661 -0.055206
v -0.014044 0.279047 -0.048868
v -0.009826 0.291274 -0.040967
v 0.009826 0.291274 -0.040967
v 0.014044 0.279047 -0.048868
vt 0.187500 0.125000
vt 0.250000 0.125000
vt 0.250000 0.187500
vt 0.187500 0.187500
vt 0.250000 0.250000
vt 0.187500 0.250000
vt 0.250000 0.312500
vt 0.187500 0.312500
vt 0.250000 0.375000
vt 0.187500 0.375000
vt 0.187500 0.062500
vt 0.250000 0.062500
vt 0.312500 0.125000
vt 0.312500 0.187500
vt 0.312500 0.250000
vt 0.312500 0.312500
vt 0.312500 0.375000
vt 0.312500 0.062500
vt 0.375000 0.125000
vt 0.375000 0.187500
vt 0.375000 0.250000
vt 0.375000 0.312500
vt 0.375000 0.375000
vt 0.375000 0.062500
vt 0.437500 0.125000
vt 0.437500 0.187500
vt 0.437500 0.250000
vt 0.437500 0.312500
vt 0.437500 0.375000
vt 0.437500 0.062500
vt 0.500000 0.125000
vt 0.500000 0.187500
vt 0.500000 0.250000
vt 0.500000 0.312500
vt 0.500000 0.375000
vt 0.500000 0.062500
vt -0.000000 0.125000
vt 0.062500 0.125000
vt 0.062500 0.187500
vt -0.000000 0.187500
vt 0.062500 0.250000
vt -0.000000 0.250000
vt 0.062500 0.312500
vt -0.000000 0.312500
vt 0.062500 0.375000
vt -0.000000 0.375000
vt -0.000000 0.062500
vt 0.062500 0.062500
vt 0.125000 0.125000
vt 0.125000 0.187500
vt 0.125000 0.250000
vt 0.125000 0.312500
vt 0.125000 0.375000
vt 0.125000 0.062500
vt 0.750000 0.625000
vt 0.812500 0.625000
vt 0.812500 0.687500
vt 0.750000 0.687500
vt 0.750000 0.375000
vt 0.812500 0.375000
vt 0.812500 0.437500
vt 0.750000 0.437500
vt 0.812500 0.500000
vt 0.750000 0.500000
vt 0.812500 0.562500
vt 0.750000 0.562500
vt 0.875000 0.625000
vt 0.875000 0.687500
vt 0.875000 0.375000
vt 0.875000 0.437500
vt 0.875000 0.500000
vt 0.875000 0.562500
vt 0.937500 0.625000
vt 0.937500 0.687500
vt 0.937500 0.375000
vt 0.937500 0.437500
vt 0.937500 0.500000
vt 0.937500 0.562500
vt 1.000000 0.625000
vt 1.000000 0.687500
vt 1.000000 0.375000
vt 1.000000 0.437500
vt 1.000000 0.500000
vt 1.000000 0.562500
vt 0.500000 0.625000
vt 0.562500 0.625000
vt 0.562500 0.687500
vt 0.500000 0.687500
vt 0.562500 0.375000
vt 0.562500 0.437500
vt 0.500000 0.437500
vt 0.562500 0.500000
vt 0.500000 0.500000
vt 0.562500 0.562500
vt 0.500000 0.562500
vt 0.625000 0.625000
vt 0.625000 0.687500
vt 0.625000 0.375000
vt 0.625000 0.437500
vt 0.625000 0.500000
vt 0.625000 0.562500
vt 0.687500 0.625000
vt 0.687500 0.687500
vt 0.687500 0.375000
vt 0.687500 0.437500
vt 0.687500 0.500000
vt 0.687500 0.562500
vt 0.250000 0.625000
vt 0.312500 0.625000
vt 0.312500 0.687500
vt 0.250000 0.687500
vt 0.312500 0.437500
vt 0.250000 0.437500
vt 0.312500 0.500000
vt 0.250000 0.500000
vt 0.312500 0.562500
vt 0.250000 0.562500
vt 0.375000 0.625000
vt 0.375000 0.687500
vt 0.375000 0.437500
vt 0.375000 0.500000
vt 0.375000 0.562500
vt 0.437500 0.625000
vt 0.437500 0.687500
vt 0.437500 0.437500
vt 0.437500 0.500000
vt 0.437500 0.562500
vt -0.000000 0.625000
vt 0.062500 0.625000
vt 0.062500 0.687500
vt -0.000000 0.687500
vt 0.062500 0.437500
vt -0.000000 0.437500
vt 0.062500 0.500000
vt -0.000000 0.500000
vt 0.062500 0.562500
vt -0.000000 0.562500
vt 0.125000 0.625000
vt 0.125000 0.687500
vt 0.125000 0.437500
vt 0.125000 0.500000
vt 0.125000 0.562500
vt 0.187500 0.625000
vt 0.187500 0.687500
vt 0.187500 0.437500
vt 0.187500 0.500000
vt 0.187500 0.562500
vt 0.687500 0.750000
vt 0.750000 0.750000
vt 0.750000 0.812500
vt 0.687500 0.812500
vt 0.750000 0.875000
vt 0.687500 0.875000
vt 0.750000 0.937500
vt 0.687500 0.937500
vt 0.750000 1.000000
vt 0.687500 1.000000
vt 0.812500 0.750000
vt 0.812500 0.812500
vt 0.812500 0.875000
vt 0.812500 0.937500
vt 0.812500 1.000000
vt 0.875000 0.750000
vt 0.875000 0.812500
vt 0.875000 0.875000
vt 0.875000 0.937500
vt 0.875000 1.000000
vt 0.937500 0.750000
vt 0.937500 0.812500
vt 0.937500 0.875000
vt 0.937500 0.937500
vt 0.937500 1.000000
vt 1.000000 0.750000
vt 1.000000 0.812500
vt 1.000000 0.875000
vt 1.000000 0.937500
vt 1.000000 1.000000
vt 0.500000 0.750000
vt 0.562500 0.750000
vt 0.562500 0.812500
vt 0.500000 0.812500
vt 0.562500 0.875000
vt 0.500000 0.875000
vt 0.562500 0.937500
vt 0.500000 0.937500
vt 0.562500 1.000000
vt 0.500000 1.000000
vt 0.625000 0.750000
vt 0.625000 0.812500
vt 0.625000 0.875000
vt 0.625000 0.937500
vt 0.625000 1.000000
vt 0.750000 0.312500
vt 0.812500 0.312500
vt 0.750000 0.062500
vt 0.812500 0.062500
vt 0.812500 0.125000
vt 0.750000 0.125000
vt 0.812500 0.187500
vt 0.750000 0.187500
vt 0.812500 0.250000
vt 0.750000 0.250000
vt 0.875000 0.312500
vt 0.875000 0.062500
vt 0.875000 0.125000
vt 0.875000 0.187500
vt 0.875000 0.250000
vt 0.937500 0.312500
vt 0.937500 0.062500
vt 0.937500 0.125000
vt 0.937500 0.187500
vt 0.937500 0.250000
vt 1.000000 0.312500
vt 1.000000 0.062500
vt 1.000000 0.125000
vt 1.000000 0.187500
vt 1.000000 0.250000
vt 0.562500 0.312500
vt 0.562500 0.062500
vt 0.562500 0.125000
vt 0.562500 0.187500
vt 0.562500 0.250000
vt 0.625000 0.312500
vt 0.625000 0.062500
vt 0.625000 0.125000
vt 0.625000 0.187500
vt 0.625000 0.250000
vt 0.687500 0.312500
vt 0.687500 0.062500
vt 0.687500 0.125000
vt 0.687500 0.187500
vt 0.687500 0.250000
vt 0.250000 0.937500
vt 0.312500 0.937500
vt 0.312500 1.000000
vt 0.250000 1.000000
vt 0.312500 0.750000
vt 0.250000 0.750000
vt 0.312500 0.812500
vt 0.250000 0.812500
vt 0.312500 0.875000
vt 0.250000 0.875000
vt 0.375000 0.937500
vt 0.375000 1.000000
vt 0.375000 0.750000
vt 0.375000 0.812500
vt 0.375000 0.875000
vt 0.437500 0.937500
vt 0.437500 1.000000
vt 0.437500 0.750000
vt 0.437500 0.812500
vt 0.437500 0.875000
vt 0.000000 0.937500
vt 0.062500 0.937500
vt 0.062500 1.000000
vt 0.000000 1.000000
vt 0.062500 0.750000
vt 0.000000 0.750000
vt 0.062500 0.812500
vt 0.000000 0.812500
vt 0.062500 0.875000
vt 0.000000 0.875000
vt 0.125000 0.937500
vt 0.125000 1.000000
vt 0.125000 0.750000
vt 0.125000 0.812500
vt 0.125000 0.875000
vt 0.187500 0.937500
vt 0.187500 1.000000
vt 0.187500 0.750000
vt 0.187500 0.812500
vt 0.187500 0.875000
vn 0.000000 -1.000000 -0.004800
vn 0.000000 -0.657400 0.753500
vn -0.898300 -0.248500 0.362300
vn -0.863600 -0.504100 -0.003400
vn -0.661500 0.421500 -0.620200
vn -0.746000 0.665900 0.000000
vn 0.661500 0.421500 -0.620200
vn 0.746000 0.665900 0.000000
vn 0.898300 -0.248500 0.362300
vn 0.863600 -0.504100 -0.003400
vn 0.000000 0.000000 1.000000
vn -0.925200 0.000000 0.379500
vn -0.617100 0.000000 -0.786900
vn 0.617100 0.000000 -0.786900
vn 0.925200 0.000000 0.379500
vn 0.000000 0.657400 0.753500
vn -0.898300 0.248400 0.362300
vn -0.661500 -0.421500 -0.620200
vn 0.661500 -0.421500 -0.620200
vn 0.898300 0.248400 0.362300
vn 0.000000 1.000000 0.000000
vn -0.866100 0.499800 0.000000
vn -0.746000 -0.665900 0.000000
vn 0.746000 -0.665900 0.000000
vn 0.866100 0.499800 0.000000
vn 0.000000 0.657400 -0.753500
vn -0.898300 0.248400 -0.362400
vn -0.661600 -0.421500 0.620200
vn 0.661500 -0.421500 0.620200
vn 0.898300 0.248400 -0.362300
vn 0.000000 -0.000900 -1.000000
vn -0.924600 -0.000600 -0.380700
vn -0.617100 0.000000 0.786900
vn 0.617100 0.000000 0.786900
vn 0.924700 -0.000600 -0.380700
vn 0.000000 -0.650300 -0.759600
vn -0.895600 -0.254600 -0.364800
vn -0.661600 0.421500 0.620200
vn 0.661600 0.421500 0.620200
vn 0.895600 -0.254600 -0.364800
vn 0.004900 -1.000000 0.000000
vn -0.729700 -0.683800 0.000000
vn -0.324500 -0.256300 -0.910500
vn 0.003300 -0.475500 -0.879700
vn 0.578700 0.436200 -0.689100
vn 0.000000 0.666600 -0.745400
vn 0.578700 0.436200 0.689100
vn 0.000000 0.666600 0.745400
vn -0.324500 -0.256300 0.910500
vn 0.003300 -0.475500 0.879700
vn -1.000000 0.000000 0.000000
vn -0.359600 0.000000 -0.933100
vn 0.756400 0.000000 -0.654100
vn 0.756400 0.000000 0.654100
vn -0.359600 0.000000 0.933100
vn -0.729700 0.683700 0.000000
vn -0.324500 0.256300 -0.910500
vn 0.578700 -0.436200 -0.689100
vn 0.578700 -0.436200 0.689100
vn -0.324500 0.256300 0.910500
vn 0.000000 0.470900 -0.882200
vn 0.000000 -0.666600 -0.745400
vn 0.000000 -0.666600 0.745400
vn 0.000000 0.470900 0.882200
vn 0.729700 0.683700 0.000000
vn 0.324500 0.256300 -0.910500
vn -0.578700 -0.436200 -0.689100
vn -0.578700 -0.436200 0.689100
vn 0.324500 0.256300 0.910500
vn 1.000000 -0.001100 0.000000
vn 0.361000 -0.000700 -0.932600
vn -0.756400 0.000000 -0.654100
vn -0.756400 0.000000 0.654100
vn 0.361000 -0.000700 0.932600
vn 0.736100 -0.676800 0.000000
vn 0.327100 -0.263100 -0.907600
vn -0.578700 0.436200 -0.689100
vn -0.578700 0.436200 0.689100
vn 0.327100 -0.263100 0.907600
vn -0.004900 -1.000000 0.000000
vn 0.729700 -0.683800 0.000000
vn 0.324500 -0.256300 0.910500
vn -0.003300 -0.475400 0.879700
vn 0.324500 -0.256300 -0.910500
vn -0.003300 -0.475400 -0.879700
vn 1.000000 0.000000 0.000000
vn 0.359600 0.000000 0.933100
vn 0.359600 0.000000 -0.933100
vn -1.000000 -0.001100 0.000000
vn -0.361000 -0.000700 0.932600
vn -0.361000 -0.000700 -0.932600
vn -0.736100 -0.676800 0.000000
vn -0.327100 -0.263100 0.907600
vn -0.327100 -0.263100 -0.907600
vn 0.000000 -1.000000 0.004800
vn 0.000000 -0.657400 -0.753500
vn 0.898300 -0.248500 -0.362400
vn 0.863600 -0.504100 0.003400
vn -0.898300 -0.248500 -0.362400
vn -0.863600 -0.504100 0.003400
vn 0.000000 0.000000 -1.000000
vn 0.925200 0.000000 -0.379500
vn -0.925200 0.000000 -0.379500
vn 0.898300 0.248500 -0.362400
vn 0.661600 -0.421500 0.620200
vn -0.898300 0.248500 -0.362400
vn 0.898300 0.248500 0.362300
vn -0.898300 0.248500 0.362300
vn 0.000000 -0.000900 1.000000
vn 0.924700 -0.000600 0.380700
vn -0.924700 -0.000600 0.380700
vn 0.000000 -0.650300 0.759600
vn 0.895600 -0.254600 0.364700
vn -0.895600 -0.254600 0.364700
vn 0.729700 -0.683700 0.000000
vn 0.729700 0.683800 0.000000
vn -0.729700 0.683800 0.000000
vn -0.898300 -0.248400 0.362300
vn -0.863600 -0.504100 -0.003500
vn 0.898300 -0.248400 0.362300
vn 0.863600 -0.504100 -0.003500
vn -0.661500 -0.421500 0.620200
vn 0.924600 -0.000600 -0.380700
vn -0.661500 0.421500 0.620200
vn 0.661500 0.421500 0.620200
s 1
f 1/1/1 2/2/2 3/3/3 4/4/4
f 4/4/4 3/3/3 5/5/5 6/6/6
f 6/6/6 5/5/5 7/7/7 8/8/8
f 8/8/8 7/7/7 9/9/9 10/10/10
f 1/1/1 10/11/10 9/12/9 2/2/2
f 2/2/2 11/13/11 12/14/12 3/3/3
f 3/3/3 12/14/12 13/15/13 5/5/5
f 5/5/5 13/15/13 14/16/14 7/7/7
f 7/7/7 14/16/14 15/17/15 9/9/9
f 9/12/9 15/18/15 11/13/11 2/2/2
f 11/13/11 16/19/16 17/20/17 12/14/12
f 12/14/12 17/20/17 18/21/18 13/15/13
f 13/15/13 18/21/18 19/22/19 14/16/14
f 14/16/14 19/22/19 20/23/20 15/17/15
f 15/18/15 20/24/20 16/19/16 11/13/11
f 16/19/16 21/25/21 22/26/22 17/20/17
f 17/20/17 22/26/22 23/27/23 18/21/18
f 18/21/18 23/27/23 24/28/24 19/22/19
f 19/22/19 24/28/24 25/29/25 20/23/20
f 20/24/20 25/30/25 21/25/21 16/19/16
f 21/25/21 26/31/26 27/32/27 22/26/22
f 22/26/22 27/32/27 28/33/28 23/27/23
f 23/27/23 28/33/28 29/34/29 24/28/24
f 24/28/24 29/34/29 30/35/30 25/29/25
f 25/30/25 30/36/30 26/31/26 21/25/21
f 26/37/26 31/38/31 32/39/32 27/40/27
f 27/40/27 32/39/32 33/41/33 28/42/28
f 28/42/28 33/41/33 34/43/34 29/44/29
f 29/44/29 34/43/34 35/45/35 30/46/30
f 30/47/30 35/48/35 31/38/31 26/37/26
f 31/38/31 36/49/36 37/50/37 32/39/32
f 32/39/32 37/50/37 38/51/38 33/41/33
f 33/41/33 38/51/38 39/52/39 34/43/34
f 34/43/34 39/52/39 40/53/40 35/45/35
f 35/48/35 40/54/40 36/49/36 31/38/31
f 36/49/36 1/1/1 4/4/4 37/50/37
f 37/50/37 4/4/4 6/6/6 38/51/38
f 38/51/38 6/6/6 8/8/8 39/52/39
f 39/52/39 8/8/8 10/10/10 40/53/40
f 1/1/1 36/49/36 40/54/40 10/11/10
f 41/55/41 42/56/42 43/57/43 44/58/44
f 44/59/44 43/60/43 45/61/45 46/62/46
f 46/62/46 45/61/45 47/63/47 48/64/48
f 48/64/48 47/63/47 49/65/49 50/66/50
f 41/55/41 50/66/50 49/65/49 42/56/42
f 42/56/42 51/67/51 52/68/52 43/57/43
f 43/60/43 52/69/52 53/70/53 45/61/45
f 45/61/45 53/70/53 54/71/54 47/63/47
f 47/63/47 54/71/54 55/72/55 49/65/49
f 49/65/49 55/72/55 51/67/51 42/56/42
f 51/67/51 56/73/56 57/74/57 52/68/52
f 52/69/52 57/75/57 58/76/58 53/70/53
f 53/70/53 58/76/58 59/77/59 54/71/54
f 54/71/54 59/77/59 60/78/60 55/72/55
f 55/72/55 60/78/60 56/73/56 51/67/51
f 56/73/56 61/79/21 62/80/61 57/74/57
f 57/75/57 62/81/61 63/82/62 58/76/58
f 58/76/58 63/82/62 64/83/63 59/77/59
f 59/77/59 64/83/63 65/84/64 60/78/60
f 60/78/60 65/84/64 61/79/21 56/73/56
f 61/85/21 66/86/65 67/87/66 62/88/61
f 62/35/61 67/89/66 68/90/67 63/91/62
f 63/91/62 68/90/67 69/92/68 64/93/63
f 64/93/63 69/92/68 70/94/69 65/95/64
f 65/95/64 70/94/69 66/86/65 61/85/21
f 66/86/65 71/96/70 72/97/71 67/87/66
f 67/89/66 72/98/71 73/99/72 68/90/67
f 68/90/67 73/99/72 74/100/73 69/92/68
f 69/92/68 74/100/73 75/101/74 70/94/69
f 70/94/69 75/101/74 71/96/70 66/86/65
f 71/96/70 76/102/75 77/103/76 72/97/71
f 72/98/71 77/104/76 78/105/77 73/99/72
f 73/99/72 78/105/77 79/106/78 74/100/73
f 74/100/73 79/106/78 80/107/79 75/101/74
f 75/101/74 80/107/79 76/102/75 71/96/70
f 76/102/75 41/55/41 44/58/44 77/103/76
f 77/104/76 44/59/44 46/62/46 78/105/77
f 78/105/77 46/62/46 48/64/48 79/106/78
f 79/106/78 48/64/48 50/66/50 80/107/79
f 41/55/41 76/102/75 80/107/79 50/66/50
f 81/108/80 82/109/81 83/110/82 84/111/83
f 84/9/83 83/17/82 85/112/78 86/113/48
f 86/113/48 85/112/78 87/114/77 88/115/46
f 88/115/46 87/114/77 89/116/84 90/117/85
f 81/108/80 90/117/85 89/116/84 82/109/81
f 82/109/81 91/118/86 92/119/87 83/110/82
f 83/17/82 92/23/87 93/120/73 85/112/78
f 85/112/78 93/120/73 94/121/72 87/114/77
f 87/114/77 94/121/72 95/122/88 89/116/84
f 89/116/84 95/122/88 91/118/86 82/109/81
f 91/118/86 96/123/65 97/124/69 92/119/87
f 92/23/87 97/29/69 98/125/68 93/120/73
f 93/120/73 98/125/68 99/126/67 94/121/72
f 94/121/72 99/126/67 100/127/66 95/122/88
f 95/122/88 100/127/66 96/123/65 91/118/86
f 96/123/65 101/85/21 102/88/64 97/124/69
f 97/29/69 102/35/64 103/91/63 98/125/68
f 98/125/68 103/91/63 104/93/62 99/126/67
f 99/126/67 104/93/62 105/95/61 100/127/66
f 100/127/66 105/95/61 101/85/21 96/123/65
f 101/128/21 106/129/56 107/130/60 102/131/64
f 102/46/64 107/45/60 108/132/59 103/133/63
f 103/133/63 108/132/59 109/134/58 104/135/62
f 104/135/62 109/134/58 110/136/57 105/137/61
f 105/137/61 110/136/57 106/129/56 101/128/21
f 106/129/56 111/138/89 112/139/90 107/130/60
f 107/45/60 112/53/90 113/140/54 108/132/59
f 108/132/59 113/140/54 114/141/53 109/134/58
f 109/134/58 114/141/53 115/142/91 110/136/57
f 110/136/57 115/142/91 111/138/89 106/129/56
f 111/138/89 116/143/92 117/144/93 112/139/90
f 112/53/90 117/10/93 118/145/47 113/140/54
f 113/140/54 118/145/47 119/146/45 114/141/53
f 114/141/53 119/146/45 120/147/94 115/142/91
f 115/142/91 120/147/94 116/143/92 111/138/89
f 116/143/92 81/108/80 84/111/83 117/144/93
f 117/10/93 84/9/83 86/113/48 118/145/47
f 118/145/47 86/113/48 88/115/46 119/146/45
f 119/146/45 88/115/46 90/117/85 120/147/94
f 81/108/80 116/143/92 120/147/94 90/117/85
f 121/148/95 122/149/96 123/150/97 124/151/98
f 124/151/98 123/150/97 125/152/39 126/153/8
f 126/153/8 125/152/39 127/154/38 128/155/6
f 128/155/6 127/154/38 129/156/99 130/157/100
f 121/148/95 130/103/100 129/58/99 122/149/96
f 122/149/96 131/158/101 132/159/102 123/150/97
f 123/150/97 132/159/102 133/160/34 125/152/39
f 125/152/39 133/160/34 134/161/33 127/154/38
f 127/154/38 134/161/33 135/162/103 129/156/99
f 129/58/99 135/57/103 131/158/101 122/149/96
f 131/158/101 136/163/26 137/164/104 132/159/102
f 132/159/102 137/164/104 138/165/105 133/160/34
f 133/160/34 138/165/105 139/166/28 134/161/33
f 134/161/33 139/166/28 140/167/106 135/162/103
f 135/57/103 140/68/106 136/163/26 131/158/101
f 136/163/26 141/168/21 142/169/25 137/164/104
f 137/164/104 142/169/25 143/170/24 138/165/105
f 138/165/105 143/170/24 144/171/23 139/166/28
f 139/166/28 144/171/23 145/172/22 140/167/106
f 140/68/106 145/74/22 141/168/21 136/163/26
f 141/168/21 146/173/16 147/174/107 142/169/25
f 142/169/25 147/174/107 148/175/19 143/170/24
f 143/170/24 148/175/19 149/176/18 144/171/23
f 144/171/23 149/176/18 150/177/108 145/172/22
f 145/74/22 150/80/108 146/173/16 141/168/21
f 146/178/16 151/179/109 152/180/110 147/181/107
f 147/181/107 152/180/110 153/182/14 148/183/19
f 148/183/19 153/182/14 154/184/13 149/185/18
f 149/185/18 154/184/13 155/186/111 150/187/108
f 150/88/108 155/87/111 151/179/109 146/178/16
f 151/179/109 156/188/112 157/189/113 152/180/110
f 152/180/110 157/189/113 158/190/7 153/182/14
f 153/182/14 158/190/7 159/191/5 154/184/13
f 154/184/13 159/191/5 160/192/114 155/186/111
f 155/87/111 160/97/114 156/188/112 151/179/109
f 156/188/112 121/148/95 124/151/98 157/189/113
f 157/189/113 124/151/98 126/153/8 158/190/7
f 158/190/7 126/153/8 128/155/6 159/191/5
f 159/191/5 128/155/6 130/157/100 160/192/114
f 121/148/95 156/188/112 160/97/114 130/103/100
f 161/193/80 162/194/115 163/60/82 164/59/83
f 164/195/83 163/196/82 165/197/78 166/198/48
f 166/198/48 165/197/78 167/199/77 168/200/46
f 168/200/46 167/199/77 169/201/84 170/202/85
f 161/193/80 170/202/85 169/201/84 162/194/115
f 162/194/115 171/203/86 172/69/87 163/60/82
f 163/196/82 172/204/87 173/205/73 165/197/78
f 165/197/78 173/205/73 174/206/72 167/199/77
f 167/199/77 174/206/72 175/207/88 169/201/84
f 169/201/84 175/207/88 171/203/86 162/194/115
f 171/203/86 176/208/116 177/75/69 172/69/87
f 172/204/87 177/209/69 178/210/68 173/205/73
f 173/205/73 178/210/68 179/211/67 174/206/72
f 174/206/72 179/211/67 180/212/66 175/207/88
f 175/207/88 180/212/66 176/208/116 171/203/86
f 176/208/116 181/213/21 182/81/64 177/75/69
f 177/209/69 182/214/64 183/215/63 178/210/68
f 178/210/68 183/215/63 184/216/62 179/211/67
f 179/211/67 184/216/62 185/217/61 180/212/66
f 180/212/66 185/217/61 181/213/21 176/208/116
f 181/34/21 186/218/117 187/89/60 182/35/64
f 182/36/64 187/219/60 188/220/59 183/31/63
f 183/31/63 188/220/59 189/221/58 184/32/62
f 184/32/62 189/221/58 190/222/57 185/33/61
f 185/33/61 190/222/57 186/218/117 181/34/21
f 186/218/117 191/223/89 192/98/90 187/89/60
f 187/219/60 192/224/90 193/225/54 188/220/59
f 188/220/59 193/225/54 194/226/53 189/221/58
f 189/221/58 194/226/53 195/227/91 190/222/57
f 190/222/57 195/227/91 191/223/89 186/218/117
f 191/223/89 196/228/92 197/104/93 192/98/90
f 192/224/90 197/229/93 198/230/47 193/225/54
f 193/225/54 198/230/47 199/231/45 194/226/53
f 194/226/53 199/231/45 200/232/94 195/227/91
f 195/227/91 200/232/94 196/228/92 191/223/89
f 196/228/92 161/193/80 164/59/83 197/104/93
f 197/229/93 164/195/83 166/198/48 198/230/47
f 198/230/47 166/198/48 168/200/46 199/231/45
f 199/231/45 168/200/46 170/202/85 200/232/94
f 161/193/80 196/228/92 200/232/94 170/202/85
f 201/233/1 202/234/2 203/235/118 204/236/119
f 204/111/119 203/110/118 205/237/5 206/238/6
f 206/238/6 205/237/5 207/239/7 208/240/8
f 208/240/8 207/239/7 209/241/120 210/242/121
f 201/233/1 210/242/121 209/241/120 202/234/2
f 202/234/2 211/243/11 212/244/12 203/235/118
f 203/110/118 212/119/12 213/245/13 205/237/5
f 205/237/5 213/245/13 214/246/14 207/239/7
f 207/239/7 214/246/14 215/247/15 209/241/120
f 209/241/120 215/247/15 211/243/11 202/234/2
f 211/243/11 216/248/16 217/249/108 212/244/12
f 212/119/12 217/124/108 218/250/18 213/245/13
f 213/245/13 218/250/18 219/251/19 214/246/14
f 214/246/14 219/251/19 220/252/107 215/247/15
f 215/247/15 220/252/107 216/248/16 211/243/11
f 216/248/16 221/185/21 222/187/22 217/249/108
f 217/124/108 222/88/22 223/178/23 218/250/18
f 218/250/18 223/178/23 224/181/24 219/251/19
f 219/251/19 224/181/24 225/183/25 220/252/107
f 220/252/107 225/183/25 221/185/21 216/248/16
f 221/253/21 226/254/26 227/255/106 222/256/22
f 222/131/22 227/130/106 228/257/122 223/258/23
f 223/258/23 228/257/122 229/259/29 224/260/24
f 224/260/24 229/259/29 230/261/104 225/262/25
f 225/262/25 230/261/104 226/254/26 221/253/21
f 226/254/26 231/263/31 232/264/32 227/255/106
f 227/130/106 232/139/32 233/265/33 228/257/122
f 228/257/122 233/265/33 234/266/34 229/259/29
f 229/259/29 234/266/34 235/267/123 230/261/104
f 230/261/104 235/267/123 231/263/31 226/254/26
f 231/263/31 236/268/36 237/269/37 232/264/32
f 232/139/32 237/144/37 238/270/124 233/265/33
f 233/265/33 238/270/124 239/271/125 234/266/34
f 234/266/34 239/271/125 240/272/40 235/267/123
f 235/267/123 240/272/40 236/268/36 231/263/31
f 236/268/36 201/233/1 204/236/119 237/269/37
f 237/144/37 204/111/119 206/238/6 238/270/124
f 238/270/124 206/238/6 208/240/8 239/271/125
f 239/271/125 208/240/8 210/242/121 240/272/40
f 201/233/1 236/268/36 240/272/40 210/242/121

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 386 B

View File

@ -33,10 +33,6 @@ computer:admiral128
There's also a `computer:computer' alias to `computer:babytower'.
License:
Sourcecode: WTFPL (see below)
Graphics: WTFPL (see below)
Thanks to all the people in the forums and the #minetest IRC channel for
their support and suggestions; in no particular order:
OldCoder, Josh, tonyka, VanessaE, davidpace, Jordach, and all the other
@ -45,17 +41,3 @@ Thanks to all the people in the forums and the #minetest IRC channel for
See also:
http://minetest.net/
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2012 Diego Martínez <lkaezadl3@gmail.com>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.

View File

@ -1,5 +1,5 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
-- Amiga 500 lookalike
computer.register("computer:shefriendSOO", {

View File

@ -1,2 +1,2 @@
default
homedecor_i18n
homedecor_common

View File

@ -1,14 +1,12 @@
-- Copyright (C) 2012-2013 Diego Martínez <kaeza@users.sf.net>
-- License is WTFPL (see README.txt).
-- This file defines some items in order to not have to depend on other mods.
local S = homedecor_i18n.gettext
local S = homedecor.gettext
if (not minetest.get_modpath("homedecor")) then
minetest.register_craftitem(":homedecor:plastic_sheeting", {
minetest.register_craftitem(":basic_materials:plastic_sheet", {
description = S("Plastic sheet"),
inventory_image = "homedecor_plastic_sheeting.png",
})
@ -51,7 +49,7 @@ if (not minetest.get_modpath("homedecor")) then
minetest.register_craft({
type = "cooking",
output = "homedecor:plastic_sheeting",
output = "basic_materials:plastic_sheet",
recipe = "homedecor:plastic_base",
})
@ -63,7 +61,7 @@ if (not minetest.get_modpath("homedecor")) then
minetest.register_craft({
type = 'fuel',
recipe = 'homedecor:plastic_sheeting',
recipe = 'basic_materials:plastic_sheet',
burntime = 30,
})

View File

@ -1,54 +1,52 @@
-- Copyright (C) 2012-2013 Diego Martínez <kaeza@users.sf.net>
-- License is WTFPL (see README.txt).
minetest.register_craft({
output = "computer:shefriendSOO",
recipe = {
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
{ "homedecor:plastic_sheeting", "default:glass", "homedecor:plastic_sheeting" },
{ "homedecor:plastic_sheeting", "group:wood", "homedecor:plastic_sheeting" }
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "default:glass", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "group:wood", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:slaystation",
recipe = {
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
{ "homedecor:plastic_sheeting", "group:wood", "homedecor:plastic_sheeting" }
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "group:wood", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:vanio",
recipe = {
{ "homedecor:plastic_sheeting", "", "" },
{ "basic_materials:plastic_sheet", "", "" },
{ "default:glass", "", "" },
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:specter",
recipe = {
{ "", "", "homedecor:plastic_sheeting" },
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }
{ "", "", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:slaystation2",
recipe = {
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
{ "homedecor:plastic_sheeting", "default:steel_ingot", "homedecor:plastic_sheeting" }
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "default:steel_ingot", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:admiral64",
recipe = {
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "group:wood", "group:wood", "group:wood" }
}
})
@ -56,7 +54,7 @@ minetest.register_craft({
minetest.register_craft({
output = "computer:admiral128",
recipe = {
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }
}
})
@ -64,16 +62,16 @@ minetest.register_craft({
minetest.register_craft({
output = "computer:wee",
recipe = {
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
{ "homedecor:plastic_sheeting", "default:copper_ingot", "homedecor:plastic_sheeting" }
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "default:copper_ingot", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:piepad",
recipe = {
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
{ "homedecor:plastic_sheeting", "default:glass", "homedecor:plastic_sheeting" }
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "default:glass", "basic_materials:plastic_sheet" }
}
})
@ -82,9 +80,9 @@ minetest.register_craft({
minetest.register_craft({
output = "computer:monitor",
recipe = {
{ "homedecor:plastic_sheeting", "default:glass","" },
{ "homedecor:plastic_sheeting", "default:glass","" },
{ "homedecor:plastic_sheeting", "default:mese_crystal_fragment", "homedecor:plastic_sheeting" }
{ "basic_materials:plastic_sheet", "default:glass","" },
{ "basic_materials:plastic_sheet", "default:glass","" },
{ "basic_materials:plastic_sheet", "default:mese_crystal_fragment", "basic_materials:plastic_sheet" }
}
})
@ -92,35 +90,35 @@ minetest.register_craft({
output = "computer:router",
recipe = {
{ "default:steel_ingot","","" },
{ "default:steel_ingot" ,"homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
{ "default:mese_crystal_fragment","homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }
{ "default:steel_ingot" ,"basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "default:mese_crystal_fragment","basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:tower",
recipe = {
{ "homedecor:plastic_sheeting", "default:steel_ingot", "homedecor:plastic_sheeting" },
{ "homedecor:plastic_sheeting", "default:mese_crystal", "homedecor:plastic_sheeting" },
{ "homedecor:plastic_sheeting", "default:steel_ingot", "homedecor:plastic_sheeting" }
{ "basic_materials:plastic_sheet", "default:steel_ingot", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "default:mese_crystal", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "default:steel_ingot", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:printer",
recipe = {
{ "homedecor:plastic_sheeting", "default:steel_ingot","" },
{ "homedecor:plastic_sheeting", "default:mese_crystal", "homedecor:plastic_sheeting" },
{ "homedecor:plastic_sheeting", "default:coal_lump", "homedecor:plastic_sheeting" }
{ "basic_materials:plastic_sheet", "default:steel_ingot","" },
{ "basic_materials:plastic_sheet", "default:mese_crystal", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "default:coal_lump", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:printer",
recipe = {
{ "homedecor:plastic_sheeting", "default:steel_ingot","" },
{ "homedecor:plastic_sheeting", "default:mese_crystal", "homedecor:plastic_sheeting" },
{ "homedecor:plastic_sheeting", "dye:black", "homedecor:plastic_sheeting", }
{ "basic_materials:plastic_sheet", "default:steel_ingot","" },
{ "basic_materials:plastic_sheet", "default:mese_crystal", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "dye:black", "basic_materials:plastic_sheet", }
}
})
@ -136,8 +134,8 @@ minetest.register_craft({
minetest.register_craft({
output = "computer:tetris_arcade",
recipe = {
{ "homedecor:plastic_sheeting", "homedecor:power_crystal", "homedecor:plastic_sheeting", },
{ "basic_materials:plastic_sheet", "basic_materials:energy_crystal", "basic_materials:plastic_sheet", },
{ "dye:black", "default:glass", "dye:black" },
{ "homedecor:plastic_sheeting", "homedecor:power_crystal", "homedecor:plastic_sheeting" }
{ "basic_materials:plastic_sheet", "basic_materials:energy_crystal", "basic_materials:plastic_sheet" }
}
})

View File

@ -1,5 +1,5 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
local shapes = {
{ { x = {0, 1, 0, 1}, y = {0, 0, 1, 1} } },
@ -231,7 +231,7 @@ local function step(pos, fields)
local scr = { formsize, background,
t.boardstring, t.previewstring,
draw_shape(t.cur, t.x, t.y, t.rot, boardx, boardy),
"label[3.8,0.1;"..S("Next...").."]label[3.8,2.7;"..S("Score: "),
"label[3.8,0.1;"..S("Next...").."]label[3.8,2.7;"..S("Score: "),
t.score, close, buttons }

20
copyright.txt Normal file
View File

@ -0,0 +1,20 @@
Most code and textures by Vanessa Ezekowitz.
Some code copied and modified from the game's default mods (especially
doors) and ironzorg's flowers mod.
Whatever is stated here applies to all homedecor modpack components, as
appropriate.
Licenses:
* Door open/close sound by Slanesh on freesound.org
http://freesound.org/people/Slanesh/sounds/31768/
* Gate open/close by j1987 on freesound.org
http://freesound.org/people/j1987/sounds/106116/
* Doorbell sound by guitarguy1985 on freesound.org
http://freesound.org/people/guitarguy1985/sounds/69384/
* Book soundn by mckinneysound's on http://www.freesfx.co.uk/
http://www.freesfx.co.uk/sfx/book?p=3
* Phone ringing sound by andyt's on http://www.freesfx.co.uk/
http://www.freesfx.co.uk/sfx/phone?p=5

View File

@ -1,2 +1,2 @@
default
homedecor
default
homedecor_common

View File

@ -1,5 +1,5 @@
local S = homedecor_i18n.gettext
local S = homedecor.gettext
screwdriver = screwdriver or {}

View File

@ -1,166 +0,0 @@
local S = homedecor_i18n.gettext
minetest.register_node("homedecor:bathroom_tiles_dark", {
description = S("Bathroom/kitchen tiles (dark)"),
tiles = {
"homedecor_bathroom_tiles_bg.png"
},
overlay_tiles = {
{ name = "homedecor_bathroom_tiles_fg.png", color = 0xff606060 },
},
paramtype = "light",
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png",
groups = {cracky=3, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(),
on_construct = unifieddyes.on_construct,
})
minetest.register_node("homedecor:bathroom_tiles_medium", {
description = S("Bathroom/kitchen tiles (medium)"),
tiles = {
"homedecor_bathroom_tiles_bg.png"
},
overlay_tiles = {
{ name = "homedecor_bathroom_tiles_fg.png", color = 0xffc0c0c0 },
},
paramtype = "light",
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png",
groups = {cracky=3, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(),
on_construct = unifieddyes.on_construct,
})
minetest.register_node("homedecor:bathroom_tiles_light", {
description = S("Bathroom/kitchen tiles (light)"),
tiles = {
"homedecor_bathroom_tiles_bg.png"
},
overlay_tiles = {
{ name = "homedecor_bathroom_tiles_fg.png", color = 0xffffffff },
},
paramtype = "light",
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png",
groups = {cracky=3, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(),
on_construct = unifieddyes.on_construct,
})
local tr_cbox = {
type = "fixed",
fixed = { -0.375, -0.3125, 0.25, 0.375, 0.375, 0.5 }
}
homedecor.register("towel_rod", {
description = S("Towel rod with towel"),
mesh = "homedecor_towel_rod.obj",
tiles = {
"homedecor_generic_terrycloth.png",
"default_wood.png",
},
inventory_image = "homedecor_towel_rod_inv.png",
selection_box = tr_cbox,
walkable = false,
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3},
sounds = default.node_sound_defaults(),
})
homedecor.register("medicine_cabinet", {
description = S("Medicine cabinet"),
mesh = "homedecor_medicine_cabinet.obj",
tiles = {
'default_wood.png',
'homedecor_medicine_cabinet_mirror.png'
},
inventory_image = "homedecor_medicine_cabinet_inv.png",
selection_box = {
type = "fixed",
fixed = {-0.3125, -0.1875, 0.3125, 0.3125, 0.5, 0.5}
},
walkable = false,
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
on_punch = function(pos, node, puncher, pointed_thing)
node.name = "homedecor:medicine_cabinet_open"
minetest.swap_node(pos, node)
end,
infotext=S("Medicine cabinet"),
inventory = {
size=6,
},
})
homedecor.register("medicine_cabinet_open", {
mesh = "homedecor_medicine_cabinet_open.obj",
tiles = {
'default_wood.png',
'homedecor_medicine_cabinet_mirror.png',
'homedecor_medicine_cabinet_inside.png'
},
selection_box = {
type = "fixed",
fixed = {-0.3125, -0.1875, -0.25, 0.3125, 0.5, 0.5}
},
walkable = false,
groups = { snappy = 3, not_in_creative_inventory=1 },
drop = "homedecor:medicine_cabinet",
on_punch = function(pos, node, puncher, pointed_thing)
node.name = "homedecor:medicine_cabinet"
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
})

View File

@ -1,326 +0,0 @@
local S = homedecor_i18n.gettext
local toilet_sbox = {
type = "fixed",
fixed = { -6/16, -8/16, -8/16, 6/16, 9/16, 8/16 },
}
local toilet_cbox = {
type = "fixed",
fixed = {
{-6/16, -8/16, -8/16, 6/16, 1/16, 8/16 },
{-6/16, -8/16, 4/16, 6/16, 9/16, 8/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 }
},
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)
node.name = "homedecor:toilet_open"
minetest.set_node(pos, node)
end
})
homedecor.register("toilet_open", {
mesh = "homedecor_toilet_open.obj",
tiles = {
"homedecor_marble.png",
"homedecor_marble.png",
"homedecor_marble.png",
"default_water.png",
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }
},
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)
node.name = "homedecor:toilet"
minetest.set_node(pos, node)
minetest.sound_play("homedecor_toilet_flush", {
pos=pos,
max_hear_distance = 5,
gain = 1,
})
end
})
-- toilet paper :-)
local tp_cbox = {
type = "fixed",
fixed = { -0.25, 0.125, 0.0625, 0.1875, 0.4375, 0.5 }
}
homedecor.register("toilet_paper", {
description = S("Toilet paper"),
mesh = "homedecor_toilet_paper.obj",
tiles = {
"homedecor_generic_quilted_paper.png",
"default_wood.png"
},
inventory_image = "homedecor_toilet_paper_inv.png",
selection_box = tp_cbox,
walkable = false,
groups = {snappy=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_defaults(),
})
--Sink
local sink_cbox = {
type = "fixed",
fixed = { -5/16, -8/16, 1/16, 5/16, 8/16, 8/16 }
}
homedecor.register("sink", {
description = S("Bathroom Sink"),
mesh = "homedecor_bathroom_sink.obj",
tiles = {
"homedecor_marble.png",
"homedecor_marble.png",
"default_water.png"
},
inventory_image="homedecor_bathroom_sink_inv.png",
selection_box = sink_cbox,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
node_box = {
type = "fixed",
fixed = {
{ -5/16, 5/16, 1/16, -4/16, 8/16, 8/16 },
{ 5/16, 5/16, 1/16, 4/16, 8/16, 8/16 },
{ -5/16, 5/16, 1/16, 5/16, 8/16, 2/16 },
{ -5/16, 5/16, 6/16, 5/16, 8/16, 8/16 },
{ -4/16, -8/16, 1/16, 4/16, 5/16, 6/16 }
}
},
on_destruct = function(pos)
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+1, z=pos.z})
end
})
--Taps
local function taps_on_rightclick(pos, node, clicker, itemstack, pointed_thing)
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
if below and
below.name == "homedecor:shower_tray" or
below.name == "homedecor:sink" or
below.name == "homedecor:kitchen_cabinet_with_sink" or
below.name == "homedecor:kitchen_cabinet_with_sink_locked" then
local particledef = {
outlet = { x = 0, y = -0.44, z = 0.28 },
velocity_x = { min = -0.1, max = 0.1 },
velocity_y = -0.3,
velocity_z = { min = -0.1, max = 0 },
spread = 0
}
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_faucet")
end
return itemstack
end
homedecor.register("taps", {
description = S("Bathroom taps/faucet"),
mesh = "homedecor_bathroom_faucet.obj",
tiles = {
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
"homedecor_generic_metal_bright.png",
"homedecor_generic_metal.png",
"homedecor_generic_metal_bright.png"
},
inventory_image = "3dforniture_taps_inv.png",
wield_image = "3dforniture_taps_inv.png",
selection_box = {
type = "fixed",
fixed = { -4/16, -7/16, 4/16, 4/16, -4/16, 8/16 },
},
walkable = false,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
on_rightclick = taps_on_rightclick,
on_destruct = homedecor.stop_particle_spawner,
on_rotate = screwdriver.disallow
})
homedecor.register("taps_brass", {
description = S("Bathroom taps/faucet (brass)"),
mesh = "homedecor_bathroom_faucet.obj",
tiles = {
"homedecor_generic_metal_brass.png",
"homedecor_generic_metal_brass.png",
"homedecor_generic_metal.png",
"homedecor_generic_metal_brass.png"
},
inventory_image = "3dforniture_taps_brass_inv.png",
wield_image = "3dforniture_taps_brass_inv.png",
selection_box = {
type = "fixed",
fixed = { -4/16, -7/16, 4/16, 4/16, -4/16, 8/16 },
},
walkable = false,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
on_rightclick = taps_on_rightclick,
on_destruct = homedecor.stop_particle_spawner,
on_rotate = screwdriver.disallow
})
--Shower Tray
homedecor.register("shower_tray", {
description = S("Shower Tray"),
tiles = {
"forniture_marble_base_ducha_top.png",
"homedecor_marble.png"
},
node_box = {
type = "fixed",
fixed = {
{ -0.5, -0.5, -0.5, 0.5, -0.45, 0.5 },
{ -0.5, -0.45, -0.5, 0.5, -0.4, -0.45 },
{ -0.5, -0.45, 0.45, 0.5, -0.4, 0.5 },
{ -0.5, -0.45, -0.45, -0.45, -0.4, 0.45 },
{ 0.45, -0.45, -0.45, 0.5, -0.4, 0.45 }
},
},
selection_box = homedecor.nodebox.slab_y(0.1),
groups = {cracky=2},
sounds = default.node_sound_stone_defaults(),
on_destruct = function(pos)
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+2, z=pos.z}) -- the showerhead
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+1, z=pos.z}) -- the taps, if any
end
})
--Shower Head
local sh_cbox = {
type = "fixed",
fixed = { -0.2, -0.4, -0.05, 0.2, 0.1, 0.5 }
}
homedecor.register("shower_head", {
drawtype = "mesh",
mesh = "homedecor_shower_head.obj",
tiles = {
"homedecor_generic_metal.png",
"homedecor_shower_head.png"
},
inventory_image = "homedecor_shower_head_inv.png",
description = S("Shower Head"),
groups = {snappy=3},
selection_box = sh_cbox,
walkable = false,
on_rotate = screwdriver.disallow,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-2.0, z=pos.z})
if below and below.name == "homedecor:shower_tray" then
local particledef = {
outlet = { x = 0, y = -0.42, z = 0.1 },
velocity_x = { min = -0.15, max = 0.15 },
velocity_y = -2,
velocity_z = { min = -0.3, max = 0.1 },
spread = 0.12
}
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_shower")
end
return itemstack
end,
on_destruct = function(pos)
homedecor.stop_particle_spawner(pos)
end
})
homedecor.register("bathtub_clawfoot_brass_taps", {
drawtype = "mesh",
mesh = "homedecor_bathtub_clawfoot.obj",
tiles = {
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
"homedecor_generic_metal_bright.png",
"homedecor_generic_metal_bright.png",
"homedecor_generic_metal_brass.png",
"homedecor_marble.png",
"homedecor_bathtub_clawfoot_bottom_inside.png",
},
description = S("Bathtub, clawfoot, with brass taps"),
groups = {cracky=3},
selection_box = {
type = "fixed",
fixed = { -0.5, -0.5, -0.5, 1.5, 0.3125, 0.5 },
},
sounds = default.node_sound_stone_defaults(),
})
homedecor.register("bathtub_clawfoot_chrome_taps", {
drawtype = "mesh",
mesh = "homedecor_bathtub_clawfoot.obj",
tiles = {
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
"homedecor_generic_metal_bright.png",
"homedecor_generic_metal_bright.png",
"homedecor_generic_metal_bright.png",
"homedecor_marble.png",
"homedecor_bathtub_clawfoot_bottom_inside.png",
},
description = S("Bathtub, clawfoot, with chrome taps"),
groups = {cracky=3},
selection_box = {
type = "fixed",
fixed = { -0.5, -0.5, -0.5, 1.5, 0.3125, 0.5 },
},
sounds = default.node_sound_stone_defaults(),
})
local bs_cbox = {
type = "fixed",
fixed = { -8/16, -8/16, 1/16, 8/16, 8/16, 8/16 }
}
homedecor.register("bathroom_set", {
drawtype = "mesh",
mesh = "homedecor_bathroom_set.obj",
tiles = {
"homedecor_bathroom_set_mirror.png",
"homedecor_bathroom_set_tray.png",
"homedecor_bathroom_set_toothbrush.png",
"homedecor_bathroom_set_cup.png",
"homedecor_bathroom_set_toothpaste.png",
},
inventory_image = "homedecor_bathroom_set_inv.png",
description = S("Bathroom sundries set"),
groups = {snappy=3},
selection_box = bs_cbox,
walkable = false,
sounds = default.node_sound_glass_defaults(),
})
minetest.register_alias("3dforniture:toilet", "homedecor:toilet")
minetest.register_alias("3dforniture:toilet_open", "homedecor:toilet_open")
minetest.register_alias("3dforniture:sink", "homedecor:sink")
minetest.register_alias("3dforniture:taps", "homedecor:taps")
minetest.register_alias("3dforniture:shower_tray", "homedecor:shower_tray")
minetest.register_alias("3dforniture:shower_head", "homedecor:shower_head")
minetest.register_alias("3dforniture:table_lamp", "homedecor:table_lamp_off")
minetest.register_alias("toilet", "homedecor:toilet")
minetest.register_alias("sink", "homedecor:sink")
minetest.register_alias("taps", "homedecor:taps")
minetest.register_alias("shower_tray", "homedecor:shower_tray")
minetest.register_alias("shower_head", "homedecor:shower_head")
minetest.register_alias("table_lamp", "homedecor:table_lamp_off")

View File

@ -1,18 +0,0 @@
Most code and all textures by Vanessa Ezekowitz.
Some code copied and modified from the game's default mods (especially
doors) and ironzorg's flowers mod.
Licenses:
* For the lua code, LGPL.
* For the door open/close sound, CC-By-SA 3.0 by Slanesh on freesound.org
http://freesound.org/people/Slanesh/sounds/31768/
* For the gate open/close sound, CC0, by j1987 on freesound.org
http://freesound.org/people/j1987/sounds/106116/
* For the doorbell sound, CC0 by guitarguy1985 on freesound.org
http://freesound.org/people/guitarguy1985/sounds/69384/
* For the book sound, Public Domain by mckinneysound's on http://www.freesfx.co.uk/
http://www.freesfx.co.uk/sfx/book?p=3
* For the phone ring, Public Domain by andyt's on http://www.freesfx.co.uk/
http://www.freesfx.co.uk/sfx/phone?p=5
* For all images and everything else, WTFPL.

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +0,0 @@
default
unifieddyes
homedecor_i18n
creative
building_blocks?
signs_lib?
moreblocks?
technic?
dye?
bees?
bucket?
beds?
flowers?
3d_armor?
skinsdb?
mesecons?

View File

@ -1,664 +0,0 @@
-- Node definitions for Homedecor doors
local S = homedecor_i18n.gettext
local function N_(x) return x end
local m_rules = mesecon and mesecon.rules and mesecon.rules.pplate
-- doors
local function isSolid(pos, adjust)
local adj = {x = adjust[1], y = adjust[2], z = adjust[3]}
local node = minetest.get_node(vector.add(pos,adj))
if node then
local idef = minetest.registered_nodes[minetest.get_node(vector.add(pos,adj)).name]
if idef then
return idef.walkable
end
end
return false
end
local function countSolids(pos,node,level)
local solids = 0
for x = -1, 1 do
for z = -1, 1 do
local y = (node.param2 == 5) and -level or level
-- special cases when x == z == 0
if x == 0 and z == 0 then
if level == 1 then
-- when looking past the trap door, cannot be solid in center
if isSolid(pos,{x,y,z}) then
return false
end
-- no else. it doesn't matter if x == y == z is solid, that's us.
end
elseif isSolid(pos,{x,y,z}) then
solids = solids + 1
end
end
end
return solids
end
local function calculateClosed(pos)
local node = minetest.get_node(pos)
-- the door is considered closed if it is closing off something.
local direction = node.param2 % 6
local isTrap = direction == 0 or direction == 5
if isTrap then
-- the trap door is considered closed when all nodes on its sides are solid
-- or all nodes in the 3x3 above/below it are solid except the center
for level = 0, 1 do
local solids = countSolids(pos,node,level)
if solids == 8 then
return true
end
end
return false
else
-- the door is considered closed when the nodes on its sides are solid
-- or the 3 nodes in its facing direction are solid nonsolid solid
-- if the door has two levels (i.e. not a gate) then this must
-- be true for the top node as well.
-- sorry I dunno the math to figure whether to x or z
if direction == 1 or direction == 2 then
if isSolid(pos,{0,0,-1}) and isSolid(pos,{0,0,1}) then
if string.find(node.name,'_bottom_') then
return calculateClosed({x=pos.x,y=pos.y+1,z=pos.z})
else
return true
end
end
local x = (direction == 1) and 1 or -1
if isSolid(pos,{x,0,-1}) and not isSolid(pos,{x,0,0}) and isSolid(pos,{x,0,1}) then
if string.find(node.name,'_bottom_') then
return calculateClosed({x=pos.x,y=pos.y+1,z=pos.z})
else
return true
end
end
return false
else
-- direction == 3 or 4
if isSolid(pos,{-1,0,0}) and isSolid(pos,{1,0,0}) then
if string.find(node.name,'_bottom_') then
return calculateClosed({x=pos.x,y=pos.y+1,z=pos.z})
else
return true
end
end
local z = (direction == 3) and 1 or -1
if isSolid(pos,{-1,0,z}) and not isSolid(pos,{0,0,z}) and isSolid(pos,{1,0,z}) then
if string.find(node.name,'_bottom_') then
return calculateClosed({x=pos.x,y=pos.y+1,z=pos.z})
else
return true
end
end
return false
end
end
end
-- isClosed flag, is 0 or 1 0 = open, 1 = closed
local function getClosed(pos)
local isClosed = minetest.get_meta(pos):get_string('closed')
if isClosed=='' then
return calculateClosed(pos)
else
isClosed = tonumber(isClosed)
-- may be closed or open (1 or 0)
return isClosed == 1
end
end
local function addDoorNode(pos,def,isClosed)
minetest.set_node(pos, def)
minetest.get_meta(pos):set_int('closed', isClosed and 1 or 0)
end
local door_model_list = {
{ name = "closet_mahogany",
description = N_("Mahogany Closet Door (@1 opening)"),
mesh = "homedecor_door_closet.obj"
},
{ name = "closet_oak",
description = N_("Oak Closet Door (@1 opening)"),
mesh = "homedecor_door_closet.obj"
},
{ name = "exterior_fancy",
description = N_("Fancy Wood/Glass Door (@1 opening)"),
mesh = "homedecor_door_fancy.obj",
tiles = {
"homedecor_door_exterior_fancy.png",
"homedecor_door_exterior_fancy_insert.png"
},
usealpha = true
},
{ name = "glass",
description = N_("Glass Office Door (@1 opening)"),
mesh = "homedecor_door_plain.obj"
},
{ name = "wood_glass_oak",
description = N_("Glass and Wood, Oak-colored (@1 opening)"),
mesh = "homedecor_door_wood_glass.obj",
tiles = {
"homedecor_door_wood_glass_oak.png",
"homedecor_door_wood_glass_insert.png",
}
},
{ name = "wood_glass_mahogany",
description = N_("Glass and Wood, Mahogany-colored (@1 opening)"),
mesh = "homedecor_door_wood_glass.obj",
tiles = {
"homedecor_door_wood_glass_mahogany.png",
"homedecor_door_wood_glass_insert.png",
}
},
{ name = "wood_glass_white",
description = N_("Glass and Wood, White (@1 opening)"),
mesh = "homedecor_door_wood_glass.obj",
tiles = {
"homedecor_door_wood_glass_white.png",
"homedecor_door_wood_glass_insert.png",
}
},
{ name = "wood_plain",
description = N_("Plain Wooden Door (@1 opening)"),
mesh = "homedecor_door_plain.obj"
},
{ name = "bedroom",
description = N_("White Bedroom Door (@1 opening)"),
mesh = "homedecor_door_plain.obj"
},
{ name = "wrought_iron",
description = N_("Wrought Iron Gate/Door (@1 opening)"),
mesh = "homedecor_door_wrought_iron.obj"
},
{ name = "woodglass",
description = N_("Wooden door with glass insert (@1 opening)"),
mesh = "homedecor_door_woodglass_typea.obj",
tiles = {
"homedecor_door_woodglass_typea.png",
"homedecor_door_woodglass_typea_insert.png",
},
usealpha = true
},
{ name = "woodglass2",
description = N_("Wooden door with glass insert, type 2 (@1 opening)"),
mesh = "homedecor_door_plain.obj",
usealpha = true
},
}
local def_selbox = {
type = "fixed",
fixed = { -0.5, -0.5, 0.375, 0.5, 1.5, 0.5 }
}
local sides = { N_("left"), N_("right") }
for i, side in ipairs(sides) do
for _, door_model in ipairs(door_model_list) do
local doorname = door_model.name
local selbox = door_model.selectbox or def_selbox
local colbox = door_model.collisionbox or door_model.selectbox or def_selbox
local mesh = door_model.mesh
local groups = {snappy = 3}
if side == "right" then
mesh = string.gsub(door_model.mesh, ".obj", "_right.obj")
groups = {snappy = 3, not_in_creative_inventory = 1}
end
minetest.register_node("homedecor:door_"..doorname.."_"..side, {
description = S(door_model.description, S(side)),
drawtype = "mesh",
mesh = mesh,
tiles = door_model.tiles or { "homedecor_door_"..doorname..".png" },
inventory_image = "homedecor_door_"..doorname.."_inv.png",
wield_image = "homedecor_door_"..doorname.."_inv.png",
paramtype = "light",
paramtype2 = "facedir",
groups = groups,
sounds = default.node_sound_wood_defaults(),
use_texture_alpha = door_model.usealpha,
selection_box = selbox,
collision_box = colbox,
on_rotate = screwdriver.rotate_simple,
on_place = function(itemstack, placer, pointed_thing)
return homedecor.stack_wing(itemstack, placer, pointed_thing,
"homedecor:door_"..doorname.."_left", "air",
"homedecor:door_"..doorname.."_right", "air")
end,
on_construct = function(pos)
minetest.get_meta(pos):set_int("closed", 1)
end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
homedecor.flip_door(pos, node, clicker, doorname, side)
return itemstack
end,
-- both left and right doors may be used for open or closed doors
-- so they have to have both action_on and action_off and just
-- check when that action is invoked if to continue
on_punch = function(pos, node, puncher)
minetest.get_meta(pos):set_string('closed',nil)
end,
drop = "homedecor:door_"..doorname.."_left",
mesecons = {
effector = {
rules = m_rules,
action_on = function(pos,node)
local isClosed = getClosed(pos)
if isClosed then
homedecor.flip_door(pos,node,nil,doorname,side,isClosed)
end
end,
action_off = function(pos,node)
local isClosed = getClosed(pos)
if not isClosed then
homedecor.flip_door(pos,node,nil,doorname,side,isClosed)
end
end
}
}
})
minetest.register_alias("homedecor:door_"..doorname.."_top_"..side, "air")
minetest.register_alias("homedecor:door_"..doorname.."_bottom_"..side, "homedecor:door_"..doorname.."_"..side)
end
minetest.register_alias("homedecor:door_wood_glass_top_"..side, "air")
minetest.register_alias("homedecor:door_wood_glass_bottom_"..side, "homedecor:door_wood_glass_oak_"..side)
end
-- Gates
local gate_list = {
{ "picket", S("Unpainted Picket Fence Gate") },
{ "picket_white", S("White Picket Fence Gate") },
{ "barbed_wire", S("Barbed Wire Fence Gate") },
{ "chainlink", S("Chainlink Fence Gate") },
{ "half_door", S("\"Half\" Door") },
{ "half_door_white", S("\"Half\" Door (white)") }
}
local gate_models_closed = {
{{ -0.5, -0.5, 0.498, 0.5, 0.5, 0.498 }},
{{ -0.5, -0.5, 0.498, 0.5, 0.5, 0.498 }},
{{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, -- left post
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
{ -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece
{ -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece
{ -6/16, -8/16, 7/16, 6/16, 8/16, 7/16 }}, -- the wire
{{ -8/16, -8/16, 6/16, -7/16, 8/16, 8/16 }, -- left post
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
{ -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
}
local gate_models_open = {
{{ 0.498, -0.5, -0.5, 0.498, 0.5, 0.5 }},
{{ 0.498, -0.5, -0.5, 0.498, 0.5, 0.5 }},
{{ 6/16, -8/16, -8/16, 8/16, 8/16, -6/16 }, -- left post
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
{ 13/32, 7/16, -8/16, 15/32, 8/16, 8/16 }, -- top piece
{ 13/32, -8/16, -8/16, 15/32, -7/16, 8/16 }, -- bottom piece
{ 7/16, -8/16, -6/16, 7/16, 8/16, 6/16 }}, -- the wire
{{ 6/16, -8/16, -8/16, 8/16, 8/16, -7/16 }, -- left post
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
{ 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
}
for i, g in ipairs(gate_list) do
local gate, gatedesc = unpack(g)
local tiles = {
"homedecor_gate_"..gate.."_tb.png",
"homedecor_gate_"..gate.."_tb.png",
"homedecor_gate_"..gate.."_lr.png",
"homedecor_gate_"..gate.."_lr.png",
"homedecor_gate_"..gate.."_fb.png^[transformFX",
"homedecor_gate_"..gate.."_fb.png"
}
if gate == "barbed_wire" then
tiles = {
"homedecor_gate_barbed_wire_edges.png",
"homedecor_gate_barbed_wire_edges.png",
"homedecor_gate_barbed_wire_edges.png",
"homedecor_gate_barbed_wire_edges.png",
"homedecor_gate_barbed_wire_fb.png^[transformFX",
"homedecor_gate_barbed_wire_fb.png"
}
end
if gate == "picket" or gate == "picket_white" then
tiles = {
"homedecor_blanktile.png",
"homedecor_blanktile.png",
"homedecor_blanktile.png",
"homedecor_blanktile.png",
"homedecor_gate_"..gate.."_back.png",
"homedecor_gate_"..gate.."_front.png"
}
end
local def = {
drawtype = "nodebox",
description = gatedesc,
tiles = tiles,
paramtype = "light",
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
paramtype2 = "facedir",
selection_box = {
type = "fixed",
fixed = { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 }
},
node_box = {
type = "fixed",
fixed = gate_models_closed[i]
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
homedecor.flip_gate(pos, node, clicker, gate, "closed")
return itemstack
end,
mesecons = {
effector = {
rules = m_rules,
action_on = function(pos,node) homedecor.flip_gate(pos,node,nil,gate, "closed") end
}
}
}
-- gates when placed default to closed, closed.
minetest.register_node("homedecor:gate_"..gate.."_closed", def)
-- this is either a terrible idea or a great one
def = table.copy(def)
def.groups.not_in_creative_inventory = 1
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[6],
tiles[5],
tiles[4],
tiles[3]
}
def.drop = "homedecor:gate_"..gate.."_closed"
def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
homedecor.flip_gate(pos, node, clicker, gate, "open")
return itemstack
end
def.mesecons.effector = {
rules = m_rules,
action_off = function(pos,node) homedecor.flip_gate(pos,node,nil,gate, "open") end
}
minetest.register_node("homedecor:gate_"..gate.."_open", def)
end
minetest.register_alias("homedecor:fence_barbed_wire_gate_open", "homedecor:gate_barbed_wire_open")
minetest.register_alias("homedecor:fence_barbed_wire_gate_closed", "homedecor:gate_barbed_wire_closed")
minetest.register_alias("homedecor:fence_chainlink_gate_open", "homedecor:gate_chainlink_open")
minetest.register_alias("homedecor:fence_chainlink_gate_closed", "homedecor:gate_chainlink_closed")
minetest.register_alias("homedecor:fence_picket_gate_open", "homedecor:gate_picket_open")
minetest.register_alias("homedecor:fence_picket_gate_closed", "homedecor:gate_picket_closed")
minetest.register_alias("homedecor:fence_picket_gate_white_open", "homedecor:gate_picket_white_open")
minetest.register_alias("homedecor:fence_picket_gate_white_closed", "homedecor:gate_picket_white_closed")
-- to open a door, you switch left for right and subtract from param2, or vice versa right for left
-- that is to say open "right" doors become left door nodes, and open left doors right door nodes.
-- also adjusting param2 so the node is at 90 degrees.
function homedecor.flip_door(pos, node, player, name, side, isClosed)
if isClosed == nil then
isClosed = getClosed(pos)
end
-- this is where we swap the isClosed status!
-- i.e. if isClosed, we're adding an open door
-- and if not isClosed, a closed door
isClosed = not isClosed
local rside
local nfdir
local ofdir = node.param2 or 0
if side == "left" then
rside = "right"
nfdir=ofdir - 1
if nfdir < 0 then nfdir = 3 end
else
rside = "left"
nfdir=ofdir + 1
if nfdir > 3 then nfdir = 0 end
end
local sound = isClosed and 'close' or 'open'
minetest.sound_play("homedecor_door_"..sound, {
pos=pos,
max_hear_distance = 5,
gain = 2,
})
-- XXX: does the top half have to remember open/closed too?
minetest.set_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_"..name.."_top_"..rside, param2=nfdir})
addDoorNode(pos,{ name = "homedecor:door_"..name.."_bottom_"..rside, param2=nfdir },isClosed)
end
function homedecor.flip_gate(pos, node, player, gate, oc)
local isClosed = getClosed(pos);
minetest.sound_play("homedecor_gate_open_close", {
pos=pos,
max_hear_distance = 5,
gain = 2,
})
local fdir = node.param2 or 0
-- since right facing gates use "open" nodes for closed, we need an
-- isClosed flag to tell if it's "really" closed.
local gateresult
if oc == "closed" then
gateresult = "homedecor:gate_"..gate.."_open"
else
gateresult = "homedecor:gate_"..gate.."_closed"
end
local def = {name=gateresult, param2=fdir}
addDoorNode(pos, def, isClosed)
-- the following opens and closes gates below and above in sync with this one
-- (without three gate open/close sounds)
local above = {x=pos.x, y=pos.y+1, z=pos.z}
local below = {x=pos.x, y=pos.y-1, z=pos.z}
local nodeabove = minetest.get_node(above)
local nodebelow = minetest.get_node(below)
if string.find(nodeabove.name, "homedecor:gate_"..gate) then
addDoorNode(above, def, isClosed)
end
if string.find(nodebelow.name, "homedecor:gate_"..gate) then
addDoorNode(below, def, isClosed)
end
end
-- Japanese-style wood/paper wall pieces and door
local jp_cbox = {
type = "fixed",
fixed = {-0.5, -0.5, 0, 0.5, 0.5, 0.0625},
}
minetest.register_node("homedecor:japanese_wall_top", {
description = S("Japanese wall (top)"),
drawtype = "mesh",
mesh = "homedecor_wall_japanese_top.obj",
tiles = {
homedecor.lux_wood,
"homedecor_japanese_paper.png"
},
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=3},
selection_box = jp_cbox,
collision_box = jp_cbox,
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("homedecor:japanese_wall_middle", {
description = S("Japanese wall"),
drawtype = "mesh",
mesh = "homedecor_wall_japanese_middle.obj",
tiles = {
homedecor.lux_wood,
"homedecor_japanese_paper.png"
},
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=3},
selection_box = jp_cbox,
collision_box = jp_cbox,
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("homedecor:japanese_wall_bottom", {
description = S("Japanese wall (bottom)"),
drawtype = "mesh",
mesh = "homedecor_wall_japanese_bottom.obj",
tiles = {
homedecor.lux_wood,
"homedecor_japanese_paper.png"
},
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=3},
selection_box = jp_cbox,
collision_box = jp_cbox,
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("homedecor:tatami_mat", {
tiles = {
"homedecor_tatami.png",
"homedecor_tatami.png",
"homedecor_tatami.png",
"homedecor_tatami.png",
"homedecor_tatami.png",
"homedecor_tatami.png"
},
description = S("Japanese tatami"),
drawtype = "nodebox",
paramtype = "light",
groups = {snappy=3},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
}
}
})
homedecor.register("door_japanese_closed", {
description = S("Japanese-style door"),
inventory_image = "homedecor_door_japanese_inv.png",
tiles = {
homedecor.lux_wood,
"homedecor_japanese_paper.png"
},
mesh = "homedecor_door_japanese_closed.obj",
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, 0, 0.5, 1.5, 0.0625},
},
collision_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.0625, 0.5, 1.5, 0},
},
expand = { top = "placeholder" },
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
minetest.set_node(pos, {name = "homedecor:door_japanese_open", param2 = node.param2})
return itemstack
end
})
homedecor.register("door_japanese_open", {
tiles = {
homedecor.lux_wood,
"homedecor_japanese_paper.png"
},
mesh = "homedecor_door_japanese_open.obj",
groups = { snappy = 3, not_in_creative_inventory = 1 },
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.disallow,
selection_box = {
type = "fixed",
fixed = {-1.5, -0.5, -0.0625, 0.5, 1.5, 0},
},
collision_box = {
type = "fixed",
fixed = {-1.5, -0.5, -0.0625, -0.5, 1.5, 0},
},
expand = { top = "placeholder" },
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
minetest.set_node(pos, {name = "homedecor:door_japanese_closed", param2 = node.param2})
return itemstack
end,
drop = "homedecor:door_japanese_closed",
})
minetest.register_alias("homedecor:jpn_door_top", "air")
minetest.register_alias("homedecor:jpn_door_bottom", "homedecor:door_japanese_closed")
minetest.register_alias("homedecor:jpn_door_top_open", "air")
minetest.register_alias("homedecor:jpn_door_bottom_open", "homedecor:door_japanese_open")

View File

@ -1,81 +0,0 @@
local S = homedecor_i18n.gettext
homedecor.register("power_outlet", {
description = S("Power Outlet"),
tiles = {
"homedecor_outlet_edges.png",
"homedecor_outlet_edges.png",
"homedecor_outlet_edges.png",
"homedecor_outlet_edges.png",
"homedecor_outlet_back.png",
"homedecor_outlet_edges.png"
},
inventory_image = "homedecor_outlet_inv.png",
node_box = {
type = "fixed",
fixed = {
{ -0.125, -0.3125, 0.4375, 0.125, 0, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{ -0.1875, -0.375, 0.375, 0.1875, 0.0625, 0.5},
}
},
groups = {cracky=3,dig_immediate=2},
walkable = false
})
homedecor.register("light_switch", {
description = S("Light switch"),
tiles = {
"homedecor_light_switch_edges.png",
"homedecor_light_switch_edges.png",
"homedecor_light_switch_edges.png",
"homedecor_light_switch_edges.png",
"homedecor_light_switch_back.png",
"homedecor_light_switch_front.png"
},
inventory_image = "homedecor_light_switch_inv.png",
node_box = {
type = "fixed",
fixed = {
{ -0.125, -0.5, 0.4375, 0.125, -0.1875, 0.5 },
{ -0.03125, -0.3125, 0.40625, 0.03125, -0.25, 0.5 },
}
},
selection_box = {
type = "fixed",
fixed = {
{ -0.1875, -0.5625, 0.375, 0.1875, -0.1250, 0.5 },
}
},
groups = {cracky=3,dig_immediate=2},
walkable = false
})
homedecor.register("doorbell", {
tiles = { "homedecor_doorbell.png" },
inventory_image = "homedecor_doorbell_inv.png",
description = S("Doorbell"),
groups = {snappy=3},
walkable = false,
node_box = {
type = "fixed",
fixed = {
{-0.0625, 0, 0.46875, 0.0625, 0.1875, 0.5}, -- NodeBox1
{-0.03125, 0.0625, 0.45, 0.03125, 0.125, 0.4675}, -- NodeBox2
}
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
minetest.sound_play("homedecor_doorbell", {
pos = pos,
gain = 1.0,
max_hear_distance = 15
})
end
})

View File

@ -1,157 +0,0 @@
-- Various home electronics
local S = homedecor_i18n.gettext
homedecor.register("speaker", {
description = S("Large Stereo Speaker"),
mesh="homedecor_speaker_large.obj",
tiles = {
"homedecor_speaker_sides.png",
"homedecor_speaker_front.png"
},
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
minetest.set_node(pos, {name = "homedecor:speaker_open", param2 = node.param2})
end
})
homedecor.register("speaker_open", {
description = S("Large Stereo Speaker, open front"),
mesh="homedecor_speaker_large_open.obj",
tiles = {
"homedecor_speaker_sides.png",
"homedecor_speaker_driver.png",
"homedecor_speaker_open_front.png",
{ name = "homedecor_generic_metal.png", color = homedecor.color_black }
},
groups = { snappy = 3, not_in_creative_inventory=1 },
sounds = default.node_sound_wood_defaults(),
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
minetest.set_node(pos, {name = "homedecor:speaker", param2 = node.param2})
end
})
local spk_cbox = {
type = "fixed",
fixed = { -3/16, -8/16, 1/16, 3/16, -2/16, 7/16 }
}
homedecor.register("speaker_small", {
description = S("Small Surround Speaker"),
mesh="homedecor_speaker_small.obj",
tiles = {
"homedecor_speaker_sides.png",
"homedecor_speaker_front.png"
},
selection_box = spk_cbox,
walkable = false,
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
})
homedecor.register("stereo", {
description = S("Stereo Receiver"),
tiles = { 'homedecor_stereo_top.png',
'homedecor_stereo_bottom.png',
'homedecor_stereo_left.png^[transformFX',
'homedecor_stereo_left.png',
'homedecor_stereo_back.png',
'homedecor_stereo_front.png'},
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
})
homedecor.register("projection_screen", {
description = S("Projection Screen Material"),
drawtype = 'signlike',
tiles = { 'homedecor_projection_screen.png' },
wield_image = 'homedecor_projection_screen_inv.png',
inventory_image = 'homedecor_projection_screen_inv.png',
walkable = false,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
paramtype2 = 'wallmounted',
selection_box = {
type = "wallmounted",
--wall_side = = <default>
},
})
homedecor.register("television", {
description = S("Small CRT Television"),
tiles = { 'homedecor_television_top.png',
'homedecor_television_bottom.png',
'homedecor_television_left.png^[transformFX',
'homedecor_television_left.png',
'homedecor_television_back.png',
{ name="homedecor_television_front_animated.png",
animation={
type="vertical_frames",
aspect_w=16,
aspect_h=16,
length=80.0
}
}
},
light_source = default.LIGHT_MAX - 1,
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
})
homedecor.register("dvd_vcr", {
description = S("DVD and VCR"),
tiles = {
"homedecor_dvdvcr_top.png",
"homedecor_dvdvcr_bottom.png",
"homedecor_dvdvcr_sides.png",
"homedecor_dvdvcr_sides.png^[transformFX",
"homedecor_dvdvcr_back.png",
"homedecor_dvdvcr_front.png",
},
inventory_image = "homedecor_dvdvcr_inv.png",
node_box = {
type = "fixed",
fixed = {
{-0.3125, -0.5, -0.25, 0.3125, -0.375, 0.1875},
{-0.25, -0.5, -0.25, 0.25, -0.1875, 0.125},
}
},
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
})
local tel_cbox = {
type = "fixed",
fixed = { -0.25, -0.5, -0.1875, 0.25, -0.21, 0.15 }
}
homedecor.register("telephone", {
mesh = "homedecor_telephone.obj",
tiles = {
"homedecor_telephone_dial.png",
"homedecor_telephone_base.png",
"homedecor_telephone_handset.png",
"homedecor_telephone_cord.png",
},
inventory_image = "homedecor_telephone_inv.png",
description = S("Telephone"),
groups = {snappy=3},
selection_box = tel_cbox,
walkable = false,
sounds = default.node_sound_wood_defaults(),
})
minetest.register_abm({
nodenames = "homedecor:telephone",
label = "sfx",
interval = 30,
chance = 15,
action = function(pos, node)
minetest.sound_play("homedecor_telephone_ringing", {
pos = pos,
gain = 1.0,
max_hear_distance = 5
})
end
})

View File

@ -1,246 +0,0 @@
local S = homedecor_i18n.gettext
local table_colors = {
{ "", S("Table"), homedecor.plain_wood },
{ "_mahogany", S("Mahogany Table"), homedecor.mahogany_wood },
{ "_white", S("White Table"), homedecor.white_wood }
}
for _, t in ipairs(table_colors) do
local suffix, desc, texture = unpack(t)
homedecor.register("table"..suffix, {
description = desc,
tiles = { texture },
node_box = {
type = "fixed",
fixed = {
{ -0.4, -0.5, -0.4, -0.3, 0.4, -0.3 },
{ 0.3, -0.5, -0.4, 0.4, 0.4, -0.3 },
{ -0.4, -0.5, 0.3, -0.3, 0.4, 0.4 },
{ 0.3, -0.5, 0.3, 0.4, 0.4, 0.4 },
{ -0.5, 0.4, -0.5, 0.5, 0.5, 0.5 },
{ -0.4, -0.2, -0.3, -0.3, -0.1, 0.3 },
{ 0.3, -0.2, -0.4, 0.4, -0.1, 0.3 },
{ -0.3, -0.2, -0.4, 0.4, -0.1, -0.3 },
{ -0.3, -0.2, 0.3, 0.3, -0.1, 0.4 },
},
},
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
sounds = default.node_sound_wood_defaults(),
})
end
local kc_cbox = {
type = "fixed",
fixed = { -0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125 },
}
local ac_cbox = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0, 0.5 },
{-0.5, -0.5, 0.4, 0.5, 0.5, 0.5 }
}
}
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
})
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)
end,
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
})
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)
end,
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
})
local ob_cbox = {
type = "fixed",
fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0.5 }
}
minetest.register_node(":homedecor:openframe_bookshelf", {
description = S("Bookshelf (open-frame)"),
drawtype = "mesh",
mesh = "homedecor_openframe_bookshelf.obj",
tiles = {
"homedecor_openframe_bookshelf_books.png",
"default_wood.png"
},
groups = {choppy=3,oddly_breakable_by_hand=2,flammable=3},
sounds = default.node_sound_wood_defaults(),
paramtype = "light",
paramtype2 = "facedir",
selection_box = ob_cbox,
collision_box = ob_cbox,
})
homedecor.register("wall_shelf", {
description = S("Wall Shelf"),
tiles = {
"homedecor_wood_table_large_edges.png",
},
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
node_box = {
type = "fixed",
fixed = {
{-0.5, 0.4, 0.47, 0.5, 0.47, 0.5},
{-0.5, 0.47, -0.1875, 0.5, 0.5, 0.5}
}
}
})
-- Aliases for 3dforniture mod.
minetest.register_alias("3dforniture:table", "homedecor:table")
minetest.register_alias("3dforniture:chair", "homedecor:chair")
minetest.register_alias("3dforniture:armchair", "homedecor:armchair_black")
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"
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,24 +0,0 @@
local handlerpath = homedecor.modpath .. "/handlers/"
-- nodebox arithmetics and helpers
-- (please keep non-generic nodeboxes with their node definition)
dofile(handlerpath.."nodeboxes.lua")
-- expand and unexpand decor
dofile(handlerpath.."expansion.lua")
-- register nodes that cook stuff
dofile(handlerpath.."furnaces.lua")
-- inventory related functionality, like initialization, ownership and spawning locked versions
dofile(handlerpath.."inventory.lua")
-- glue it all together into a registration function
dofile(handlerpath.."registration.lua")
-- some nodes have particle spawners
dofile(handlerpath.."water_particles.lua")
dofile(handlerpath.."mt_game_beds_functions.lua")
dofile(handlerpath.."sit.lua")

View File

@ -1,256 +0,0 @@
-- This file supplies refrigerators
local S = homedecor_i18n.gettext
local function N_(x) return x end
-- steel-textured fridge
homedecor.register("refrigerator_steel", {
mesh = "homedecor_refrigerator.obj",
tiles = { "homedecor_refrigerator_steel.png" },
inventory_image = "homedecor_refrigerator_steel_inv.png",
description = S("Refrigerator (stainless steel)"),
groups = {snappy=3},
sounds = default.node_sound_stone_defaults(),
selection_box = homedecor.nodebox.slab_y(2),
collision_box = homedecor.nodebox.slab_y(2),
expand = { top="placeholder" },
infotext=S("Refrigerator"),
inventory = {
size=50,
lockable=true,
},
on_rotate = screwdriver.rotate_simple
})
-- white, enameled fridge
homedecor.register("refrigerator_white", {
mesh = "homedecor_refrigerator.obj",
tiles = { "homedecor_refrigerator_white.png" },
inventory_image = "homedecor_refrigerator_white_inv.png",
description = S("Refrigerator"),
groups = {snappy=3},
selection_box = homedecor.nodebox.slab_y(2),
collision_box = homedecor.nodebox.slab_y(2),
sounds = default.node_sound_stone_defaults(),
expand = { top="placeholder" },
infotext=S("Refrigerator"),
inventory = {
size=50,
lockable=true,
},
on_rotate = screwdriver.rotate_simple
})
minetest.register_alias("homedecor:refrigerator_white_bottom", "homedecor:refrigerator_white")
minetest.register_alias("homedecor:refrigerator_white_top", "air")
minetest.register_alias("homedecor:refrigerator_steel_bottom", "homedecor:refrigerator_steel")
minetest.register_alias("homedecor:refrigerator_steel_top", "air")
minetest.register_alias("homedecor:refrigerator_white_bottom_locked", "homedecor:refrigerator_white_locked")
minetest.register_alias("homedecor:refrigerator_white_top_locked", "air")
minetest.register_alias("homedecor:refrigerator_locked", "homedecor:refrigerator_white_locked")
minetest.register_alias("homedecor:refrigerator_steel_bottom_locked", "homedecor:refrigerator_steel_locked")
minetest.register_alias("homedecor:refrigerator_steel_top_locked", "air")
-- kitchen "furnaces"
homedecor.register_furnace("oven", {
description = S("Oven"),
tile_format = "homedecor_oven_%s%s.png",
output_slots = 4,
output_width = 2,
cook_speed = 1.25,
})
homedecor.register_furnace("oven_steel", {
description = S("Oven (stainless steel)"),
tile_format = "homedecor_oven_steel_%s%s.png",
output_slots = 4,
output_width = 2,
cook_speed = 1.25,
})
homedecor.register_furnace("microwave_oven", {
description = S("Microwave Oven"),
tiles = {
"homedecor_microwave_top.png", "homedecor_microwave_top.png^[transformR180",
"homedecor_microwave_top.png^[transformR270", "homedecor_microwave_top.png^[transformR90",
"homedecor_microwave_top.png^[transformR180", "homedecor_microwave_front.png"
},
tiles_active = {
"homedecor_microwave_top.png", "homedecor_microwave_top.png^[transformR180",
"homedecor_microwave_top.png^[transformR270", "homedecor_microwave_top.png^[transformR90",
"homedecor_microwave_top.png^[transformR180", "homedecor_microwave_front_active.png"
},
output_slots = 2,
output_width = 2,
cook_speed = 1.5,
extra_nodedef_fields = {
node_box = {
type = "fixed",
fixed = { -0.5, -0.5, -0.125, 0.5, 0.125, 0.5 },
},
},
})
-- coffee!
-- coffee!
-- coffee!
local cm_cbox = {
type = "fixed",
fixed = {
{ 0, -8/16, 0, 7/16, 3/16, 8/16 },
{ -4/16, -8/16, -6/16, -1/16, -5/16, -3/16 }
}
}
homedecor.register("coffee_maker", {
mesh = "homedecor_coffeemaker.obj",
tiles = {
"homedecor_coffeemaker_decanter.png",
"homedecor_coffeemaker_cup.png",
"homedecor_coffeemaker_case.png",
},
description = S("Coffee Maker"),
inventory_image = "homedecor_coffeemaker_inv.png",
walkable = false,
groups = {snappy=3},
selection_box = cm_cbox,
node_box = cm_cbox,
on_rotate = screwdriver.disallow
})
local fdir_to_steampos = {
x = { 0.15, 0.275, -0.15, -0.275 },
z = { 0.275, -0.15, -0.275, 0.15 }
}
minetest.register_abm({
nodenames = "homedecor:coffee_maker",
label = "sfx",
interval = 2,
chance = 1,
action = function(pos, node)
local fdir = node.param2
if fdir and fdir < 4 then
local steamx = fdir_to_steampos.x[fdir + 1]
local steamz = fdir_to_steampos.z[fdir + 1]
minetest.add_particlespawner({
amount = 1,
time = 1,
minpos = {x=pos.x - steamx, y=pos.y - 0.35, z=pos.z - steamz},
maxpos = {x=pos.x - steamx, y=pos.y - 0.35, z=pos.z - steamz},
minvel = {x=-0.003, y=0.01, z=-0.003},
maxvel = {x=0.003, y=0.01, z=-0.003},
minacc = {x=0.0,y=-0.0,z=-0.0},
maxacc = {x=0.0,y=0.003,z=-0.0},
minexptime = 2,
maxexptime = 5,
minsize = 1,
maxsize = 1.2,
collisiondetection = false,
texture = "homedecor_steam.png",
})
end
end
})
homedecor.register("toaster", {
description = S("Toaster"),
tiles = { "homedecor_toaster_sides.png" },
inventory_image = "homedecor_toaster_inv.png",
walkable = false,
groups = { snappy=3 },
node_box = {
type = "fixed",
fixed = {
{-0.0625, -0.5, -0.125, 0.125, -0.3125, 0.125}, -- NodeBox1
},
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
local fdir = node.param2
minetest.set_node(pos, { name = "homedecor:toaster_loaf", param2 = fdir })
minetest.sound_play("toaster", {
pos = pos,
gain = 1.0,
max_hear_distance = 5
})
return itemstack
end
})
homedecor.register("toaster_loaf", {
tiles = {
"homedecor_toaster_toploaf.png",
"homedecor_toaster_sides.png",
"homedecor_toaster_sides.png",
"homedecor_toaster_sides.png",
"homedecor_toaster_sides.png",
"homedecor_toaster_sides.png"
},
walkable = false,
groups = { snappy=3, not_in_creative_inventory=1 },
node_box = {
type = "fixed",
fixed = {
{-0.0625, -0.5, -0.125, 0.125, -0.3125, 0.125}, -- NodeBox1
{-0.03125, -0.3125, -0.0935, 0, -0.25, 0.0935}, -- NodeBox2
{0.0625, -0.3125, -0.0935, 0.0935, -0.25, 0.0935}, -- NodeBox3
},
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
local fdir = node.param2
minetest.set_node(pos, { name = "homedecor:toaster", param2 = fdir })
return itemstack
end,
drop = "homedecor:toaster"
})
homedecor.register("dishwasher", {
description = S("Dishwasher"),
drawtype = "nodebox",
tiles = {
"homedecor_dishwasher_top.png",
"homedecor_dishwasher_bottom.png",
"homedecor_dishwasher_sides.png",
"homedecor_dishwasher_sides.png^[transformFX",
"homedecor_dishwasher_back.png",
"homedecor_dishwasher_front.png"
},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
{-0.5, -0.5, -0.5, 0.5, 0.5, -0.4375},
{-0.5, -0.5, -0.5, 0.5, 0.1875, 0.1875},
{-0.4375, -0.5, -0.5, 0.4375, 0.4375, 0.4375},
}
},
selection_box = { type = "regular" },
sounds = default.node_sound_stone_defaults(),
groups = { snappy = 3 },
})
local materials = { N_("granite"), N_("marble"), N_("steel"), N_("wood") }
for _, m in ipairs(materials) do
homedecor.register("dishwasher_"..m, {
description = S("Dishwasher (@1)", S(m)),
tiles = {
"homedecor_kitchen_cabinet_top_"..m..".png",
"homedecor_dishwasher_bottom.png",
"homedecor_dishwasher_sides.png",
"homedecor_dishwasher_sides.png^[transformFX",
"homedecor_dishwasher_back.png",
"homedecor_dishwasher_front.png"
},
groups = { snappy = 3 },
sounds = default.node_sound_stone_defaults(),
})
end

View File

@ -1,157 +0,0 @@
-- This file supplies Kitchen cabinets and kitchen sink
local S = homedecor_i18n.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)"
local function N_(x) return x end
local counter_materials = { "", N_("granite"), N_("marble"), N_("steel") }
for _, mat in ipairs(counter_materials) do
local desc = S("Kitchen Cabinet")
local material = ""
if mat ~= "" then
desc = S("Kitchen Cabinet (@1 top)", S(mat))
material = "_"..mat
end
homedecor.register("kitchen_cabinet"..material, {
description = desc,
tiles = { 'homedecor_kitchen_cabinet_top'..material..'.png',
cabinet_bottom,
cabinet_sides,
cabinet_sides,
cabinet_sides,
'homedecor_kitchen_cabinet_front.png'},
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
infotext=S("Kitchen Cabinet"),
inventory = {
size=24,
lockable=true,
},
})
end
local kitchen_cabinet_half_box = homedecor.nodebox.slab_y(0.5, 0.5)
homedecor.register("kitchen_cabinet_half", {
description = S('Half-height Kitchen Cabinet (on ceiling)'),
tiles = {
cabinet_sides,
cabinet_bottom,
cabinet_sides,
cabinet_sides,
cabinet_sides,
'homedecor_kitchen_cabinet_front_half.png'
},
selection_box = kitchen_cabinet_half_box,
node_box = kitchen_cabinet_half_box,
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
infotext=S("Kitchen Cabinet"),
inventory = {
size=12,
lockable=true,
},
})
homedecor.register("kitchen_cabinet_with_sink", {
description = S("Kitchen Cabinet with sink"),
mesh = "homedecor_kitchen_sink.obj",
tiles = {
"homedecor_kitchen_sink_top.png",
"homedecor_kitchen_cabinet_front.png",
cabinet_sides,
cabinet_bottom
},
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
infotext=S("Under-sink cabinet"),
inventory = {
size=16,
lockable=true,
},
node_box = {
type = "fixed",
fixed = {
{ -8/16, -8/16, -8/16, 8/16, 6/16, 8/16 },
{ -8/16, 6/16, -8/16, -6/16, 8/16, 8/16 },
{ 6/16, 6/16, -8/16, 8/16, 8/16, 8/16 },
{ -8/16, 6/16, -8/16, 8/16, 8/16, -6/16 },
{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 },
}
},
on_destruct = function(pos)
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+1, z=pos.z})
end
})
local cp_cbox = {
type = "fixed",
fixed = { -0.375, -0.5, -0.5, 0.375, -0.3125, 0.3125 }
}
homedecor.register("copper_pans", {
description = S("Copper pans"),
mesh = "homedecor_copper_pans.obj",
tiles = { "homedecor_polished_copper.png" },
inventory_image = "homedecor_copper_pans_inv.png",
groups = { snappy=3 },
selection_box = cp_cbox,
walkable = false,
on_place = minetest.rotate_node
})
local kf_cbox = {
type = "fixed",
fixed = { -2/16, -8/16, 1/16, 2/16, -1/16, 8/16 }
}
homedecor.register("kitchen_faucet", {
mesh = "homedecor_kitchen_faucet.obj",
tiles = { "homedecor_generic_metal_bright.png" },
inventory_image = "homedecor_kitchen_faucet_inv.png",
description = S("Kitchen Faucet"),
groups = {snappy=3},
selection_box = kf_cbox,
walkable = false,
on_rotate = screwdriver.disallow,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
if below and
below.name == "homedecor:sink" or
below.name == "homedecor:kitchen_cabinet_with_sink" or
below.name == "homedecor:kitchen_cabinet_with_sink_locked" then
local particledef = {
outlet = { x = 0, y = -0.19, z = 0.13 },
velocity_x = { min = -0.05, max = 0.05 },
velocity_y = -0.3,
velocity_z = { min = -0.1, max = 0 },
spread = 0
}
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_faucet")
end
return itemstack
end,
on_destruct = homedecor.stop_particle_spawner
})
homedecor.register("paper_towel", {
mesh = "homedecor_paper_towel.obj",
tiles = {
"homedecor_generic_quilted_paper.png",
"default_wood.png"
},
inventory_image = "homedecor_paper_towel_inv.png",
description = S("Paper towels"),
groups = { snappy=3 },
walkable = false,
selection_box = {
type = "fixed",
fixed = { -0.4375, 0.125, 0.0625, 0.4375, 0.4375, 0.5 }
},
})

View File

@ -1,61 +0,0 @@
-- laundry devices
homedecor.register("washing_machine", {
description = "Washing Machine",
tiles = {
"homedecor_washing_machine_top.png",
"homedecor_washing_machine_bottom.png",
"homedecor_washing_machine_sides.png",
"homedecor_washing_machine_sides.png^[transformFX",
"homedecor_washing_machine_back.png",
"homedecor_washing_machine_front.png"
},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.375, 0.375},
{-0.5, -0.5, 0.3125, 0.5, 0.5, 0.5},
}
},
selection_box = { type = "regular" },
groups = { snappy = 3 },
})
homedecor.register("dryer", {
description = "Tumble dryer",
tiles = {
"homedecor_dryer_top.png",
"homedecor_dryer_bottom.png",
"homedecor_dryer_sides.png",
"homedecor_dryer_sides.png^[transformFX",
"homedecor_dryer_back.png",
"homedecor_dryer_front.png"
},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.375, 0.375},
{-0.5, -0.5, 0.3125, 0.5, 0.5, 0.5},
}
},
selection_box = { type = "regular" },
groups = { snappy = 3 },
})
local ib_cbox = {
type = "fixed",
fixed = { -6/16, -8/16, -4/16, 17/16, 4/16, 4/16 }
}
homedecor.register("ironing_board", {
description = "Ironing board",
mesh = "homedecor_ironing_board.obj",
tiles = {
"wool_grey.png",
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
},
expand = {right = "placeholder"},
groups = { snappy = 3 },
selection_box = ib_cbox,
collision_box = ib_cbox
})

View File

@ -1,737 +0,0 @@
-- This file supplies glowlights
local S = homedecor_i18n.gettext
local glowlight_nodebox = {
half = homedecor.nodebox.slab_y(1/2),
quarter = homedecor.nodebox.slab_y(1/4),
small_cube = {
type = "fixed",
fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
},
}
minetest.register_node("homedecor:glowlight_half", {
description = S("Thick Glowlight"),
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"
},
overlay_tiles = {
{ name = "homedecor_glowlight_top_overlay.png", color = "white"},
"",
{ name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
{ name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
{ name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
{ name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
},
use_texture_alpha = true,
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 }
},
node_box = glowlight_nodebox.half,
groups = { snappy = 3, ud_param2_colorable = 1 },
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)
end,
})
minetest.register_node("homedecor:glowlight_quarter", {
description = S("Thin Glowlight"),
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"
},
overlay_tiles = {
{ name = "homedecor_glowlight_top_overlay.png", color = "white"},
"",
{ name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
{ name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
{ name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
{ name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
},
use_texture_alpha = true,
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 }
},
node_box = glowlight_nodebox.quarter,
groups = { snappy = 3, ud_param2_colorable = 1 },
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)
end,
})
minetest.register_node("homedecor:glowlight_small_cube", {
description = S("Small Glowlight Cube"),
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"
},
overlay_tiles = {
{ name = "homedecor_glowlight_cube_tb_overlay.png", color = "white"},
{ name = "homedecor_glowlight_cube_tb_overlay.png", color = "white"},
{ name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
{ name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
{ name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
{ name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
},
use_texture_alpha = true,
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 }
},
node_box = glowlight_nodebox.small_cube,
groups = { snappy = 3, ud_param2_colorable = 1 },
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)
end,
})
homedecor.register("plasma_lamp", {
description = S("Plasma Lamp"),
drawtype = "mesh",
mesh = "plasma_lamp.obj",
tiles = {
"default_gold_block.png",
{
name="homedecor_plasma_storm.png",
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0},
}
},
use_texture_alpha = true,
light_source = default.LIGHT_MAX - 1,
sunlight_propagates = true,
groups = {cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
})
homedecor.register("plasma_ball", {
description = S("Plasma Ball"),
mesh = "homedecor_plasma_ball.obj",
tiles = {
{ name = "homedecor_generic_plastic.png", color = homedecor.color_black },
{
name = "homedecor_plasma_ball_streamers.png",
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0},
},
"homedecor_plasma_ball_glass.png"
},
inventory_image = "homedecor_plasma_ball_inv.png",
selection_box = {
type = "fixed",
fixed = { -0.1875, -0.5, -0.1875, 0.1875, 0, 0.1875 }
},
walkable = false,
use_texture_alpha = true,
light_source = default.LIGHT_MAX - 5,
sunlight_propagates = true,
groups = {cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
})
local tc_cbox = {
type = "fixed",
fixed = {
{ -0.1875, -0.5, -0.1875, 0.1875, 0.375, 0.1875 },
}
}
homedecor.register("candle", {
description = S("Thick Candle"),
mesh = "homedecor_candle_thick.obj",
tiles = {
'homedecor_candle_sides.png',
{name="homedecor_candle_flame.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}},
},
inventory_image = "homedecor_candle_inv.png",
selection_box = tc_cbox,
walkable = false,
groups = { snappy = 3 },
light_source = default.LIGHT_MAX-4,
})
local c_cbox = {
type = "fixed",
fixed = {
{ -0.125, -0.5, -0.125, 0.125, 0.05, 0.125 },
}
}
homedecor.register("candle_thin", {
description = S("Thin Candle"),
mesh = "homedecor_candle_thin.obj",
tiles = {
'homedecor_candle_sides.png',
{name="homedecor_candle_flame.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}},
},
inventory_image = "homedecor_candle_thin_inv.png",
selection_box = c_cbox,
walkable = false,
groups = { snappy = 3 },
light_source = default.LIGHT_MAX-4,
})
local cs_cbox = {
type = "fixed",
fixed = {
{ -0.15625, -0.5, -0.15625, 0.15625, 0.3125, 0.15625 },
}
}
homedecor.register("candlestick_wrought_iron", {
description = S("Candlestick (wrought iron)"),
mesh = "homedecor_candlestick.obj",
tiles = {
"homedecor_candle_sides.png",
{name="homedecor_candle_flame.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}},
"homedecor_generic_metal_wrought_iron.png",
},
inventory_image = "homedecor_candlestick_wrought_iron_inv.png",
selection_box = cs_cbox,
walkable = false,
groups = { snappy = 3 },
light_source = default.LIGHT_MAX-4,
})
homedecor.register("candlestick_brass", {
description = S("Candlestick (brass)"),
mesh = "homedecor_candlestick.obj",
tiles = {
"homedecor_candle_sides.png",
{name="homedecor_candle_flame.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}},
"homedecor_generic_metal_brass.png",
},
inventory_image = "homedecor_candlestick_brass_inv.png",
selection_box = cs_cbox,
walkable = false,
groups = { snappy = 3 },
light_source = default.LIGHT_MAX-4,
})
homedecor.register("wall_sconce", {
description = S("Wall sconce"),
mesh = "homedecor_wall_sconce.obj",
tiles = {
'homedecor_candle_sides.png',
{name="homedecor_candle_flame.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}},
'homedecor_wall_sconce_back.png',
'homedecor_generic_metal_wrought_iron.png',
},
inventory_image = "homedecor_wall_sconce_inv.png",
selection_box = {
type = "fixed",
fixed = { -0.1875, -0.25, 0.3125, 0.1875, 0.25, 0.5 }
},
walkable = false,
groups = { snappy = 3 },
light_source = default.LIGHT_MAX-4,
})
local ol_cbox = {
type = "fixed",
fixed = {
{ -5/16, -8/16, -3/16, 5/16, 4/16, 3/16 },
}
}
homedecor.register("oil_lamp", {
description = S("Oil lamp (hurricane)"),
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_oil_lamp_wick.png",
{ name = "homedecor_generic_metal.png", color = 0xffa00000 },
"homedecor_oil_lamp_glass.png",
},
use_texture_alpha = true,
inventory_image = "homedecor_oil_lamp_inv.png",
selection_box = ol_cbox,
walkable = false,
groups = { snappy = 3 },
light_source = default.LIGHT_MAX-3,
sounds = default.node_sound_glass_defaults(),
})
homedecor.register("oil_lamp_tabletop", {
description = S("Oil Lamp (tabletop)"),
mesh = "homedecor_oil_lamp_tabletop.obj",
tiles = {"homedecor_oil_lamp_tabletop.png"},
inventory_image = "homedecor_oil_lamp_tabletop_inv.png",
selection_box = ol_cbox,
collision_box = ol_cbox,
groups = { snappy = 3 },
light_source = default.LIGHT_MAX-3,
sounds = default.node_sound_glass_defaults(),
})
local gl_cbox = {
type = "fixed",
fixed = { -0.25, -0.5, -0.25, 0.25, 0.45, 0.25 },
}
minetest.register_alias("homedecor:wall_lantern", "homedecor:ground_lantern")
homedecor.register("ground_lantern", {
description = S("Ground Lantern"),
mesh = "homedecor_ground_lantern.obj",
tiles = { "homedecor_light.png", "homedecor_generic_metal_wrought_iron.png" },
use_texture_alpha = true,
inventory_image = "homedecor_ground_lantern_inv.png",
wield_image = "homedecor_ground_lantern_inv.png",
groups = {snappy=3},
light_source = 11,
selection_box = gl_cbox,
walkable = false
})
local hl_cbox = {
type = "fixed",
fixed = { -0.25, -0.5, -0.2, 0.25, 0.5, 0.5 },
}
homedecor.register("hanging_lantern", {
description = S("Hanging Lantern"),
mesh = "homedecor_hanging_lantern.obj",
tiles = { "homedecor_generic_metal_wrought_iron.png", "homedecor_light.png" },
use_texture_alpha = true,
inventory_image = "homedecor_hanging_lantern_inv.png",
wield_image = "homedecor_hanging_lantern_inv.png",
groups = {snappy=3},
light_source = 11,
selection_box = hl_cbox,
walkable = false
})
local cl_cbox = {
type = "fixed",
fixed = { -0.35, -0.45, -0.35, 0.35, 0.5, 0.35 }
}
homedecor.register("ceiling_lantern", {
drawtype = "mesh",
mesh = "homedecor_ceiling_lantern.obj",
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"),
groups = {snappy=3},
light_source = 11,
selection_box = cl_cbox,
walkable = false
})
homedecor.register("lattice_lantern_large", {
description = S("Lattice lantern (large)"),
tiles = { 'homedecor_lattice_lantern_large.png' },
groups = { snappy = 3 },
light_source = default.LIGHT_MAX,
sounds = default.node_sound_glass_defaults(),
})
homedecor.register("lattice_lantern_small", {
description = S("Lattice lantern (small)"),
tiles = {
'homedecor_lattice_lantern_small_tb.png',
'homedecor_lattice_lantern_small_tb.png',
'homedecor_lattice_lantern_small_sides.png'
},
selection_box = {
type = "fixed",
fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
},
node_box = {
type = "fixed",
fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
},
groups = { snappy = 3 },
light_source = default.LIGHT_MAX-1,
sounds = default.node_sound_glass_defaults(),
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 lamp_colors = {
"white",
"blue",
"green",
"pink",
"red",
"violet",
}
local tlamp_cbox = {
type = "fixed",
fixed = { -0.25, -0.5, -0.25, 0.25, 0.5, 0.25 }
}
local slamp_cbox = {
type = "fixed",
fixed = { -0.25, -0.5, -0.25, 0.25, 1.5, 0.25 }
}
local function reg_lamp(suffix, nxt, light, brightness)
local wool_brighten = (light or 0) * 15
homedecor.register("table_lamp_"..suffix, {
description = S("Table Lamp"),
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 },
},
inventory_image = "homedecor_table_lamp_foot_inv.png^homedecor_table_lamp_top_inv.png",
paramtype = "light",
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png",
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,
not_in_creative_inventory=((light ~= nil) and 1) or nil,
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
node.name = "homedecor:table_lamp_"..repl[suffix]
minetest.set_node(pos, node)
end,
on_construct = unifieddyes.on_construct,
drop = {
items = {
{items = {"homedecor:table_lamp_off"}, inherit_color = true },
}
}
})
homedecor.register("standing_lamp_"..suffix, {
description = S("Standing Lamp"),
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 },
},
inventory_image = "homedecor_standing_lamp_foot_inv.png^homedecor_standing_lamp_top_inv.png",
paramtype = "light",
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png",
walkable = false,
light_source = light,
groups = {cracky=2,oddly_breakable_by_hand=1, ud_param2_colorable = 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]
minetest.set_node(pos, node)
end,
on_construct = unifieddyes.on_construct,
--expand = { top="air" },
drop = {
items = {
{items = {"homedecor:standing_lamp_off"}, inherit_color = true },
}
}
})
-- for old maps that had the original 3dforniture mod
minetest.register_alias("3dforniture:table_lamp_"..suffix, "homedecor:table_lamp_"..suffix)
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
local dlamp_cbox = {
type = "wallmounted",
wall_side = { -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)
end,
on_rotate = unifieddyes.fix_after_screwdriver_nsew
})
-- "kitchen"/"dining room" ceiling lamp
homedecor.register("ceiling_lamp", {
description = S("Ceiling Lamp"),
mesh = "homedecor_ceiling_lamp.obj",
tiles = {
"homedecor_generic_metal_brass.png",
"homedecor_ceiling_lamp_glass.png",
"homedecor_table_standing_lamp_lightbulb.png",
{ name = "homedecor_generic_plastic.png", color = 0xff442d04 },
},
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)
minetest.set_node(pos, {name = "homedecor:ceiling_lamp_off"})
end,
})
homedecor.register("ceiling_lamp_off", {
description = S("Ceiling Lamp (off)"),
mesh = "homedecor_ceiling_lamp.obj",
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 },
},
groups = {snappy=3, not_in_creative_inventory=1},
walkable = false,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
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
})

View File

@ -1,518 +0,0 @@
# Blender v2.73 (sub 0) OBJ File: 'door-closet.blend'
# www.blender.org
o Cylinder
v 0.499750 1.499500 0.499969
v -0.499750 1.499500 0.499969
v 0.499750 -0.499500 0.499969
v -0.499750 -0.499500 0.499969
v -0.499750 1.499500 0.375031
v 0.499750 1.499500 0.375031
v -0.499750 -0.499500 0.375031
v 0.499750 -0.499500 0.375031
v -0.499750 -0.374531 0.499969
v 0.499750 1.374531 0.499969
v 0.499750 -0.374531 0.375031
v -0.499750 1.374531 0.375031
v 0.374875 0.437531 0.499969
v -0.374875 0.437531 0.499969
v -0.374875 1.374531 0.499969
v -0.374875 0.437531 0.375031
v 0.374875 0.437531 0.375031
v 0.374875 1.374531 0.375031
v -0.374875 1.374531 0.375031
v 0.374875 1.374531 0.499969
v -0.499750 1.374531 0.499969
v 0.499750 -0.374531 0.499969
v 0.499750 1.374531 0.375031
v -0.499750 -0.374531 0.375031
v 0.374875 -0.374531 0.499969
v -0.374875 -0.374531 0.499969
v -0.374875 0.562469 0.499969
v -0.374875 -0.374531 0.375031
v 0.374875 -0.374531 0.375031
v 0.374875 0.562469 0.375031
v -0.374875 0.562469 0.375031
v 0.374875 0.562469 0.499969
v 0.375000 1.365847 0.454073
v 0.375000 1.360323 0.459597
v -0.375000 1.360323 0.459597
v -0.375000 1.365847 0.454073
v 0.375000 1.327177 0.415403
v 0.375000 1.321653 0.420927
v -0.375000 1.321653 0.420927
v -0.375000 1.327177 0.415403
v 0.375000 1.303347 0.454073
v 0.375000 1.297823 0.459597
v -0.375000 1.297823 0.459597
v -0.375000 1.303347 0.454073
v 0.375000 1.264677 0.415403
v 0.375000 1.259153 0.420927
v -0.375000 1.259153 0.420927
v -0.375000 1.264677 0.415403
v 0.375000 1.240847 0.454073
v 0.375000 1.235323 0.459597
v -0.375000 1.235323 0.459597
v -0.375000 1.240847 0.454073
v 0.375000 1.202177 0.415403
v 0.375000 1.196653 0.420927
v -0.375000 1.196653 0.420927
v -0.375000 1.202177 0.415403
v 0.375000 1.178347 0.454073
v 0.375000 1.172823 0.459597
v -0.375000 1.172823 0.459597
v -0.375000 1.178347 0.454073
v 0.375000 1.139677 0.415403
v 0.375000 1.134153 0.420927
v -0.375000 1.134153 0.420927
v -0.375000 1.139677 0.415403
v 0.375000 1.115847 0.454073
v 0.375000 1.110323 0.459597
v -0.375000 1.110323 0.459597
v -0.375000 1.115847 0.454073
v 0.375000 1.077177 0.415403
v 0.375000 1.071653 0.420927
v -0.375000 1.071653 0.420927
v -0.375000 1.077177 0.415403
v 0.375000 1.053347 0.454073
v 0.375000 1.047823 0.459597
v -0.375000 1.047823 0.459597
v -0.375000 1.053347 0.454073
v 0.375000 1.014677 0.415403
v 0.375000 1.009153 0.420927
v -0.375000 1.009153 0.420927
v -0.375000 1.014677 0.415403
v 0.375000 0.928347 0.454073
v 0.375000 0.922823 0.459597
v -0.375000 0.922823 0.459597
v -0.375000 0.928347 0.454073
v 0.375000 0.889677 0.415403
v 0.375000 0.884153 0.420927
v -0.375000 0.884153 0.420927
v -0.375000 0.889677 0.415403
v 0.375000 0.990847 0.454073
v 0.375000 0.985323 0.459597
v -0.375000 0.985323 0.459597
v -0.375000 0.990847 0.454073
v 0.375000 0.952177 0.415403
v 0.375000 0.946653 0.420927
v -0.375000 0.946653 0.420927
v -0.375000 0.952177 0.415403
v 0.375000 0.865847 0.454073
v 0.375000 0.860323 0.459597
v -0.375000 0.860323 0.459597
v -0.375000 0.865847 0.454073
v 0.375000 0.827177 0.415403
v 0.375000 0.821653 0.420927
v -0.375000 0.821653 0.420927
v -0.375000 0.827177 0.415403
v 0.375000 0.803347 0.454073
v 0.375000 0.797823 0.459597
v -0.375000 0.797823 0.459597
v -0.375000 0.803347 0.454073
v 0.375000 0.764677 0.415403
v 0.375000 0.759153 0.420927
v -0.375000 0.759153 0.420927
v -0.375000 0.764677 0.415403
v 0.375000 0.740847 0.454073
v 0.375000 0.735323 0.459597
v -0.375000 0.735323 0.459597
v -0.375000 0.740847 0.454073
v 0.375000 0.702177 0.415403
v 0.375000 0.696653 0.420927
v -0.375000 0.696653 0.420927
v -0.375000 0.702177 0.415403
v 0.375000 0.678347 0.454073
v 0.375000 0.672823 0.459597
v -0.375000 0.672823 0.459597
v -0.375000 0.678347 0.454073
v 0.375000 0.639677 0.415403
v 0.375000 0.634153 0.420927
v -0.375000 0.634153 0.420927
v -0.375000 0.639677 0.415403
v 0.375000 0.615847 0.454073
v 0.375000 0.610323 0.459597
v -0.375000 0.610323 0.459597
v -0.375000 0.615847 0.454073
v 0.375000 0.577177 0.415403
v 0.375000 0.571653 0.420927
v -0.375000 0.571653 0.420927
v -0.375000 0.577177 0.415403
v 0.375000 0.428347 0.454073
v 0.375000 0.422823 0.459597
v -0.375000 0.422823 0.459597
v -0.375000 0.428347 0.454073
v 0.375000 0.389677 0.415403
v 0.375000 0.384153 0.420927
v -0.375000 0.384153 0.420927
v -0.375000 0.389677 0.415403
v 0.375000 0.365847 0.454073
v 0.375000 0.360323 0.459597
v -0.375000 0.360323 0.459597
v -0.375000 0.365847 0.454073
v 0.375000 0.327177 0.415403
v 0.375000 0.321653 0.420927
v -0.375000 0.321653 0.420927
v -0.375000 0.327177 0.415403
v 0.375000 0.303347 0.454073
v 0.375000 0.297823 0.459597
v -0.375000 0.297823 0.459597
v -0.375000 0.303347 0.454073
v 0.375000 0.264677 0.415403
v 0.375000 0.259153 0.420927
v -0.375000 0.259153 0.420927
v -0.375000 0.264677 0.415403
v 0.375000 0.240847 0.454073
v 0.375000 0.235323 0.459597
v -0.375000 0.235323 0.459597
v -0.375000 0.240847 0.454073
v 0.375000 0.202177 0.415403
v 0.375000 0.196653 0.420927
v -0.375000 0.196653 0.420927
v -0.375000 0.202177 0.415403
v 0.375000 0.178347 0.454073
v 0.375000 0.172823 0.459597
v -0.375000 0.172823 0.459597
v -0.375000 0.178347 0.454073
v 0.375000 0.139677 0.415403
v 0.375000 0.134153 0.420927
v -0.375000 0.134153 0.420927
v -0.375000 0.139677 0.415403
v 0.375000 0.115847 0.454073
v 0.375000 0.110323 0.459597
v -0.375000 0.110323 0.459597
v -0.375000 0.115847 0.454073
v 0.375000 0.077177 0.415403
v 0.375000 0.071653 0.420927
v -0.375000 0.071653 0.420927
v -0.375000 0.077177 0.415403
v 0.375000 -0.009153 0.454073
v 0.375000 -0.014677 0.459597
v -0.375000 -0.014677 0.459597
v -0.375000 -0.009153 0.454073
v 0.375000 -0.047823 0.415403
v 0.375000 -0.053347 0.420927
v -0.375000 -0.053347 0.420927
v -0.375000 -0.047823 0.415403
v 0.375000 0.053347 0.454073
v 0.375000 0.047823 0.459597
v -0.375000 0.047823 0.459597
v -0.375000 0.053347 0.454073
v 0.375000 0.014677 0.415403
v 0.375000 0.009153 0.420927
v -0.375000 0.009153 0.420927
v -0.375000 0.014677 0.415403
v 0.375000 -0.071653 0.454073
v 0.375000 -0.077177 0.459597
v -0.375000 -0.077177 0.459597
v -0.375000 -0.071653 0.454073
v 0.375000 -0.110323 0.415403
v 0.375000 -0.115847 0.420927
v -0.375000 -0.115847 0.420927
v -0.375000 -0.110323 0.415403
v 0.375000 -0.134153 0.454073
v 0.375000 -0.139677 0.459597
v -0.375000 -0.139677 0.459597
v -0.375000 -0.134153 0.454073
v 0.375000 -0.172823 0.415403
v 0.375000 -0.178347 0.420927
v -0.375000 -0.178347 0.420927
v -0.375000 -0.172823 0.415403
v 0.375000 -0.196653 0.454073
v 0.375000 -0.202177 0.459597
v -0.375000 -0.202177 0.459597
v -0.375000 -0.196653 0.454073
v 0.375000 -0.235323 0.415403
v 0.375000 -0.240847 0.420927
v -0.375000 -0.240847 0.420927
v -0.375000 -0.235323 0.415403
v 0.375000 -0.259153 0.454073
v 0.375000 -0.264677 0.459597
v -0.375000 -0.264677 0.459597
v -0.375000 -0.259153 0.454073
v 0.375000 -0.297823 0.415403
v 0.375000 -0.303347 0.420927
v -0.375000 -0.303347 0.420927
v -0.375000 -0.297823 0.415403
v 0.375000 -0.321653 0.454073
v 0.375000 -0.327177 0.459597
v -0.375000 -0.327177 0.459597
v -0.375000 -0.321653 0.454073
v 0.375000 -0.360323 0.415403
v 0.375000 -0.365847 0.420927
v -0.375000 -0.365847 0.420927
v -0.375000 -0.360323 0.415403
vt 0.515625 0.937500
vt 0.140625 0.937500
vt 0.078125 0.937500
vt 0.078125 1.000000
vt 0.578125 1.000000
vt 0.578125 0.937500
vt 0.515625 0.468750
vt 0.515625 0.531250
vt 0.140625 0.531250
vt 0.140625 0.468750
vt 0.015625 1.000000
vt 0.015625 0.937500
vt 0.015625 0.062500
vt 0.015625 -0.000000
vt 0.078125 -0.000000
vt 0.078125 0.062500
vt 0.734375 0.250000
vt 0.734375 0.750000
vt 0.671875 0.750000
vt 0.671875 0.250000
vt 0.765625 0.750000
vt 0.765625 0.250000
vt 0.828125 0.250000
vt 0.828125 0.750000
vt 0.578125 0.062500
vt 0.515625 0.062500
vt 0.140625 0.062500
vt 0.578125 0.000000
vt 0.640625 0.000000
vt 0.640625 0.062500
vt 0.640625 0.937500
vt 0.640625 1.000000
vt 0.140625 0.906250
vt 0.515625 0.906250
vt 0.015625 0.531250
vt 0.078125 0.531250
vt 0.671875 0.687500
vt 0.671875 0.312500
vt 0.734375 0.312500
vt 0.734375 0.687500
vt 0.578125 0.531250
vt 0.640625 0.531250
vt 0.828125 0.687500
vt 0.765625 0.687500
vt 0.765625 0.312500
vt 0.828125 0.312500
vt 0.015625 0.468750
vt 0.078125 0.468750
vt 0.640625 0.468750
vt 0.578125 0.468750
vt 0.515625 0.921875
vt 0.140625 0.921875
vt 0.140625 0.875000
vt 0.515625 0.875000
vt 0.515625 0.890625
vt 0.140625 0.890625
vt 0.140625 0.843750
vt 0.515625 0.843750
vt 0.515625 0.859375
vt 0.140625 0.859375
vt 0.140625 0.812500
vt 0.515625 0.812500
vt 0.515625 0.828125
vt 0.140625 0.828125
vt 0.140625 0.781250
vt 0.515625 0.781250
vt 0.515625 0.796875
vt 0.140625 0.796875
vt 0.140625 0.750000
vt 0.515625 0.750000
vt 0.515625 0.765625
vt 0.140625 0.765625
vt 0.140625 0.687500
vt 0.140625 0.718750
vt 0.515625 0.718750
vt 0.515625 0.687500
vt 0.515625 0.703125
vt 0.140625 0.703125
vt 0.515625 0.734375
vt 0.140625 0.734375
vt 0.140625 0.656250
vt 0.515625 0.656250
vt 0.515625 0.671875
vt 0.140625 0.671875
vt 0.140625 0.625000
vt 0.515625 0.625000
vt 0.515625 0.640625
vt 0.140625 0.640625
vt 0.140625 0.609375
vt 0.515625 0.609375
vt 0.140625 0.578125
vt 0.515625 0.578125
vt 0.515625 0.593750
vt 0.140625 0.593750
vt 0.140625 0.546875
vt 0.515625 0.546875
vt 0.515625 0.562500
vt 0.140625 0.562500
vt 0.140625 0.421875
vt 0.140625 0.453125
vt 0.515625 0.453125
vt 0.515625 0.421875
vt 0.515625 0.437500
vt 0.140625 0.437500
vt 0.140625 0.390625
vt 0.515625 0.390625
vt 0.515625 0.406250
vt 0.140625 0.406250
vt 0.140625 0.359375
vt 0.515625 0.359375
vt 0.515625 0.375000
vt 0.140625 0.375000
vt 0.140625 0.328125
vt 0.515625 0.328125
vt 0.515625 0.343750
vt 0.140625 0.343750
vt 0.140625 0.296875
vt 0.515625 0.296875
vt 0.515625 0.312500
vt 0.140625 0.312500
vt 0.140625 0.265625
vt 0.515625 0.265625
vt 0.515625 0.281250
vt 0.140625 0.281250
vt 0.140625 0.203125
vt 0.140625 0.234375
vt 0.515625 0.234375
vt 0.515625 0.203125
vt 0.515625 0.218750
vt 0.140625 0.218750
vt 0.515625 0.250000
vt 0.140625 0.250000
vt 0.140625 0.171875
vt 0.515625 0.171875
vt 0.515625 0.187500
vt 0.140625 0.187500
vt 0.140625 0.140625
vt 0.515625 0.140625
vt 0.515625 0.156250
vt 0.140625 0.156250
vt 0.140625 0.125000
vt 0.515625 0.125000
vt 0.140625 0.093750
vt 0.515625 0.093750
vt 0.515625 0.109375
vt 0.140625 0.109375
vt 0.515625 0.078125
vt 0.140625 0.078125
s off
f 15/1 20/2 10/3 1/4 2/5 21/6
f 16/7 31/8 30/9 17/10
f 23/3 6/4 1/11 10/12 22/13 3/14 8/15 11/16
f 18/2 19/1 12/6 5/5 6/4 23/3
f 2/17 1/18 6/19 5/20
f 3/21 4/22 7/23 8/24
f 13/10 32/9 27/8 14/7
f 24/25 12/6 19/1 31/8 16/7 28/26
f 22/16 10/3 20/2 32/9 13/10 25/27
f 24/25 7/28 4/29 9/30 21/31 2/32 5/5 12/6
f 26/26 14/7 27/8 15/1 21/6 9/25
f 29/27 17/10 30/9 18/2 23/3 11/16
f 8/15 7/28 24/25 28/26 29/27 11/16
f 4/28 3/15 22/16 25/27 26/26 9/25
f 33/33 37/2 40/1 36/34
f 35/1 39/34 38/33 34/2
f 15/12 27/35 31/36 19/3
f 30/37 31/38 27/39 32/40
f 18/6 30/41 32/42 20/31
f 18/43 20/44 15/45 19/46
f 14/47 26/13 28/16 16/48
f 29/37 28/38 26/39 25/40
f 13/49 17/50 29/25 25/30
f 17/43 13/44 14/45 16/46
f 40/51 37/52 38/2 39/1
f 33/52 36/51 35/34 34/33
f 41/53 45/33 48/34 44/54
f 43/34 47/54 46/53 42/33
f 48/55 45/56 46/33 47/34
f 41/56 44/55 43/54 42/53
f 49/57 53/53 56/54 52/58
f 51/54 55/58 54/57 50/53
f 56/59 53/60 54/53 55/54
f 49/60 52/59 51/58 50/57
f 57/61 61/57 64/58 60/62
f 59/58 63/62 62/61 58/57
f 64/63 61/64 62/57 63/58
f 57/64 60/63 59/62 58/61
f 65/65 69/61 72/62 68/66
f 67/62 71/66 70/65 66/61
f 72/67 69/68 70/61 71/62
f 65/68 68/67 67/66 66/65
f 73/69 77/65 80/66 76/70
f 75/66 79/70 78/69 74/65
f 80/71 77/72 78/65 79/66
f 73/72 76/71 75/70 74/69
f 81/73 85/74 88/75 84/76
f 83/75 87/76 86/73 82/74
f 88/77 85/78 86/74 87/75
f 81/78 84/77 83/76 82/73
f 89/74 93/69 96/70 92/75
f 91/70 95/75 94/74 90/69
f 96/79 93/80 94/69 95/70
f 89/80 92/79 91/75 90/74
f 97/81 101/73 104/76 100/82
f 99/76 103/82 102/81 98/73
f 104/83 101/84 102/73 103/76
f 97/84 100/83 99/82 98/81
f 105/85 109/81 112/82 108/86
f 107/82 111/86 110/85 106/81
f 112/87 109/88 110/81 111/82
f 105/88 108/87 107/86 106/85
f 113/89 117/88 120/87 116/90
f 115/87 119/90 118/89 114/88
f 120/86 117/85 118/88 119/87
f 113/85 116/86 115/90 114/89
f 121/91 125/89 128/90 124/92
f 123/90 127/92 126/91 122/89
f 128/93 125/94 126/89 127/90
f 121/94 124/93 123/92 122/91
f 129/95 133/91 136/92 132/96
f 131/92 135/96 134/95 130/91
f 136/97 133/98 134/91 135/92
f 129/98 132/97 131/96 130/95
f 137/99 141/100 144/101 140/102
f 139/101 143/102 142/99 138/100
f 144/103 141/104 142/100 143/101
f 137/104 140/103 139/102 138/99
f 145/105 149/99 152/102 148/106
f 147/102 151/106 150/105 146/99
f 152/107 149/108 150/99 151/102
f 145/108 148/107 147/106 146/105
f 153/109 157/105 160/106 156/110
f 155/106 159/110 158/109 154/105
f 160/111 157/112 158/105 159/106
f 153/112 156/111 155/110 154/109
f 161/113 165/109 168/110 164/114
f 163/110 167/114 166/113 162/109
f 168/115 165/116 166/109 167/110
f 161/116 164/115 163/114 162/113
f 169/117 173/113 176/114 172/118
f 171/114 175/118 174/117 170/113
f 176/119 173/120 174/113 175/114
f 169/120 172/119 171/118 170/117
f 177/121 181/117 184/118 180/122
f 179/118 183/122 182/121 178/117
f 184/123 181/124 182/117 183/118
f 177/124 180/123 179/122 178/121
f 185/125 189/126 192/127 188/128
f 187/127 191/128 190/125 186/126
f 192/129 189/130 190/126 191/127
f 185/130 188/129 187/128 186/125
f 193/126 197/121 200/122 196/127
f 195/122 199/127 198/126 194/121
f 200/131 197/132 198/121 199/122
f 193/132 196/131 195/127 194/126
f 201/133 205/125 208/128 204/134
f 203/128 207/134 206/133 202/125
f 208/135 205/136 206/125 207/128
f 201/136 204/135 203/134 202/133
f 209/137 213/133 216/134 212/138
f 211/134 215/138 214/137 210/133
f 216/139 213/140 214/133 215/134
f 209/140 212/139 211/138 210/137
f 217/141 221/140 224/139 220/142
f 219/139 223/142 222/141 218/140
f 224/138 221/137 222/140 223/139
f 217/137 220/138 219/142 218/141
f 225/143 229/141 232/142 228/144
f 227/142 231/144 230/143 226/141
f 232/145 229/146 230/141 231/142
f 225/146 228/145 227/144 226/143
f 233/27 237/143 240/144 236/26
f 235/144 239/26 238/27 234/143
f 240/147 237/148 238/143 239/144
f 233/148 236/147 235/26 234/27

View File

@ -1,518 +0,0 @@
# Blender v2.73 (sub 0) OBJ File: 'door-closet-right.blend'
# www.blender.org
o Cylinder
v 0.499750 1.499500 0.499969
v -0.499750 1.499500 0.499969
v 0.499750 -0.499500 0.499969
v -0.499750 -0.499500 0.499969
v -0.499750 1.499500 0.375031
v 0.499750 1.499500 0.375031
v -0.499750 -0.499500 0.375031
v 0.499750 -0.499500 0.375031
v -0.499750 -0.374531 0.499969
v 0.499750 1.374531 0.499969
v 0.499750 -0.374531 0.375031
v -0.499750 1.374531 0.375031
v 0.374875 0.437531 0.499969
v -0.374875 0.437531 0.499969
v -0.374875 1.374531 0.499969
v -0.374875 0.437531 0.375031
v 0.374875 0.437531 0.375031
v 0.374875 1.374531 0.375031
v -0.374875 1.374531 0.375031
v 0.374875 1.374531 0.499969
v -0.499750 1.374531 0.499969
v 0.499750 -0.374531 0.499969
v 0.499750 1.374531 0.375031
v -0.499750 -0.374531 0.375031
v 0.374875 -0.374531 0.499969
v -0.374875 -0.374531 0.499969
v -0.374875 0.562469 0.499969
v -0.374875 -0.374531 0.375031
v 0.374875 -0.374531 0.375031
v 0.374875 0.562469 0.375031
v -0.374875 0.562469 0.375031
v 0.374875 0.562469 0.499969
v 0.375000 1.365847 0.454073
v 0.375000 1.360323 0.459597
v -0.375000 1.360323 0.459597
v -0.375000 1.365847 0.454073
v 0.375000 1.327177 0.415403
v 0.375000 1.321653 0.420927
v -0.375000 1.321653 0.420927
v -0.375000 1.327177 0.415403
v 0.375000 1.303347 0.454073
v 0.375000 1.297823 0.459597
v -0.375000 1.297823 0.459597
v -0.375000 1.303347 0.454073
v 0.375000 1.264677 0.415403
v 0.375000 1.259153 0.420927
v -0.375000 1.259153 0.420927
v -0.375000 1.264677 0.415403
v 0.375000 1.240847 0.454073
v 0.375000 1.235323 0.459597
v -0.375000 1.235323 0.459597
v -0.375000 1.240847 0.454073
v 0.375000 1.202177 0.415403
v 0.375000 1.196653 0.420927
v -0.375000 1.196653 0.420927
v -0.375000 1.202177 0.415403
v 0.375000 1.178347 0.454073
v 0.375000 1.172823 0.459597
v -0.375000 1.172823 0.459597
v -0.375000 1.178347 0.454073
v 0.375000 1.139677 0.415403
v 0.375000 1.134153 0.420927
v -0.375000 1.134153 0.420927
v -0.375000 1.139677 0.415403
v 0.375000 1.115847 0.454073
v 0.375000 1.110323 0.459597
v -0.375000 1.110323 0.459597
v -0.375000 1.115847 0.454073
v 0.375000 1.077177 0.415403
v 0.375000 1.071653 0.420927
v -0.375000 1.071653 0.420927
v -0.375000 1.077177 0.415403
v 0.375000 1.053347 0.454073
v 0.375000 1.047823 0.459597
v -0.375000 1.047823 0.459597
v -0.375000 1.053347 0.454073
v 0.375000 1.014677 0.415403
v 0.375000 1.009153 0.420927
v -0.375000 1.009153 0.420927
v -0.375000 1.014677 0.415403
v 0.375000 0.928347 0.454073
v 0.375000 0.922823 0.459597
v -0.375000 0.922823 0.459597
v -0.375000 0.928347 0.454073
v 0.375000 0.889677 0.415403
v 0.375000 0.884153 0.420927
v -0.375000 0.884153 0.420927
v -0.375000 0.889677 0.415403
v 0.375000 0.990847 0.454073
v 0.375000 0.985323 0.459597
v -0.375000 0.985323 0.459597
v -0.375000 0.990847 0.454073
v 0.375000 0.952177 0.415403
v 0.375000 0.946653 0.420927
v -0.375000 0.946653 0.420927
v -0.375000 0.952177 0.415403
v 0.375000 0.865847 0.454073
v 0.375000 0.860323 0.459597
v -0.375000 0.860323 0.459597
v -0.375000 0.865847 0.454073
v 0.375000 0.827177 0.415403
v 0.375000 0.821653 0.420927
v -0.375000 0.821653 0.420927
v -0.375000 0.827177 0.415403
v 0.375000 0.803347 0.454073
v 0.375000 0.797823 0.459597
v -0.375000 0.797823 0.459597
v -0.375000 0.803347 0.454073
v 0.375000 0.764677 0.415403
v 0.375000 0.759153 0.420927
v -0.375000 0.759153 0.420927
v -0.375000 0.764677 0.415403
v 0.375000 0.740847 0.454073
v 0.375000 0.735323 0.459597
v -0.375000 0.735323 0.459597
v -0.375000 0.740847 0.454073
v 0.375000 0.702177 0.415403
v 0.375000 0.696653 0.420927
v -0.375000 0.696653 0.420927
v -0.375000 0.702177 0.415403
v 0.375000 0.678347 0.454073
v 0.375000 0.672823 0.459597
v -0.375000 0.672823 0.459597
v -0.375000 0.678347 0.454073
v 0.375000 0.639677 0.415403
v 0.375000 0.634153 0.420927
v -0.375000 0.634153 0.420927
v -0.375000 0.639677 0.415403
v 0.375000 0.615847 0.454073
v 0.375000 0.610323 0.459597
v -0.375000 0.610323 0.459597
v -0.375000 0.615847 0.454073
v 0.375000 0.577177 0.415403
v 0.375000 0.571653 0.420927
v -0.375000 0.571653 0.420927
v -0.375000 0.577177 0.415403
v 0.375000 0.428347 0.454073
v 0.375000 0.422823 0.459597
v -0.375000 0.422823 0.459597
v -0.375000 0.428347 0.454073
v 0.375000 0.389677 0.415403
v 0.375000 0.384153 0.420927
v -0.375000 0.384153 0.420927
v -0.375000 0.389677 0.415403
v 0.375000 0.365847 0.454073
v 0.375000 0.360323 0.459597
v -0.375000 0.360323 0.459597
v -0.375000 0.365847 0.454073
v 0.375000 0.327177 0.415403
v 0.375000 0.321653 0.420927
v -0.375000 0.321653 0.420927
v -0.375000 0.327177 0.415403
v 0.375000 0.303347 0.454073
v 0.375000 0.297823 0.459597
v -0.375000 0.297823 0.459597
v -0.375000 0.303347 0.454073
v 0.375000 0.264677 0.415403
v 0.375000 0.259153 0.420927
v -0.375000 0.259153 0.420927
v -0.375000 0.264677 0.415403
v 0.375000 0.240847 0.454073
v 0.375000 0.235323 0.459597
v -0.375000 0.235323 0.459597
v -0.375000 0.240847 0.454073
v 0.375000 0.202177 0.415403
v 0.375000 0.196653 0.420927
v -0.375000 0.196653 0.420927
v -0.375000 0.202177 0.415403
v 0.375000 0.178347 0.454073
v 0.375000 0.172823 0.459597
v -0.375000 0.172823 0.459597
v -0.375000 0.178347 0.454073
v 0.375000 0.139677 0.415403
v 0.375000 0.134153 0.420927
v -0.375000 0.134153 0.420927
v -0.375000 0.139677 0.415403
v 0.375000 0.115847 0.454073
v 0.375000 0.110323 0.459597
v -0.375000 0.110323 0.459597
v -0.375000 0.115847 0.454073
v 0.375000 0.077177 0.415403
v 0.375000 0.071653 0.420927
v -0.375000 0.071653 0.420927
v -0.375000 0.077177 0.415403
v 0.375000 -0.009153 0.454073
v 0.375000 -0.014677 0.459597
v -0.375000 -0.014677 0.459597
v -0.375000 -0.009153 0.454073
v 0.375000 -0.047823 0.415403
v 0.375000 -0.053347 0.420927
v -0.375000 -0.053347 0.420927
v -0.375000 -0.047823 0.415403
v 0.375000 0.053347 0.454073
v 0.375000 0.047823 0.459597
v -0.375000 0.047823 0.459597
v -0.375000 0.053347 0.454073
v 0.375000 0.014677 0.415403
v 0.375000 0.009153 0.420927
v -0.375000 0.009153 0.420927
v -0.375000 0.014677 0.415403
v 0.375000 -0.071653 0.454073
v 0.375000 -0.077177 0.459597
v -0.375000 -0.077177 0.459597
v -0.375000 -0.071653 0.454073
v 0.375000 -0.110323 0.415403
v 0.375000 -0.115847 0.420927
v -0.375000 -0.115847 0.420927
v -0.375000 -0.110323 0.415403
v 0.375000 -0.134153 0.454073
v 0.375000 -0.139677 0.459597
v -0.375000 -0.139677 0.459597
v -0.375000 -0.134153 0.454073
v 0.375000 -0.172823 0.415403
v 0.375000 -0.178347 0.420927
v -0.375000 -0.178347 0.420927
v -0.375000 -0.172823 0.415403
v 0.375000 -0.196653 0.454073
v 0.375000 -0.202177 0.459597
v -0.375000 -0.202177 0.459597
v -0.375000 -0.196653 0.454073
v 0.375000 -0.235323 0.415403
v 0.375000 -0.240847 0.420927
v -0.375000 -0.240847 0.420927
v -0.375000 -0.235323 0.415403
v 0.375000 -0.259153 0.454073
v 0.375000 -0.264677 0.459597
v -0.375000 -0.264677 0.459597
v -0.375000 -0.259153 0.454073
v 0.375000 -0.297823 0.415403
v 0.375000 -0.303347 0.420927
v -0.375000 -0.303347 0.420927
v -0.375000 -0.297823 0.415403
v 0.375000 -0.321653 0.454073
v 0.375000 -0.327177 0.459597
v -0.375000 -0.327177 0.459597
v -0.375000 -0.321653 0.454073
v 0.375000 -0.360323 0.415403
v 0.375000 -0.365847 0.420927
v -0.375000 -0.365847 0.420927
v -0.375000 -0.360323 0.415403
vt 0.140625 0.937500
vt 0.515625 0.937500
vt 0.578125 0.937500
vt 0.578125 1.000000
vt 0.078125 1.000000
vt 0.078125 0.937500
vt 0.140625 0.468750
vt 0.140625 0.531250
vt 0.515625 0.531250
vt 0.515625 0.468750
vt 0.640625 1.000000
vt 0.640625 0.937500
vt 0.640625 0.062500
vt 0.640625 0.000000
vt 0.578125 0.000000
vt 0.578125 0.062500
vt 0.671875 0.750000
vt 0.671875 0.250000
vt 0.734375 0.250000
vt 0.734375 0.750000
vt 0.828125 0.250000
vt 0.828125 0.750000
vt 0.765625 0.750000
vt 0.765625 0.250000
vt 0.078125 0.062500
vt 0.140625 0.062500
vt 0.515625 0.062500
vt 0.078125 0.000000
vt 0.015625 0.000000
vt 0.015625 0.062500
vt 0.015625 0.937500
vt 0.015625 1.000000
vt 0.515625 0.906250
vt 0.140625 0.906250
vt 0.640625 0.531250
vt 0.578125 0.531250
vt 0.734375 0.312500
vt 0.734375 0.687500
vt 0.671875 0.687500
vt 0.671875 0.312500
vt 0.078125 0.531250
vt 0.015625 0.531250
vt 0.765625 0.312500
vt 0.828125 0.312500
vt 0.828125 0.687500
vt 0.765625 0.687500
vt 0.640625 0.468750
vt 0.578125 0.468750
vt 0.015625 0.468750
vt 0.078125 0.468750
vt 0.140625 0.921875
vt 0.515625 0.921875
vt 0.515625 0.875000
vt 0.140625 0.875000
vt 0.140625 0.890625
vt 0.515625 0.890625
vt 0.515625 0.843750
vt 0.140625 0.843750
vt 0.140625 0.859375
vt 0.515625 0.859375
vt 0.515625 0.812500
vt 0.140625 0.812500
vt 0.140625 0.828125
vt 0.515625 0.828125
vt 0.515625 0.781250
vt 0.140625 0.781250
vt 0.140625 0.796875
vt 0.515625 0.796875
vt 0.515625 0.750000
vt 0.140625 0.750000
vt 0.140625 0.765625
vt 0.515625 0.765625
vt 0.515625 0.687500
vt 0.515625 0.718750
vt 0.140625 0.718750
vt 0.140625 0.687500
vt 0.140625 0.703125
vt 0.515625 0.703125
vt 0.140625 0.734375
vt 0.515625 0.734375
vt 0.515625 0.656250
vt 0.140625 0.656250
vt 0.140625 0.671875
vt 0.515625 0.671875
vt 0.515625 0.625000
vt 0.140625 0.625000
vt 0.140625 0.640625
vt 0.515625 0.640625
vt 0.515625 0.609375
vt 0.140625 0.609375
vt 0.515625 0.578125
vt 0.140625 0.578125
vt 0.140625 0.593750
vt 0.515625 0.593750
vt 0.515625 0.546875
vt 0.140625 0.546875
vt 0.140625 0.562500
vt 0.515625 0.562500
vt 0.515625 0.421875
vt 0.515625 0.453125
vt 0.140625 0.453125
vt 0.140625 0.421875
vt 0.140625 0.437500
vt 0.515625 0.437500
vt 0.515625 0.390625
vt 0.140625 0.390625
vt 0.140625 0.406250
vt 0.515625 0.406250
vt 0.515625 0.359375
vt 0.140625 0.359375
vt 0.140625 0.375000
vt 0.515625 0.375000
vt 0.515625 0.328125
vt 0.140625 0.328125
vt 0.140625 0.343750
vt 0.515625 0.343750
vt 0.515625 0.296875
vt 0.140625 0.296875
vt 0.140625 0.312500
vt 0.515625 0.312500
vt 0.515625 0.265625
vt 0.140625 0.265625
vt 0.140625 0.281250
vt 0.515625 0.281250
vt 0.515625 0.203125
vt 0.515625 0.234375
vt 0.140625 0.234375
vt 0.140625 0.203125
vt 0.140625 0.218750
vt 0.515625 0.218750
vt 0.140625 0.250000
vt 0.515625 0.250000
vt 0.515625 0.171875
vt 0.140625 0.171875
vt 0.140625 0.187500
vt 0.515625 0.187500
vt 0.515625 0.140625
vt 0.140625 0.140625
vt 0.140625 0.156250
vt 0.515625 0.156250
vt 0.515625 0.125000
vt 0.140625 0.125000
vt 0.515625 0.093750
vt 0.140625 0.093750
vt 0.140625 0.109375
vt 0.515625 0.109375
vt 0.140625 0.078125
vt 0.515625 0.078125
s off
f 15/1 20/2 10/3 1/4 2/5 21/6
f 16/7 31/8 30/9 17/10
f 23/3 6/4 1/11 10/12 22/13 3/14 8/15 11/16
f 18/2 19/1 12/6 5/5 6/4 23/3
f 2/17 1/18 6/19 5/20
f 3/21 4/22 7/23 8/24
f 13/10 32/9 27/8 14/7
f 24/25 12/6 19/1 31/8 16/7 28/26
f 22/16 10/3 20/2 32/9 13/10 25/27
f 24/25 7/28 4/29 9/30 21/31 2/32 5/5 12/6
f 26/26 14/7 27/8 15/1 21/6 9/25
f 29/27 17/10 30/9 18/2 23/3 11/16
f 8/15 7/28 24/25 28/26 29/27 11/16
f 4/28 3/15 22/16 25/27 26/26 9/25
f 33/33 37/2 40/1 36/34
f 35/1 39/34 38/33 34/2
f 15/12 27/35 31/36 19/3
f 30/37 31/38 27/39 32/40
f 18/6 30/41 32/42 20/31
f 18/43 20/44 15/45 19/46
f 14/47 26/13 28/16 16/48
f 29/37 28/38 26/39 25/40
f 13/49 17/50 29/25 25/30
f 17/43 13/44 14/45 16/46
f 40/51 37/52 38/2 39/1
f 33/52 36/51 35/34 34/33
f 41/53 45/33 48/34 44/54
f 43/34 47/54 46/53 42/33
f 48/55 45/56 46/33 47/34
f 41/56 44/55 43/54 42/53
f 49/57 53/53 56/54 52/58
f 51/54 55/58 54/57 50/53
f 56/59 53/60 54/53 55/54
f 49/60 52/59 51/58 50/57
f 57/61 61/57 64/58 60/62
f 59/58 63/62 62/61 58/57
f 64/63 61/64 62/57 63/58
f 57/64 60/63 59/62 58/61
f 65/65 69/61 72/62 68/66
f 67/62 71/66 70/65 66/61
f 72/67 69/68 70/61 71/62
f 65/68 68/67 67/66 66/65
f 73/69 77/65 80/66 76/70
f 75/66 79/70 78/69 74/65
f 80/71 77/72 78/65 79/66
f 73/72 76/71 75/70 74/69
f 81/73 85/74 88/75 84/76
f 83/75 87/76 86/73 82/74
f 88/77 85/78 86/74 87/75
f 81/78 84/77 83/76 82/73
f 89/74 93/69 96/70 92/75
f 91/70 95/75 94/74 90/69
f 96/79 93/80 94/69 95/70
f 89/80 92/79 91/75 90/74
f 97/81 101/73 104/76 100/82
f 99/76 103/82 102/81 98/73
f 104/83 101/84 102/73 103/76
f 97/84 100/83 99/82 98/81
f 105/85 109/81 112/82 108/86
f 107/82 111/86 110/85 106/81
f 112/87 109/88 110/81 111/82
f 105/88 108/87 107/86 106/85
f 113/89 117/88 120/87 116/90
f 115/87 119/90 118/89 114/88
f 120/86 117/85 118/88 119/87
f 113/85 116/86 115/90 114/89
f 121/91 125/89 128/90 124/92
f 123/90 127/92 126/91 122/89
f 128/93 125/94 126/89 127/90
f 121/94 124/93 123/92 122/91
f 129/95 133/91 136/92 132/96
f 131/92 135/96 134/95 130/91
f 136/97 133/98 134/91 135/92
f 129/98 132/97 131/96 130/95
f 137/99 141/100 144/101 140/102
f 139/101 143/102 142/99 138/100
f 144/103 141/104 142/100 143/101
f 137/104 140/103 139/102 138/99
f 145/105 149/99 152/102 148/106
f 147/102 151/106 150/105 146/99
f 152/107 149/108 150/99 151/102
f 145/108 148/107 147/106 146/105
f 153/109 157/105 160/106 156/110
f 155/106 159/110 158/109 154/105
f 160/111 157/112 158/105 159/106
f 153/112 156/111 155/110 154/109
f 161/113 165/109 168/110 164/114
f 163/110 167/114 166/113 162/109
f 168/115 165/116 166/109 167/110
f 161/116 164/115 163/114 162/113
f 169/117 173/113 176/114 172/118
f 171/114 175/118 174/117 170/113
f 176/119 173/120 174/113 175/114
f 169/120 172/119 171/118 170/117
f 177/121 181/117 184/118 180/122
f 179/118 183/122 182/121 178/117
f 184/123 181/124 182/117 183/118
f 177/124 180/123 179/122 178/121
f 185/125 189/126 192/127 188/128
f 187/127 191/128 190/125 186/126
f 192/129 189/130 190/126 191/127
f 185/130 188/129 187/128 186/125
f 193/126 197/121 200/122 196/127
f 195/122 199/127 198/126 194/121
f 200/131 197/132 198/121 199/122
f 193/132 196/131 195/127 194/126
f 201/133 205/125 208/128 204/134
f 203/128 207/134 206/133 202/125
f 208/135 205/136 206/125 207/128
f 201/136 204/135 203/134 202/133
f 209/137 213/133 216/134 212/138
f 211/134 215/138 214/137 210/133
f 216/139 213/140 214/133 215/134
f 209/140 212/139 211/138 210/137
f 217/141 221/140 224/139 220/142
f 219/139 223/142 222/141 218/140
f 224/138 221/137 222/140 223/139
f 217/137 220/138 219/142 218/141
f 225/143 229/141 232/142 228/144
f 227/142 231/144 230/143 226/141
f 232/145 229/146 230/141 231/142
f 225/146 228/145 227/144 226/143
f 233/27 237/143 240/144 236/26
f 235/144 239/26 238/27 234/143
f 240/147 237/148 238/143 239/144
f 233/148 236/147 235/26 234/27

View File

@ -1,112 +0,0 @@
# Blender v2.73 (sub 0) OBJ File: 'door-fancy.blend'
# www.blender.org
o Cylinder
v 0.499750 1.499500 0.499969
v -0.499750 1.499500 0.499969
v 0.499750 -0.499500 0.499969
v -0.499750 -0.499500 0.499969
v -0.499750 1.499500 0.375031
v 0.499750 1.499500 0.375031
v -0.499750 -0.499500 0.375031
v 0.499750 -0.499500 0.375031
v -0.499750 -0.374531 0.499969
v 0.499750 1.374531 0.499969
v 0.499750 -0.374531 0.375031
v -0.499750 1.374531 0.375031
v -0.374875 1.374531 0.499969
v 0.374875 1.374531 0.375031
v -0.374875 1.374531 0.375031
v 0.374875 1.374531 0.499969
v -0.499750 1.374531 0.499969
v 0.499750 -0.374531 0.499969
v 0.499750 1.374531 0.375031
v -0.499750 -0.374531 0.375031
v 0.374875 -0.374531 0.499969
v -0.374875 -0.374531 0.499969
v -0.374875 0.374969 0.499969
v -0.374875 -0.374531 0.375031
v 0.374875 -0.374531 0.375031
v 0.374875 0.374969 0.375031
v -0.374875 0.374969 0.375031
v 0.374875 0.374969 0.499969
v -0.375000 0.375000 0.438458
v 0.375000 0.375000 0.438458
v -0.375000 1.375000 0.438458
v 0.375000 1.375000 0.438458
v 0.375000 0.375000 0.436542
v -0.375000 0.375000 0.436542
v 0.375000 1.375000 0.436542
v -0.375000 1.375000 0.436542
vt 0.765625 0.312500
vt 0.828125 0.312500
vt 0.828125 0.687500
vt 0.765625 0.687500
vt 0.078125 0.062500
vt 0.078125 0.000000
vt 0.578125 0.000000
vt 0.578125 0.062500
vt 0.515625 0.937500
vt 0.515625 0.062500
vt 0.578125 0.937500
vt 0.140625 0.437500
vt 0.140625 0.062500
vt 0.515625 0.437500
vt 0.140625 0.937500
vt 0.078125 0.937500
vt 0.578125 1.000000
vt 0.078125 1.000000
vt 0.765625 0.250000
vt 0.828125 0.250000
vt 0.828125 0.750000
vt 0.765625 0.750000
vt 0.734375 0.250000
vt 0.734375 0.750000
vt 0.671875 0.750000
vt 0.671875 0.250000
vt 0.640625 0.000000
vt 0.640625 1.000000
vt 0.015625 1.000000
vt 0.015625 0.000000
vt 0.734375 0.312500
vt 0.734375 0.687500
vt 0.671875 0.687500
vt 0.671875 0.312500
vt 0.640625 0.937500
vt 0.578125 0.437500
vt 0.640625 0.437500
vt 0.015625 0.937500
vt 0.015625 0.437500
vt 0.078125 0.437500
vt 0.125000 1.000000
vt 0.875000 1.000000
vt 0.875000 0.000000
vt 0.125000 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.000000 1.000000 0.000000
vn -1.000000 0.000000 0.000000
vn 1.000000 0.000000 0.000000
g Cylinder_Cylinder_door
s off
f 14/1/1 16/2/1 13/3/1 15/4/1
f 11/5/2 8/6/2 7/7/2 20/8/2
f 15/9/2 24/10/2 20/8/2 12/11/2
f 26/12/2 25/13/2 24/10/2 27/14/2
f 11/5/2 25/13/2 14/15/2 19/16/2
f 19/16/2 12/11/2 5/17/2 6/18/2
f 9/8/3 4/7/3 3/6/3 18/5/3
f 9/8/3 22/10/3 13/9/3 17/11/3
f 17/11/3 10/16/3 1/18/3 2/17/3
f 16/15/3 21/13/3 18/5/3 10/16/3
f 23/14/3 22/10/3 21/13/3 28/12/3
f 8/19/1 3/20/1 4/21/1 7/22/1
f 6/23/4 5/24/4 2/25/4 1/26/4
f 5/17/5 7/7/5 4/27/5 2/28/5
f 8/6/6 6/18/6 1/29/6 3/30/6
f 26/31/4 27/32/4 23/33/4 28/34/4
f 16/35/5 14/11/5 26/36/5 28/37/5
f 15/16/6 13/38/6 23/39/6 27/40/6
g Cylinder_Cylinder_glass
f 32/41/3 31/42/3 29/43/3 30/44/3
f 36/42/2 35/41/2 33/44/2 34/43/2

View File

@ -1,112 +0,0 @@
# Blender v2.73 (sub 0) OBJ File: 'door-fancy-right.blend'
# www.blender.org
o Cylinder
v 0.499750 1.499500 0.499969
v -0.499750 1.499500 0.499969
v 0.499750 -0.499500 0.499969
v -0.499750 -0.499500 0.499969
v -0.499750 1.499500 0.375031
v 0.499750 1.499500 0.375031
v -0.499750 -0.499500 0.375031
v 0.499750 -0.499500 0.375031
v -0.499750 -0.374531 0.499969
v 0.499750 1.374531 0.499969
v 0.499750 -0.374531 0.375031
v -0.499750 1.374531 0.375031
v -0.374875 1.374531 0.499969
v 0.374875 1.374531 0.375031
v -0.374875 1.374531 0.375031
v 0.374875 1.374531 0.499969
v -0.499750 1.374531 0.499969
v 0.499750 -0.374531 0.499969
v 0.499750 1.374531 0.375031
v -0.499750 -0.374531 0.375031
v 0.374875 -0.374531 0.499969
v -0.374875 -0.374531 0.499969
v -0.374875 0.374969 0.499969
v -0.374875 -0.374531 0.375031
v 0.374875 -0.374531 0.375031
v 0.374875 0.374969 0.375031
v -0.374875 0.374969 0.375031
v 0.374875 0.374969 0.499969
v -0.375000 0.375000 0.438458
v 0.375000 0.375000 0.438458
v -0.375000 1.375000 0.438458
v 0.375000 1.375000 0.438458
v 0.375000 0.375000 0.436542
v -0.375000 0.375000 0.436542
v 0.375000 1.375000 0.436542
v -0.375000 1.375000 0.436542
vt 0.765625 0.312500
vt 0.828125 0.312500
vt 0.828125 0.687500
vt 0.765625 0.687500
vt 0.578125 0.062500
vt 0.578125 0.000000
vt 0.078125 0.000000
vt 0.078125 0.062500
vt 0.140625 0.937500
vt 0.140625 0.062500
vt 0.078125 0.937500
vt 0.515625 0.437500
vt 0.515625 0.062500
vt 0.140625 0.437500
vt 0.515625 0.937500
vt 0.578125 0.937500
vt 0.078125 1.000000
vt 0.578125 1.000000
vt 0.765625 0.250000
vt 0.828125 0.250000
vt 0.828125 0.750000
vt 0.765625 0.750000
vt 0.734375 0.250000
vt 0.734375 0.750000
vt 0.671875 0.750000
vt 0.671875 0.250000
vt 0.015625 0.000000
vt 0.015625 1.000000
vt 0.640625 1.000000
vt 0.640625 0.000000
vt 0.734375 0.312500
vt 0.734375 0.687500
vt 0.671875 0.687500
vt 0.671875 0.312500
vt 0.015625 0.937500
vt 0.078125 0.437500
vt 0.015625 0.437500
vt 0.640625 0.937500
vt 0.640625 0.437500
vt 0.578125 0.437500
vt 0.875000 1.000000
vt 0.125000 1.000000
vt 0.125000 0.000000
vt 0.875000 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.000000 1.000000 0.000000
vn -1.000000 0.000000 0.000000
vn 1.000000 0.000000 0.000000
g Cylinder_Cylinder_door
s off
f 14/1/1 16/2/1 13/3/1 15/4/1
f 11/5/2 8/6/2 7/7/2 20/8/2
f 15/9/2 24/10/2 20/8/2 12/11/2
f 26/12/2 25/13/2 24/10/2 27/14/2
f 11/5/2 25/13/2 14/15/2 19/16/2
f 19/16/2 12/11/2 5/17/2 6/18/2
f 9/8/3 4/7/3 3/6/3 18/5/3
f 9/8/3 22/10/3 13/9/3 17/11/3
f 17/11/3 10/16/3 1/18/3 2/17/3
f 16/15/3 21/13/3 18/5/3 10/16/3
f 23/14/3 22/10/3 21/13/3 28/12/3
f 8/19/1 3/20/1 4/21/1 7/22/1
f 6/23/4 5/24/4 2/25/4 1/26/4
f 5/17/5 7/7/5 4/27/5 2/28/5
f 8/6/6 6/18/6 1/29/6 3/30/6
f 26/31/4 27/32/4 23/33/4 28/34/4
f 16/35/5 14/11/5 26/36/5 28/37/5
f 15/16/6 13/38/6 23/39/6 27/40/6
g Cylinder_Cylinder_glass
f 32/41/3 31/42/3 29/43/3 30/44/3
f 36/42/2 35/41/2 33/44/2 34/43/2

View File

@ -1,35 +0,0 @@
# Blender v2.73 (sub 0) OBJ File: 'door-plain.blend'
# www.blender.org
o Cylinder
v 0.497500 1.495000 0.496875
v -0.497500 1.495000 0.496875
v 0.497500 -0.495000 0.496875
v -0.497500 -0.495000 0.496875
v -0.497500 1.495000 0.378125
v 0.497500 1.495000 0.378125
v -0.497500 -0.495000 0.378125
v 0.497500 -0.495000 0.378125
vt 0.578125 0.000000
vt 0.078125 0.000000
vt 0.078125 1.000000
vt 0.578125 1.000000
vt 0.015625 -0.000000
vt 0.015625 1.000000
vt 0.640625 1.000000
vt 0.640625 0.000000
vt 0.671875 0.250000
vt 0.734375 0.250000
vt 0.734375 0.750000
vt 0.671875 0.750000
vt 0.765625 0.750000
vt 0.828125 0.750000
vt 0.828125 0.250000
vt 0.765625 0.250000
g Cylinder_Cylinder_None
s off
f 4/1 3/2 1/3 2/4
f 8/2 7/1 5/4 6/3
f 3/5 8/2 6/3 1/6
f 2/4 5/7 7/8 4/1
f 1/9 6/10 5/11 2/12
f 4/13 7/14 8/15 3/16

View File

@ -1,35 +0,0 @@
# Blender v2.73 (sub 0) OBJ File: 'door-plain-right.blend'
# www.blender.org
o Cylinder
v 0.497500 1.495000 0.496875
v -0.497500 1.495000 0.496875
v 0.497500 -0.495000 0.496875
v -0.497500 -0.495000 0.496875
v -0.497500 1.495000 0.378125
v 0.497500 1.495000 0.378125
v -0.497500 -0.495000 0.378125
v 0.497500 -0.495000 0.378125
vt 0.078125 0.000000
vt 0.578125 0.000000
vt 0.578125 1.000000
vt 0.078125 1.000000
vt 0.640625 0.000000
vt 0.640625 1.000000
vt 0.015625 1.000000
vt 0.015625 0.000000
vt 0.734375 0.750000
vt 0.671875 0.750000
vt 0.671875 0.250000
vt 0.734375 0.250000
vt 0.828125 0.250000
vt 0.765625 0.250000
vt 0.765625 0.750000
vt 0.828125 0.750000
g Cylinder_Cylinder_None
s off
f 4/1 3/2 1/3 2/4
f 8/2 7/1 5/4 6/3
f 3/5 8/2 6/3 1/6
f 2/4 5/7 7/8 4/1
f 1/9 6/10 5/11 2/12
f 4/13 7/14 8/15 3/16

View File

@ -1,243 +0,0 @@
# Blender v2.73 (sub 0) OBJ File: 'door-woodglass-standard.blend'
# www.blender.org
o Cylinder
v 0.499750 1.499500 0.499969
v -0.499750 1.499500 0.499969
v 0.499750 -0.499500 0.499969
v -0.499750 -0.499500 0.499969
v -0.499750 1.499500 0.375031
v 0.499750 1.499500 0.375031
v -0.499750 -0.499500 0.375031
v 0.499750 -0.499500 0.375031
v -0.499750 -0.374531 0.499969
v 0.499750 1.374531 0.499969
v 0.499750 -0.374531 0.375031
v -0.499750 1.374531 0.375031
v 0.374875 0.437531 0.499969
v -0.374875 0.437531 0.499969
v -0.374875 1.374531 0.499969
v -0.374875 0.437531 0.375031
v 0.374875 0.437531 0.375031
v 0.374875 1.374531 0.375031
v -0.374875 1.374531 0.375031
v 0.374875 1.374531 0.499969
v -0.499750 1.374531 0.499969
v 0.499750 -0.374531 0.499969
v 0.499750 1.374531 0.375031
v -0.499750 -0.374531 0.375031
v 0.374875 -0.374531 0.499969
v -0.374875 -0.374531 0.499969
v -0.374875 0.562469 0.499969
v -0.374875 -0.374531 0.375031
v 0.374875 -0.374531 0.375031
v 0.374875 0.562469 0.375031
v -0.374875 0.562469 0.375031
v 0.374875 0.562469 0.499969
v 0.374875 -0.031219 0.499969
v -0.374875 -0.031219 0.499969
v -0.374875 -0.031219 0.375031
v 0.374875 -0.031219 0.375031
v -0.374875 0.093719 0.499969
v 0.374875 0.093719 0.375031
v -0.374875 0.093719 0.375031
v 0.374875 0.093719 0.499969
v 0.374875 1.031219 0.499969
v -0.374875 1.031219 0.375031
v 0.374875 1.031219 0.375031
v -0.374875 1.031219 0.499969
v 0.374875 0.906281 0.375031
v -0.374875 0.906281 0.375031
v -0.374875 0.906281 0.499969
v 0.374875 0.906281 0.499969
v -0.062500 1.031250 0.500000
v -0.062500 1.031250 0.375000
v 0.062500 1.031250 0.375000
v 0.062500 1.031250 0.500000
v -0.062500 1.375000 0.500000
v -0.062500 1.375000 0.375000
v 0.062500 1.375000 0.375000
v 0.062500 1.375000 0.500000
v -0.062500 0.562500 0.500000
v -0.062500 0.562500 0.375000
v 0.062500 0.562500 0.375000
v 0.062500 0.562500 0.500000
v -0.062500 0.906250 0.500000
v -0.062500 0.906250 0.375000
v 0.062500 0.906250 0.375000
v 0.062500 0.906250 0.500000
v -0.062500 0.093750 0.500000
v -0.062500 0.093750 0.375000
v 0.062500 0.093750 0.375000
v 0.062500 0.093750 0.500000
v -0.062500 0.437500 0.500000
v -0.062500 0.437500 0.375000
v 0.062500 0.437500 0.375000
v 0.062500 0.437500 0.500000
v -0.062500 -0.375000 0.500000
v -0.062500 -0.375000 0.375000
v 0.062500 -0.375000 0.375000
v 0.062500 -0.375000 0.500000
v -0.062500 -0.031250 0.500000
v -0.062500 -0.031250 0.375000
v 0.062500 -0.031250 0.375000
v 0.062500 -0.031250 0.500000
v -0.375000 -0.375000 0.438458
v 0.375000 -0.375000 0.438458
v -0.375000 1.375000 0.438458
v 0.375000 1.375000 0.438458
v 0.375000 -0.375000 0.436542
v -0.375000 -0.375000 0.436542
v 0.375000 1.375000 0.436542
v -0.375000 1.375000 0.436542
vt 0.515625 0.937500
vt 0.140625 0.937500
vt 0.078125 0.937500
vt 0.078125 1.000000
vt 0.578125 1.000000
vt 0.578125 0.937500
vt 0.515625 0.468750
vt 0.515625 0.531250
vt 0.140625 0.531250
vt 0.140625 0.468750
vt 0.015625 1.000000
vt 0.015625 0.937500
vt 0.015625 0.062500
vt 0.015625 0.000000
vt 0.078125 0.000000
vt 0.078125 0.062500
vt 0.671875 0.750000
vt 0.671875 0.250000
vt 0.734375 0.250000
vt 0.734375 0.750000
vt 0.828125 0.250000
vt 0.828125 0.750000
vt 0.765625 0.750000
vt 0.765625 0.250000
vt 0.578125 0.062500
vt 0.515625 0.062500
vt 0.140625 0.062500
vt 0.578125 -0.000000
vt 0.640625 -0.000000
vt 0.640625 0.062500
vt 0.640625 0.937500
vt 0.640625 1.000000
vt 0.015625 0.531250
vt 0.078125 0.531250
vt 0.734375 0.312500
vt 0.734375 0.687500
vt 0.671875 0.687500
vt 0.671875 0.312500
vt 0.578125 0.531250
vt 0.640625 0.531250
vt 0.765625 0.312500
vt 0.828125 0.312500
vt 0.828125 0.687500
vt 0.765625 0.687500
vt 0.015625 0.468750
vt 0.078125 0.468750
vt 0.640625 0.468750
vt 0.578125 0.468750
vt 0.515625 0.234375
vt 0.515625 0.296875
vt 0.140625 0.296875
vt 0.140625 0.234375
vt 0.140625 0.703125
vt 0.140625 0.765625
vt 0.515625 0.765625
vt 0.515625 0.703125
vt 0.578125 0.765625
vt 0.640625 0.765625
vt 0.359375 0.937500
vt 0.296875 0.937500
vt 0.296875 0.765625
vt 0.359375 0.765625
vt 0.015625 0.765625
vt 0.078125 0.765625
vt 0.000000 0.000000
vt 0.640625 0.703125
vt 0.578125 0.703125
vt 0.359375 0.703125
vt 0.296875 0.703125
vt 0.296875 0.531250
vt 0.359375 0.531250
vt 0.078125 0.703125
vt 0.015625 0.703125
vt 0.578125 0.296875
vt 0.640625 0.296875
vt 0.359375 0.468750
vt 0.296875 0.468750
vt 0.296875 0.296875
vt 0.359375 0.296875
vt 0.015625 0.296875
vt 0.078125 0.296875
vt 0.640625 0.234375
vt 0.578125 0.234375
vt 0.359375 0.234375
vt 0.296875 0.234375
vt 0.296875 0.062500
vt 0.359375 0.062500
vt 0.078125 0.234375
vt 0.015625 0.234375
vt 0.390625 0.109375
vt 0.015625 0.109375
vt 0.015625 0.984375
vt 0.390625 0.984375
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 -1.000000 0.000000 0.000000
g Cylinder_Cylinder_door
s off
f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
f 16/7/2 31/8/2 30/9/2 17/10/2
f 23/3/3 6/4/3 1/11/3 10/12/3 22/13/3 3/14/3 8/15/3 11/16/3
f 18/2/2 19/1/2 12/6/2 5/5/2 6/4/2 23/3/2
f 2/17/4 1/18/4 6/19/4 5/20/4
f 3/21/5 4/22/5 7/23/5 8/24/5
f 13/10/1 32/9/1 27/8/1 14/7/1
f 24/25/2 12/6/2 19/1/2 31/8/2 16/7/2 28/26/2
f 22/16/1 10/3/1 20/2/1 32/9/1 13/10/1 25/27/1
f 24/25/6 7/28/6 4/29/6 9/30/6 21/31/6 2/32/6 5/5/6 12/6/6
f 26/26/1 14/7/1 27/8/1 15/1/1 21/6/1 9/25/1
f 29/27/2 17/10/2 30/9/2 18/2/2 23/3/2 11/16/2
f 8/15/2 7/28/2 24/25/2 28/26/2 29/27/2 11/16/2
f 4/28/1 3/15/1 22/16/1 25/27/1 26/26/1 9/25/1
f 15/12/3 27/33/3 31/34/3 19/3/3
f 30/35/4 31/36/4 27/37/4 32/38/4
f 18/6/6 30/39/6 32/40/6 20/31/6
f 18/41/5 20/42/5 15/43/5 19/44/5
f 14/45/3 26/13/3 28/16/3 16/46/3
f 29/35/4 28/36/4 26/37/4 25/38/4
f 13/47/6 17/48/6 29/25/6 25/30/6
f 17/41/5 13/42/5 14/43/5 16/44/5
f 35/49/2 39/50/2 38/51/2 36/52/2
f 33/52/1 40/51/1 37/50/1 34/49/1
f 38/35/4 39/36/4 37/37/4 40/38/4
f 36/41/5 33/42/5 34/43/5 35/44/5
f 45/41/5 48/42/5 47/43/5 46/44/5
f 43/35/4 42/36/4 44/37/4 41/38/4
f 48/53/1 41/54/1 44/55/1 47/56/1
f 46/56/2 42/55/2 43/54/2 45/53/2
f 53/31/6 54/6/6 50/57/6 49/58/6
f 54/59/2 55/60/2 51/61/2 50/62/2
f 55/3/3 56/12/3 52/63/3 51/64/3
f 56/60/1 53/59/1 49/62/1 52/61/1
f 49/65/5 50/65/5 51/65/5 52/65/5
f 56/65/4 55/65/4 54/65/4 53/65/4
f 61/66/6 62/67/6 58/39/6 57/40/6
f 62/68/2 63/69/2 59/70/2 58/71/2
f 63/72/3 64/73/3 60/33/3 59/34/3
f 64/69/1 61/68/1 57/71/1 60/70/1
f 69/47/6 70/48/6 66/74/6 65/75/6
f 70/76/2 71/77/2 67/78/2 66/79/2
f 71/46/3 72/45/3 68/80/3 67/81/3
f 72/77/1 69/76/1 65/79/1 68/78/1
f 77/82/6 78/83/6 74/25/6 73/30/6
f 78/84/2 79/85/2 75/86/2 74/87/2
f 79/88/3 80/89/3 76/13/3 75/16/3
f 80/85/1 77/84/1 73/87/1 76/86/1
g Cylinder_Cylinder_glass
f 81/90/1 82/91/1 84/92/1 83/93/1
f 85/91/2 86/90/2 88/93/2 87/92/2

View File

@ -1,243 +0,0 @@
# Blender v2.73 (sub 0) OBJ File: 'door-woodglass-standard-right.blend'
# www.blender.org
o Cylinder
v 0.499750 1.499500 0.499969
v -0.499750 1.499500 0.499969
v 0.499750 -0.499500 0.499969
v -0.499750 -0.499500 0.499969
v -0.499750 1.499500 0.375031
v 0.499750 1.499500 0.375031
v -0.499750 -0.499500 0.375031
v 0.499750 -0.499500 0.375031
v -0.499750 -0.374531 0.499969
v 0.499750 1.374531 0.499969
v 0.499750 -0.374531 0.375031
v -0.499750 1.374531 0.375031
v 0.374875 0.437531 0.499969
v -0.374875 0.437531 0.499969
v -0.374875 1.374531 0.499969
v -0.374875 0.437531 0.375031
v 0.374875 0.437531 0.375031
v 0.374875 1.374531 0.375031
v -0.374875 1.374531 0.375031
v 0.374875 1.374531 0.499969
v -0.499750 1.374531 0.499969
v 0.499750 -0.374531 0.499969
v 0.499750 1.374531 0.375031
v -0.499750 -0.374531 0.375031
v 0.374875 -0.374531 0.499969
v -0.374875 -0.374531 0.499969
v -0.374875 0.562469 0.499969
v -0.374875 -0.374531 0.375031
v 0.374875 -0.374531 0.375031
v 0.374875 0.562469 0.375031
v -0.374875 0.562469 0.375031
v 0.374875 0.562469 0.499969
v 0.374875 -0.031219 0.499969
v -0.374875 -0.031219 0.499969
v -0.374875 -0.031219 0.375031
v 0.374875 -0.031219 0.375031
v -0.374875 0.093719 0.499969
v 0.374875 0.093719 0.375031
v -0.374875 0.093719 0.375031
v 0.374875 0.093719 0.499969
v 0.374875 1.031219 0.499969
v -0.374875 1.031219 0.375031
v 0.374875 1.031219 0.375031
v -0.374875 1.031219 0.499969
v 0.374875 0.906281 0.375031
v -0.374875 0.906281 0.375031
v -0.374875 0.906281 0.499969
v 0.374875 0.906281 0.499969
v -0.062500 1.031250 0.500000
v -0.062500 1.031250 0.375000
v 0.062500 1.031250 0.375000
v 0.062500 1.031250 0.500000
v -0.062500 1.375000 0.500000
v -0.062500 1.375000 0.375000
v 0.062500 1.375000 0.375000
v 0.062500 1.375000 0.500000
v -0.062500 0.562500 0.500000
v -0.062500 0.562500 0.375000
v 0.062500 0.562500 0.375000
v 0.062500 0.562500 0.500000
v -0.062500 0.906250 0.500000
v -0.062500 0.906250 0.375000
v 0.062500 0.906250 0.375000
v 0.062500 0.906250 0.500000
v -0.062500 0.093750 0.500000
v -0.062500 0.093750 0.375000
v 0.062500 0.093750 0.375000
v 0.062500 0.093750 0.500000
v -0.062500 0.437500 0.500000
v -0.062500 0.437500 0.375000
v 0.062500 0.437500 0.375000
v 0.062500 0.437500 0.500000
v -0.062500 -0.375000 0.500000
v -0.062500 -0.375000 0.375000
v 0.062500 -0.375000 0.375000
v 0.062500 -0.375000 0.500000
v -0.062500 -0.031250 0.500000
v -0.062500 -0.031250 0.375000
v 0.062500 -0.031250 0.375000
v 0.062500 -0.031250 0.500000
v -0.375000 -0.375000 0.438458
v 0.375000 -0.375000 0.438458
v -0.375000 1.375000 0.438458
v 0.375000 1.375000 0.438458
v 0.375000 -0.375000 0.436542
v -0.375000 -0.375000 0.436542
v 0.375000 1.375000 0.436542
v -0.375000 1.375000 0.436542
vt 0.140625 0.937500
vt 0.515625 0.937500
vt 0.578125 0.937500
vt 0.578125 1.000000
vt 0.078125 1.000000
vt 0.078125 0.937500
vt 0.140625 0.468750
vt 0.140625 0.531250
vt 0.515625 0.531250
vt 0.515625 0.468750
vt 0.640625 1.000000
vt 0.640625 0.937500
vt 0.640625 0.062500
vt 0.640625 -0.000000
vt 0.578125 -0.000000
vt 0.578125 0.062500
vt 0.671875 0.750000
vt 0.671875 0.250000
vt 0.734375 0.250000
vt 0.734375 0.750000
vt 0.828125 0.250000
vt 0.828125 0.750000
vt 0.765625 0.750000
vt 0.765625 0.250000
vt 0.078125 0.062500
vt 0.140625 0.062500
vt 0.515625 0.062500
vt 0.078125 -0.000000
vt 0.015625 -0.000000
vt 0.015625 0.062500
vt 0.015625 0.937500
vt 0.015625 1.000000
vt 0.640625 0.531250
vt 0.578125 0.531250
vt 0.734375 0.312500
vt 0.734375 0.687500
vt 0.671875 0.687500
vt 0.671875 0.312500
vt 0.078125 0.531250
vt 0.015625 0.531250
vt 0.765625 0.312500
vt 0.828125 0.312500
vt 0.828125 0.687500
vt 0.765625 0.687500
vt 0.640625 0.468750
vt 0.578125 0.468750
vt 0.015625 0.468750
vt 0.078125 0.468750
vt 0.140625 0.234375
vt 0.140625 0.296875
vt 0.515625 0.296875
vt 0.515625 0.234375
vt 0.515625 0.703125
vt 0.515625 0.765625
vt 0.140625 0.765625
vt 0.140625 0.703125
vt 0.078125 0.765625
vt 0.015625 0.765625
vt 0.296875 0.937500
vt 0.359375 0.937500
vt 0.359375 0.765625
vt 0.296875 0.765625
vt 0.640625 0.765625
vt 0.578125 0.765625
vt 0.656250 -0.000000
vt 0.015625 0.703125
vt 0.078125 0.703125
vt 0.296875 0.703125
vt 0.359375 0.703125
vt 0.359375 0.531250
vt 0.296875 0.531250
vt 0.578125 0.703125
vt 0.640625 0.703125
vt 0.078125 0.296875
vt 0.015625 0.296875
vt 0.296875 0.468750
vt 0.359375 0.468750
vt 0.359375 0.296875
vt 0.296875 0.296875
vt 0.640625 0.296875
vt 0.578125 0.296875
vt 0.015625 0.234375
vt 0.078125 0.234375
vt 0.296875 0.234375
vt 0.359375 0.234375
vt 0.359375 0.062500
vt 0.296875 0.062500
vt 0.578125 0.234375
vt 0.640625 0.234375
vt 0.015625 0.109375
vt 0.390625 0.109375
vt 0.390625 0.984375
vt 0.015625 0.984375
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 -1.000000 0.000000 0.000000
g Cylinder_Cylinder_door
s off
f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
f 16/7/2 31/8/2 30/9/2 17/10/2
f 23/3/3 6/4/3 1/11/3 10/12/3 22/13/3 3/14/3 8/15/3 11/16/3
f 18/2/2 19/1/2 12/6/2 5/5/2 6/4/2 23/3/2
f 2/17/4 1/18/4 6/19/4 5/20/4
f 3/21/5 4/22/5 7/23/5 8/24/5
f 13/10/1 32/9/1 27/8/1 14/7/1
f 24/25/2 12/6/2 19/1/2 31/8/2 16/7/2 28/26/2
f 22/16/1 10/3/1 20/2/1 32/9/1 13/10/1 25/27/1
f 24/25/6 7/28/6 4/29/6 9/30/6 21/31/6 2/32/6 5/5/6 12/6/6
f 26/26/1 14/7/1 27/8/1 15/1/1 21/6/1 9/25/1
f 29/27/2 17/10/2 30/9/2 18/2/2 23/3/2 11/16/2
f 8/15/2 7/28/2 24/25/2 28/26/2 29/27/2 11/16/2
f 4/28/1 3/15/1 22/16/1 25/27/1 26/26/1 9/25/1
f 15/12/3 27/33/3 31/34/3 19/3/3
f 30/35/4 31/36/4 27/37/4 32/38/4
f 18/6/6 30/39/6 32/40/6 20/31/6
f 18/41/5 20/42/5 15/43/5 19/44/5
f 14/45/3 26/13/3 28/16/3 16/46/3
f 29/35/4 28/36/4 26/37/4 25/38/4
f 13/47/6 17/48/6 29/25/6 25/30/6
f 17/41/5 13/42/5 14/43/5 16/44/5
f 35/49/2 39/50/2 38/51/2 36/52/2
f 33/52/1 40/51/1 37/50/1 34/49/1
f 38/35/4 39/36/4 37/37/4 40/38/4
f 36/41/5 33/42/5 34/43/5 35/44/5
f 45/41/5 48/42/5 47/43/5 46/44/5
f 43/35/4 42/36/4 44/37/4 41/38/4
f 48/53/1 41/54/1 44/55/1 47/56/1
f 46/56/2 42/55/2 43/54/2 45/53/2
f 53/31/6 54/6/6 50/57/6 49/58/6
f 54/59/2 55/60/2 51/61/2 50/62/2
f 55/3/3 56/12/3 52/63/3 51/64/3
f 56/60/1 53/59/1 49/62/1 52/61/1
f 49/65/5 50/65/5 51/65/5 52/65/5
f 56/65/4 55/65/4 54/65/4 53/65/4
f 61/66/6 62/67/6 58/39/6 57/40/6
f 62/68/2 63/69/2 59/70/2 58/71/2
f 63/72/3 64/73/3 60/33/3 59/34/3
f 64/69/1 61/68/1 57/71/1 60/70/1
f 69/47/6 70/48/6 66/74/6 65/75/6
f 70/76/2 71/77/2 67/78/2 66/79/2
f 71/46/3 72/45/3 68/80/3 67/81/3
f 72/77/1 69/76/1 65/79/1 68/78/1
f 77/82/6 78/83/6 74/25/6 73/30/6
f 78/84/2 79/85/2 75/86/2 74/87/2
f 79/88/3 80/89/3 76/13/3 75/16/3
f 80/85/1 77/84/1 73/87/1 76/86/1
g Cylinder_Cylinder_glass
f 81/90/1 82/91/1 84/92/1 83/93/1
f 85/91/2 86/90/2 88/93/2 87/92/2

View File

@ -1,114 +0,0 @@
# Blender v2.73 (sub 0) OBJ File: 'door-woodglass-inset.blend'
# www.blender.org
o Cylinder
v 0.499750 1.499500 0.499969
v -0.499750 1.499500 0.499969
v 0.499750 -0.499500 0.499969
v -0.499750 -0.499500 0.499969
v -0.499750 1.499500 0.375031
v 0.499750 1.499500 0.375031
v -0.499750 -0.499500 0.375031
v 0.499750 -0.499500 0.375031
v -0.499750 -0.374531 0.499969
v 0.499750 1.312031 0.499969
v 0.499750 -0.374531 0.375031
v -0.499750 1.312031 0.375031
v 0.187375 0.437531 0.499969
v -0.187375 0.437531 0.499969
v -0.187375 1.312031 0.499969
v -0.187375 0.437531 0.375031
v 0.187375 0.437531 0.375031
v 0.187375 1.312031 0.375031
v -0.187375 1.312031 0.375031
v 0.187375 1.312031 0.499969
v -0.499750 1.312031 0.499969
v 0.499750 -0.374531 0.499969
v 0.499750 1.312031 0.375031
v -0.499750 -0.374531 0.375031
v 0.187375 -0.374531 0.499969
v -0.187375 -0.374531 0.499969
v -0.187375 -0.374531 0.375031
v 0.187375 -0.374531 0.375031
v -0.187500 0.437500 0.438458
v 0.187500 0.437500 0.438458
v -0.187500 1.312500 0.438458
v 0.187500 1.312500 0.438458
v 0.187500 0.437500 0.436542
v -0.187500 0.437500 0.436542
v 0.187500 1.312500 0.436542
v -0.187500 1.312500 0.436542
vt 0.421875 0.906250
vt 0.234375 0.906250
vt 0.078125 0.906250
vt 0.078125 1.000000
vt 0.578125 1.000000
vt 0.578125 0.906250
vt 0.015625 1.000000
vt 0.015625 0.906250
vt 0.015625 0.062500
vt 0.015625 0.000000
vt 0.078125 0.000000
vt 0.078125 0.062500
vt 0.671875 0.750000
vt 0.671875 0.250000
vt 0.734375 0.250000
vt 0.734375 0.750000
vt 0.828125 0.250000
vt 0.828125 0.750000
vt 0.765625 0.750000
vt 0.765625 0.250000
vt 0.578125 0.062500
vt 0.421875 0.468750
vt 0.421875 0.062500
vt 0.234375 0.468750
vt 0.234375 0.062500
vt 0.578125 0.000000
vt 0.640625 0.000000
vt 0.640625 0.062500
vt 0.640625 0.906250
vt 0.640625 1.000000
vt 0.734375 0.593750
vt 0.671875 0.593750
vt 0.671875 0.406250
vt 0.734375 0.406250
vt 0.765625 0.406250
vt 0.828125 0.406250
vt 0.828125 0.593750
vt 0.765625 0.593750
vt 0.578125 0.468750
vt 0.640625 0.468750
vt 0.078125 0.468750
vt 0.015625 0.468750
vt 0.031250 0.093750
vt 0.406250 0.093750
vt 0.406250 0.968750
vt 0.031250 0.968750
vn 0.000000 0.000000 1.000000
vn 1.000000 0.000000 0.000000
vn -0.000000 0.000000 -1.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn -1.000000 0.000000 0.000000
g Cylinder_Cylinder_door
s off
f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
f 23/3/2 6/4/2 1/7/2 10/8/2 22/9/2 3/10/2 8/11/2 11/12/2
f 18/2/3 19/1/3 12/6/3 5/5/3 6/4/3 23/3/3
f 2/13/4 1/14/4 6/15/4 5/16/4
f 3/17/5 4/18/5 7/19/5 8/20/5
f 24/21/3 12/6/3 19/1/3 16/22/3 27/23/3
f 22/12/1 10/3/1 20/2/1 13/24/1 25/25/1
f 24/21/6 7/26/6 4/27/6 9/28/6 21/29/6 2/30/6 5/5/6 12/6/6
f 26/23/1 14/22/1 15/1/1 21/6/1 9/21/1
f 28/25/3 17/24/3 18/2/3 23/3/3 11/12/3
f 8/11/3 7/26/3 24/21/3 27/23/3 28/25/3 11/12/3
f 4/26/1 3/11/1 22/12/1 25/25/1 26/23/1 9/21/1
f 16/31/4 14/32/4 13/33/4 17/34/4
f 18/35/5 20/36/5 15/37/5 19/38/5
f 16/22/3 17/24/3 28/25/3 27/23/3
f 13/24/1 14/22/1 26/23/1 25/25/1
f 18/6/6 17/39/6 13/40/6 20/29/6
f 16/41/2 19/3/2 15/8/2 14/42/2
g Cylinder_Cylinder_glass
f 29/43/1 30/44/1 32/45/1 31/46/1
f 33/44/3 34/43/3 36/46/3 35/45/3

View File

@ -1,114 +0,0 @@
# Blender v2.73 (sub 0) OBJ File: 'door-woodglass-typea-right.blend'
# www.blender.org
o Cylinder
v 0.499750 1.499500 0.499969
v -0.499750 1.499500 0.499969
v 0.499750 -0.499500 0.499969
v -0.499750 -0.499500 0.499969
v -0.499750 1.499500 0.375031
v 0.499750 1.499500 0.375031
v -0.499750 -0.499500 0.375031
v 0.499750 -0.499500 0.375031
v -0.499750 -0.374531 0.499969
v 0.499750 1.312031 0.499969
v 0.499750 -0.374531 0.375031
v -0.499750 1.312031 0.375031
v 0.187375 0.437531 0.499969
v -0.187375 0.437531 0.499969
v -0.187375 1.312031 0.499969
v -0.187375 0.437531 0.375031
v 0.187375 0.437531 0.375031
v 0.187375 1.312031 0.375031
v -0.187375 1.312031 0.375031
v 0.187375 1.312031 0.499969
v -0.499750 1.312031 0.499969
v 0.499750 -0.374531 0.499969
v 0.499750 1.312031 0.375031
v -0.499750 -0.374531 0.375031
v 0.187375 -0.374531 0.499969
v -0.187375 -0.374531 0.499969
v -0.187375 -0.374531 0.375031
v 0.187375 -0.374531 0.375031
v -0.187500 0.437500 0.438458
v 0.187500 0.437500 0.438458
v -0.187500 1.312500 0.438458
v 0.187500 1.312500 0.438458
v 0.187500 0.437500 0.436542
v -0.187500 0.437500 0.436542
v 0.187500 1.312500 0.436542
v -0.187500 1.312500 0.436542
vt 0.234375 0.906250
vt 0.421875 0.906250
vt 0.578125 0.906250
vt 0.578125 1.000000
vt 0.078125 1.000000
vt 0.078125 0.906250
vt 0.640625 1.000000
vt 0.640625 0.906250
vt 0.640625 0.062500
vt 0.640625 0.000000
vt 0.578125 0.000000
vt 0.578125 0.062500
vt 0.671875 0.750000
vt 0.671875 0.250000
vt 0.734375 0.250000
vt 0.734375 0.750000
vt 0.828125 0.250000
vt 0.828125 0.750000
vt 0.765625 0.750000
vt 0.765625 0.250000
vt 0.078125 0.062500
vt 0.234375 0.468750
vt 0.234375 0.062500
vt 0.421875 0.468750
vt 0.421875 0.062500
vt 0.078125 0.000000
vt 0.015625 0.000000
vt 0.015625 0.062500
vt 0.015625 0.906250
vt 0.015625 1.000000
vt 0.734375 0.593750
vt 0.671875 0.593750
vt 0.671875 0.406250
vt 0.734375 0.406250
vt 0.765625 0.406250
vt 0.828125 0.406250
vt 0.828125 0.593750
vt 0.765625 0.593750
vt 0.078125 0.468750
vt 0.015625 0.468750
vt 0.578125 0.468750
vt 0.640625 0.468750
vt 0.406250 0.093750
vt 0.031250 0.093750
vt 0.031250 0.968750
vt 0.406250 0.968750
vn 0.000000 0.000000 1.000000
vn 1.000000 0.000000 0.000000
vn -0.000000 0.000000 -1.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn -1.000000 0.000000 0.000000
g Cylinder_Cylinder_door
s off
f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
f 23/3/2 6/4/2 1/7/2 10/8/2 22/9/2 3/10/2 8/11/2 11/12/2
f 18/2/3 19/1/3 12/6/3 5/5/3 6/4/3 23/3/3
f 2/13/4 1/14/4 6/15/4 5/16/4
f 3/17/5 4/18/5 7/19/5 8/20/5
f 24/21/3 12/6/3 19/1/3 16/22/3 27/23/3
f 22/12/1 10/3/1 20/2/1 13/24/1 25/25/1
f 24/21/6 7/26/6 4/27/6 9/28/6 21/29/6 2/30/6 5/5/6 12/6/6
f 26/23/1 14/22/1 15/1/1 21/6/1 9/21/1
f 28/25/3 17/24/3 18/2/3 23/3/3 11/12/3
f 8/11/3 7/26/3 24/21/3 27/23/3 28/25/3 11/12/3
f 4/26/1 3/11/1 22/12/1 25/25/1 26/23/1 9/21/1
f 16/31/4 14/32/4 13/33/4 17/34/4
f 18/35/5 20/36/5 15/37/5 19/38/5
f 16/22/3 17/24/3 28/25/3 27/23/3
f 13/24/1 14/22/1 26/23/1 25/25/1
f 18/6/6 17/39/6 13/40/6 20/29/6
f 16/41/2 19/3/2 15/8/2 14/42/2
g Cylinder_Cylinder_glass
f 29/43/1 30/44/1 32/45/1 31/46/1
f 33/44/3 34/43/3 36/46/3 35/45/3

View File

@ -1,88 +0,0 @@
# Blender v2.73 (sub 0) OBJ File: 'door-wrought-iron.blend'
# www.blender.org
mtllib homedecor_door_wrought_iron.mtl
o Cylinder
v 0.500000 1.500000 0.500000
v -0.500000 1.500000 0.500000
v 0.500000 -0.500000 0.500000
v -0.500000 -0.500000 0.500000
v -0.500000 1.500000 0.375000
v 0.500000 1.500000 0.375000
v -0.500000 -0.500000 0.375000
v 0.500000 -0.500000 0.375000
v 0.484375 1.484375 0.438451
v -0.484375 1.484375 0.438451
v 0.484375 -0.484375 0.438451
v -0.484375 -0.484375 0.438451
v -0.484375 1.484375 0.436547
v 0.484375 1.484375 0.436547
v -0.484375 -0.484375 0.436547
v 0.484375 -0.484375 0.436547
v 0.468750 -0.500000 0.500000
v -0.468750 -0.500000 0.500000
v 0.500000 1.484375 0.500000
v -0.500000 1.484375 0.500000
v -0.500000 1.484375 0.375000
v 0.500000 1.484375 0.375000
v 0.500000 -0.484375 0.500000
v -0.500000 -0.484375 0.500000
v -0.500000 -0.484375 0.375000
v 0.500000 -0.484375 0.375000
v 0.484375 1.484375 0.500000
v 0.484375 -0.484375 0.500000
v 0.484375 1.484375 0.375000
v 0.484375 -0.484375 0.375000
v -0.484375 1.484375 0.500000
v -0.484375 -0.484375 0.500000
v -0.484375 1.484375 0.375000
v -0.484375 -0.484375 0.375000
vt 0.085938 0.007812
vt 0.570312 0.007812
vt 0.570312 0.992188
vt 0.085938 0.992188
vt 0.578125 0.007812
vt 0.578125 0.992188
vt 0.078125 0.007812
vt 0.078125 0.992188
vt 0.015625 0.992188
vt 0.015625 0.007812
vt 0.828125 0.250000
vt 0.828125 0.750000
vt 0.765625 0.750000
vt 0.765625 0.250000
vt 0.078125 1.000000
vt 0.578125 1.000000
vt 0.671875 0.750000
vt 0.671875 0.250000
vt 0.734375 0.250000
vt 0.734375 0.750000
vt 0.578125 0.000000
vt 0.078125 0.000000
vt 0.640625 0.007812
vt 0.640625 0.992188
vt 0.640625 0.000000
vt 0.640625 1.000000
vt 0.015625 1.000000
vt 0.015625 0.000000
usemtl None
s off
f 16/1 15/2 13/3 14/4
f 12/2 11/1 9/4 10/3
f 25/5 21/6 33/3 34/2
f 23/7 19/8 27/4 28/1
f 31/9 32/10 34/7 33/8
f 30/1 29/4 22/8 26/7
f 32/2 31/3 20/6 24/5
f 19/11 20/12 21/13 22/14
f 6/15 22/8 21/6 5/16
f 2/16 20/6 19/8 1/15
f 24/17 23/18 26/19 25/20
f 7/21 25/5 26/7 8/22
f 3/22 23/7 24/5 4/21
f 28/23 27/24 29/6 30/5
f 4/25 2/26 5/16 7/21
f 1/18 6/19 5/20 2/17
f 1/27 3/28 8/22 6/15
f 4/12 7/13 8/14 3/11
l 17 3
l 4 18

View File

@ -1,88 +0,0 @@
# Blender v2.73 (sub 0) OBJ File: 'door-wrought-iron-right.blend'
# www.blender.org
mtllib homedecor_door_wrought_iron_right.mtl
o Cylinder
v 0.500000 1.500000 0.500000
v -0.500000 1.500000 0.500000
v 0.500000 -0.500000 0.500000
v -0.500000 -0.500000 0.500000
v -0.500000 1.500000 0.375000
v 0.500000 1.500000 0.375000
v -0.500000 -0.500000 0.375000
v 0.500000 -0.500000 0.375000
v 0.484375 1.484375 0.438451
v -0.484375 1.484375 0.438451
v 0.484375 -0.484375 0.438451
v -0.484375 -0.484375 0.438451
v -0.484375 1.484375 0.436547
v 0.484375 1.484375 0.436547
v -0.484375 -0.484375 0.436547
v 0.484375 -0.484375 0.436547
v 0.468750 -0.500000 0.500000
v -0.468750 -0.500000 0.500000
v 0.500000 1.484375 0.500000
v -0.500000 1.484375 0.500000
v -0.500000 1.484375 0.375000
v 0.500000 1.484375 0.375000
v 0.500000 -0.484375 0.500000
v -0.500000 -0.484375 0.500000
v -0.500000 -0.484375 0.375000
v 0.500000 -0.484375 0.375000
v 0.484375 1.484375 0.500000
v 0.484375 -0.484375 0.500000
v 0.484375 1.484375 0.375000
v 0.484375 -0.484375 0.375000
v -0.484375 1.484375 0.500000
v -0.484375 -0.484375 0.500000
v -0.484375 1.484375 0.375000
v -0.484375 -0.484375 0.375000
vt 0.570312 0.007812
vt 0.085938 0.007812
vt 0.085938 0.992188
vt 0.570312 0.992188
vt 0.078125 0.007812
vt 0.078125 0.992188
vt 0.578125 0.007812
vt 0.578125 0.992188
vt 0.640625 0.992188
vt 0.640625 0.007812
vt 0.765625 0.750000
vt 0.765625 0.250000
vt 0.828125 0.250000
vt 0.828125 0.750000
vt 0.578125 1.000000
vt 0.078125 1.000000
vt 0.734375 0.250000
vt 0.734375 0.750000
vt 0.671875 0.750000
vt 0.671875 0.250000
vt 0.078125 -0.000000
vt 0.578125 -0.000000
vt 0.015625 0.007812
vt 0.015625 0.992188
vt 0.015625 -0.000000
vt 0.015625 1.000000
vt 0.640625 1.000000
vt 0.640625 -0.000000
usemtl None
s off
f 16/1 15/2 13/3 14/4
f 12/2 11/1 9/4 10/3
f 25/5 21/6 33/3 34/2
f 23/7 19/8 27/4 28/1
f 31/9 32/10 34/7 33/8
f 30/1 29/4 22/8 26/7
f 32/2 31/3 20/6 24/5
f 19/11 20/12 21/13 22/14
f 6/15 22/8 21/6 5/16
f 2/16 20/6 19/8 1/15
f 24/17 23/18 26/19 25/20
f 7/21 25/5 26/7 8/22
f 3/22 23/7 24/5 4/21
f 28/23 27/24 29/6 30/5
f 4/25 2/26 5/16 7/21
f 1/18 6/19 5/20 2/17
f 1/27 3/28 8/22 6/15
f 4/12 7/13 8/14 3/11
l 17 3
l 4 18

View File

@ -1,101 +0,0 @@
-- Various kinds of window shutters
local S = homedecor_i18n.gettext
local shutters = {
"mahogany",
"red",
"yellow",
"forest_green",
"light_blue",
"violet",
"black",
"dark_grey",
"grey",
"white",
}
local shutter_cbox = {
type = "wallmounted",
wall_top = { -0.5, 0.4375, -0.5, 0.5, 0.5, 0.5 },
wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
wall_side = { -0.5, -0.5, -0.5, -0.4375, 0.5, 0.5 }
}
local inv = "homedecor_window_shutter_inv.png^[colorize:#a87034:150"
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",
airbrush_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)
end,
})
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)
end,
})
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)
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
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 880 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 731 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 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: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 556 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 377 B

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