diff --git a/LICENSE b/LICENSE index 0a3df5e6..624a8eca 100644 --- a/LICENSE +++ b/LICENSE @@ -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. + Copyright (C) 2007 Free Software Foundation, Inc. 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 +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. diff --git a/building_blocks/alias.lua b/building_blocks/alias.lua index 3ce0cd43..1ac24f52 100644 --- a/building_blocks/alias.lua +++ b/building_blocks/alias.lua @@ -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") diff --git a/building_blocks/depends.txt b/building_blocks/depends.txt index f5cd549f..a890df8d 100644 --- a/building_blocks/depends.txt +++ b/building_blocks/depends.txt @@ -1,4 +1,5 @@ default -homedecor_i18n +homedecor_common moreblocks? +gloopblocks? stairs? diff --git a/building_blocks/init.lua b/building_blocks/init.lua index 00ced277..e6fe089c 100644 --- a/building_blocks/init.lua +++ b/building_blocks/init.lua @@ -1,4 +1,4 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext local modpath = minetest.get_modpath("building_blocks") dofile(modpath.."/alias.lua") @@ -7,3 +7,4 @@ dofile(modpath.."/others.lua") dofile(modpath.."/recipes.lua") minetest.log("action", "[building_blocks] loaded.") + diff --git a/building_blocks/node_stairs.lua b/building_blocks/node_stairs.lua index 9781293c..daba5679 100644 --- a/building_blocks/node_stairs.lua +++ b/building_blocks/node_stairs.lua @@ -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"), diff --git a/building_blocks/others.lua b/building_blocks/others.lua index 180aa707..2cc613f9 100644 --- a/building_blocks/others.lua +++ b/building_blocks/others.lua @@ -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} } }, -}) \ No newline at end of file +}) diff --git a/building_blocks/recipes.lua b/building_blocks/recipes.lua index e8f810f7..689643fe 100644 --- a/building_blocks/recipes.lua +++ b/building_blocks/recipes.lua @@ -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, -}) \ No newline at end of file +}) diff --git a/building_blocks/textures/building_blocks_marble.png b/building_blocks/textures/building_blocks_marble.png index 94aad999..497e2b6c 100644 Binary files a/building_blocks/textures/building_blocks_marble.png and b/building_blocks/textures/building_blocks_marble.png differ diff --git a/chains/depends.txt b/chains/depends.txt deleted file mode 100644 index 7b3e79f7..00000000 --- a/chains/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -homedecor diff --git a/chains/models/chains.obj b/chains/models/chains.obj deleted file mode 100644 index 78724c98..00000000 --- a/chains/models/chains.obj +++ /dev/null @@ -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 diff --git a/chains/textures/chain_brass_inv.png b/chains/textures/chain_brass_inv.png deleted file mode 100644 index 8c2d554d..00000000 Binary files a/chains/textures/chain_brass_inv.png and /dev/null differ diff --git a/chains/textures/chain_wrought_iron_inv.png b/chains/textures/chain_wrought_iron_inv.png deleted file mode 100644 index c552f7b4..00000000 Binary files a/chains/textures/chain_wrought_iron_inv.png and /dev/null differ diff --git a/chains/textures/chains_brass.png b/chains/textures/chains_brass.png deleted file mode 100644 index e2fb20db..00000000 Binary files a/chains/textures/chains_brass.png and /dev/null differ diff --git a/chains/textures/chains_candle_flame.png b/chains/textures/chains_candle_flame.png deleted file mode 100644 index a34b9a5e..00000000 Binary files a/chains/textures/chains_candle_flame.png and /dev/null differ diff --git a/chains/textures/chains_wrought_iron.png b/chains/textures/chains_wrought_iron.png deleted file mode 100644 index 29af8dbd..00000000 Binary files a/chains/textures/chains_wrought_iron.png and /dev/null differ diff --git a/computer/README.txt b/computer/README.txt index 6d6c7dcf..beed59e6 100644 --- a/computer/README.txt +++ b/computer/README.txt @@ -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 - - 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. diff --git a/computer/computers.lua b/computer/computers.lua index b9d3dc47..06b04a93 100644 --- a/computer/computers.lua +++ b/computer/computers.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext -- Amiga 500 lookalike computer.register("computer:shefriendSOO", { diff --git a/computer/depends.txt b/computer/depends.txt index 947d2a71..997cb0b2 100644 --- a/computer/depends.txt +++ b/computer/depends.txt @@ -1,2 +1,2 @@ default -homedecor_i18n +homedecor_common diff --git a/computer/miscitems.lua b/computer/miscitems.lua index 5f63c7d2..1eb0634b 100644 --- a/computer/miscitems.lua +++ b/computer/miscitems.lua @@ -1,14 +1,12 @@ - -- Copyright (C) 2012-2013 Diego Martínez --- 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, }) diff --git a/computer/recipes.lua b/computer/recipes.lua index 51337adc..8ab59d85 100644 --- a/computer/recipes.lua +++ b/computer/recipes.lua @@ -1,54 +1,52 @@ - -- Copyright (C) 2012-2013 Diego Martínez --- 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" } } }) diff --git a/computer/tetris.lua b/computer/tetris.lua index 023fc4d3..85e91513 100644 --- a/computer/tetris.lua +++ b/computer/tetris.lua @@ -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 } diff --git a/copyright.txt b/copyright.txt new file mode 100644 index 00000000..cccfbe1e --- /dev/null +++ b/copyright.txt @@ -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 + diff --git a/fake_fire/depends.txt b/fake_fire/depends.txt index f91fb9f6..997cb0b2 100644 --- a/fake_fire/depends.txt +++ b/fake_fire/depends.txt @@ -1,2 +1,2 @@ -default -homedecor +default +homedecor_common diff --git a/fake_fire/init.lua b/fake_fire/init.lua index de537c0b..e5fd267b 100644 --- a/fake_fire/init.lua +++ b/fake_fire/init.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext screwdriver = screwdriver or {} diff --git a/homedecor/bathroom_furniture.lua b/homedecor/bathroom_furniture.lua deleted file mode 100644 index 2f57ddbf..00000000 --- a/homedecor/bathroom_furniture.lua +++ /dev/null @@ -1,193 +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", - place_param2 = 240, - groups = {cracky=3, ud_param2_colorable = 1}, - sounds = default.node_sound_stone_defaults(), - on_construct = unifieddyes.on_construct, - after_place_node = unifieddyes.recolor_on_place, - after_dig_node = unifieddyes.after_dig_node -}) - -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", - place_param2 = 240, - groups = {cracky=3, ud_param2_colorable = 1}, - sounds = default.node_sound_stone_defaults(), - on_construct = unifieddyes.on_construct, - after_place_node = unifieddyes.recolor_on_place, - after_dig_node = unifieddyes.after_dig_node -}) - -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", - place_param2 = 240, - groups = {cracky=3, ud_param2_colorable = 1}, - sounds = default.node_sound_stone_defaults(), - on_construct = unifieddyes.on_construct, - after_place_node = unifieddyes.recolor_on_place, - after_dig_node = unifieddyes.after_dig_node -}) - -local 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 -}) - -minetest.register_lbm({ - name = "homedecor:recolor_bathroom_tiles", - label = "Convert bathroom tiles to use UD extended palette", - run_at_every_load = false, - nodenames = { - "homedecor:bathroom_tiles_light", - "homedecor:bathroom_tiles_medium", - "homedecor:bathroom_tiles_dark", - }, - action = function(pos, node) - local meta = minetest.get_meta(pos) - if meta:get_string("palette") ~= "ext" then - minetest.swap_node(pos, { name = node.name, param2 = unifieddyes.convert_classic_palette[node.param2] }) - meta:set_string("palette", "ext") - end - end -}) diff --git a/homedecor/copyright.txt b/homedecor/copyright.txt deleted file mode 100644 index fa4892f0..00000000 --- a/homedecor/copyright.txt +++ /dev/null @@ -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. diff --git a/homedecor/crafts.lua b/homedecor/crafts.lua deleted file mode 100644 index 69616de4..00000000 --- a/homedecor/crafts.lua +++ /dev/null @@ -1,3136 +0,0 @@ --- Crafting for homedecor mod (includes folding) by Vanessa Ezekowitz --- --- Mostly my own code; overall template borrowed from game default - -local S = homedecor_i18n.gettext - --- misc craftitems - -minetest.register_craftitem("homedecor:terracotta_base", { - description = S("Uncooked Terracotta Base"), - inventory_image = "homedecor_terracotta_base.png", -}) - -minetest.register_craftitem("homedecor:roof_tile_terracotta", { - description = S("Terracotta Roof Tile"), - inventory_image = "homedecor_roof_tile_terracotta.png", -}) - -minetest.register_craftitem("homedecor:oil_extract", { - description = S("Oil extract"), - inventory_image = "homedecor_oil_extract.png", -}) - -minetest.register_craftitem("homedecor:paraffin", { - description = S("Unprocessed paraffin"), - inventory_image = "homedecor_paraffin.png", -}) - -minetest.register_alias("homedecor:plastic_base", "homedecor:paraffin") - -minetest.register_craftitem("homedecor:plastic_sheeting", { - description = S("Plastic sheet"), - inventory_image = "homedecor_plastic_sheeting.png", -}) - -minetest.register_craftitem("homedecor:plastic_strips", { - description = S("Plastic strips"), - inventory_image = "homedecor_plastic_strips.png", -}) - -minetest.register_craftitem("homedecor:drawer_small", { - description = S("Small Wooden Drawer"), - inventory_image = "homedecor_drawer_small.png", -}) - -minetest.register_craftitem("homedecor:ic", { - description = S("Simple Integrated Circuit"), - inventory_image = "homedecor_ic.png", -}) - -minetest.register_craftitem("homedecor:heating_element", { - description = S("Heating element"), - inventory_image = "homedecor_heating_element.png", -}) - -minetest.register_craftitem("homedecor:motor", { - description = S("Motor"), - inventory_image = "homedecor_motor.png", -}) - -minetest.register_craftitem("homedecor:power_crystal", { - description = S("Power Crystal"), - inventory_image = "homedecor_power_crystal.png", -}) - -minetest.register_craftitem("homedecor:blank_canvas", { - description = S("Blank Canvas"), - inventory_image = "homedecor_blank_canvas.png" -}) - -minetest.register_craftitem("homedecor:vcr", { - description = S("VCR"), - inventory_image = "homedecor_vcr.png" -}) - -minetest.register_craftitem("homedecor:dvd_player", { - description = S("DVD Player"), - inventory_image = "homedecor_dvd_player.png" -}) - -minetest.register_craftitem("homedecor:copper_wire", { - description = S("Spool of copper wire"), - inventory_image = "homedecor_copper_wire.png" -}) - -minetest.register_craftitem("homedecor:steel_wire", { - description = S("Spool of steel wire"), - inventory_image = "homedecor_steel_wire.png" -}) - -minetest.register_craftitem("homedecor:speaker_driver", { - description = S("Speaker driver"), - inventory_image = "homedecor_speaker_driver_inv.png" -}) - -minetest.register_craftitem("homedecor:fan_blades", { - description = S("Fan blades"), - inventory_image = "homedecor_fan_blades.png" -}) - -minetest.register_craftitem("homedecor:copper_strip", { - description = S("Copper Strip"), - inventory_image = "homedecor_copper_strip.png" -}) - -minetest.register_craftitem("homedecor:steel_strip", { - description = S("Steel Strip"), - inventory_image = "homedecor_steel_strip.png" -}) - -minetest.register_craftitem(":glooptest:chainlink", { - description = S("Steel chainlink"), - inventory_image = "homedecor_chainlink_steel.png" -}) - -minetest.register_craftitem("homedecor:chainlink_brass", { - description = S("Brass chainlink"), - inventory_image = "homedecor_chainlink_brass.png" -}) - -minetest.register_craftitem("homedecor:soda_can", { - description = S("Soda Can"), - inventory_image = "homedecor_soda_can.png", - on_use = minetest.item_eat(2), -}) - -minetest.register_craftitem("homedecor:coin", { - description = S("Gold Coin (for soda vending machine)"), - inventory_image = "homedecor_coin.png", -}) - --- alternate crafting if mesecons is/isn't installed - -if not minetest.get_modpath("mesecons") then - - minetest.register_craftitem(":mesecons_materials:silicon", { - description = S("Silicon lump"), - inventory_image = "homedecor_silicon.png", - }) - - minetest.register_craft( { - output = "mesecons_materials:silicon 4", - recipe = { - { "default:sand", "default:sand" }, - { "default:sand", "default:steel_ingot" }, - }, - }) - -end - --- alternate crafting if technic is/isn't installed -if not minetest.get_modpath("technic") then - minetest.register_craftitem(":technic:brass_ingot", { - description = S("Brass Ingot"), - inventory_image = "homedecor_brass_ingot.png", - }) - - if minetest.get_modpath("moreores") then - minetest.register_craft( { - type = "shapeless", - output = "technic:brass_ingot 2", - recipe = { - "moreores:silver_ingot", - "default:copper_ingot", - }, - }) - else - minetest.register_craft( { - type = "shapeless", - output = "technic:brass_ingot 3", - recipe = { - "default:steel_ingot", - "default:copper_ingot", - "default:gold_ingot", - }, - }) - end -end - -minetest.register_alias("homedecor:brass_ingot", "technic:brass_ingot") - --- the actual crafts - -minetest.register_craft( { - output = "homedecor:copper_strip 12", - recipe = { - { "", "default:copper_ingot", "" }, - { "default:copper_ingot", "", "" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:steel_strip 12", - recipe = { - { "", "default:steel_ingot", "" }, - { "default:steel_ingot", "", "" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:fan_blades 2", - recipe = { - { "", "homedecor:plastic_sheeting", "" }, - { "", "default:steel_ingot", "" }, - { "homedecor:plastic_sheeting", "", "homedecor:plastic_sheeting" } - }, -}) - -minetest.register_craft( { - output = "homedecor:steel_wire 4", - recipe = { - { "", "homedecor:plastic_sheeting", "" }, - { "default:steel_ingot", "homedecor:plastic_sheeting", "default:steel_ingot" }, - { "", "homedecor:plastic_sheeting", "" } - }, -}) - -minetest.register_craft( { - output = "homedecor:copper_wire 4", - recipe = { - { "", "homedecor:plastic_sheeting", "" }, - { "default:copper_ingot", "homedecor:plastic_sheeting", "default:copper_ingot" }, - { "", "homedecor:plastic_sheeting", "" } - }, -}) - -minetest.register_craft( { - output = "homedecor:plastic_strips 3", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } - }, -}) - -minetest.register_craft( { - output = "homedecor:heating_element 2", - recipe = { - { "default:copper_ingot", "default:mese_crystal_fragment", "default:copper_ingot" } - }, -}) - -minetest.register_craft( { - output = "homedecor:motor 2", - recipe = { - { "default:mese_crystal_fragment", "homedecor:copper_wire", "homedecor:plastic_sheeting" }, - { "default:copper_ingot", "default:steel_ingot", "default:steel_ingot" }, - { "default:mese_crystal_fragment", "homedecor:copper_wire", "homedecor:plastic_sheeting" } - }, -}) - -minetest.register_craft({ - --type = "shapeless", - output = "homedecor:power_crystal 2", - recipe = { - { "default:mese_crystal_fragment", "default:torch", "default:mese_crystal_fragment" }, - { "default:diamond", "default:gold_ingot", "default:diamond" } - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:power_crystal", - burntime = 50, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:terracotta_base 8", - recipe = { - "default:dirt", - "default:clay_lump", - "bucket:bucket_water" - }, - replacements = { {"bucket:bucket_water", "bucket:bucket_empty"}, }, -}) - -minetest.register_craft({ - type = "cooking", - output = "homedecor:roof_tile_terracotta", - recipe = "homedecor:terracotta_base", -}) - -minetest.register_craft( { - output = "homedecor:shingles_terracotta", - recipe = { - { "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta"}, - { "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta"}, - }, -}) - -minetest.register_craft( { - output = "homedecor:roof_tile_terracotta 8", - recipe = { - { "homedecor:shingles_terracotta", "homedecor:shingles_terracotta" } - } -}) - -minetest.register_craft( { - output = "homedecor:flower_pot_terracotta", - recipe = { - { "homedecor:roof_tile_terracotta", "default:dirt", "homedecor:roof_tile_terracotta" }, - { "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta" }, - }, -}) - --- - -minetest.register_craft({ - type = "shapeless", - output = "homedecor:oil_extract 4", - recipe = { - "group:leaves", - "group:leaves", - "group:leaves", - "group:leaves", - "group:leaves", - "group:leaves" - } -}) - -minetest.register_craft({ - type = "cooking", - output = "homedecor:paraffin", - recipe = "homedecor:oil_extract", -}) - -minetest.register_craft({ - type = "cooking", - output = "homedecor:plastic_sheeting", - recipe = "homedecor:paraffin", -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:oil_extract", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:paraffin", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:plastic_sheeting", - burntime = 30, -}) - -minetest.register_craft( { - output = "homedecor:flower_pot_green", - recipe = { - { "", "dye:dark_green", "" }, - { "homedecor:plastic_sheeting", "default:dirt", "homedecor:plastic_sheeting" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:flower_pot_black", - recipe = { - { "dye:black", "dye:black", "dye:black" }, - { "homedecor:plastic_sheeting", "default:dirt", "homedecor:plastic_sheeting" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - }, -}) - --- - -minetest.register_craft( { - output = "homedecor:projection_screen 3", - recipe = { - { "", "default:glass", "" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:projection_screen", - burntime = 30, -}) - --- - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:ceiling_paint 20", - recipe = { - "dye:white", - "dye:white", - "default:sand", - "bucket:bucket_water", - }, - replacements = { { "bucket:bucket_water","bucket:bucket_empty" } } -}) - -minetest.register_craft( { - output = "homedecor:ceiling_tile 10", - recipe = { - { "", "dye:white", "" }, - { "default:steel_ingot", "default:stone", "default:steel_ingot" }, - - }, -}) - - --- ======================================================= --- Items/recipes not requiring smelting of anything new - -minetest.register_craft( { - output = "homedecor:glass_table_small_round_b 15", - recipe = { - { "", "default:glass", "" }, - { "default:glass", "default:glass", "default:glass" }, - { "", "default:glass", "" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:glass_table_small_square_b 2", - recipe = { - {"homedecor:glass_table_small_round", "homedecor:glass_table_small_round" }, - } -}) - -minetest.register_craft( { - output = "homedecor:glass_table_large_b 2", - recipe = { - { "homedecor:glass_table_small_square", "homedecor:glass_table_small_square" }, - } -}) - --- - -minetest.register_craft( { - output = "homedecor:wood_table_small_round_b 15", - recipe = { - { "", "group:wood", "" }, - { "group:wood", "group:wood", "group:wood" }, - { "", "group:wood", "" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:wood_table_small_square_b 2", - recipe = { - { "homedecor:wood_table_small_round","homedecor:wood_table_small_round" }, - } -}) - -minetest.register_craft( { - output = "homedecor:wood_table_large_b 2", - recipe = { - { "homedecor:wood_table_small_square", "homedecor:wood_table_small_square" }, - } -}) - --- - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:wood_table_small_round_b", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:wood_table_small_square_b", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:wood_table_large_b", - burntime = 30, -}) - --- - -minetest.register_craft( { - output = "homedecor:shingles_asphalt 6", - recipe = { - { "building_blocks:gravel_spread", "dye:black", "building_blocks:gravel_spread" }, - { "group:sand", "dye:black", "group:sand" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - }, -}) - --- - -minetest.register_craft( { - output = "homedecor:shingles_wood 12", - recipe = { - { "group:stick", "group:wood"}, - { "group:wood", "group:stick"}, - }, -}) - -minetest.register_craft( { - output = "homedecor:shingles_wood 12", - recipe = { - { "group:wood", "group:stick"}, - { "group:stick", "group:wood"}, - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:shingles_wood", - burntime = 30, -}) - --- - -minetest.register_craft( { - output = "homedecor:skylight 4", - recipe = { - { "homedecor:glass_table_large", "homedecor:glass_table_large" }, - { "homedecor:glass_table_large", "homedecor:glass_table_large" }, - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:skylight_frosted", - recipe = { - "dye:white", - "homedecor:skylight" - }, -}) - -minetest.register_craft({ - type = "cooking", - output = "homedecor:skylight", - recipe = "homedecor:skylight_frosted", -}) - -minetest.register_craft( { - output = "homedecor:shutter 2", - recipe = { - { "group:stick", "group:stick" }, - { "group:stick", "group:stick" }, - { "group:stick", "group:stick" }, - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:shutter_oak", - burntime = 30, -}) - -minetest.register_craft( { - output = "homedecor:drawer_small", - recipe = { - { "group:wood", "default:steel_ingot", "group:wood" }, - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:drawer_small", - burntime = 30, -}) - --- - -minetest.register_craft( { - output = "homedecor:nightstand_oak_one_drawer", - recipe = { - { "homedecor:drawer_small" }, - { "group:wood" }, - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:nightstand_oak_one_drawer", - burntime = 30, -}) - -minetest.register_craft( { - output = "homedecor:nightstand_oak_two_drawers", - recipe = { - { "homedecor:drawer_small" }, - { "homedecor:drawer_small" }, - { "group:wood" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:nightstand_oak_two_drawers", - recipe = { - { "homedecor:nightstand_oak_one_drawer" }, - { "homedecor:drawer_small" }, - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:nightstand_oak_two_drawers", - burntime = 30, -}) - --- - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:nightstand_mahogany_one_drawer", - recipe = { - "homedecor:nightstand_oak_one_drawer", - "dye:brown", - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:nightstand_mahogany_one_drawer", - burntime = 30, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:nightstand_mahogany_two_drawers", - recipe = { - "homedecor:nightstand_oak_two_drawers", - "dye:brown", - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:nightstand_mahogany_two_drawers", - burntime = 30, -}) - --- Table legs - -minetest.register_craft( { - output = "homedecor:table_legs_wrought_iron 3", - recipe = { - { "", "default:iron_lump", "" }, - { "", "default:iron_lump", "" }, - { "default:iron_lump", "default:iron_lump", "default:iron_lump" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:table_legs_brass 3", - recipe = { - { "", "technic:brass_ingot", "" }, - { "", "technic:brass_ingot", "" }, - { "technic:brass_ingot", "technic:brass_ingot", "technic:brass_ingot" } - }, -}) - -minetest.register_craft( { - output = "homedecor:utility_table_legs", - recipe = { - { "group:stick", "group:stick", "group:stick" }, - { "group:stick", "", "group:stick" }, - { "group:stick", "", "group:stick" }, - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:utility_table_legs", - burntime = 30, -}) - --- vertical poles/lampposts - -minetest.register_craft( { - output = "homedecor:pole_brass 4", - recipe = { - { "", "technic:brass_ingot", "" }, - { "", "technic:brass_ingot", "" }, - { "", "technic:brass_ingot", "" } - }, -}) - -minetest.register_craft( { - output = "homedecor:pole_wrought_iron 4", - recipe = { - { "default:iron_lump", }, - { "default:iron_lump", }, - { "default:iron_lump", }, - }, -}) - --- Home electronics - -minetest.register_craft( { - output = "homedecor:ic 4", - recipe = { - { "mesecons_materials:silicon", "mesecons_materials:silicon" }, - { "mesecons_materials:silicon", "default:copper_ingot" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:television", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "homedecor:plastic_sheeting", "moreblocks:glow_glass", "homedecor:plastic_sheeting" }, - { "homedecor:ic", "homedecor:ic", "homedecor:ic" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:television", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "homedecor:plastic_sheeting", "default:glass", "homedecor:plastic_sheeting" }, - { "homedecor:ic", "homedecor:power_crystal", "homedecor:ic" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:stereo", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "homedecor:plastic_sheeting", "homedecor:ic", "homedecor:plastic_sheeting" }, - { "default:steel_ingot", "homedecor:ic", "default:steel_ingot" }, - }, -}) - --- =========================================================== --- Recipes that require materials from wool (cotton alternate) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:rug_small 8", - recipe = { - "wool:red", - "wool:yellow", - "wool:blue", - "wool:black" - }, -}) - -minetest.register_craft( { - output = "homedecor:rug_persian 8", - recipe = { - { "", "wool:yellow", "" }, - { "wool:red", "wool:blue", "wool:red" }, - { "", "wool:yellow", "" } - }, -}) - --- cotton versions: - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:rug_small 8", - recipe = { - "cotton:red", - "cotton:yellow", - "cotton:blue", - "cotton:black" - }, -}) - -minetest.register_craft( { - output = "homedecor:rug_persian 8", - recipe = { - { "", "cotton:yellow", "" }, - { "cotton:red", "cotton:blue", "cotton:red" }, - { "", "cotton:yellow", "" } - }, -}) - --- fuel recipes for same - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:rug_small", - burntime = 30, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:rug_large 2", - recipe = { - "homedecor:rug_small", - "homedecor:rug_small", - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:rug_large", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:rug_persian", - burntime = 30, -}) - --- Speakers - -minetest.register_craft( { - output = "homedecor:speaker_driver 2", - recipe = { - { "", "default:steel_ingot", "" }, - { "default:paper", "homedecor:copper_wire", "default:iron_lump" }, - { "", "default:steel_ingot", "" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:speaker_small", - recipe = { - { "wool:black", "homedecor:speaker_driver", "group:wood" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:speaker", - recipe = { - { "wool:black", "homedecor:speaker_driver", "group:wood" }, - { "wool:black", "homedecor:speaker_driver", "group:wood" }, - { "wool:black", "group:wood", "group:wood" }, - }, -}) - --- cotton version - -minetest.register_craft( { - output = "homedecor:speaker_small", - recipe = { - { "cotton:black", "homedecor:speaker_driver", "group:wood" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:speaker", - recipe = { - { "cotton:black", "homedecor:speaker_driver", "group:wood" }, - { "cotton:black", "homedecor:speaker_driver", "group:wood" }, - { "cotton:black", "group:wood", "group:wood" }, - }, -}) - --- Curtains - -minetest.register_craft( { - output = "homedecor:curtain_closed 4", - recipe = { - { "wool:white", "", ""}, - { "wool:white", "", ""}, - { "wool:white", "", ""}, - }, -}) - -minetest.register_craft( { - output = "homedecor:curtain_closed 4", - recipe = { - { "cottages:wool", "", ""}, - { "cottages:wool", "", ""}, - { "cottages:wool", "", ""}, - }, -}) - -local mats = { - { "brass", "homedecor:pole_brass" }, - { "wrought_iron", "homedecor:pole_wrought_iron" }, - { "wood", "group:stick" } -} - -for i in ipairs(mats) do - local material = mats[i][1] - local ingredient = mats[i][2] - minetest.register_craft( { - output = "homedecor:curtainrod_"..material.." 3", - recipe = { - { ingredient, ingredient, ingredient }, - }, - }) -end - --- Recycling recipes - --- Some glass objects recycle via the glass fragments item/recipe in the Vessels mod. - -minetest.register_craft({ - type = "shapeless", - output = "vessels:glass_fragments", - recipe = { - "homedecor:glass_table_small_round", - "homedecor:glass_table_small_round", - "homedecor:glass_table_small_round" - } -}) - -minetest.register_craft({ - type = "shapeless", - output = "vessels:glass_fragments", - recipe = { - "homedecor:glass_table_small_square", - "homedecor:glass_table_small_square", - "homedecor:glass_table_small_square" - } -}) - -minetest.register_craft({ - type = "shapeless", - output = "vessels:glass_fragments", - recipe = { - "homedecor:glass_table_large", - "homedecor:glass_table_large", - "homedecor:glass_table_large" - } -}) - -minetest.register_craft({ - type = "shapeless", - output = "vessels:glass_fragments 2", - recipe = { - "homedecor:skylight", - "homedecor:skylight", - "homedecor:skylight", - "homedecor:skylight", - "homedecor:skylight", - "homedecor:skylight" - } -}) - --- Wooden tabletops can turn into sticks - -minetest.register_craft({ - type = "shapeless", - output = "default:stick 4", - recipe = { - "homedecor:wood_table_small_round", - "homedecor:wood_table_small_round", - "homedecor:wood_table_small_round" - } -}) - -minetest.register_craft({ - type = "shapeless", - output = "default:stick 4", - recipe = { - "homedecor:wood_table_small_square", - "homedecor:wood_table_small_square", - "homedecor:wood_table_small_square" - } -}) - -minetest.register_craft({ - type = "shapeless", - output = "default:stick 4", - recipe = { - "homedecor:wood_table_large", - "homedecor:wood_table_large", - "homedecor:wood_table_large" - } -}) - --- Kitchen stuff - -minetest.register_craft({ - output = "homedecor:oven_steel", - recipe = { - {"homedecor:heating_element", "default:steel_ingot", "homedecor:heating_element", }, - {"default:steel_ingot", "moreblocks:iron_glass", "default:steel_ingot", }, - {"default:steel_ingot", "homedecor:heating_element", "default:steel_ingot", }, - } -}) - -minetest.register_craft({ - output = "homedecor:oven_steel", - recipe = { - {"homedecor:heating_element", "default:steel_ingot", "homedecor:heating_element", }, - {"default:steel_ingot", "default:glass", "default:steel_ingot", }, - {"default:steel_ingot", "homedecor:heating_element", "default:steel_ingot", }, - } -}) - -minetest.register_craft({ - type = "shapeless", - output = "homedecor:oven", - recipe = { - "homedecor:oven_steel", - "dye:white", - "dye:white", - } -}) - -minetest.register_craft({ - output = "homedecor:microwave_oven 2", - recipe = { - {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot", }, - {"default:steel_ingot", "moreblocks:iron_glass", "homedecor:ic", }, - {"default:steel_ingot", "default:copper_ingot", "homedecor:power_crystal", }, - } -}) - -minetest.register_craft({ - output = "homedecor:microwave_oven 2", - recipe = { - {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot", }, - {"default:steel_ingot", "default:glass", "homedecor:ic", }, - {"default:steel_ingot", "default:copper_ingot", "homedecor:power_crystal", }, - } -}) - -minetest.register_craft({ - output = "homedecor:refrigerator_steel", - recipe = { - {"default:steel_ingot", "homedecor:glowlight_small_cube", "default:steel_ingot", }, - {"default:steel_ingot", "default:copperblock", "default:steel_ingot", }, - {"default:steel_ingot", "default:clay", "default:steel_ingot", }, - } -}) - -minetest.register_craft({ - type = "shapeless", - output = "homedecor:refrigerator_white", - recipe = { - "homedecor:refrigerator_steel", - "dye:white", - "dye:white", - "dye:white", - } -}) - -minetest.register_craft({ - output = "homedecor:kitchen_cabinet", - recipe = { - {"group:wood", "group:stick", "group:wood", }, - {"group:wood", "group:stick", "group:wood", }, - {"group:wood", "group:stick", "group:wood", }, - } -}) - -minetest.register_craft({ - output = "homedecor:kitchen_cabinet_steel", - recipe = { - {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, - {"", "homedecor:kitchen_cabinet", ""}, - } -}) - -minetest.register_craft({ - output = "homedecor:kitchen_cabinet_steel", - recipe = { - {"moreblocks:slab_steelblock_1"}, - { "homedecor:kitchen_cabinet" }, - } -}) - -minetest.register_craft({ - output = "homedecor:kitchen_cabinet_marble", - recipe = { - {"building_blocks:slab_marble"}, - {"homedecor:kitchen_cabinet"}, - } -}) - -minetest.register_craft({ - output = "homedecor:kitchen_cabinet_marble", - recipe = { - {"technic:slab_marble_1"}, - {"homedecor:kitchen_cabinet"}, - } -}) - -minetest.register_craft({ - output = "homedecor:kitchen_cabinet_granite", - recipe = { - {"technic:slab_granite_1"}, - {"homedecor:kitchen_cabinet"}, - } -}) - -minetest.register_craft({ - type = "shapeless", - output = "homedecor:kitchen_cabinet_half 2", - recipe = { "homedecor:kitchen_cabinet" } -}) - -minetest.register_craft({ - output = "homedecor:kitchen_cabinet_with_sink", - recipe = { - {"group:wood", "default:steel_ingot", "group:wood", }, - {"group:wood", "default:steel_ingot", "group:wood", }, - {"group:wood", "group:stick", "group:wood", }, - } -}) - -------- Lighting - --- candles - -minetest.register_craft({ - output = "homedecor:candle_thin 4", - recipe = { - {"farming:string" }, - {"homedecor:paraffin" } - } -}) - -minetest.register_craft({ - output = "homedecor:candle 2", - recipe = { - {"farming:string" }, - {"homedecor:paraffin" }, - {"homedecor:paraffin" } - } -}) - -minetest.register_craft({ - output = "homedecor:wall_sconce 2", - recipe = { - {"default:iron_lump", "", ""}, - {"default:iron_lump", "homedecor:candle", ""}, - {"default:iron_lump", "", ""}, - } -}) - -minetest.register_craft({ - output = "homedecor:candlestick_wrought_iron", - recipe = { - {""}, - {"homedecor:candle_thin"}, - {"default:iron_lump"}, - } -}) - -minetest.register_craft({ - output = "homedecor:candlestick_brass", - recipe = { - {""}, - {"homedecor:candle_thin"}, - {"technic:brass_ingot"}, - } -}) - -minetest.register_craft({ - output = "homedecor:oil_lamp", - recipe = { - { "", "vessels:glass_bottle", "" }, - { "", "farming:string", "" }, - { "default:steel_ingot", "homedecor:oil_extract", "default:steel_ingot" } - } -}) - -minetest.register_craft({ - output = "homedecor:oil_lamp_tabletop", - recipe = { - { "", "vessels:glass_bottle", "" }, - { "", "farming:string", "" }, - { "default:iron_lump", "homedecor:oil_extract", "default:iron_lump" } - } -}) - --- Wrought-iron wall latern - -minetest.register_craft({ - output = "homedecor:ground_lantern", - recipe = { - { "default:iron_lump", "default:iron_lump", "default:iron_lump" }, - { "default:iron_lump", "default:torch", "default:iron_lump" }, - { "", "default:iron_lump", "" } - } -}) - --- wood-lattice lamps - -minetest.register_craft( { - output = "homedecor:lattice_lantern_large 2", - recipe = { - { "dye:black", "dye:yellow", "dye:black" }, - { "group:stick", "building_blocks:woodglass", "group:stick" }, - { "group:stick", "homedecor:power_crystal", "group:stick" } - }, -}) - -minetest.register_craft( { - output = "homedecor:lattice_lantern_small 8", - recipe = { - { "homedecor:lattice_lantern_large" }, - }, -}) - --- glowlights - -minetest.register_craft({ - output = "homedecor:glowlight_half 6", - recipe = { - { "dye:white", "dye:white", "dye:white" }, - { "default:glass", "homedecor:power_crystal", "default:glass", }, - } -}) - -minetest.register_craft({ - output = "homedecor:glowlight_half 6", - recipe = { - { "dye:white", "dye:white", "dye:white" }, - {"moreblocks:super_glow_glass", "moreblocks:glow_glass", "moreblocks:super_glow_glass", }, - } -}) - -minetest.register_craft({ - output = "homedecor:glowlight_quarter 6", - recipe = { - {"homedecor:glowlight_half", "homedecor:glowlight_half", "homedecor:glowlight_half", }, - } -}) - -minetest.register_craft({ - output = "homedecor:glowlight_small_cube 8", - recipe = { - { "dye:white" }, - { "default:glass" }, - { "homedecor:power_crystal" }, - } -}) - -minetest.register_craft({ - output = "homedecor:glowlight_small_cube 8", - recipe = { - {"dye:white" }, - {"moreblocks:super_glow_glass" }, - } -}) - -minetest.register_craft({ - output = "homedecor:glowlight_small_cube 4", - recipe = { - {"homedecor:glowlight_half" }, - } -}) - -minetest.register_craft({ - output = "homedecor:glowlight_half", - recipe = { - {"homedecor:glowlight_small_cube","homedecor:glowlight_small_cube"}, - {"homedecor:glowlight_small_cube","homedecor:glowlight_small_cube"} - } -}) - -minetest.register_craft({ - output = "homedecor:glowlight_half", - type = "shapeless", - recipe = { - "homedecor:glowlight_quarter", - "homedecor:glowlight_quarter" - } -}) - ----- - -minetest.register_craft({ - output = "homedecor:plasma_lamp", - recipe = { - {"", "default:glass", ""}, - {"default:glass", "homedecor:power_crystal", "default:glass"}, - {"", "default:glass", ""} - } -}) - -minetest.register_craft({ - output = "homedecor:plasma_ball 2", - recipe = { - {"", "default:glass", ""}, - {"default:glass", "default:copper_ingot", "default:glass"}, - {"homedecor:plastic_sheeting", "homedecor:power_crystal", "homedecor:plastic_sheeting"} - } -}) - --- Brass/wrought iron fences - - -minetest.register_craft( { - output = "homedecor:fence_brass 6", - recipe = { - { "technic:brass_ingot", "technic:brass_ingot", "technic:brass_ingot" }, - { "technic:brass_ingot", "technic:brass_ingot", "technic:brass_ingot" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:fence_wrought_iron 6", - recipe = { - { "default:iron_lump","default:iron_lump","default:iron_lump" }, - { "default:iron_lump","default:iron_lump","default:iron_lump" }, - }, -}) - --- other types of fences - -minetest.register_craft( { - output = "homedecor:fence_wrought_iron_2 4", - recipe = { - { "homedecor:pole_wrought_iron", "default:iron_lump" }, - { "homedecor:pole_wrought_iron", "default:iron_lump" }, - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_wrought_iron_2_corner", - recipe = { - "homedecor:fence_wrought_iron_2", - "homedecor:fence_wrought_iron_2" - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_wrought_iron_2 2", - recipe = { - "homedecor:fence_wrought_iron_2_corner", - }, -}) - --- - -minetest.register_craft( { - output = "homedecor:fence_picket 6", - recipe = { - { "group:stick", "group:stick", "group:stick" }, - { "group:stick", "", "group:stick" }, - { "group:stick", "group:stick", "group:stick" } - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_picket_corner", - recipe = { - "homedecor:fence_picket", - "homedecor:fence_picket" - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_picket 2", - recipe = { - "homedecor:fence_picket_corner" - }, -}) - --- - - -minetest.register_craft( { - output = "homedecor:fence_picket_white 6", - recipe = { - { "group:stick", "group:stick", "group:stick" }, - { "group:stick", "dye:white", "group:stick" }, - { "group:stick", "group:stick", "group:stick" } - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_picket_corner_white", - recipe = { - "homedecor:fence_picket_white", - "homedecor:fence_picket_white" - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_picket_white 2", - recipe = { - "homedecor:fence_picket_corner_white" - }, -}) - --- - - -minetest.register_craft( { - output = "homedecor:fence_privacy 6", - recipe = { - { "group:wood", "group:stick", "group:wood" }, - { "group:wood", "", "group:wood" }, - { "group:wood", "group:stick", "group:wood" } - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_privacy_corner", - recipe = { - "homedecor:fence_privacy", - "homedecor:fence_privacy" - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_privacy 2", - recipe = { - "homedecor:fence_privacy_corner" - }, -}) - --- - - -minetest.register_craft( { - output = "homedecor:fence_barbed_wire 6", - recipe = { - { "group:stick", "homedecor:steel_wire", "group:stick" }, - { "group:stick", "", "group:stick" }, - { "group:stick", "homedecor:steel_wire", "group:stick" } - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_barbed_wire_corner", - recipe = { "homedecor:fence_barbed_wire", "homedecor:fence_barbed_wire" }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_barbed_wire 2", - recipe = { "homedecor:fence_barbed_wire_corner" }, -}) - --- - - -minetest.register_craft( { - output = "homedecor:fence_chainlink 9", - recipe = { - { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, - { "homedecor:steel_wire", "homedecor:steel_wire", "default:steel_ingot" }, - { "homedecor:steel_wire", "homedecor:steel_wire", "default:steel_ingot" } - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_chainlink_corner", - recipe = { "homedecor:fence_chainlink", "homedecor:fence_chainlink" }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_chainlink 2", - recipe = { "homedecor:fence_chainlink_corner" }, -}) - - --- Gates - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:gate_picket_white_closed", - recipe = { - "homedecor:fence_picket_white" - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_picket_white", - recipe = { - "homedecor:gate_picket_white_closed" - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:gate_picket_closed", - recipe = { - "homedecor:fence_picket" - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_picket", - recipe = { - "homedecor:gate_picket_closed" - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:gate_barbed_wire_closed", - recipe = { - "homedecor:fence_barbed_wire" - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_barbed_wire", - recipe = { - "homedecor:gate_barbed_wire_closed" - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:gate_chainlink_closed", - recipe = { - "homedecor:fence_chainlink" - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:fence_chainlink", - recipe = { - "homedecor:gate_chainlink_closed" - }, -}) - ------- Doors - --- plain wood, non-windowed - -minetest.register_craft( { - output = "homedecor:door_wood_plain_left 2", - recipe = { - { "group:wood", "group:wood", "" }, - { "group:wood", "group:wood", "default:steel_ingot" }, - { "group:wood", "group:wood", "" }, - }, -}) - --- fancy exterior - -minetest.register_craft( { - output = "homedecor:door_exterior_fancy_left 2", - recipe = { - { "group:wood", "default:glass" }, - { "group:wood", "group:wood" }, - { "group:wood", "group:wood" }, - }, -}) - --- wood and glass (grid style) - --- bare - -minetest.register_craft( { - output = "homedecor:door_wood_glass_oak_left 2", - recipe = { - { "default:glass", "group:wood" }, - { "group:wood", "default:glass" }, - { "default:glass", "group:wood" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:door_wood_glass_oak_left 2", - recipe = { - { "group:wood", "default:glass" }, - { "default:glass", "group:wood" }, - { "group:wood", "default:glass" }, - }, -}) - --- mahogany - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:door_wood_glass_mahogany_left 2", - recipe = { - "default:dirt", - "default:coal_lump", - "homedecor:door_wood_glass_oak_left", - "homedecor:door_wood_glass_oak_left" - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:door_wood_glass_mahogany_left 2", - recipe = { - "dye:brown", - "homedecor:door_wood_glass_oak_left", - "homedecor:door_wood_glass_oak_left" - }, -}) - --- white - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:door_wood_glass_white_left 2", - recipe = { - "dye:white", - "homedecor:door_wood_glass_oak_left", - "homedecor:door_wood_glass_oak_left" - }, -}) - --- Solid glass with metal handle - -minetest.register_craft( { - output = "homedecor:door_glass_left 2", - recipe = { - { "default:glass", "default:glass" }, - { "default:glass", "default:steel_ingot" }, - { "default:glass", "default:glass" }, - }, -}) - --- Closet doors - --- oak - -minetest.register_craft( { - output = "homedecor:door_closet_oak_left 2", - recipe = { - { "", "group:stick", "group:stick" }, - { "default:steel_ingot", "group:stick", "group:stick" }, - { "", "group:stick", "group:stick" }, - }, -}) - --- mahogany - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:door_closet_mahogany_left 2", - recipe = { - "homedecor:door_closet_oak_left", - "homedecor:door_closet_oak_left", - "default:dirt", - "default:coal_lump", - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:door_closet_mahogany_left 2", - recipe = { - "homedecor:door_closet_oak_left", - "homedecor:door_closet_oak_left", - "dye:brown" - }, -}) - --- wrought fence-like door - -minetest.register_craft( { - output = "homedecor:door_wrought_iron_left 2", - recipe = { - { "homedecor:pole_wrought_iron", "default:iron_lump" }, - { "homedecor:pole_wrought_iron", "default:iron_lump" }, - { "homedecor:pole_wrought_iron", "default:iron_lump" } - }, -}) - --- bedroom door - -minetest.register_craft( { - output = "homedecor:door_bedroom_left", - recipe = { - { "dye:white", "dye:white", "" }, - { "homedecor:door_wood_plain_left", "technic:brass_ingot", "" }, - { "", "", "" }, - }, -}) - --- woodglass door - -minetest.register_craft( { - output = "homedecor:door_woodglass_left", - recipe = { - { "group:wood", "default:glass", "" }, - { "group:wood", "default:glass", "technic:brass_ingot" }, - { "group:wood", "group:wood", "" }, - }, -}) - --- woodglass door type 2 - -minetest.register_craft( { - output = "homedecor:door_woodglass2_left", - recipe = { - { "default:glass", "default:glass", "" }, - { "group:wood", "group:wood", "default:iron_lump" }, - { "group:wood", "group:wood", "" }, - }, -}) - --- laundry stuff - -minetest.register_craft( { - output = "homedecor:washing_machine", - recipe = { - { "default:steel_ingot", "default:steel_ingot", "homedecor:ic" }, - { "default:steel_ingot", "bucket:bucket_water", "default:steel_ingot" }, - { "default:steel_ingot", "homedecor:motor", "default:steel_ingot" } - }, -}) - -minetest.register_craft( { - output = "homedecor:washing_machine", - recipe = { - { "default:steel_ingot", "default:steel_ingot", "homedecor:ic" }, - { "default:steel_ingot", "bucket:bucket_water", "default:steel_ingot" }, - { "default:steel_ingot", "technic:motor", "default:steel_ingot" } - }, -}) - -minetest.register_craft( { - output = "homedecor:dryer", - recipe = { - { "default:steel_ingot", "default:steel_ingot", "homedecor:ic" }, - { "default:steel_ingot", "bucket:bucket_empty", "homedecor:motor" }, - { "default:steel_ingot", "homedecor:heating_element", "default:steel_ingot" } - }, -}) - -minetest.register_craft( { - output = "homedecor:dryer", - recipe = { - { "default:steel_ingot", "default:steel_ingot", "homedecor:ic" }, - { "default:steel_ingot", "bucket:bucket_empty", "technic:motor" }, - { "default:steel_ingot", "homedecor:heating_element", "default:steel_ingot" } - }, -}) - -minetest.register_craft( { - output = "homedecor:ironing_board", - recipe = { - { "wool:grey", "wool:grey", "wool:grey"}, - { "", "default:steel_ingot", "" }, - { "default:steel_ingot", "", "default:steel_ingot" } - }, -}) - --- dishwashers - -minetest.register_craft( { - output = "homedecor:dishwasher", - recipe = { - { "homedecor:ic", "homedecor:fence_chainlink", "default:steel_ingot", }, - { "default:steel_ingot", "homedecor:shower_head", "homedecor:motor" }, - { "default:steel_ingot", "homedecor:heating_element", "bucket:bucket_water" } - }, -}) - -minetest.register_craft( { - output = "homedecor:dishwasher", - recipe = { - { "homedecor:ic", "homedecor:fence_chainlink", "default:steel_ingot", }, - { "default:steel_ingot", "homedecor:shower_head", "technic:motor" }, - { "default:steel_ingot", "homedecor:heating_element", "bucket:bucket_water" } - }, -}) - -minetest.register_craft( { - output = "homedecor:dishwasher_wood", - recipe = { - { "stairs:slab_wood" }, - { "homedecor:dishwasher" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:dishwasher_wood", - recipe = { - { "moreblocks:slab_wood" }, - { "homedecor:dishwasher" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:dishwasher_wood", - recipe = { - { "moreblocks:slab_wood_1" }, - { "homedecor:dishwasher" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:dishwasher_steel", - recipe = { - { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, - { "", "homedecor:dishwasher", "" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:dishwasher_steel", - recipe = { - { "moreblocks:slab_steelblock_1" }, - { "homedecor:dishwasher" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:dishwasher_marble", - recipe = { - { "building_blocks:slab_marble" }, - { "homedecor:dishwasher" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:dishwasher_marble", - recipe = { - { "technic:slab_marble_1" }, - { "homedecor:dishwasher" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:dishwasher_granite", - recipe = { - { "technic:slab_granite_1" }, - { "homedecor:dishwasher" }, - }, -}) - --- paintings - -minetest.register_craft({ - output = "homedecor:blank_canvas", - recipe = { - { "", "group:stick", "" }, - { "group:stick", "wool:white", "group:stick" }, - { "", "group:stick", "" }, - } -}) - -local painting_patterns = { - [1] = { { "brown", "red", "brown" }, - { "dark_green", "red", "green" } }, - - [2] = { { "green", "yellow", "green" }, - { "green", "yellow", "green" } }, - - [3] = { { "green", "pink", "green" }, - { "brown", "pink", "brown" } }, - - [4] = { { "black", "orange", "grey" }, - { "dark_green", "orange", "orange" } }, - - [5] = { { "blue", "orange", "yellow" }, - { "green", "red", "brown" } }, - - [6] = { { "green", "red", "orange" }, - { "orange", "yellow", "green" } }, - - [7] = { { "blue", "dark_green", "dark_green" }, - { "green", "grey", "green" } }, - - [8] = { { "blue", "blue", "blue" }, - { "green", "green", "green" } }, - - [9] = { { "blue", "blue", "dark_green" }, - { "green", "grey", "dark_green" } }, - - [10] = { { "green", "white", "green" }, - { "dark_green", "white", "dark_green" } }, - - [11] = { { "blue", "white", "blue" }, - { "blue", "grey", "dark_green" } }, - - [12] = { { "green", "green", "green" }, - { "grey", "grey", "green" } }, - - [13] = { { "blue", "blue", "grey" }, - { "dark_green", "white", "white" } }, - - [14] = { { "red", "yellow", "blue" }, - { "blue", "green", "violet" } }, - - [15] = { { "blue", "yellow", "blue" }, - { "black", "black", "black" } }, - - [16] = { { "red", "orange", "blue" }, - { "black", "dark_grey", "grey" } }, - - [17] = { { "orange", "yellow", "orange" }, - { "black", "black", "black" } }, - - [18] = { { "grey", "dark_green", "grey" }, - { "white", "white", "white" } }, - - [19] = { { "white", "brown", "green" }, - { "green", "brown", "brown" } }, - - [20] = { { "blue", "blue", "blue" }, - { "red", "brown", "grey" } } -} - -for i,recipe in pairs(painting_patterns) do - - local item1 = "dye:"..recipe[1][1] - local item2 = "dye:"..recipe[1][2] - local item3 = "dye:"..recipe[1][3] - local item4 = "dye:"..recipe[2][1] - local item5 = "dye:"..recipe[2][2] - local item6 = "dye:"..recipe[2][3] - - minetest.register_craft({ - output = "homedecor:painting_"..i, - recipe = { - { item1, item2, item3 }, - { item4, item5, item6 }, - {"", "homedecor:blank_canvas", "" } - } - }) -end - --- more misc stuff here - -minetest.register_craft({ - output = "homedecor:chimney 2", - recipe = { - { "default:clay_brick", "", "default:clay_brick" }, - { "default:clay_brick", "", "default:clay_brick" }, - { "default:clay_brick", "", "default:clay_brick" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:fishtank", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:glowlight_small_cube", "homedecor:plastic_sheeting" }, - { "default:glass", "bucket:bucket_water", "default:glass" }, - { "default:glass", "building_blocks:gravel_spread", "default:glass" }, - }, - replacements = { {"bucket:bucket_water", "bucket:bucket_empty"} } -}) - -minetest.register_craft({ - output = "homedecor:towel_rod", - recipe = { - { "group:wood", "group:stick", "group:wood" }, - { "", "building_blocks:terrycloth_towel", "" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:toilet_paper", - recipe = { - { "", "default:paper", "default:paper" }, - { "group:wood", "group:stick", "default:paper" }, - { "", "default:paper", "default:paper" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:medicine_cabinet", - recipe = { - { "group:stick", "default:glass", "group:stick" }, - { "group:stick", "default:glass", "group:stick" }, - { "group:stick", "default:glass", "group:stick" } - }, -}) - -minetest.register_craft({ - output = "homedecor:cardboard_box 2", - recipe = { - { "default:paper", "", "default:paper" }, - { "default:paper", "default:paper", "default:paper" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:cardboard_box_big 2", - recipe = { - { "default:paper", "", "default:paper" }, - { "default:paper", "", "default:paper" }, - { "default:paper", "default:paper", "default:paper" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:desk", - recipe = { - { "stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood" }, - { "homedecor:drawer_small", "default:wood", "default:wood" }, - { "homedecor:drawer_small", "", "default:wood" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:desk", - recipe = { - { "moreblocks:slab_wood", "moreblocks:slab_wood", "moreblocks:slab_wood" }, - { "homedecor:drawer_small", "default:wood", "default:wood" }, - { "homedecor:drawer_small", "", "default:wood" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:filing_cabinet", - recipe = { - { "", "default:wood", "" }, - { "default:wood", "homedecor:drawer_small", "default:wood" }, - { "", "default:wood", "" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:analog_clock_plastic 2", - recipe = { - { "homedecor:plastic_sheeting", "dye:black", "homedecor:plastic_sheeting" }, - { "homedecor:plastic_sheeting", "homedecor:ic", "homedecor:plastic_sheeting" }, - { "homedecor:plastic_sheeting", "dye:black", "homedecor:plastic_sheeting" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:analog_clock_wood 2", - recipe = { - { "group:stick", "dye:black", "group:stick" }, - { "group:stick", "homedecor:ic", "group:stick" }, - { "group:stick", "dye:black", "group:stick" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:digital_clock 2", - recipe = { - { "homedecor:plastic_sheeting", "default:paper", "homedecor:plastic_sheeting" }, - { "homedecor:plastic_sheeting", "homedecor:ic", "homedecor:plastic_sheeting" }, - { "homedecor:plastic_sheeting", "homedecor:power_crystal", "homedecor:plastic_sheeting" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:alarm_clock", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:speaker_driver", "homedecor:plastic_sheeting" }, - { "homedecor:plastic_sheeting", "homedecor:digital_clock", "homedecor:plastic_sheeting" }, - { "homedecor:plastic_sheeting", "homedecor:power_crystal", "homedecor:plastic_sheeting" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:air_conditioner", - recipe = { - { "default:steel_ingot", "building_blocks:grate", "default:steel_ingot" }, - { "default:steel_ingot", "homedecor:fan_blades", "homedecor:motor" }, - { "default:steel_ingot", "homedecor:motor", "default:steel_ingot" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:air_conditioner", - recipe = { - { "default:steel_ingot", "building_blocks:grate", "default:steel_ingot" }, - { "default:steel_ingot", "technic:motor", "default:steel_ingot" }, - { "default:steel_ingot", "technic:motor", "default:steel_ingot" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:ceiling_fan", - recipe = { - { "homedecor:motor" }, - { "homedecor:fan_blades" }, - { "homedecor:glowlight_small_cube" } - } -}) - -minetest.register_craft({ - output = "homedecor:ceiling_fan", - recipe = { - { "technic:motor" }, - { "homedecor:fan_blades" }, - { "homedecor:glowlight_small_cube" } - } -}) - -minetest.register_craft({ - output = "homedecor:welcome_mat_grey 2", - recipe = { - { "", "dye:black", "" }, - { "wool:grey", "wool:grey", "wool:grey" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:welcome_mat_brown 2", - recipe = { - { "", "dye:black", "" }, - { "wool:brown", "wool:brown", "wool:brown" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:welcome_mat_green 2", - recipe = { - { "", "dye:white", "" }, - { "wool:dark_green", "wool:dark_green", "wool:dark_green" }, - }, -}) - -minetest.register_craft({ - type = "shapeless", - output = "homedecor:window_plain 8", - recipe = { - "dye:white", - "dye:white", - "dye:white", - "dye:white", - "building_blocks:woodglass" - } -}) - -minetest.register_craft({ - type = "shapeless", - output = "homedecor:window_quartered", - recipe = { - "dye:white", - "group:stick", - "group:stick", - "homedecor:window_plain" - } -}) - -minetest.register_craft({ - output = "homedecor:vcr 2", - recipe = { - { "homedecor:ic", "default:steel_ingot", "homedecor:plastic_sheeting" }, - { "default:iron_lump", "default:iron_lump", "default:iron_lump" }, - { "homedecor:plastic_sheeting", "", "homedecor:plastic_sheeting" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:dvd_player 2", - recipe = { - { "", "homedecor:plastic_sheeting", "" }, - { "default:obsidian_glass", "homedecor:motor", "homedecor:motor" }, - { "default:mese_crystal_fragment", "homedecor:ic", "homedecor:power_crystal" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:dvd_player 2", - recipe = { - { "", "homedecor:plastic_sheeting", "" }, - { "default:obsidian_glass", "technic:motor", "technic:motor" }, - { "default:mese_crystal_fragment", "homedecor:ic", "homedecor:power_crystal" }, - }, -}) - -minetest.register_craft({ - type = "shapeless", - output = "homedecor:dvd_vcr", - recipe = { - "homedecor:vcr", - "homedecor:dvd_player" - }, -}) - -minetest.register_craft({ - output = "homedecor:blinds_thin", - recipe = { - { "group:stick", "homedecor:plastic_sheeting", "group:stick" }, - { "farming:string", "homedecor:plastic_strips", "" }, - { "", "homedecor:plastic_strips", "" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:blinds_thick", - recipe = { - { "group:stick", "homedecor:plastic_sheeting", "group:stick" }, - { "farming:string", "homedecor:plastic_strips", "homedecor:plastic_strips" }, - { "", "homedecor:plastic_strips", "homedecor:plastic_strips" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:openframe_bookshelf", - recipe = { - {"group:wood", "", "group:wood"}, - {"default:book", "default:book", "default:book"}, - {"group:wood", "", "group:wood"}, - }, -}) - -minetest.register_craft( { - output = "homedecor:desk_fan", - recipe = { - {"default:steel_ingot", "homedecor:fan_blades", "homedecor:motor"}, - {"", "default:steel_ingot", ""} - }, -}) - -minetest.register_craft( { - output = "homedecor:space_heater", - recipe = { - {"homedecor:plastic_sheeting", "homedecor:heating_element", "homedecor:plastic_sheeting"}, - {"homedecor:plastic_sheeting", "homedecor:fan_blades", "homedecor:motor"}, - {"homedecor:plastic_sheeting", "homedecor:heating_element", "homedecor:plastic_sheeting"} - }, -}) - -minetest.register_craft( { - output = "homedecor:radiator", - recipe = { - { "default:steel_ingot", "homedecor:heating_element", "default:steel_ingot" }, - { "homedecor:ic", "homedecor:heating_element", "" }, - { "default:steel_ingot", "homedecor:heating_element", "default:steel_ingot" } - }, -}) - --- bathroom/kitchen tiles - -minetest.register_craft( { - output = "homedecor:bathroom_tiles_light 4", - recipe = { - { "group:marble", "group:marble", "" }, - { "group:marble", "group:marble", "dye:white" } - }, -}) - -minetest.register_craft( { - output = "homedecor:bathroom_tiles_medium 4", - recipe = { - { "group:marble", "group:marble", "" }, - { "group:marble", "group:marble", "dye:grey" } - }, -}) - -minetest.register_craft( { - output = "homedecor:bathroom_tiles_dark 4", - recipe = { - { "group:marble", "group:marble", "" }, - { "group:marble", "group:marble", "dye:dark_grey" } - }, -}) - --- misc electrical - -minetest.register_craft( { - output = "homedecor:power_outlet", - recipe = { - {"homedecor:plastic_sheeting", "homedecor:copper_strip"}, - {"homedecor:plastic_sheeting", ""}, - {"homedecor:plastic_sheeting", "homedecor:copper_strip"} - }, -}) - -minetest.register_craft( { - output = "homedecor:light_switch", - recipe = { - {"", "homedecor:plastic_sheeting", "homedecor:copper_strip"}, - {"homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:copper_strip"}, - {"", "homedecor:plastic_sheeting", "homedecor:copper_strip"} - }, -}) - --- doghouse - -minetest.register_craft( { - output = "homedecor:doghouse", - recipe = { - {"homedecor:shingles_terracotta", "homedecor:shingles_terracotta", "homedecor:shingles_terracotta"}, - {"group:wood", "", "group:wood"}, - {"group:wood", "building_blocks:terrycloth_towel", "group:wood"} - }, -}) - --- japanese walls and mat - -minetest.register_craft( { - output = "homedecor:japanese_wall_top", - recipe = { - {"group:stick", "default:paper"}, - {"default:paper", "group:stick"}, - {"group:stick", "default:paper"} - }, -}) - -minetest.register_craft( { - output = "homedecor:japanese_wall_top", - recipe = { - {"default:paper", "group:stick"}, - {"group:stick", "default:paper"}, - {"default:paper", "group:stick"} - }, -}) - -minetest.register_craft( { - output = "homedecor:japanese_wall_middle", - recipe = { - {"homedecor:japanese_wall_top"} - }, -}) - -minetest.register_craft( { - output = "homedecor:japanese_wall_bottom", - recipe = { - {"homedecor:japanese_wall_middle"} - }, -}) - -minetest.register_craft( { - output = "homedecor:japanese_wall_top", - recipe = { - {"homedecor:japanese_wall_bottom"} - }, -}) - -minetest.register_craft( { - output = "homedecor:tatami_mat", - recipe = { - {"farming:wheat", "farming:wheat", "farming:wheat"} - }, -}) - -minetest.register_craft( { - output = "homedecor:wardrobe", - recipe = { - { "homedecor:drawer_small", "homedecor:kitchen_cabinet" }, - { "homedecor:drawer_small", "default:wood" }, - { "homedecor:drawer_small", "default:wood" } - }, -}) - -minetest.register_craft( { - output = "homedecor:pool_table", - recipe = { - { "wool:dark_green", "wool:dark_green", "wool:dark_green" }, - { "building_blocks:hardwood", "building_blocks:hardwood", "building_blocks:hardwood" }, - { "building_blocks:slab_hardwood", "", "building_blocks:slab_hardwood" } - }, -}) - -minetest.register_craft( { - output = "homedecor:trash_can 3", - recipe = { - { "homedecor:steel_wire", "", "homedecor:steel_wire" }, - { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" } - }, -}) - -minetest.register_craft( { - output = "homedecor:telephone", - recipe = { - { "homedecor:speaker_driver", "homedecor:copper_wire", "homedecor:speaker_driver" }, - { "homedecor:plastic_sheeting", "default:steel_ingot", "homedecor:plastic_sheeting" }, - { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" } - }, -}) - -minetest.register_craft( { - output = "homedecor:cobweb_corner 5", - recipe = { - { "farming:string", "", "farming:string" }, - { "", "farming:string", "" }, - { "farming:string", "", "farming:string" } - }, -}) - -minetest.register_craft( { - output = "homedecor:well", - recipe = { - { "homedecor:shingles_wood", "homedecor:shingles_wood", "homedecor:shingles_wood" }, - { "group:wood", "group:stick", "group:wood" }, - { "group:stone", "", "group:stone" } - }, -}) - -minetest.register_craft( { - output = "homedecor:coat_tree", - recipe = { - { "group:stick", "group:stick", "group:stick" }, - { "", "group:stick", "" }, - { "", "group:wood", "" } - }, -}) - -minetest.register_craft( { - output = "homedecor:coatrack_wallmount", - recipe = { - { "group:stick", "homedecor:curtainrod_wood", "group:stick" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:doorbell", - recipe = { - { "homedecor:light_switch", "homedecor:power_crystal", "homedecor:speaker_driver" } - }, -}) - - -minetest.register_craft( { - output = "homedecor:bench_large_1", - recipe = { - { "group:wood", "group:wood", "group:wood" }, - { "group:wood", "group:wood", "group:wood" }, - { "homedecor:pole_wrought_iron", "", "homedecor:pole_wrought_iron" } - }, -}) - -minetest.register_craft( { - output = "homedecor:bench_large_2_left", - recipe = { - { "homedecor:shutter_oak", "homedecor:shutter_oak", "homedecor:shutter_oak" }, - { "group:wood", "group:wood", "group:wood" }, - { "stairs:slab_wood", "", "stairs:slab_wood" } - }, -}) - -minetest.register_craft( { - output = "homedecor:bench_large_2_left", - recipe = { - { "homedecor:shutter_oak", "homedecor:shutter_oak", "homedecor:shutter_oak" }, - { "group:wood", "group:wood", "group:wood" }, - { "moreblocks:slab_wood", "", "moreblocks:slab_wood" } - }, -}) - -minetest.register_craft( { - output = "homedecor:kitchen_faucet", - recipe = { - { "", "default:steel_ingot" }, - { "default:steel_ingot", "" }, - { "homedecor:taps", "" } - }, -}) - -minetest.register_craft( { - output = "homedecor:cutlery_set", - recipe = { - { "", "vessels:drinking_glass", "" }, - { "homedecor:steel_strip", "building_blocks:slab_marble", "homedecor:steel_strip" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:cutlery_set", - recipe = { - { "", "vessels:drinking_glass", "" }, - { "homedecor:steel_strip", "building_blocks:micro_marble_1", "homedecor:steel_strip" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:simple_bench", - recipe = { - { "stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood" }, - { "stairs:slab_wood", "", "stairs:slab_wood" } - }, -}) - -minetest.register_craft( { - output = "homedecor:simple_bench", - recipe = { - { "moreblocks:slab_wood", "moreblocks:slab_wood", "moreblocks:slab_wood" }, - { "moreblocks:slab_wood", "", "moreblocks:slab_wood" } - }, -}) - -minetest.register_craft( { - output = "homedecor:bed_regular", - recipe = { - { "group:stick", "", "group:stick" }, - { "wool:white", "wool:white", "wool:white" }, - { "group:wood", "", "group:wood" }, - }, -}) - -minetest.register_craft( { - output = "homedecor:bed_kingsize", - recipe = { - { "homedecor:bed_regular", "homedecor:bed_regular" } - }, -}) - -minetest.register_craft( { - output = "homedecor:bottle_green", - recipe = { - { "vessels:glass_bottle", "dye:green" } - }, -}) - -minetest.register_craft( { - output = "homedecor:bottle_brown", - recipe = { - { "vessels:glass_bottle", "dye:brown" } - }, -}) - -if not minetest.get_modpath("glooptest") then - - minetest.register_craft({ - output = "glooptest:chainlink 12", - recipe = { - {"", "default:steel_ingot", "default:steel_ingot"}, - { "default:steel_ingot", "", "default:steel_ingot" }, - { "default:steel_ingot", "default:steel_ingot", "" }, - }, - }) - -end - -minetest.register_alias("homedecor:chainlink_steel", "glooptest:chainlink") - -minetest.register_craft({ - output = "homedecor:chains 4", - recipe = { - { "default:steel_ingot", "", "default:steel_ingot"}, - { "glooptest:chainlink", "", "glooptest:chainlink" }, - { "glooptest:chainlink", "", "glooptest:chainlink" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:chainlink_brass 12", - recipe = { - {"", "technic:brass_ingot", "technic:brass_ingot"}, - { "technic:brass_ingot", "", "technic:brass_ingot" }, - { "technic:brass_ingot", "technic:brass_ingot", "" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:coffee_maker", - recipe = { - {"homedecor:plastic_sheeting", "bucket:bucket_water", "homedecor:plastic_sheeting"}, - {"homedecor:plastic_sheeting", "default:glass", "homedecor:plastic_sheeting"}, - {"homedecor:plastic_sheeting", "homedecor:heating_element", "homedecor:plastic_sheeting"} - }, -}) - -minetest.register_craft({ - output = "homedecor:dartboard", - recipe = { - {"dye:black", "homedecor:plastic_sheeting", "dye:white"}, - {"homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting"}, - {"dye:dark_green", "homedecor:plastic_sheeting", "dye:red"} - }, -}) - -minetest.register_craft({ - output = "homedecor:piano", - recipe = { - { "", "homedecor:steel_wire", "building_blocks:hardwood" }, - { "homedecor:plastic_strips", "homedecor:steel_wire", "building_blocks:hardwood" }, - { "technic:brass_ingot", "default:steelblock", "building_blocks:hardwood" } - }, -}) - -minetest.register_craft({ - output = "homedecor:toaster", - recipe = { - { "default:steel_ingot", "homedecor:heating_element", "default:steel_ingot" }, - { "default:steel_ingot", "homedecor:heating_element", "default:steel_ingot" } - }, -}) - -minetest.register_craft({ - output = "homedecor:deckchair", - recipe = { - { "group:stick", "building_blocks:terrycloth_towel", "group:stick" }, - { "group:stick", "building_blocks:terrycloth_towel", "group:stick" }, - { "group:stick", "building_blocks:terrycloth_towel", "group:stick" } - }, -}) - -minetest.register_craft({ - output = "homedecor:deckchair_striped_blue", - type = "shapeless", - recipe = { - "homedecor:deckchair", - "dye:blue" - } -}) - -minetest.register_craft({ - output = "homedecor:office_chair_basic", - recipe = { - { "", "", "wool:black" }, - { "", "wool:black", "default:steel_ingot" }, - { "group:stick", "homedecor:pole_wrought_iron", "group:stick" } - }, -}) - -minetest.register_craft({ - output = "homedecor:office_chair_upscale", - recipe = { - { "dye:black", "building_blocks:sticks", "group:wool" }, - { "homedecor:plastic_sheeting", "group:wool", "default:steel_ingot" }, - { "building_blocks:sticks", "homedecor:pole_wrought_iron", "building_blocks:sticks" } - }, -}) - -minetest.register_craft({ - output = "homedecor:wall_shelf 2", - recipe = { - { "homedecor:wood_table_small_square", "homedecor:curtainrod_wood", "homedecor:curtainrod_wood" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:trophy 3", - recipe = { - { "default:gold_ingot","","default:gold_ingot" }, - { "","default:gold_ingot","" }, - { "group:wood","default:gold_ingot","group:wood" } - }, -}) - -minetest.register_craft({ - output = "homedecor:grandfather_clock", - recipe = { - { "building_blocks:slab_hardwood","homedecor:analog_clock_wood","building_blocks:slab_hardwood" }, - { "building_blocks:slab_hardwood","technic:brass_ingot","building_blocks:slab_hardwood" }, - { "building_blocks:slab_hardwood","technic:brass_ingot","building_blocks:slab_hardwood" } - }, -}) - -minetest.register_craft({ - output = "homedecor:sportbench", - recipe = { - { "stairs:slab_steelblock","homedecor:pole_wrought_iron","stairs:slab_steelblock" }, - { "default:steel_ingot","wool:black","default:steel_ingot" }, - { "default:steel_ingot","wool:black","default:steel_ingot" } - }, -}) - -minetest.register_craft({ - output = "homedecor:skateboard", - recipe = { - { "dye:yellow","dye:green","dye:blue" }, - { "homedecor:wood_table_small_square","homedecor:wood_table_small_square","homedecor:wood_table_small_square" }, - { "default:steel_ingot","","default:steel_ingot" } - }, -}) - -minetest.register_craft({ - output = "homedecor:copper_pans", - recipe = { - { "homedecor:copper_strip","","homedecor:copper_strip" }, - { "default:copper_ingot","","default:copper_ingot" }, - { "default:copper_ingot","","default:copper_ingot" } - }, -}) - -minetest.register_craft( { - output = "homedecor:window_flowerbox", - recipe = { - { "homedecor:roof_tile_terracotta", "default:dirt", "homedecor:roof_tile_terracotta" }, - { "", "homedecor:roof_tile_terracotta", "" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:paper_towel", - recipe = { - { "homedecor:toilet_paper", "homedecor:toilet_paper" } - }, -}) - -minetest.register_craft({ - output = "homedecor:stonepath 16", - recipe = { - { "stairs:slab_stone","","stairs:slab_stone" }, - { "","stairs:slab_stone","" }, - { "stairs:slab_stone","","stairs:slab_stone" } - }, -}) - -minetest.register_craft({ - output = "homedecor:stonepath 16", - recipe = { - { "moreblocks:slab_stone","","moreblocks:slab_stone" }, - { "","moreblocks:slab_stone","" }, - { "moreblocks:slab_stone","","moreblocks:slab_stone" } - }, -}) - -minetest.register_craft({ - output = "homedecor:stonepath 3", - recipe = { - { "moreblocks:micro_stone_1","","moreblocks:micro_stone_1" }, - { "","moreblocks:micro_stone_1","" }, - { "moreblocks:micro_stone_1","","moreblocks:micro_stone_1" } - }, -}) - -minetest.register_craft({ - output = "homedecor:barbecue", - recipe = { - { "","homedecor:fence_chainlink","" }, - { "default:steel_ingot","fake_fire:embers","default:steel_ingot" }, - { "homedecor:pole_wrought_iron","default:steel_ingot","homedecor:pole_wrought_iron" } - }, -}) - -minetest.register_craft({ - output = "homedecor:beer_tap", - recipe = { - { "group:stick","default:steel_ingot","group:stick" }, - { "homedecor:kitchen_faucet","default:steel_ingot","homedecor:kitchen_faucet" }, - { "default:steel_ingot","default:steel_ingot","default:steel_ingot" } - }, -}) - -minetest.register_craft({ - output = "homedecor:swing", - recipe = { - { "farming:string","","farming:string" }, - { "farming:string","","farming:string" }, - { "farming:string","stairs:slab_wood","farming:string" } - }, -}) - -minetest.register_craft({ - output = "homedecor:swing", - recipe = { - { "farming:string","","farming:string" }, - { "farming:string","","farming:string" }, - { "farming:string","moreblocks:slab_wood","farming:string" } - }, -}) - -minetest.register_craft({ - output = "homedecor:swing", - recipe = { - { "farming:string","","farming:string" }, - { "farming:string","","farming:string" }, - { "farming:string","moreblocks:panel_wood_1","farming:string" } - }, -}) - -local bookcolors = { - "red", - "green", - "blue", - "violet", - "grey", - "brown" -} - -for _, color in ipairs(bookcolors) do - minetest.register_craft({ - type = "shapeless", - output = "homedecor:book_"..color, - recipe = { - "dye:"..color, - "default:book" - }, - }) -end - -minetest.register_craft({ - output = "homedecor:door_japanese_closed", - recipe = { - { "homedecor:japanese_wall_top" }, - { "homedecor:japanese_wall_bottom" } - }, -}) - -minetest.register_craft({ - output = "homedecor:calendar", - recipe = { - { "","dye:red","" }, - { "","dye:black","" }, - { "","default:paper","" } - }, -}) - -minetest.register_craft({ - type = "shapeless", - output = "homedecor:4_bottles_brown", - recipe = { - "homedecor:bottle_brown", - "homedecor:bottle_brown", - "homedecor:bottle_brown", - "homedecor:bottle_brown" - }, -}) - -minetest.register_craft({ - type = "shapeless", - output = "homedecor:4_bottles_green", - recipe = { - "homedecor:bottle_green", - "homedecor:bottle_green", - "homedecor:bottle_green", - "homedecor:bottle_green" - }, -}) - -minetest.register_craft({ - type = "shapeless", - output = "homedecor:4_bottles_multi", - recipe = { - "homedecor:bottle_brown", - "homedecor:bottle_brown", - "homedecor:bottle_green", - "homedecor:bottle_green", - }, -}) - -minetest.register_craft({ - output = "homedecor:wine_rack", - recipe = { - { "homedecor:4_bottles_brown", "group:wood", "homedecor:4_bottles_brown" }, - { "homedecor:4_bottles_brown", "group:wood", "homedecor:4_bottles_brown" }, - { "homedecor:4_bottles_brown", "group:wood", "homedecor:4_bottles_brown" }, - }, -}) - -local picture_dyes = { - {"dye:brown", "dye:green"}, -- the figure sitting by the tree, wielding a pick - {"dye:green", "dye:blue"} -- the "family photo" -} - -for i in ipairs(picture_dyes) do - minetest.register_craft({ - output = "homedecor:picture_frame"..i, - recipe = { - { picture_dyes[i][1], picture_dyes[i][2] }, - { "homedecor:blank_canvas", "group:stick" }, - }, - }) -end - -minetest.register_craft({ - output = "homedecor:desk_lamp 2", - recipe = { - { "", "default:steel_ingot", "homedecor:glowlight_small_cube" }, - { "", "homedecor:steel_strip", "" }, - { "homedecor:plastic_sheeting", "homedecor:copper_wire", "homedecor:plastic_sheeting" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:hanging_lantern 2", - recipe = { - { "default:iron_lump", "default:iron_lump", "" }, - { "default:iron_lump", "homedecor:lattice_lantern_large", "" }, - { "default:iron_lump", "", "" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:ceiling_lantern 2", - recipe = { - { "default:iron_lump", "default:iron_lump", "default:iron_lump" }, - { "default:iron_lump", "homedecor:lattice_lantern_large", "default:iron_lump" }, - { "", "default:iron_lump", "" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:wall_lamp 2", - recipe = { - { "", "homedecor:lattice_lantern_large", "" }, - { "default:iron_lump", "group:stick", "" }, - { "default:iron_lump", "group:stick", "" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:desk_globe", - recipe = { - { "group:stick", "homedecor:plastic_sheeting", "dye:green" }, - { "group:stick", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "group:stick", "stairs:slab_wood", "dye:blue" } - }, -}) - -minetest.register_craft({ - output = "homedecor:desk_globe", - recipe = { - { "group:stick", "homedecor:plastic_sheeting", "dye:green" }, - { "group:stick", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "group:stick", "moreblocks:slab_wood", "dye:blue" } - }, -}) - -minetest.register_craft({ - output = "homedecor:tool_cabinet", - recipe = { - { "homedecor:motor", "default:axe_steel", "default:pick_steel" }, - { "default:steel_ingot", "homedecor:drawer_small", "default:steel_ingot" }, - { "default:steel_ingot", "homedecor:drawer_small", "default:steel_ingot" } - }, -}) - -minetest.register_craft({ - output = "homedecor:bathroom_set", - recipe = { - { "", "homedecor:glass_table_small_round", "" }, - { "homedecor:plastic_sheeting", "homedecor:glass_table_small_round", "homedecor:plastic_sheeting" }, - { "group:stick", "homedecor:plastic_sheeting", "group:stick" } - }, -}) - -minetest.register_craft({ - output = "homedecor:trash_can_green", - recipe = { - { "homedecor:plastic_sheeting", "", "homedecor:plastic_sheeting" }, - { "homedecor:plastic_sheeting", "dye:green", "homedecor:plastic_sheeting" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } - }, -}) - -minetest.register_craft({ - output = "homedecor:ceiling_lamp", - recipe = { - { "", "technic:brass_ingot", ""}, - { "", "homedecor:chainlink_brass", ""}, - { "default:glass", "homedecor:glowlight_small_cube", "default:glass"} - }, -}) - -minetest.register_craft({ - output = "homedecor:ceiling_lamp", - recipe = { - { "", "chains:chain_top_brass", ""}, - { "default:glass", "homedecor:glowlight_small_cube", "default:glass"} - }, -}) - -minetest.register_craft({ - output = "homedecor:spiral_staircase", - recipe = { - { "default:steelblock", "homedecor:pole_wrought_iron", "" }, - { "", "homedecor:pole_wrought_iron", "default:steelblock" }, - { "default:steelblock", "homedecor:pole_wrought_iron", "" } - }, -}) - -minetest.register_craft({ - output = "homedecor:soda_machine", - recipe = { - {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, - {"default:steel_ingot", "dye:red", "default:steel_ingot"}, - {"default:steel_ingot", "default:copperblock", "default:steel_ingot"}, - }, -}) - -if minetest.settings:get_bool("homedecor.disable_coin_crafting") == false then - minetest.register_craft({ - type = "shapeless", - output = "homedecor:coin 5", - recipe = {"moreblocks:micro_goldblock_1", "default:sword_stone"} - }) - - minetest.register_craft({ - type = "shapeless", - output = "homedecor:coin 15", - recipe = {"default:gold_ingot", "default:sword_steel"} - }) - - minetest.register_craft({ - type = "shapeless", - output = "homedecor:coin 50", - recipe = {"default:goldblock", "default:sword_mese"} - }) -else - if minetest.settings:get("log_mods") then - minetest.log("[HomeDecor] " .. S("coin crafting is disabled!")) - end -end - -minetest.register_craft({ - output = "homedecor:lattice_wood 8", - recipe = { - {"group:stick", "group:wood", "group:stick"}, - {"group:wood", "", "group:wood"}, - {"group:stick", "group:wood", "group:stick"}, - }, -}) - -minetest.register_craft({ - output = "homedecor:lattice_white_wood 8", - recipe = { - {"group:stick", "group:wood", "group:stick"}, - {"group:wood", "dye:white", "group:wood"}, - {"group:stick", "group:wood", "group:stick"}, - }, -}) - -minetest.register_craft({ - output = "homedecor:lattice_wood_vegetal 8", - recipe = { - {"group:stick", "group:wood", "group:stick"}, - {"group:wood", "group:leaves", "group:wood"}, - {"group:stick", "group:wood", "group:stick"}, - }, -}) - -minetest.register_craft({ - output = "homedecor:lattice_white_wood_vegetal 8", - recipe = { - {"group:stick", "group:wood", "group:stick"}, - {"group:wood", "group:leaves", "group:wood"}, - {"group:stick", "dye:white", "group:stick"}, - }, -}) - -minetest.register_craft({ - output = "homedecor:stained_glass 8", - recipe = { - {"", "dye:blue", ""}, - {"dye:red", "default:glass", "dye:green"}, - {"", "dye:yellow", ""}, - }, -}) - -minetest.register_craft({ - output = "homedecor:stained_glass 3", - recipe = { - {"", "dye:blue", ""}, - {"dye:red", "xpanes:pane_flat", "dye:green"}, - {"", "dye:yellow", ""}, - }, -}) - -minetest.register_craft({ - output = "homedecor:stained_glass 2", - recipe = { - {"", "dye:blue", ""}, - {"dye:red", "cottages:glass_pane_side", "dye:green"}, - {"", "dye:yellow", ""}, - }, -}) - -minetest.register_craft({ - output = "homedecor:stained_glass 2", - recipe = { - {"", "dye:blue", ""}, - {"dye:red", "cottages:glass_pane", "dye:green"}, - {"", "dye:yellow", ""}, - }, -}) - -minetest.register_craftitem("homedecor:flower_pot_small", { - description = S("Small Flower Pot"), - inventory_image = "homedecor_flowerpot_small_inv.png" -}) - -minetest.register_craft( { - output = "homedecor:flower_pot_small", - recipe = { - { "default:clay_brick", "", "default:clay_brick" }, - { "", "default:clay_brick", "" } - } -}) - -minetest.register_craft( { - output = "homedecor:flower_pot_small 3", - recipe = { { "homedecor:flower_pot_terracotta" } } -}) - -minetest.register_craft({ - output = "homedecor:shrubbery_green 3", - recipe = { - { "group:leaves", "group:leaves", "group:leaves" }, - { "group:leaves", "group:leaves", "group:leaves" }, - { "group:stick", "group:stick", "group:stick" } - } -}) - -for _, color in ipairs(homedecor.shrub_colors) do - - minetest.register_craft({ - type = "shapeless", - output = "homedecor:shrubbery_large_"..color, - recipe = { - "homedecor:shrubbery_"..color - } - }) - - minetest.register_craft({ - type = "shapeless", - output = "homedecor:shrubbery_"..color, - recipe = { - "homedecor:shrubbery_large_"..color - } - }) - - if color ~= "green" then - minetest.register_craft({ - type = "shapeless", - output = "homedecor:shrubbery_large_"..color, - recipe = { - "homedecor:shrubbery_large_green", - "dye:"..color - } - }) - - minetest.register_craft({ - type = "shapeless", - output = "homedecor:shrubbery_"..color, - recipe = { - "homedecor:shrubbery_green", - "dye:"..color - } - }) - - end -end - -for i in ipairs(homedecor.banister_materials) do - - local name = homedecor.banister_materials[i][1] - local topmat = homedecor.banister_materials[i][5] - local vertmat = homedecor.banister_materials[i][6] - local dye1 = homedecor.banister_materials[i][7] - local dye2 = homedecor.banister_materials[i][8] - - minetest.register_craft({ - output = "homedecor:banister_"..name.."_horizontal 2", - recipe = { - { topmat, "", dye1 }, - { vertmat, topmat, "" }, - { dye2, vertmat, topmat } - }, - }) -end - -if (minetest.get_modpath("technic") and minetest.get_modpath("dye") and minetest.get_modpath("bees")) then - technic.register_separating_recipe({ input = {"bees:wax 1"}, output = {"homedecor:oil_extract 2","dye:yellow 1"} }) -end diff --git a/homedecor/depends.txt b/homedecor/depends.txt deleted file mode 100644 index 5a37ef61..00000000 --- a/homedecor/depends.txt +++ /dev/null @@ -1,15 +0,0 @@ -default -unifieddyes -homedecor_i18n -creative -building_blocks? -signs_lib? -moreblocks? -technic? -dye? -bees? -bucket? -beds? -flowers? -3d_armor? -skinsdb? diff --git a/homedecor/electronics.lua b/homedecor/electronics.lua deleted file mode 100644 index 633adc18..00000000 --- a/homedecor/electronics.lua +++ /dev/null @@ -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 = = - }, -}) - -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 -}) diff --git a/homedecor/furniture_recipes.lua b/homedecor/furniture_recipes.lua deleted file mode 100644 index fea13cfd..00000000 --- a/homedecor/furniture_recipes.lua +++ /dev/null @@ -1,244 +0,0 @@ - -minetest.register_craft({ - output = "homedecor:table", - recipe = { - { "group:wood","group:wood", "group:wood" }, - { "group:stick", "", "group:stick" }, - }, -}) - -minetest.register_craft({ - type = "shapeless", - output = "homedecor:table_mahogany", - recipe = { - "homedecor:table", - "dye:brown", - }, -}) - -minetest.register_craft({ - type = "shapeless", - output = "homedecor:table_mahogany", - recipe = { - "homedecor:table", - "unifieddyes:dark_orange", - }, -}) - -minetest.register_craft({ - type = "shapeless", - output = "homedecor:table_white", - recipe = { - "homedecor:table", - "dye:white", - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:table", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:table_mahogany", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:table_white", - burntime = 30, -}) - -minetest.register_craft({ - output = "homedecor:kitchen_chair_wood 2", - recipe = { - { "group:stick",""}, - { "group:wood","group:wood" }, - { "group:stick","group:stick" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:armchair 2", - recipe = { - { "wool:white",""}, - { "group:wood","group:wood" }, - { "wool:white","wool:white" }, - }, -}) - -minetest.register_craft({ - type = "shapeless", - output = "homedecor:kitchen_chair_padded", - recipe = { - "homedecor:kitchen_chair_wood", - "wool:white", - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:kitchen_chair_wood", - burntime = 15, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:kitchen_chair_padded", - burntime = 15, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:armchair", - burntime = 30, -}) - -minetest.register_craft({ - output = "homedecor:standing_lamp_off", - recipe = { - {"homedecor:table_lamp_off"}, - {"group:stick"}, - {"group:stick"}, - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:table_lamp_off", - burntime = 10, -}) - -minetest.register_craft({ - output = "homedecor:table_lamp_off", - recipe = { - { "wool:white", "default:torch", "wool:white"}, - { "", "group:stick", ""}, - { "", "stairs:slab_wood", "" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:table_lamp_off", - recipe = { - { "cottages:wool", "default:torch", "cottages:wool"}, - { "", "group:stick", ""}, - { "", "stairs:slab_wood", "" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:table_lamp_off", - recipe = { - { "wool:white", "default:torch", "wool:white"}, - { "", "group:stick", ""}, - { "", "moreblocks:slab_wood", "" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:table_lamp_off", - recipe = { - { "cottages:wool", "default:torch", "cottages:wool"}, - { "", "group:stick", ""}, - { "", "moreblocks:slab_wood", "" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:standing_lamp_off", - recipe = { - { "homedecor:table_lamp_off"}, - { "group:stick"}, - { "group:stick"}, - }, -}) - -minetest.register_craft({ - output = "homedecor:toilet", - recipe = { - { "","","bucket:bucket_water"}, - { "group:marble","group:marble", "group:marble" }, - { "", "bucket:bucket_empty", "" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:sink", - recipe = { - { "group:marble","bucket:bucket_empty", "group:marble" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:taps", - recipe = { - { "default:steel_ingot","bucket:bucket_water", "default:steel_ingot" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:taps_brass", - recipe = { - { "technic:brass_ingot","bucket:bucket_water", "technic:brass_ingot" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:shower_tray", - recipe = { - { "group:marble","bucket:bucket_water", "group:marble" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:shower_head", - recipe = { - {"default:steel_ingot", "bucket:bucket_water"}, - }, -}) - -minetest.register_craft({ - output = "homedecor:bathtub_clawfoot_brass_taps", - recipe = { - { "homedecor:taps_brass", "", "" }, - { "group:marble", "", "group:marble" }, - {"default:steel_ingot", "group:marble", "default:steel_ingot"}, - }, -}) - -minetest.register_craft({ - output = "homedecor:bathtub_clawfoot_chrome_taps", - recipe = { - { "homedecor:taps", "", "" }, - { "group:marble", "", "group:marble" }, - {"default:steel_ingot", "group:marble", "default:steel_ingot"}, - }, -}) - -minetest.register_craft({ - output = "homedecor:bars 6", - recipe = { - { "default:steel_ingot","default:steel_ingot","default:steel_ingot" }, - { "homedecor:pole_wrought_iron","homedecor:pole_wrought_iron","homedecor:pole_wrought_iron" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:L_binding_bars 3", - recipe = { - { "homedecor:bars","" }, - { "homedecor:bars","homedecor:bars" }, - }, -}) - -minetest.register_craft({ - output = "homedecor:torch_wall 10", - recipe = { - { "default:coal_lump" }, - { "default:steel_ingot" }, - }, -}) diff --git a/homedecor/handlers/init.lua b/homedecor/handlers/init.lua deleted file mode 100644 index 05c27f46..00000000 --- a/homedecor/handlers/init.lua +++ /dev/null @@ -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") diff --git a/homedecor/kitchen_appliances.lua b/homedecor/kitchen_appliances.lua deleted file mode 100644 index 1caa1ec9..00000000 --- a/homedecor/kitchen_appliances.lua +++ /dev/null @@ -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 diff --git a/homedecor/kitchen_furniture.lua b/homedecor/kitchen_furniture.lua deleted file mode 100644 index 2ecb7bf5..00000000 --- a/homedecor/kitchen_furniture.lua +++ /dev/null @@ -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 } - }, -}) diff --git a/homedecor/laundry.lua b/homedecor/laundry.lua deleted file mode 100644 index 5ee9ec68..00000000 --- a/homedecor/laundry.lua +++ /dev/null @@ -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 -}) diff --git a/homedecor/shutters.lua b/homedecor/shutters.lua deleted file mode 100644 index 44aa4abd..00000000 --- a/homedecor/shutters.lua +++ /dev/null @@ -1,106 +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", - ud_replacement_node = "homedecor:shutter_colored", - groups = { snappy = 3, ud_param2_colorable = 1 }, - sounds = default.node_sound_wood_defaults(), - selection_box = shutter_cbox, - node_box = shutter_cbox, - after_place_node = function(pos, placer, itemstack, pointed_thing) - unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing) - unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) - end, - after_dig_node = unifieddyes.after_dig_node -}) - -homedecor.register("shutter_colored", { - mesh = "homedecor_window_shutter.obj", - tiles = { "homedecor_window_shutter.png" }, - description = S("Wooden Shutter"), - inventory_image = "homedecor_window_shutter_inv.png", - wield_image = "homedecor_window_shutter_inv.png", - paramtype2 = "colorwallmounted", - palette = "unifieddyes_palette_colorwallmounted.png", - groups = { snappy = 3 , not_in_creative_inventory = 1, ud_param2_colorable = 1}, - sounds = default.node_sound_wood_defaults(), - selection_box = shutter_cbox, - node_box = shutter_cbox, - after_place_node = function(pos, placer, itemstack, pointed_thing) - unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing) - unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) - end, - after_dig_node = unifieddyes.after_dig_node, - drop = "homedecor:shutter" -}) - -minetest.register_alias("homedecor:shutter_purple", "homedecor:shutter_violet") -minetest.register_alias("homedecor:shutter_oak", "homedecor:shutter") - --- convert to param2 coloring - -homedecor.old_shutter_nodes = {} - -for _, color in ipairs(shutters) do - table.insert(homedecor.old_shutter_nodes, "homedecor:shutter_"..color) -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 -}) diff --git a/homedecor/sounds/homedecor_telephone_ringing.ogg b/homedecor/sounds/homedecor_telephone_ringing.ogg deleted file mode 100644 index 8272ab1f..00000000 Binary files a/homedecor/sounds/homedecor_telephone_ringing.ogg and /dev/null differ diff --git a/homedecor/textures/homedecor_brass_ingot.png b/homedecor/textures/homedecor_brass_ingot.png deleted file mode 100644 index c2e06ffb..00000000 Binary files a/homedecor/textures/homedecor_brass_ingot.png and /dev/null differ diff --git a/homedecor/textures/homedecor_chainlink_brass.png b/homedecor/textures/homedecor_chainlink_brass.png deleted file mode 100644 index 9a1ad87e..00000000 Binary files a/homedecor/textures/homedecor_chainlink_brass.png and /dev/null differ diff --git a/homedecor/textures/homedecor_chainlink_steel.png b/homedecor/textures/homedecor_chainlink_steel.png deleted file mode 100644 index d7132c32..00000000 Binary files a/homedecor/textures/homedecor_chainlink_steel.png and /dev/null differ diff --git a/homedecor/textures/homedecor_clothes_female4.png b/homedecor/textures/homedecor_clothes_female4.png deleted file mode 100644 index 3e64c5d4..00000000 Binary files a/homedecor/textures/homedecor_clothes_female4.png and /dev/null differ diff --git a/homedecor/textures/homedecor_clothes_female4_preview.png b/homedecor/textures/homedecor_clothes_female4_preview.png deleted file mode 100644 index b8eea30c..00000000 Binary files a/homedecor/textures/homedecor_clothes_female4_preview.png and /dev/null differ diff --git a/homedecor/textures/homedecor_clothes_female5.png b/homedecor/textures/homedecor_clothes_female5.png deleted file mode 100644 index ad634f43..00000000 Binary files a/homedecor/textures/homedecor_clothes_female5.png and /dev/null differ diff --git a/homedecor/textures/homedecor_clothes_female5_preview.png b/homedecor/textures/homedecor_clothes_female5_preview.png deleted file mode 100644 index f07d654b..00000000 Binary files a/homedecor/textures/homedecor_clothes_female5_preview.png and /dev/null differ diff --git a/homedecor/textures/homedecor_coin.png b/homedecor/textures/homedecor_coin.png deleted file mode 100644 index 84b0932b..00000000 Binary files a/homedecor/textures/homedecor_coin.png and /dev/null differ diff --git a/homedecor/textures/homedecor_copper_strip.png b/homedecor/textures/homedecor_copper_strip.png deleted file mode 100644 index 22e572a1..00000000 Binary files a/homedecor/textures/homedecor_copper_strip.png and /dev/null differ diff --git a/homedecor/textures/homedecor_copper_wire.png b/homedecor/textures/homedecor_copper_wire.png deleted file mode 100644 index e33eb220..00000000 Binary files a/homedecor/textures/homedecor_copper_wire.png and /dev/null differ diff --git a/homedecor/textures/homedecor_fan_blades.png b/homedecor/textures/homedecor_fan_blades.png deleted file mode 100644 index efb9f7c7..00000000 Binary files a/homedecor/textures/homedecor_fan_blades.png and /dev/null differ diff --git a/homedecor/textures/homedecor_heating_element.png b/homedecor/textures/homedecor_heating_element.png deleted file mode 100644 index 42e00b7a..00000000 Binary files a/homedecor/textures/homedecor_heating_element.png and /dev/null differ diff --git a/homedecor/textures/homedecor_ic.png b/homedecor/textures/homedecor_ic.png deleted file mode 100644 index 4c888945..00000000 Binary files a/homedecor/textures/homedecor_ic.png and /dev/null differ diff --git a/homedecor/textures/homedecor_marble.png b/homedecor/textures/homedecor_marble.png deleted file mode 100644 index b8b6dd3f..00000000 Binary files a/homedecor/textures/homedecor_marble.png and /dev/null differ diff --git a/homedecor/textures/homedecor_motor.png b/homedecor/textures/homedecor_motor.png deleted file mode 100644 index f19ec0a0..00000000 Binary files a/homedecor/textures/homedecor_motor.png and /dev/null differ diff --git a/homedecor/textures/homedecor_oil_extract.png b/homedecor/textures/homedecor_oil_extract.png deleted file mode 100644 index e34623d0..00000000 Binary files a/homedecor/textures/homedecor_oil_extract.png and /dev/null differ diff --git a/homedecor/textures/homedecor_paraffin.png b/homedecor/textures/homedecor_paraffin.png deleted file mode 100644 index 77d2bbd1..00000000 Binary files a/homedecor/textures/homedecor_paraffin.png and /dev/null differ diff --git a/homedecor/textures/homedecor_plastic_sheeting.png b/homedecor/textures/homedecor_plastic_sheeting.png deleted file mode 100644 index 034dcc2f..00000000 Binary files a/homedecor/textures/homedecor_plastic_sheeting.png and /dev/null differ diff --git a/homedecor/textures/homedecor_plastic_strips.png b/homedecor/textures/homedecor_plastic_strips.png deleted file mode 100644 index 6ec83a83..00000000 Binary files a/homedecor/textures/homedecor_plastic_strips.png and /dev/null differ diff --git a/homedecor/textures/homedecor_power_crystal.png b/homedecor/textures/homedecor_power_crystal.png deleted file mode 100644 index f1c28e80..00000000 Binary files a/homedecor/textures/homedecor_power_crystal.png and /dev/null differ diff --git a/homedecor/textures/homedecor_silicon.png b/homedecor/textures/homedecor_silicon.png deleted file mode 100644 index 847b366c..00000000 Binary files a/homedecor/textures/homedecor_silicon.png and /dev/null differ diff --git a/homedecor/textures/homedecor_steel_strip.png b/homedecor/textures/homedecor_steel_strip.png deleted file mode 100644 index 6384dc83..00000000 Binary files a/homedecor/textures/homedecor_steel_strip.png and /dev/null differ diff --git a/homedecor/textures/homedecor_steel_wire.png b/homedecor/textures/homedecor_steel_wire.png deleted file mode 100644 index 6534de0f..00000000 Binary files a/homedecor/textures/homedecor_steel_wire.png and /dev/null differ diff --git a/homedecor/textures/homedecor_terracotta_base.png b/homedecor/textures/homedecor_terracotta_base.png deleted file mode 100644 index 9f04aad5..00000000 Binary files a/homedecor/textures/homedecor_terracotta_base.png and /dev/null differ diff --git a/homedecor/wardrobe.lua b/homedecor/wardrobe.lua deleted file mode 100644 index 40511d09..00000000 --- a/homedecor/wardrobe.lua +++ /dev/null @@ -1,145 +0,0 @@ - -local S = homedecor_i18n.gettext - -local wd_cbox = { - type = "fixed", - fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 } -} - --- cache set_textures function (fallback to old version) --- default.player_set_textures is deprecated and will be removed in future -local set_player_textures = - minetest.get_modpath("player_api") and player_api.set_textures - or default.player_set_textures - -local armor_mod_path = minetest.get_modpath("3d_armor") - -local skinslist = {"male1", "male2", "male3", "male4", "male5"} -local default_skin = "character.png" - -local skinsdb_mod_path = minetest.get_modpath("skinsdb") -if skinsdb_mod_path then - for _, shrt in ipairs(skinslist) do - for _, prefix in ipairs({"", "fe"}) do - local skin_name = prefix..shrt - local skin_obj = skins.new("homedecor_clothes_"..skin_name..".png") -- Texture PNG file as key to be compatible in set_player_skin - skin_obj:set_preview("homedecor_clothes_"..skin_name.."_preview.png") - skin_obj:set_texture("homedecor_clothes_"..skin_name..".png") - skin_obj:set_meta("name", "Wardrobe "..skin_name) - skin_obj:set_meta("author", 'Calinou and Jordach') - skin_obj:set_meta("license", 'WTFPL') - local file = io.open(homedecor.modpath.."/textures/homedecor_clothes_"..skin_name..".png", "r") - skin_obj:set_meta("format", skins.get_skin_format(file)) - file:close() - skin_obj:set_meta("in_inventory_list", false) - end - end -end - -function homedecor.get_player_skin(player) - local skin = player:get_attribute("homedecor:player_skin") - if not skin or skin == "" then - return default_skin, true - end - return skin, false -end - -function homedecor.set_player_skin(player, skin, save) - skin = skin or default_skin - if skinsdb_mod_path then - skins.set_player_skin(player, skin) - elseif armor_mod_path then -- if 3D_armor's installed, let it set the skin - armor.textures[player:get_player_name()].skin = skin - armor:update_player_visuals(player) - else - set_player_textures(player, { skin }) - end - - if save then - if skin == default_skin then - skin = "default" - player:set_attribute("homedecor:player_skin", "") - else - player:set_attribute("homedecor:player_skin", skin) - end - if save == "player" then -- if player action - minetest.log("verbose", - S("player @1 sets skin to @2", player:get_player_name(), skin) .. - (armor_mod_path and ' [3d_armor]' or '') - ) - end - end -end - -function homedecor.unset_player_skin(player) - homedecor.set_player_skin(player, nil, true) -end - -homedecor.register("wardrobe", { - mesh = "homedecor_bedroom_wardrobe.obj", - tiles = { - homedecor.plain_wood, - "homedecor_wardrobe_drawers.png", - "homedecor_wardrobe_doors.png" - }, - inventory_image = "homedecor_wardrobe_inv.png", - description = S("Wardrobe"), - groups = {snappy=3}, - selection_box = wd_cbox, - collision_box = wd_cbox, - sounds = default.node_sound_wood_defaults(), - expand = { top="placeholder" }, - on_rotate = screwdriver.rotate_simple, - infotext = S("Wardrobe"), - inventory = { - size = 10 - }, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - -- textures made by the Minetest community (mostly Calinou and Jordach) - local clothes_strings = "" - for i = 1,5 do - clothes_strings = clothes_strings.. - "image_button_exit["..(i-1)..".5,0;1.1,2;homedecor_clothes_"..skinslist[i].."_preview.png;"..skinslist[i]..";]".. - "image_button_exit["..(i-1)..".5,2;1.1,2;homedecor_clothes_fe"..skinslist[i].."_preview.png;fe"..skinslist[i]..";]" - end - meta:set_string("formspec", "size[5.5,8.5]"..default.gui_bg..default.gui_bg_img..default.gui_slots.. - "vertlabel[0,0.5;"..minetest.formspec_escape(S("Clothes")).."]".. - "button_exit[0,3.29;0.6,0.6;default;x]".. - clothes_strings.. - "vertlabel[0,5.2;"..minetest.formspec_escape(S("Storage")).."]".. - "list[current_name;main;0.5,4.5;5,2;]".. - "list[current_player;main;0.5,6.8;5,2;]" .. - "listring[]") - end, - on_receive_fields = function(pos, formname, fields, sender) - if fields.default then - homedecor.set_player_skin(sender, nil, "player") - return - end - - for i = 1,5 do - if fields[skinslist[i]] then - homedecor.set_player_skin(sender, "homedecor_clothes_"..skinslist[i]..".png", "player") - break - elseif fields["fe"..skinslist[i]] then - homedecor.set_player_skin(sender, "homedecor_clothes_fe"..skinslist[i]..".png", "player") - break - end - end - end -}) - -minetest.register_alias("homedecor:wardrobe_bottom", "homedecor:wardrobe") -minetest.register_alias("homedecor:wardrobe_top", "air") - -minetest.register_on_joinplayer(function(player) - local skin = player:get_attribute("homedecor:player_skin") - - if skin and skin ~= "" then - -- setting player skin on connect has no effect, so delay skin change - minetest.after(1, function(player, skin) - homedecor.set_player_skin(player, skin) - end, player, skin) - end -end) diff --git a/homedecor_3d_extras/copyright.txt b/homedecor_3d_extras/copyright.txt deleted file mode 100644 index 690bdc52..00000000 --- a/homedecor_3d_extras/copyright.txt +++ /dev/null @@ -1,12 +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 all images and everything else, WTFPL. diff --git a/homedecor_3d_extras/depends.txt b/homedecor_3d_extras/depends.txt index e6de01ae..a3c19015 100644 --- a/homedecor_3d_extras/depends.txt +++ b/homedecor_3d_extras/depends.txt @@ -1,3 +1,4 @@ +homedecor_common default -moreblocks? vessels? +moreblocks? diff --git a/homedecor_bathroom/depends.txt b/homedecor_bathroom/depends.txt new file mode 100644 index 00000000..8cb6cfda --- /dev/null +++ b/homedecor_bathroom/depends.txt @@ -0,0 +1,5 @@ +homedecor_common +default +basic_materials +unifieddyes +building_blocks diff --git a/homedecor/bathroom_sanitation.lua b/homedecor_bathroom/init.lua similarity index 53% rename from homedecor/bathroom_sanitation.lua rename to homedecor_bathroom/init.lua index bd592183..0811b700 100644 --- a/homedecor/bathroom_sanitation.lua +++ b/homedecor_bathroom/init.lua @@ -1,5 +1,119 @@ -local S = homedecor_i18n.gettext +local S = homedecor.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, +}) + +-- "Sanitation" related local toilet_sbox = { type = "fixed", @@ -18,9 +132,9 @@ homedecor.register("toilet", { description = S("Toilet"), mesh = "homedecor_toilet_closed.obj", tiles = { - "homedecor_marble.png", - "homedecor_marble.png", - "homedecor_marble.png", + "building_blocks_marble.png", + "building_blocks_marble.png", + "building_blocks_marble.png", { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey } }, selection_box = toilet_sbox, @@ -36,9 +150,9 @@ homedecor.register("toilet", { homedecor.register("toilet_open", { mesh = "homedecor_toilet_open.obj", tiles = { - "homedecor_marble.png", - "homedecor_marble.png", - "homedecor_marble.png", + "building_blocks_marble.png", + "building_blocks_marble.png", + "building_blocks_marble.png", "default_water.png", { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey } }, @@ -81,33 +195,35 @@ homedecor.register("toilet_paper", { --Sink -local sink_cbox = { +local sink_sbox = { type = "fixed", fixed = { -5/16, -8/16, 1/16, 5/16, 8/16, 8/16 } } +local sink_cbox = { + 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 } + } +} + homedecor.register("sink", { description = S("Bathroom Sink"), mesh = "homedecor_bathroom_sink.obj", tiles = { - "homedecor_marble.png", - "homedecor_marble.png", + "building_blocks_marble.png", + "building_blocks_marble.png", "default_water.png" }, inventory_image="homedecor_bathroom_sink_inv.png", - selection_box = sink_cbox, + selection_box = sink_sbox, + collision_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 @@ -127,7 +243,8 @@ local function taps_on_rightclick(pos, node, clicker, itemstack, pointed_thing) velocity_x = { min = -0.1, max = 0.1 }, velocity_y = -0.3, velocity_z = { min = -0.1, max = 0 }, - spread = 0 + spread = 0, + die_on_collision = true, } homedecor.start_particle_spawner(pos, node, particledef, "homedecor_faucet") end @@ -186,7 +303,7 @@ homedecor.register("shower_tray", { description = S("Shower Tray"), tiles = { "forniture_marble_base_ducha_top.png", - "homedecor_marble.png" + "building_blocks_marble.png" }, node_box = { type = "fixed", @@ -255,7 +372,7 @@ homedecor.register("bathtub_clawfoot_brass_taps", { "homedecor_generic_metal_bright.png", "homedecor_generic_metal_bright.png", "homedecor_generic_metal_brass.png", - "homedecor_marble.png", + "building_blocks_marble.png", "homedecor_bathtub_clawfoot_bottom_inside.png", }, description = S("Bathtub, clawfoot, with brass taps"), @@ -275,7 +392,7 @@ homedecor.register("bathtub_clawfoot_chrome_taps", { "homedecor_generic_metal_bright.png", "homedecor_generic_metal_bright.png", "homedecor_generic_metal_bright.png", - "homedecor_marble.png", + "building_blocks_marble.png", "homedecor_bathtub_clawfoot_bottom_inside.png", }, description = S("Bathtub, clawfoot, with chrome taps"), @@ -310,6 +427,8 @@ homedecor.register("bathroom_set", { sounds = default.node_sound_glass_defaults(), }) +-- aliases + minetest.register_alias("3dforniture:toilet", "homedecor:toilet") minetest.register_alias("3dforniture:toilet_open", "homedecor:toilet_open") minetest.register_alias("3dforniture:sink", "homedecor:sink") @@ -324,3 +443,153 @@ 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") + +-- 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 +}) + +-- crafting + + +minetest.register_craft({ + output = "homedecor:towel_rod", + recipe = { + { "group:wood", "group:stick", "group:wood" }, + { "", "building_blocks:terrycloth_towel", "" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:toilet_paper", + recipe = { + { "", "default:paper", "default:paper" }, + { "group:wood", "group:stick", "default:paper" }, + { "", "default:paper", "default:paper" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:medicine_cabinet", + recipe = { + { "group:stick", "default:glass", "group:stick" }, + { "group:stick", "default:glass", "group:stick" }, + { "group:stick", "default:glass", "group:stick" } + }, +}) + + +-- bathroom/kitchen tiles + +minetest.register_craft( { + output = "homedecor:bathroom_tiles_light 4", + recipe = { + { "group:marble", "group:marble", "" }, + { "group:marble", "group:marble", "dye:white" } + }, +}) + +unifieddyes.register_color_craft({ + output = "homedecor:bathroom_tiles_light", + palette = "extended", + type = "shapeless", + neutral_node = "homedecor:bathroom_tiles_light", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +minetest.register_craft( { + output = "homedecor:bathroom_tiles_medium 4", + recipe = { + { "group:marble", "group:marble", "" }, + { "group:marble", "group:marble", "dye:grey" } + }, +}) + +unifieddyes.register_color_craft({ + output = "homedecor:bathroom_tiles_medium", + palette = "extended", + type = "shapeless", + neutral_node = "homedecor:bathroom_tiles_medium", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +minetest.register_craft( { + output = "homedecor:bathroom_tiles_dark 4", + recipe = { + { "group:marble", "group:marble", "" }, + { "group:marble", "group:marble", "dye:dark_grey" } + }, +}) + +unifieddyes.register_color_craft({ + output = "homedecor:bathroom_tiles_dark", + palette = "extended", + type = "shapeless", + neutral_node = "homedecor:bathroom_tiles_dark", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +minetest.register_craft({ + output = "homedecor:bathroom_set", + recipe = { + { "", "homedecor:glass_table_small_round", "" }, + { "basic_materials:plastic_sheet", "homedecor:glass_table_small_round", "basic_materials:plastic_sheet" }, + { "group:stick", "basic_materials:plastic_sheet", "group:stick" } + }, +}) diff --git a/homedecor/models/homedecor_bathroom_faucet.obj b/homedecor_bathroom/models/homedecor_bathroom_faucet.obj similarity index 100% rename from homedecor/models/homedecor_bathroom_faucet.obj rename to homedecor_bathroom/models/homedecor_bathroom_faucet.obj diff --git a/homedecor/models/homedecor_bathroom_set.obj b/homedecor_bathroom/models/homedecor_bathroom_set.obj similarity index 100% rename from homedecor/models/homedecor_bathroom_set.obj rename to homedecor_bathroom/models/homedecor_bathroom_set.obj diff --git a/homedecor/models/homedecor_bathroom_sink.obj b/homedecor_bathroom/models/homedecor_bathroom_sink.obj similarity index 100% rename from homedecor/models/homedecor_bathroom_sink.obj rename to homedecor_bathroom/models/homedecor_bathroom_sink.obj diff --git a/homedecor/models/homedecor_bathtub_clawfoot.obj b/homedecor_bathroom/models/homedecor_bathtub_clawfoot.obj similarity index 100% rename from homedecor/models/homedecor_bathtub_clawfoot.obj rename to homedecor_bathroom/models/homedecor_bathtub_clawfoot.obj diff --git a/homedecor/models/homedecor_medicine_cabinet.obj b/homedecor_bathroom/models/homedecor_medicine_cabinet.obj similarity index 100% rename from homedecor/models/homedecor_medicine_cabinet.obj rename to homedecor_bathroom/models/homedecor_medicine_cabinet.obj diff --git a/homedecor/models/homedecor_medicine_cabinet_open.obj b/homedecor_bathroom/models/homedecor_medicine_cabinet_open.obj similarity index 100% rename from homedecor/models/homedecor_medicine_cabinet_open.obj rename to homedecor_bathroom/models/homedecor_medicine_cabinet_open.obj diff --git a/homedecor/models/homedecor_shower_head.obj b/homedecor_bathroom/models/homedecor_shower_head.obj similarity index 100% rename from homedecor/models/homedecor_shower_head.obj rename to homedecor_bathroom/models/homedecor_shower_head.obj diff --git a/homedecor/models/homedecor_toilet_closed.obj b/homedecor_bathroom/models/homedecor_toilet_closed.obj similarity index 100% rename from homedecor/models/homedecor_toilet_closed.obj rename to homedecor_bathroom/models/homedecor_toilet_closed.obj diff --git a/homedecor/models/homedecor_toilet_open.obj b/homedecor_bathroom/models/homedecor_toilet_open.obj similarity index 100% rename from homedecor/models/homedecor_toilet_open.obj rename to homedecor_bathroom/models/homedecor_toilet_open.obj diff --git a/homedecor/models/homedecor_toilet_paper.obj b/homedecor_bathroom/models/homedecor_toilet_paper.obj similarity index 100% rename from homedecor/models/homedecor_toilet_paper.obj rename to homedecor_bathroom/models/homedecor_toilet_paper.obj diff --git a/homedecor/models/homedecor_towel_rod.obj b/homedecor_bathroom/models/homedecor_towel_rod.obj similarity index 100% rename from homedecor/models/homedecor_towel_rod.obj rename to homedecor_bathroom/models/homedecor_towel_rod.obj diff --git a/homedecor/sounds/homedecor_shower.ogg b/homedecor_bathroom/sounds/homedecor_shower.ogg similarity index 100% rename from homedecor/sounds/homedecor_shower.ogg rename to homedecor_bathroom/sounds/homedecor_shower.ogg diff --git a/homedecor/sounds/homedecor_toilet_flush.ogg b/homedecor_bathroom/sounds/homedecor_toilet_flush.ogg similarity index 100% rename from homedecor/sounds/homedecor_toilet_flush.ogg rename to homedecor_bathroom/sounds/homedecor_toilet_flush.ogg diff --git a/homedecor/textures/3dforniture_taps_brass_inv.png b/homedecor_bathroom/textures/3dforniture_taps_brass_inv.png similarity index 100% rename from homedecor/textures/3dforniture_taps_brass_inv.png rename to homedecor_bathroom/textures/3dforniture_taps_brass_inv.png diff --git a/homedecor/textures/3dforniture_taps_inv.png b/homedecor_bathroom/textures/3dforniture_taps_inv.png similarity index 100% rename from homedecor/textures/3dforniture_taps_inv.png rename to homedecor_bathroom/textures/3dforniture_taps_inv.png diff --git a/homedecor/textures/forniture_marble_base_ducha_top.png b/homedecor_bathroom/textures/forniture_marble_base_ducha_top.png similarity index 100% rename from homedecor/textures/forniture_marble_base_ducha_top.png rename to homedecor_bathroom/textures/forniture_marble_base_ducha_top.png diff --git a/homedecor/textures/homedecor_bathroom_set_cup.png b/homedecor_bathroom/textures/homedecor_bathroom_set_cup.png similarity index 100% rename from homedecor/textures/homedecor_bathroom_set_cup.png rename to homedecor_bathroom/textures/homedecor_bathroom_set_cup.png diff --git a/homedecor/textures/homedecor_bathroom_set_inv.png b/homedecor_bathroom/textures/homedecor_bathroom_set_inv.png similarity index 100% rename from homedecor/textures/homedecor_bathroom_set_inv.png rename to homedecor_bathroom/textures/homedecor_bathroom_set_inv.png diff --git a/homedecor/textures/homedecor_bathroom_set_mirror.png b/homedecor_bathroom/textures/homedecor_bathroom_set_mirror.png similarity index 100% rename from homedecor/textures/homedecor_bathroom_set_mirror.png rename to homedecor_bathroom/textures/homedecor_bathroom_set_mirror.png diff --git a/homedecor/textures/homedecor_bathroom_set_toothbrush.png b/homedecor_bathroom/textures/homedecor_bathroom_set_toothbrush.png similarity index 100% rename from homedecor/textures/homedecor_bathroom_set_toothbrush.png rename to homedecor_bathroom/textures/homedecor_bathroom_set_toothbrush.png diff --git a/homedecor/textures/homedecor_bathroom_set_toothpaste.png b/homedecor_bathroom/textures/homedecor_bathroom_set_toothpaste.png similarity index 100% rename from homedecor/textures/homedecor_bathroom_set_toothpaste.png rename to homedecor_bathroom/textures/homedecor_bathroom_set_toothpaste.png diff --git a/homedecor/textures/homedecor_bathroom_set_tray.png b/homedecor_bathroom/textures/homedecor_bathroom_set_tray.png similarity index 100% rename from homedecor/textures/homedecor_bathroom_set_tray.png rename to homedecor_bathroom/textures/homedecor_bathroom_set_tray.png diff --git a/homedecor/textures/homedecor_bathroom_sink_inv.png b/homedecor_bathroom/textures/homedecor_bathroom_sink_inv.png similarity index 100% rename from homedecor/textures/homedecor_bathroom_sink_inv.png rename to homedecor_bathroom/textures/homedecor_bathroom_sink_inv.png diff --git a/homedecor/textures/homedecor_bathroom_tiles_bg.png b/homedecor_bathroom/textures/homedecor_bathroom_tiles_bg.png similarity index 100% rename from homedecor/textures/homedecor_bathroom_tiles_bg.png rename to homedecor_bathroom/textures/homedecor_bathroom_tiles_bg.png diff --git a/homedecor/textures/homedecor_bathroom_tiles_fg.png b/homedecor_bathroom/textures/homedecor_bathroom_tiles_fg.png similarity index 100% rename from homedecor/textures/homedecor_bathroom_tiles_fg.png rename to homedecor_bathroom/textures/homedecor_bathroom_tiles_fg.png diff --git a/homedecor/textures/homedecor_bathtub_clawfoot_bottom_inside.png b/homedecor_bathroom/textures/homedecor_bathtub_clawfoot_bottom_inside.png similarity index 100% rename from homedecor/textures/homedecor_bathtub_clawfoot_bottom_inside.png rename to homedecor_bathroom/textures/homedecor_bathtub_clawfoot_bottom_inside.png diff --git a/homedecor/textures/homedecor_medicine_cabinet_inside.png b/homedecor_bathroom/textures/homedecor_medicine_cabinet_inside.png similarity index 100% rename from homedecor/textures/homedecor_medicine_cabinet_inside.png rename to homedecor_bathroom/textures/homedecor_medicine_cabinet_inside.png diff --git a/homedecor/textures/homedecor_medicine_cabinet_inv.png b/homedecor_bathroom/textures/homedecor_medicine_cabinet_inv.png similarity index 100% rename from homedecor/textures/homedecor_medicine_cabinet_inv.png rename to homedecor_bathroom/textures/homedecor_medicine_cabinet_inv.png diff --git a/homedecor/textures/homedecor_medicine_cabinet_mirror.png b/homedecor_bathroom/textures/homedecor_medicine_cabinet_mirror.png similarity index 100% rename from homedecor/textures/homedecor_medicine_cabinet_mirror.png rename to homedecor_bathroom/textures/homedecor_medicine_cabinet_mirror.png diff --git a/homedecor/textures/homedecor_shower_head.png b/homedecor_bathroom/textures/homedecor_shower_head.png similarity index 100% rename from homedecor/textures/homedecor_shower_head.png rename to homedecor_bathroom/textures/homedecor_shower_head.png diff --git a/homedecor/textures/homedecor_shower_head_inv.png b/homedecor_bathroom/textures/homedecor_shower_head_inv.png similarity index 100% rename from homedecor/textures/homedecor_shower_head_inv.png rename to homedecor_bathroom/textures/homedecor_shower_head_inv.png diff --git a/homedecor/textures/homedecor_toilet_paper_inv.png b/homedecor_bathroom/textures/homedecor_toilet_paper_inv.png similarity index 100% rename from homedecor/textures/homedecor_toilet_paper_inv.png rename to homedecor_bathroom/textures/homedecor_toilet_paper_inv.png diff --git a/homedecor/textures/homedecor_towel_rod_inv.png b/homedecor_bathroom/textures/homedecor_towel_rod_inv.png similarity index 100% rename from homedecor/textures/homedecor_towel_rod_inv.png rename to homedecor_bathroom/textures/homedecor_towel_rod_inv.png diff --git a/homedecor_bedroom/depends.txt b/homedecor_bedroom/depends.txt new file mode 100644 index 00000000..f2e42cf9 --- /dev/null +++ b/homedecor_bedroom/depends.txt @@ -0,0 +1,5 @@ +homedecor_common +default +basic_materials +unifieddyes +creative diff --git a/homedecor/bedroom.lua b/homedecor_bedroom/init.lua similarity index 70% rename from homedecor/bedroom.lua rename to homedecor_bedroom/init.lua index 71dcdc06..fc3f7339 100644 --- a/homedecor/bedroom.lua +++ b/homedecor_bedroom/init.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext local function N_(x) return x end @@ -52,13 +52,11 @@ homedecor.register("bed_regular", { on_rotate = screwdriver.disallow, after_place_node = function(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing) - unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) if not placer:get_player_control().sneak then return homedecor.bed_expansion(pos, placer, itemstack, pointed_thing) end end, after_dig_node = function(pos, oldnode, oldmetadata, digger) - unifieddyes.after_dig_node(pos, oldnode, oldmetadata, digger) homedecor.unextend_bed(pos) end, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) @@ -66,9 +64,9 @@ homedecor.register("bed_regular", { if itemname == "homedecor:bed_regular" then homedecor.bed_expansion(pos, clicker, itemstack, pointed_thing, true) return itemstack - else - homedecor.beds_on_rightclick(pos, node, clicker) - return itemstack +-- else +-- homedecor.beds_on_rightclick(pos, node, clicker) +-- return itemstack end end }) @@ -91,15 +89,13 @@ homedecor.register("bed_extended", { sounds = default.node_sound_wood_defaults(), expand = { forward = "air" }, on_rotate = screwdriver.disallow, - after_place_node = unifieddyes.recolor_on_place, after_dig_node = function(pos, oldnode, oldmetadata, digger) - unifieddyes.after_dig_node(pos, oldnode, oldmetadata, digger) homedecor.unextend_bed(pos) end, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - homedecor.beds_on_rightclick(pos, node, clicker) - return itemstack - end, +-- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) +-- homedecor.beds_on_rightclick(pos, node, clicker) +-- return itemstack +-- end, drop = "homedecor:bed_regular" }) @@ -124,20 +120,18 @@ homedecor.register("bed_kingsize", { on_rotate = screwdriver.disallow, after_place_node = function(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing) - unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) end, after_dig_node = function(pos, oldnode, oldmetadata, digger) - unifieddyes.after_dig_node(pos, oldnode, oldmetadata, digger) local inv = digger:get_inventory() if digger:get_player_control().sneak and inv:room_for_item("main", "homedecor:bed_regular 2") then inv:remove_item("main", "homedecor:bed_kingsize 1") inv:add_item("main", "homedecor:bed_regular 2") end end, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - homedecor.beds_on_rightclick(pos, node, clicker) - return itemstack - end +-- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) +-- homedecor.beds_on_rightclick(pos, node, clicker) +-- return itemstack +-- end, }) for _, w in pairs({ N_("mahogany"), N_("oak") }) do @@ -226,7 +220,7 @@ for _, color in ipairs(bedcolors) do end minetest.register_lbm({ - name = "homedecor:convert_beds", + name = ":homedecor:convert_beds", label = "Convert homedecor static bed nodes to use param2 color", run_at_every_load = false, nodenames = homedecor.old_bed_nodes, @@ -271,3 +265,126 @@ minetest.register_lbm({ meta:set_string("dye", "unifieddyes:"..color) end }) + +-- crafting + + +minetest.register_craft( { + output = "homedecor:nightstand_oak_one_drawer", + recipe = { + { "homedecor:drawer_small" }, + { "group:wood" }, + }, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:nightstand_oak_one_drawer", + burntime = 30, +}) + +minetest.register_craft( { + output = "homedecor:nightstand_oak_two_drawers", + recipe = { + { "homedecor:drawer_small" }, + { "homedecor:drawer_small" }, + { "group:wood" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:nightstand_oak_two_drawers", + recipe = { + { "homedecor:nightstand_oak_one_drawer" }, + { "homedecor:drawer_small" }, + }, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:nightstand_oak_two_drawers", + burntime = 30, +}) + +-- + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:nightstand_mahogany_one_drawer", + recipe = { + "homedecor:nightstand_oak_one_drawer", + "dye:brown", + }, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:nightstand_mahogany_one_drawer", + burntime = 30, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:nightstand_mahogany_two_drawers", + recipe = { + "homedecor:nightstand_oak_two_drawers", + "dye:brown", + }, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:nightstand_mahogany_two_drawers", + burntime = 30, +}) + + +minetest.register_craft( { + output = "homedecor:bed_regular", + recipe = { + { "group:stick", "", "group:stick" }, + { "wool:white", "wool:white", "wool:white" }, + { "group:wood", "", "group:wood" }, + }, +}) + +unifieddyes.register_color_craft({ + output = "homedecor:bed_regular", + palette = "wallmounted", + type = "shapeless", + neutral_node = "homedecor:bed_regular", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +minetest.register_craft( { + output = "homedecor:bed_kingsize", + recipe = { + { "homedecor:bed_regular", "homedecor:bed_regular" } + }, +}) + +unifieddyes.register_color_craft({ + output = "homedecor:bed_kingsize", + palette = "wallmounted", + type = "shapeless", + neutral_node = "homedecor:bed_kingsize", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +unifieddyes.register_color_craft({ + output = "homedecor:bed_kingsize", + palette = "wallmounted", + type = "shapeless", + neutral_node = "homedecor:bed_regular", + recipe = { + "NEUTRAL_NODE", + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) diff --git a/homedecor/models/homedecor_bed_extended.obj b/homedecor_bedroom/models/homedecor_bed_extended.obj similarity index 100% rename from homedecor/models/homedecor_bed_extended.obj rename to homedecor_bedroom/models/homedecor_bed_extended.obj diff --git a/homedecor/models/homedecor_bed_kingsize.obj b/homedecor_bedroom/models/homedecor_bed_kingsize.obj similarity index 100% rename from homedecor/models/homedecor_bed_kingsize.obj rename to homedecor_bedroom/models/homedecor_bed_kingsize.obj diff --git a/homedecor/models/homedecor_bed_regular.obj b/homedecor_bedroom/models/homedecor_bed_regular.obj similarity index 100% rename from homedecor/models/homedecor_bed_regular.obj rename to homedecor_bedroom/models/homedecor_bed_regular.obj diff --git a/homedecor/textures/homedecor_bed_bottom.png b/homedecor_bedroom/textures/homedecor_bed_bottom.png similarity index 100% rename from homedecor/textures/homedecor_bed_bottom.png rename to homedecor_bedroom/textures/homedecor_bed_bottom.png diff --git a/homedecor/textures/homedecor_bed_frame.png b/homedecor_bedroom/textures/homedecor_bed_frame.png similarity index 100% rename from homedecor/textures/homedecor_bed_frame.png rename to homedecor_bedroom/textures/homedecor_bed_frame.png diff --git a/homedecor/textures/homedecor_bed_inv.png b/homedecor_bedroom/textures/homedecor_bed_inv.png similarity index 100% rename from homedecor/textures/homedecor_bed_inv.png rename to homedecor_bedroom/textures/homedecor_bed_inv.png diff --git a/homedecor/textures/homedecor_bed_kingsize_inv.png b/homedecor_bedroom/textures/homedecor_bed_kingsize_inv.png similarity index 100% rename from homedecor/textures/homedecor_bed_kingsize_inv.png rename to homedecor_bedroom/textures/homedecor_bed_kingsize_inv.png diff --git a/homedecor/textures/homedecor_nightstand_mahogany_1_drawer_front.png b/homedecor_bedroom/textures/homedecor_nightstand_mahogany_1_drawer_front.png similarity index 100% rename from homedecor/textures/homedecor_nightstand_mahogany_1_drawer_front.png rename to homedecor_bedroom/textures/homedecor_nightstand_mahogany_1_drawer_front.png diff --git a/homedecor/textures/homedecor_nightstand_mahogany_2_drawer_front.png b/homedecor_bedroom/textures/homedecor_nightstand_mahogany_2_drawer_front.png similarity index 100% rename from homedecor/textures/homedecor_nightstand_mahogany_2_drawer_front.png rename to homedecor_bedroom/textures/homedecor_nightstand_mahogany_2_drawer_front.png diff --git a/homedecor/textures/homedecor_nightstand_mahogany_back.png b/homedecor_bedroom/textures/homedecor_nightstand_mahogany_back.png similarity index 100% rename from homedecor/textures/homedecor_nightstand_mahogany_back.png rename to homedecor_bedroom/textures/homedecor_nightstand_mahogany_back.png diff --git a/homedecor/textures/homedecor_nightstand_mahogany_lr.png b/homedecor_bedroom/textures/homedecor_nightstand_mahogany_lr.png similarity index 100% rename from homedecor/textures/homedecor_nightstand_mahogany_lr.png rename to homedecor_bedroom/textures/homedecor_nightstand_mahogany_lr.png diff --git a/homedecor/textures/homedecor_nightstand_mahogany_tb.png b/homedecor_bedroom/textures/homedecor_nightstand_mahogany_tb.png similarity index 100% rename from homedecor/textures/homedecor_nightstand_mahogany_tb.png rename to homedecor_bedroom/textures/homedecor_nightstand_mahogany_tb.png diff --git a/homedecor/textures/homedecor_nightstand_oak_1_drawer_front.png b/homedecor_bedroom/textures/homedecor_nightstand_oak_1_drawer_front.png similarity index 100% rename from homedecor/textures/homedecor_nightstand_oak_1_drawer_front.png rename to homedecor_bedroom/textures/homedecor_nightstand_oak_1_drawer_front.png diff --git a/homedecor/textures/homedecor_nightstand_oak_2_drawer_front.png b/homedecor_bedroom/textures/homedecor_nightstand_oak_2_drawer_front.png similarity index 100% rename from homedecor/textures/homedecor_nightstand_oak_2_drawer_front.png rename to homedecor_bedroom/textures/homedecor_nightstand_oak_2_drawer_front.png diff --git a/homedecor/textures/homedecor_nightstand_oak_back.png b/homedecor_bedroom/textures/homedecor_nightstand_oak_back.png similarity index 100% rename from homedecor/textures/homedecor_nightstand_oak_back.png rename to homedecor_bedroom/textures/homedecor_nightstand_oak_back.png diff --git a/homedecor/textures/homedecor_nightstand_oak_lr.png b/homedecor_bedroom/textures/homedecor_nightstand_oak_lr.png similarity index 100% rename from homedecor/textures/homedecor_nightstand_oak_lr.png rename to homedecor_bedroom/textures/homedecor_nightstand_oak_lr.png diff --git a/homedecor/textures/homedecor_nightstand_oak_tb.png b/homedecor_bedroom/textures/homedecor_nightstand_oak_tb.png similarity index 100% rename from homedecor/textures/homedecor_nightstand_oak_tb.png rename to homedecor_bedroom/textures/homedecor_nightstand_oak_tb.png diff --git a/homedecor_books/depends.txt b/homedecor_books/depends.txt new file mode 100644 index 00000000..ddb63ed1 --- /dev/null +++ b/homedecor_books/depends.txt @@ -0,0 +1,5 @@ +homedecor_common +default +unifieddyes +creative + diff --git a/homedecor/books.lua b/homedecor_books/init.lua similarity index 95% rename from homedecor/books.lua rename to homedecor_books/init.lua index 20b1e39b..3bdce05c 100644 --- a/homedecor/books.lua +++ b/homedecor_books/init.lua @@ -1,4 +1,4 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext local function N_(x) return x end @@ -183,5 +183,30 @@ minetest.register_on_player_receive_fields(function(player, form_name, fields) return true end) +-- crafting + + +local bookcolors = { + "red", + "green", + "blue", + "violet", + "grey", + "brown" +} + +for _, color in ipairs(bookcolors) do + minetest.register_craft({ + type = "shapeless", + output = "homedecor:book_"..color, + recipe = { + "dye:"..color, + "default:book" + }, + }) +end + +-- aliases + minetest.register_alias("homedecor:book", "homedecor:book_grey") minetest.register_alias("homedecor:book_open", "homedecor:book_open_grey") diff --git a/homedecor/models/homedecor_book.obj b/homedecor_books/models/homedecor_book.obj similarity index 100% rename from homedecor/models/homedecor_book.obj rename to homedecor_books/models/homedecor_book.obj diff --git a/homedecor/models/homedecor_book_open.obj b/homedecor_books/models/homedecor_book_open.obj similarity index 100% rename from homedecor/models/homedecor_book_open.obj rename to homedecor_books/models/homedecor_book_open.obj diff --git a/homedecor/textures/homedecor_book_cover.png b/homedecor_books/textures/homedecor_book_cover.png similarity index 100% rename from homedecor/textures/homedecor_book_cover.png rename to homedecor_books/textures/homedecor_book_cover.png diff --git a/homedecor/textures/homedecor_book_cover_trim.png b/homedecor_books/textures/homedecor_book_cover_trim.png similarity index 100% rename from homedecor/textures/homedecor_book_cover_trim.png rename to homedecor_books/textures/homedecor_book_cover_trim.png diff --git a/homedecor/textures/homedecor_book_edges.png b/homedecor_books/textures/homedecor_book_edges.png similarity index 100% rename from homedecor/textures/homedecor_book_edges.png rename to homedecor_books/textures/homedecor_book_edges.png diff --git a/homedecor/textures/homedecor_book_inv.png b/homedecor_books/textures/homedecor_book_inv.png similarity index 100% rename from homedecor/textures/homedecor_book_inv.png rename to homedecor_books/textures/homedecor_book_inv.png diff --git a/homedecor/textures/homedecor_book_pages.png b/homedecor_books/textures/homedecor_book_pages.png similarity index 100% rename from homedecor/textures/homedecor_book_pages.png rename to homedecor_books/textures/homedecor_book_pages.png diff --git a/homedecor/textures/homedecor_book_trim_inv.png b/homedecor_books/textures/homedecor_book_trim_inv.png similarity index 100% rename from homedecor/textures/homedecor_book_trim_inv.png rename to homedecor_books/textures/homedecor_book_trim_inv.png diff --git a/homedecor_climate_control/depends.txt b/homedecor_climate_control/depends.txt new file mode 100644 index 00000000..f37b6553 --- /dev/null +++ b/homedecor_climate_control/depends.txt @@ -0,0 +1,4 @@ +homedecor_common +default +basic_materials +building_blocks? diff --git a/homedecor/climate-control.lua b/homedecor_climate_control/init.lua similarity index 65% rename from homedecor/climate-control.lua rename to homedecor_climate_control/init.lua index 412fedf7..5524f261 100644 --- a/homedecor/climate-control.lua +++ b/homedecor_climate_control/init.lua @@ -1,6 +1,6 @@ -- Nodes that would affect the local temperature e.g. fans, heater, A/C -local S = homedecor_i18n.gettext +local S = homedecor.gettext homedecor.register("air_conditioner", { description = S("Air Conditioner"), @@ -16,7 +16,7 @@ homedecor.register("air_conditioner", { -- fans -minetest.register_entity("homedecor:mesh_desk_fan", { +minetest.register_entity(":homedecor:mesh_desk_fan", { collisionbox = homedecor.nodebox.null, visual = "mesh", mesh = "homedecor_desk_fan.b3d", @@ -141,3 +141,69 @@ homedecor.register("radiator", { collision_box = r_cbox, sounds = default.node_sound_wood_defaults(), }) + +-- crafting + + +minetest.register_craft({ + output = "homedecor:air_conditioner", + recipe = { + { "default:steel_ingot", "building_blocks:grate", "default:steel_ingot" }, + { "default:steel_ingot", "homedecor:fan_blades", "basic_materials:motor" }, + { "default:steel_ingot", "basic_materials:motor", "default:steel_ingot" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:air_conditioner", + recipe = { + { "default:steel_ingot", "building_blocks:grate", "default:steel_ingot" }, + { "default:steel_ingot", "basic_materials:motor", "default:steel_ingot" }, + { "default:steel_ingot", "basic_materials:motor", "default:steel_ingot" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:ceiling_fan", + recipe = { + { "basic_materials:motor" }, + { "homedecor:fan_blades" }, + { "homedecor:glowlight_small_cube" } + } +}) + +minetest.register_craft({ + output = "homedecor:ceiling_fan", + recipe = { + { "basic_materials:motor" }, + { "homedecor:fan_blades" }, + { "homedecor:glowlight_small_cube" } + } +}) + + +minetest.register_craft( { + output = "homedecor:desk_fan", + recipe = { + {"default:steel_ingot", "homedecor:fan_blades", "basic_materials:motor"}, + {"", "default:steel_ingot", ""} + }, +}) + +minetest.register_craft( { + output = "homedecor:space_heater", + recipe = { + {"basic_materials:plastic_sheet", "basic_materials:heating_element", "basic_materials:plastic_sheet"}, + {"basic_materials:plastic_sheet", "homedecor:fan_blades", "basic_materials:motor"}, + {"basic_materials:plastic_sheet", "basic_materials:heating_element", "basic_materials:plastic_sheet"} + }, +}) + +minetest.register_craft( { + output = "homedecor:radiator", + recipe = { + { "default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot" }, + { "basic_materials:ic", "basic_materials:heating_element", "" }, + { "default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot" } + }, +}) diff --git a/homedecor/models/homedecor_ac.obj b/homedecor_climate_control/models/homedecor_ac.obj similarity index 100% rename from homedecor/models/homedecor_ac.obj rename to homedecor_climate_control/models/homedecor_ac.obj diff --git a/homedecor/models/homedecor_desk_fan.b3d b/homedecor_climate_control/models/homedecor_desk_fan.b3d similarity index 100% rename from homedecor/models/homedecor_desk_fan.b3d rename to homedecor_climate_control/models/homedecor_desk_fan.b3d diff --git a/homedecor/models/homedecor_radiator.obj b/homedecor_climate_control/models/homedecor_radiator.obj similarity index 100% rename from homedecor/models/homedecor_radiator.obj rename to homedecor_climate_control/models/homedecor_radiator.obj diff --git a/homedecor/textures/homedecor_ac.png b/homedecor_climate_control/textures/homedecor_ac.png similarity index 100% rename from homedecor/textures/homedecor_ac.png rename to homedecor_climate_control/textures/homedecor_ac.png diff --git a/homedecor/textures/homedecor_ceiling_fan_bottom.png b/homedecor_climate_control/textures/homedecor_ceiling_fan_bottom.png similarity index 100% rename from homedecor/textures/homedecor_ceiling_fan_bottom.png rename to homedecor_climate_control/textures/homedecor_ceiling_fan_bottom.png diff --git a/homedecor/textures/homedecor_ceiling_fan_inv.png b/homedecor_climate_control/textures/homedecor_ceiling_fan_inv.png similarity index 100% rename from homedecor/textures/homedecor_ceiling_fan_inv.png rename to homedecor_climate_control/textures/homedecor_ceiling_fan_inv.png diff --git a/homedecor/textures/homedecor_ceiling_fan_sides.png b/homedecor_climate_control/textures/homedecor_ceiling_fan_sides.png similarity index 100% rename from homedecor/textures/homedecor_ceiling_fan_sides.png rename to homedecor_climate_control/textures/homedecor_ceiling_fan_sides.png diff --git a/homedecor/textures/homedecor_ceiling_fan_top.png b/homedecor_climate_control/textures/homedecor_ceiling_fan_top.png similarity index 100% rename from homedecor/textures/homedecor_ceiling_fan_top.png rename to homedecor_climate_control/textures/homedecor_ceiling_fan_top.png diff --git a/homedecor/textures/homedecor_desk_fan_body.png b/homedecor_climate_control/textures/homedecor_desk_fan_body.png similarity index 100% rename from homedecor/textures/homedecor_desk_fan_body.png rename to homedecor_climate_control/textures/homedecor_desk_fan_body.png diff --git a/homedecor/textures/homedecor_desk_fan_inv.png b/homedecor_climate_control/textures/homedecor_desk_fan_inv.png similarity index 100% rename from homedecor/textures/homedecor_desk_fan_inv.png rename to homedecor_climate_control/textures/homedecor_desk_fan_inv.png diff --git a/homedecor/models/homedecor_desk_fan_uv.png b/homedecor_climate_control/textures/homedecor_desk_fan_uv.png similarity index 100% rename from homedecor/models/homedecor_desk_fan_uv.png rename to homedecor_climate_control/textures/homedecor_desk_fan_uv.png diff --git a/homedecor/textures/homedecor_heater_back.png b/homedecor_climate_control/textures/homedecor_heater_back.png similarity index 100% rename from homedecor/textures/homedecor_heater_back.png rename to homedecor_climate_control/textures/homedecor_heater_back.png diff --git a/homedecor/textures/homedecor_heater_front.png b/homedecor_climate_control/textures/homedecor_heater_front.png similarity index 100% rename from homedecor/textures/homedecor_heater_front.png rename to homedecor_climate_control/textures/homedecor_heater_front.png diff --git a/homedecor/textures/homedecor_heater_inv.png b/homedecor_climate_control/textures/homedecor_heater_inv.png similarity index 100% rename from homedecor/textures/homedecor_heater_inv.png rename to homedecor_climate_control/textures/homedecor_heater_inv.png diff --git a/homedecor/textures/homedecor_heater_sides.png b/homedecor_climate_control/textures/homedecor_heater_sides.png similarity index 100% rename from homedecor/textures/homedecor_heater_sides.png rename to homedecor_climate_control/textures/homedecor_heater_sides.png diff --git a/homedecor/textures/homedecor_heater_tb.png b/homedecor_climate_control/textures/homedecor_heater_tb.png similarity index 100% rename from homedecor/textures/homedecor_heater_tb.png rename to homedecor_climate_control/textures/homedecor_heater_tb.png diff --git a/homedecor/textures/homedecor_radiator_controls.png b/homedecor_climate_control/textures/homedecor_radiator_controls.png similarity index 100% rename from homedecor/textures/homedecor_radiator_controls.png rename to homedecor_climate_control/textures/homedecor_radiator_controls.png diff --git a/homedecor/textures/homedecor_radiator_inv.png b/homedecor_climate_control/textures/homedecor_radiator_inv.png similarity index 100% rename from homedecor/textures/homedecor_radiator_inv.png rename to homedecor_climate_control/textures/homedecor_radiator_inv.png diff --git a/homedecor_clocks/depends.txt b/homedecor_clocks/depends.txt new file mode 100644 index 00000000..ff3cb2b6 --- /dev/null +++ b/homedecor_clocks/depends.txt @@ -0,0 +1,5 @@ +homedecor_common +default +basic_materials +dye +building_blocks? diff --git a/homedecor/clocks.lua b/homedecor_clocks/init.lua similarity index 59% rename from homedecor/clocks.lua rename to homedecor_clocks/init.lua index 71d7ecde..42510601 100644 --- a/homedecor/clocks.lua +++ b/homedecor_clocks/init.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext local clock_sbox = { type = "fixed", @@ -97,5 +97,55 @@ homedecor.register("grandfather_clock", { on_rotate = screwdriver.rotate_simple }) +-- crafting + + +minetest.register_craft({ + output = "homedecor:analog_clock_plastic 2", + recipe = { + { "basic_materials:plastic_sheet", "dye:black", "basic_materials:plastic_sheet" }, + { "basic_materials:plastic_sheet", "basic_materials:ic", "basic_materials:plastic_sheet" }, + { "basic_materials:plastic_sheet", "dye:black", "basic_materials:plastic_sheet" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:analog_clock_wood 2", + recipe = { + { "group:stick", "dye:black", "group:stick" }, + { "group:stick", "basic_materials:ic", "group:stick" }, + { "group:stick", "dye:black", "group:stick" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:digital_clock 2", + recipe = { + { "basic_materials:plastic_sheet", "default:paper", "basic_materials:plastic_sheet" }, + { "basic_materials:plastic_sheet", "basic_materials:ic", "basic_materials:plastic_sheet" }, + { "basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:alarm_clock", + recipe = { + { "basic_materials:plastic_sheet", "homedecor:speaker_driver", "basic_materials:plastic_sheet" }, + { "basic_materials:plastic_sheet", "homedecor:digital_clock", "basic_materials:plastic_sheet" }, + { "basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:grandfather_clock", + recipe = { + { "building_blocks:slab_hardwood","homedecor:analog_clock_wood","building_blocks:slab_hardwood" }, + { "building_blocks:slab_hardwood","basic_materials:brass_ingot","building_blocks:slab_hardwood" }, + { "building_blocks:slab_hardwood","basic_materials:brass_ingot","building_blocks:slab_hardwood" } + }, +}) + +-- aliases + minetest.register_alias("homedecor:grandfather_clock_bottom", "homedecor:grandfather_clock") minetest.register_alias("homedecor:grandfather_clock_top", "air") diff --git a/homedecor/models/homedecor_analog_clock.obj b/homedecor_clocks/models/homedecor_analog_clock.obj similarity index 100% rename from homedecor/models/homedecor_analog_clock.obj rename to homedecor_clocks/models/homedecor_analog_clock.obj diff --git a/homedecor/models/homedecor_grandfather_clock.obj b/homedecor_clocks/models/homedecor_grandfather_clock.obj similarity index 100% rename from homedecor/models/homedecor_grandfather_clock.obj rename to homedecor_clocks/models/homedecor_grandfather_clock.obj diff --git a/homedecor/textures/homedecor_alarm_clock_back.png b/homedecor_clocks/textures/homedecor_alarm_clock_back.png similarity index 100% rename from homedecor/textures/homedecor_alarm_clock_back.png rename to homedecor_clocks/textures/homedecor_alarm_clock_back.png diff --git a/homedecor/textures/homedecor_alarm_clock_bottom.png b/homedecor_clocks/textures/homedecor_alarm_clock_bottom.png similarity index 100% rename from homedecor/textures/homedecor_alarm_clock_bottom.png rename to homedecor_clocks/textures/homedecor_alarm_clock_bottom.png diff --git a/homedecor/textures/homedecor_alarm_clock_front.png b/homedecor_clocks/textures/homedecor_alarm_clock_front.png similarity index 100% rename from homedecor/textures/homedecor_alarm_clock_front.png rename to homedecor_clocks/textures/homedecor_alarm_clock_front.png diff --git a/homedecor/textures/homedecor_alarm_clock_inv.png b/homedecor_clocks/textures/homedecor_alarm_clock_inv.png similarity index 100% rename from homedecor/textures/homedecor_alarm_clock_inv.png rename to homedecor_clocks/textures/homedecor_alarm_clock_inv.png diff --git a/homedecor/textures/homedecor_alarm_clock_sides.png b/homedecor_clocks/textures/homedecor_alarm_clock_sides.png similarity index 100% rename from homedecor/textures/homedecor_alarm_clock_sides.png rename to homedecor_clocks/textures/homedecor_alarm_clock_sides.png diff --git a/homedecor/textures/homedecor_alarm_clock_top.png b/homedecor_clocks/textures/homedecor_alarm_clock_top.png similarity index 100% rename from homedecor/textures/homedecor_alarm_clock_top.png rename to homedecor_clocks/textures/homedecor_alarm_clock_top.png diff --git a/homedecor/textures/homedecor_analog_clock_back.png b/homedecor_clocks/textures/homedecor_analog_clock_back.png similarity index 100% rename from homedecor/textures/homedecor_analog_clock_back.png rename to homedecor_clocks/textures/homedecor_analog_clock_back.png diff --git a/homedecor/textures/homedecor_analog_clock_face.png b/homedecor_clocks/textures/homedecor_analog_clock_face.png similarity index 100% rename from homedecor/textures/homedecor_analog_clock_face.png rename to homedecor_clocks/textures/homedecor_analog_clock_face.png diff --git a/homedecor/textures/homedecor_analog_clock_plastic_inv.png b/homedecor_clocks/textures/homedecor_analog_clock_plastic_inv.png similarity index 100% rename from homedecor/textures/homedecor_analog_clock_plastic_inv.png rename to homedecor_clocks/textures/homedecor_analog_clock_plastic_inv.png diff --git a/homedecor/textures/homedecor_analog_clock_wood_inv.png b/homedecor_clocks/textures/homedecor_analog_clock_wood_inv.png similarity index 100% rename from homedecor/textures/homedecor_analog_clock_wood_inv.png rename to homedecor_clocks/textures/homedecor_analog_clock_wood_inv.png diff --git a/homedecor/textures/homedecor_digital_clock_back.png b/homedecor_clocks/textures/homedecor_digital_clock_back.png similarity index 100% rename from homedecor/textures/homedecor_digital_clock_back.png rename to homedecor_clocks/textures/homedecor_digital_clock_back.png diff --git a/homedecor/textures/homedecor_digital_clock_edges.png b/homedecor_clocks/textures/homedecor_digital_clock_edges.png similarity index 100% rename from homedecor/textures/homedecor_digital_clock_edges.png rename to homedecor_clocks/textures/homedecor_digital_clock_edges.png diff --git a/homedecor/textures/homedecor_digital_clock_front.png b/homedecor_clocks/textures/homedecor_digital_clock_front.png similarity index 100% rename from homedecor/textures/homedecor_digital_clock_front.png rename to homedecor_clocks/textures/homedecor_digital_clock_front.png diff --git a/homedecor/textures/homedecor_digital_clock_inv.png b/homedecor_clocks/textures/homedecor_digital_clock_inv.png similarity index 100% rename from homedecor/textures/homedecor_digital_clock_inv.png rename to homedecor_clocks/textures/homedecor_digital_clock_inv.png diff --git a/homedecor/textures/homedecor_grandfather_clock_face.png b/homedecor_clocks/textures/homedecor_grandfather_clock_face.png similarity index 100% rename from homedecor/textures/homedecor_grandfather_clock_face.png rename to homedecor_clocks/textures/homedecor_grandfather_clock_face.png diff --git a/homedecor/textures/homedecor_grandfather_clock_face_edge.png b/homedecor_clocks/textures/homedecor_grandfather_clock_face_edge.png similarity index 100% rename from homedecor/textures/homedecor_grandfather_clock_face_edge.png rename to homedecor_clocks/textures/homedecor_grandfather_clock_face_edge.png diff --git a/homedecor/textures/homedecor_grandfather_clock_inv.png b/homedecor_clocks/textures/homedecor_grandfather_clock_inv.png similarity index 100% rename from homedecor/textures/homedecor_grandfather_clock_inv.png rename to homedecor_clocks/textures/homedecor_grandfather_clock_inv.png diff --git a/homedecor_cobweb/depends.txt b/homedecor_cobweb/depends.txt new file mode 100644 index 00000000..917d5132 --- /dev/null +++ b/homedecor_cobweb/depends.txt @@ -0,0 +1,2 @@ +homedecor_common +default diff --git a/homedecor/cobweb.lua b/homedecor_cobweb/init.lua similarity index 91% rename from homedecor/cobweb.lua rename to homedecor_cobweb/init.lua index 43b7794f..eae886e2 100644 --- a/homedecor/cobweb.lua +++ b/homedecor_cobweb/init.lua @@ -1,7 +1,7 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext -minetest.register_node("homedecor:cobweb_corner", { +minetest.register_node(":homedecor:cobweb_corner", { description = S("Cobweb"), drawtype = "torchlike", tiles = { "homedecor_cobweb_torchlike.png" }, @@ -25,7 +25,7 @@ minetest.register_node("homedecor:cobweb_corner", { end }) -minetest.register_node("homedecor:cobweb_centered", { +minetest.register_node(":Lhomedecor:cobweb_centered", { description = S("Cobweb"), drawtype = "nodebox", tiles = { "homedecor_cobweb.png" }, @@ -52,7 +52,7 @@ minetest.register_node("homedecor:cobweb_centered", { drop = "homedecor:cobweb_corner" }) -minetest.register_node("homedecor:cobweb_flat", { +minetest.register_node(":homedecor:cobweb_flat", { description = S("Cobweb"), drawtype = "nodebox", tiles = { "homedecor_cobweb.png" }, @@ -79,7 +79,7 @@ minetest.register_node("homedecor:cobweb_flat", { drop = "homedecor:cobweb_corner" }) -minetest.register_node("homedecor:cobweb_plantlike", { +minetest.register_node(":homedecor:cobweb_plantlike", { description = S("Cobweb"), drawtype = "plantlike", tiles = { "homedecor_cobweb_plantlike.png" }, @@ -158,13 +158,13 @@ function homedecor.rotate_cobweb(pos) end --- convert existing cobwebs +-- crafting -minetest.register_abm({ - nodenames = { "homedecor:cobweb" }, - interval = 1, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - homedecor.rotate_cobweb(pos) - end +minetest.register_craft( { + output = "homedecor:cobweb_corner 5", + recipe = { + { "farming:string", "", "farming:string" }, + { "", "farming:string", "" }, + { "farming:string", "", "farming:string" } + }, }) diff --git a/homedecor/textures/homedecor_cobweb.png b/homedecor_cobweb/textures/homedecor_cobweb.png similarity index 100% rename from homedecor/textures/homedecor_cobweb.png rename to homedecor_cobweb/textures/homedecor_cobweb.png diff --git a/homedecor/textures/homedecor_cobweb_plantlike.png b/homedecor_cobweb/textures/homedecor_cobweb_plantlike.png similarity index 100% rename from homedecor/textures/homedecor_cobweb_plantlike.png rename to homedecor_cobweb/textures/homedecor_cobweb_plantlike.png diff --git a/homedecor/textures/homedecor_cobweb_torchlike.png b/homedecor_cobweb/textures/homedecor_cobweb_torchlike.png similarity index 100% rename from homedecor/textures/homedecor_cobweb_torchlike.png rename to homedecor_cobweb/textures/homedecor_cobweb_torchlike.png diff --git a/homedecor_common/crafts.lua b/homedecor_common/crafts.lua new file mode 100644 index 00000000..547ef186 --- /dev/null +++ b/homedecor_common/crafts.lua @@ -0,0 +1,73 @@ +-- crafts for common items that are used by more than one home decor component + +local S = homedecor.gettext + +-- items + +minetest.register_craftitem(":homedecor:roof_tile_terracotta", { + description = S("Terracotta Roof Tile"), + inventory_image = "homedecor_roof_tile_terracotta.png", +}) + +minetest.register_craftitem(":homedecor:drawer_small", { + description = S("Small Wooden Drawer"), + inventory_image = "homedecor_drawer_small.png", +}) + +-- cooking/fuel + +minetest.register_craft({ + type = "cooking", + output = "homedecor:roof_tile_terracotta", + recipe = "basic_materials:terracotta_base", +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:shingles_wood", + burntime = 30, +}) + + +-- crafing + +minetest.register_craft( { + output = "homedecor:shingles_terracotta", + recipe = { + { "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta"}, + { "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta"}, + }, +}) + +minetest.register_craft( { + output = "homedecor:roof_tile_terracotta 8", + recipe = { + { "homedecor:shingles_terracotta", "homedecor:shingles_terracotta" } + } +}) + +minetest.register_craft( { + output = "homedecor:shingles_wood 12", + recipe = { + { "group:stick", "group:wood"}, + { "group:wood", "group:stick"}, + }, +}) + +minetest.register_craft( { + output = "homedecor:shingles_wood 12", + recipe = { + { "group:wood", "group:stick"}, + { "group:stick", "group:wood"}, + }, +}) + +minetest.register_craft( { + output = "homedecor:shingles_asphalt 6", + recipe = { + { "building_blocks:gravel_spread", "dye:black", "building_blocks:gravel_spread" }, + { "group:sand", "dye:black", "group:sand" }, + { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, + }, +}) + diff --git a/homedecor_common/depends.txt b/homedecor_common/depends.txt new file mode 100644 index 00000000..a78a220e --- /dev/null +++ b/homedecor_common/depends.txt @@ -0,0 +1,3 @@ +default +creative + diff --git a/homedecor/handlers/expansion.lua b/homedecor_common/expansion.lua similarity index 94% rename from homedecor/handlers/expansion.lua rename to homedecor_common/expansion.lua index e9d2ec53..26efc6a8 100644 --- a/homedecor/handlers/expansion.lua +++ b/homedecor_common/expansion.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext -- vectors to place one node next to or behind another @@ -211,22 +211,21 @@ function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, trybunks local rightnode = minetest.get_node(rightpos) local inv = placer:get_inventory() - local lastdye = unifieddyes.last_used_dye[placer_name] if leftnode.name == "homedecor:bed_regular" then local newname = string.gsub(thisnode.name, "_regular", "_kingsize") - local meta = minetest.get_meta(leftpos) + local meta = minetest.get_meta(pos) + local leftmeta = minetest.get_meta(leftpos) + minetest.set_node(pos, {name = "air"}) - minetest.set_node(leftpos, { name = newname, param2 = param2}) - meta:set_string("dye", lastdye) - inv:add_item("main", lastdye) + minetest.swap_node(leftpos, { name = newname, param2 = param2}) elseif rightnode.name == "homedecor:bed_regular" then local newname = string.gsub(thisnode.name, "_regular", "_kingsize") - local meta = minetest.get_meta(rightpos) + local meta = minetest.get_meta(pos) + local rightmeta = minetest.get_meta(rightpos) + minetest.set_node(rightpos, {name = "air"}) - minetest.set_node(pos, { name = newname, param2 = param2}) - meta:set_string("dye", lastdye) - inv:add_item("main", lastdye) + minetest.swap_node(pos, { name = newname, param2 = param2}) end local toppos = {x=pos.x, y=pos.y+1.0, z=pos.z} @@ -235,14 +234,7 @@ function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, trybunks if trybunks and is_buildable_to(placer_name, toppos, topposfwd) then local newname = string.gsub(thisnode.name, "_regular", "_extended") local newparam2 = param2 % 8 - if inv:contains_item("main", lastdye) then - minetest.set_node(toppos, { name = thisnode.name, param2 = param2}) - if lastdye then inv:remove_item("main", lastdye.." 1") end - else - minetest.set_node(toppos, { name = thisnode.name, param2 = newparam2}) - minetest.chat_send_player(placer_name, "Ran out of "..lastdye..", using neutral color.") - unifieddyes.last_used_dye[placer_name] = nil - end + minetest.swap_node(toppos, { name = thisnode.name, param2 = param2}) minetest.swap_node(pos, { name = newname, param2 = param2}) itemstack:take_item() end @@ -265,6 +257,8 @@ function homedecor.place_banister(itemstack, placer, pointed_thing) if not pos then return itemstack end local fdir = minetest.dir_to_facedir(placer:get_look_dir()) + local meta = itemstack:get_meta() + local pindex = meta:get_int("palette_index") local abovepos = { x=pos.x, y=pos.y+1, z=pos.z } local abovenode = minetest.get_node(abovepos) @@ -379,7 +373,7 @@ function homedecor.place_banister(itemstack, placer, pointed_thing) end end - minetest.set_node(pos, {name = new_place_name, param2 = fdir}) + minetest.set_node(pos, {name = new_place_name, param2 = fdir+pindex}) itemstack:take_item() return itemstack end diff --git a/homedecor/handlers/furnaces.lua b/homedecor_common/furnaces.lua similarity index 99% rename from homedecor/handlers/furnaces.lua rename to homedecor_common/furnaces.lua index 36a79391..d628273a 100644 --- a/homedecor/handlers/furnaces.lua +++ b/homedecor_common/furnaces.lua @@ -1,6 +1,6 @@ -- This code supplies an oven/stove. Basically it's just a copy of the default furnace with different textures. -local S = homedecor_i18n.gettext +local S = homedecor.gettext local function swap_node(pos, name) local node = minetest.get_node(pos) diff --git a/homedecor/init.lua b/homedecor_common/init.lua similarity index 53% rename from homedecor/init.lua rename to homedecor_common/init.lua index 96d3f260..5be0f26b 100644 --- a/homedecor/init.lua +++ b/homedecor_common/init.lua @@ -1,19 +1,16 @@ --- Home Decor mod by VanessaE --- --- Mostly my own code, with bits and pieces lifted from Minetest's default --- lua files and from ironzorg's flowers mod. Many thanks to GloopMaster --- for helping me figure out the inventories used in the nightstands/dressers. --- --- The code for ovens, nightstands, refrigerators are basically modified --- copies of the code for chests and furnaces. +-- Home Decor API/functions, and common textures and models +-- by VanessaE -local modpath = minetest.get_modpath("homedecor") - -local S = homedecor_i18n.gettext +local modpath = minetest.get_modpath("homedecor_common") homedecor = {} homedecor.modpath = modpath +-- Intllib support +homedecor.gettext, homedecor.ngettext = dofile(modpath.."/intllib.lua") + +local S = homedecor.gettext + -- Determine if the item being pointed at is the underside of a node (e.g a ceiling) function homedecor.find_ceiling(itemstack, placer, pointed_thing) -- most of this is copied from the rotate-and-place function in builtin @@ -70,55 +67,16 @@ homedecor.color_dark_grey = 0xff606060 homedecor.color_med_grey = 0xffa0a0a0 -- load different handler subsystems -dofile(modpath.."/handlers/init.lua") - --- load various other components -dofile(modpath.."/misc-nodes.lua") -- the catch-all for all misc nodes -dofile(modpath.."/tables.lua") -dofile(modpath.."/electronics.lua") -dofile(modpath.."/shutters.lua") - -dofile(modpath.."/roofing.lua") - -dofile(modpath.."/foyer.lua") - -dofile(modpath.."/doors_and_gates.lua") - -dofile(modpath.."/fences.lua") - -dofile(modpath.."/lighting.lua") - -dofile(modpath.."/kitchen_appliances.lua") -dofile(modpath.."/kitchen_furniture.lua") -dofile(modpath.."/gastronomy.lua") - -dofile(modpath.."/bathroom_furniture.lua") -dofile(modpath.."/bathroom_sanitation.lua") - -dofile(modpath.."/bedroom.lua") - -dofile(modpath.."/laundry.lua") - -dofile(modpath.."/office.lua") - -dofile(modpath.."/clocks.lua") -dofile(modpath.."/electrics.lua") - -dofile(modpath.."/window_treatments.lua") - -dofile(modpath.."/furniture.lua") -dofile(modpath.."/furniture_medieval.lua") -dofile(modpath.."/furniture_recipes.lua") -dofile(modpath.."/climate-control.lua") - -dofile(modpath.."/cobweb.lua") -dofile(modpath.."/books.lua") -dofile(modpath.."/exterior.lua") -dofile(modpath.."/trash_cans.lua") -dofile(modpath.."/wardrobe.lua") - +dofile(modpath.."/nodeboxes.lua") +dofile(modpath.."/expansion.lua") +dofile(modpath.."/furnaces.lua") +dofile(modpath.."/inventory.lua") +dofile(modpath.."/registration.lua") +dofile(modpath.."/water_particles.lua") +dofile(modpath.."/mt_game_beds_functions.lua") +dofile(modpath.."/sit.lua") dofile(modpath.."/crafts.lua") if minetest.settings:get_bool("log_mods") then - minetest.log("action", "[HomeDecor] " .. S("Loaded!")) + minetest.log("action", "[HomeDecor API] " .. S("Loaded!")) end diff --git a/homedecor_i18n/intllib.lua b/homedecor_common/intllib.lua similarity index 100% rename from homedecor_i18n/intllib.lua rename to homedecor_common/intllib.lua diff --git a/homedecor/handlers/inventory.lua b/homedecor_common/inventory.lua similarity index 98% rename from homedecor/handlers/inventory.lua rename to homedecor_common/inventory.lua index 62269e6f..2a49228c 100644 --- a/homedecor/handlers/inventory.lua +++ b/homedecor_common/inventory.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext local default_can_dig = function(pos,player) local meta = minetest.get_meta(pos) @@ -182,7 +182,7 @@ function homedecor.handle_inventory(name, def, original_def) minetest.register_craft({ type = "shapeless", output = "homedecor:" .. locked_name, - recipe = { "homedecor:" .. name, "default:steel_ingot" } + recipe = { "homedecor:" .. name, "basic_materials:padlock" } }) end diff --git a/homedecor_i18n/locale/de.po b/homedecor_common/locale/de.po similarity index 100% rename from homedecor_i18n/locale/de.po rename to homedecor_common/locale/de.po diff --git a/homedecor_i18n/locale/es.po b/homedecor_common/locale/es.po similarity index 100% rename from homedecor_i18n/locale/es.po rename to homedecor_common/locale/es.po diff --git a/homedecor_i18n/locale/fr.po b/homedecor_common/locale/fr.po similarity index 100% rename from homedecor_i18n/locale/fr.po rename to homedecor_common/locale/fr.po diff --git a/homedecor_i18n/locale/it.po b/homedecor_common/locale/it.po similarity index 100% rename from homedecor_i18n/locale/it.po rename to homedecor_common/locale/it.po diff --git a/homedecor_i18n/locale/ms.po b/homedecor_common/locale/ms.po similarity index 100% rename from homedecor_i18n/locale/ms.po rename to homedecor_common/locale/ms.po diff --git a/homedecor_i18n/locale/pt.po b/homedecor_common/locale/pt.po similarity index 100% rename from homedecor_i18n/locale/pt.po rename to homedecor_common/locale/pt.po diff --git a/homedecor_i18n/locale/pt_BR.po b/homedecor_common/locale/pt_BR.po similarity index 100% rename from homedecor_i18n/locale/pt_BR.po rename to homedecor_common/locale/pt_BR.po diff --git a/homedecor_i18n/locale/ru.po b/homedecor_common/locale/ru.po similarity index 100% rename from homedecor_i18n/locale/ru.po rename to homedecor_common/locale/ru.po diff --git a/homedecor_i18n/locale/template.pot b/homedecor_common/locale/template.pot similarity index 100% rename from homedecor_i18n/locale/template.pot rename to homedecor_common/locale/template.pot diff --git a/homedecor/models/homedecor_cube.obj b/homedecor_common/models/homedecor_cube.obj similarity index 100% rename from homedecor/models/homedecor_cube.obj rename to homedecor_common/models/homedecor_cube.obj diff --git a/homedecor/models/homedecor_slope.obj b/homedecor_common/models/homedecor_slope.obj similarity index 100% rename from homedecor/models/homedecor_slope.obj rename to homedecor_common/models/homedecor_slope.obj diff --git a/homedecor/models/homedecor_slope_inner_corner.obj b/homedecor_common/models/homedecor_slope_inner_corner.obj similarity index 100% rename from homedecor/models/homedecor_slope_inner_corner.obj rename to homedecor_common/models/homedecor_slope_inner_corner.obj diff --git a/homedecor/models/homedecor_slope_outer_corner.obj b/homedecor_common/models/homedecor_slope_outer_corner.obj similarity index 100% rename from homedecor/models/homedecor_slope_outer_corner.obj rename to homedecor_common/models/homedecor_slope_outer_corner.obj diff --git a/homedecor/handlers/mt_game_beds_functions.lua b/homedecor_common/mt_game_beds_functions.lua similarity index 100% rename from homedecor/handlers/mt_game_beds_functions.lua rename to homedecor_common/mt_game_beds_functions.lua diff --git a/homedecor/handlers/nodeboxes.lua b/homedecor_common/nodeboxes.lua similarity index 100% rename from homedecor/handlers/nodeboxes.lua rename to homedecor_common/nodeboxes.lua diff --git a/homedecor/handlers/registration.lua b/homedecor_common/registration.lua similarity index 98% rename from homedecor/handlers/registration.lua rename to homedecor_common/registration.lua index 8c20558f..f2d9bff7 100644 --- a/homedecor/handlers/registration.lua +++ b/homedecor_common/registration.lua @@ -91,5 +91,5 @@ function homedecor.register(name, original_def) end -- register the actual minetest node - minetest.register_node("homedecor:" .. name, def) + minetest.register_node(":homedecor:" .. name, def) end diff --git a/homedecor/handlers/sit.lua b/homedecor_common/sit.lua similarity index 100% rename from homedecor/handlers/sit.lua rename to homedecor_common/sit.lua diff --git a/homedecor/sounds/homedecor_faucet.ogg b/homedecor_common/sounds/homedecor_faucet.ogg similarity index 100% rename from homedecor/sounds/homedecor_faucet.ogg rename to homedecor_common/sounds/homedecor_faucet.ogg diff --git a/homedecor/textures/homedecor_blanktile.png b/homedecor_common/textures/homedecor_blanktile.png similarity index 100% rename from homedecor/textures/homedecor_blanktile.png rename to homedecor_common/textures/homedecor_blanktile.png diff --git a/homedecor/textures/homedecor_drawer_small.png b/homedecor_common/textures/homedecor_drawer_small.png similarity index 100% rename from homedecor/textures/homedecor_drawer_small.png rename to homedecor_common/textures/homedecor_drawer_small.png diff --git a/homedecor/textures/homedecor_generic_metal.png b/homedecor_common/textures/homedecor_generic_metal.png similarity index 100% rename from homedecor/textures/homedecor_generic_metal.png rename to homedecor_common/textures/homedecor_generic_metal.png diff --git a/homedecor/textures/homedecor_generic_metal_brass.png b/homedecor_common/textures/homedecor_generic_metal_brass.png similarity index 100% rename from homedecor/textures/homedecor_generic_metal_brass.png rename to homedecor_common/textures/homedecor_generic_metal_brass.png diff --git a/homedecor/textures/homedecor_generic_metal_bright.png b/homedecor_common/textures/homedecor_generic_metal_bright.png similarity index 100% rename from homedecor/textures/homedecor_generic_metal_bright.png rename to homedecor_common/textures/homedecor_generic_metal_bright.png diff --git a/homedecor/textures/homedecor_generic_metal_gold.png b/homedecor_common/textures/homedecor_generic_metal_gold.png similarity index 100% rename from homedecor/textures/homedecor_generic_metal_gold.png rename to homedecor_common/textures/homedecor_generic_metal_gold.png diff --git a/homedecor/textures/homedecor_generic_metal_gold2.png b/homedecor_common/textures/homedecor_generic_metal_gold2.png similarity index 100% rename from homedecor/textures/homedecor_generic_metal_gold2.png rename to homedecor_common/textures/homedecor_generic_metal_gold2.png diff --git a/homedecor/textures/homedecor_generic_metal_lines_overlay.png b/homedecor_common/textures/homedecor_generic_metal_lines_overlay.png similarity index 100% rename from homedecor/textures/homedecor_generic_metal_lines_overlay.png rename to homedecor_common/textures/homedecor_generic_metal_lines_overlay.png diff --git a/homedecor/textures/homedecor_generic_metal_wrought_iron.png b/homedecor_common/textures/homedecor_generic_metal_wrought_iron.png similarity index 100% rename from homedecor/textures/homedecor_generic_metal_wrought_iron.png rename to homedecor_common/textures/homedecor_generic_metal_wrought_iron.png diff --git a/homedecor/textures/homedecor_generic_plastic.png b/homedecor_common/textures/homedecor_generic_plastic.png similarity index 100% rename from homedecor/textures/homedecor_generic_plastic.png rename to homedecor_common/textures/homedecor_generic_plastic.png diff --git a/homedecor/textures/homedecor_generic_quilted_paper.png b/homedecor_common/textures/homedecor_generic_quilted_paper.png similarity index 100% rename from homedecor/textures/homedecor_generic_quilted_paper.png rename to homedecor_common/textures/homedecor_generic_quilted_paper.png diff --git a/homedecor/textures/homedecor_generic_terrycloth.png b/homedecor_common/textures/homedecor_generic_terrycloth.png similarity index 100% rename from homedecor/textures/homedecor_generic_terrycloth.png rename to homedecor_common/textures/homedecor_generic_terrycloth.png diff --git a/homedecor/textures/homedecor_generic_wood_luxury.png b/homedecor_common/textures/homedecor_generic_wood_luxury.png similarity index 100% rename from homedecor/textures/homedecor_generic_wood_luxury.png rename to homedecor_common/textures/homedecor_generic_wood_luxury.png diff --git a/homedecor/textures/homedecor_generic_wood_old.png b/homedecor_common/textures/homedecor_generic_wood_old.png similarity index 100% rename from homedecor/textures/homedecor_generic_wood_old.png rename to homedecor_common/textures/homedecor_generic_wood_old.png diff --git a/homedecor/textures/homedecor_generic_wood_plain.png b/homedecor_common/textures/homedecor_generic_wood_plain.png similarity index 100% rename from homedecor/textures/homedecor_generic_wood_plain.png rename to homedecor_common/textures/homedecor_generic_wood_plain.png diff --git a/homedecor/textures/homedecor_generic_wood_red.png b/homedecor_common/textures/homedecor_generic_wood_red.png similarity index 100% rename from homedecor/textures/homedecor_generic_wood_red.png rename to homedecor_common/textures/homedecor_generic_wood_red.png diff --git a/homedecor/textures/homedecor_light.png b/homedecor_common/textures/homedecor_light.png similarity index 100% rename from homedecor/textures/homedecor_light.png rename to homedecor_common/textures/homedecor_light.png diff --git a/homedecor/textures/homedecor_polished_copper.png b/homedecor_common/textures/homedecor_polished_copper.png similarity index 100% rename from homedecor/textures/homedecor_polished_copper.png rename to homedecor_common/textures/homedecor_polished_copper.png diff --git a/homedecor/textures/homedecor_roof_tile_terracotta.png b/homedecor_common/textures/homedecor_roof_tile_terracotta.png similarity index 100% rename from homedecor/textures/homedecor_roof_tile_terracotta.png rename to homedecor_common/textures/homedecor_roof_tile_terracotta.png diff --git a/homedecor/textures/homedecor_shingles_asphalt.png b/homedecor_common/textures/homedecor_shingles_asphalt.png similarity index 100% rename from homedecor/textures/homedecor_shingles_asphalt.png rename to homedecor_common/textures/homedecor_shingles_asphalt.png diff --git a/homedecor/textures/homedecor_shingles_terracotta.png b/homedecor_common/textures/homedecor_shingles_terracotta.png similarity index 100% rename from homedecor/textures/homedecor_shingles_terracotta.png rename to homedecor_common/textures/homedecor_shingles_terracotta.png diff --git a/homedecor/textures/homedecor_shingles_terracotta_inv.png b/homedecor_common/textures/homedecor_shingles_terracotta_inv.png similarity index 100% rename from homedecor/textures/homedecor_shingles_terracotta_inv.png rename to homedecor_common/textures/homedecor_shingles_terracotta_inv.png diff --git a/homedecor/textures/homedecor_shingles_wood.png b/homedecor_common/textures/homedecor_shingles_wood.png similarity index 100% rename from homedecor/textures/homedecor_shingles_wood.png rename to homedecor_common/textures/homedecor_shingles_wood.png diff --git a/homedecor/textures/homedecor_water_particle.png b/homedecor_common/textures/homedecor_water_particle.png similarity index 100% rename from homedecor/textures/homedecor_water_particle.png rename to homedecor_common/textures/homedecor_water_particle.png diff --git a/homedecor_i18n/tools/updatepo.sh b/homedecor_common/tools/updatepo.sh similarity index 100% rename from homedecor_i18n/tools/updatepo.sh rename to homedecor_common/tools/updatepo.sh diff --git a/homedecor/handlers/water_particles.lua b/homedecor_common/water_particles.lua similarity index 98% rename from homedecor/handlers/water_particles.lua rename to homedecor_common/water_particles.lua index d318d582..8042599c 100644 --- a/homedecor/handlers/water_particles.lua +++ b/homedecor_common/water_particles.lua @@ -71,6 +71,7 @@ function homedecor.start_particle_spawner(pos, node, particledef, soundname) amount = 60, time = 0, collisiondetection = true, + collision_removal = particledef.die_on_collision, minpos = {x=pos.x - minx, y=pos.y + outlety, z=pos.z - minz}, maxpos = {x=pos.x - maxx, y=pos.y + outlety, z=pos.z - maxz}, minvel = {x = minvelx, y = velocityy, z = minvelz}, diff --git a/homedecor_doors_and_gates/depends.txt b/homedecor_doors_and_gates/depends.txt new file mode 100644 index 00000000..b93a08fe --- /dev/null +++ b/homedecor_doors_and_gates/depends.txt @@ -0,0 +1,6 @@ +homedecor_common +default +basic_materials +dye +doors +mesecons? diff --git a/homedecor/doors_and_gates.lua b/homedecor_doors_and_gates/init.lua similarity index 77% rename from homedecor/doors_and_gates.lua rename to homedecor_doors_and_gates/init.lua index f29ea249..1435cbe3 100644 --- a/homedecor/doors_and_gates.lua +++ b/homedecor_doors_and_gates/init.lua @@ -1,9 +1,14 @@ -- Node definitions for Homedecor doors -local S = homedecor_i18n.gettext +local S = homedecor.gettext local function N_(x) return x end +local m_rules +if minetest.global_exists("mesecon") then + m_rules = mesecon and mesecon.rules and mesecon.rules.pplate +end + -- doors local function isSolid(pos, adjust) @@ -140,11 +145,6 @@ local door_model_list = { 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", @@ -227,7 +227,7 @@ for i, side in ipairs(sides) do groups = {snappy = 3, not_in_creative_inventory = 1} end - minetest.register_node("homedecor:door_"..doorname.."_"..side, { + minetest.register_node(":homedecor:door_"..doorname.."_"..side, { description = S(door_model.description, S(side)), drawtype = "mesh", mesh = mesh, @@ -264,6 +264,7 @@ for i, side in ipairs(sides) do drop = "homedecor:door_"..doorname.."_left", mesecons = { effector = { + rules = m_rules, action_on = function(pos,node) local isClosed = getClosed(pos) if isClosed then @@ -405,6 +406,7 @@ for i, g in ipairs(gate_list) do end, mesecons = { effector = { + rules = m_rules, action_on = function(pos,node) homedecor.flip_gate(pos,node,nil,gate, "closed") end } } @@ -412,7 +414,7 @@ for i, g in ipairs(gate_list) do -- gates when placed default to closed, closed. - minetest.register_node("homedecor:gate_"..gate.."_closed", def) + minetest.register_node(":homedecor:gate_"..gate.."_closed", def) -- this is either a terrible idea or a great one def = table.copy(def) @@ -433,10 +435,11 @@ for i, g in ipairs(gate_list) do 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) + minetest.register_node(":homedecor:gate_"..gate.."_open", def) end minetest.register_alias("homedecor:fence_barbed_wire_gate_open", "homedecor:gate_barbed_wire_open") @@ -533,7 +536,7 @@ local jp_cbox = { fixed = {-0.5, -0.5, 0, 0.5, 0.5, 0.0625}, } -minetest.register_node("homedecor:japanese_wall_top", { +minetest.register_node(":homedecor:japanese_wall_top", { description = S("Japanese wall (top)"), drawtype = "mesh", mesh = "homedecor_wall_japanese_top.obj", @@ -549,7 +552,7 @@ minetest.register_node("homedecor:japanese_wall_top", { sounds = default.node_sound_wood_defaults(), }) -minetest.register_node("homedecor:japanese_wall_middle", { +minetest.register_node(":homedecor:japanese_wall_middle", { description = S("Japanese wall"), drawtype = "mesh", mesh = "homedecor_wall_japanese_middle.obj", @@ -565,7 +568,7 @@ minetest.register_node("homedecor:japanese_wall_middle", { sounds = default.node_sound_wood_defaults(), }) -minetest.register_node("homedecor:japanese_wall_bottom", { +minetest.register_node(":homedecor:japanese_wall_bottom", { description = S("Japanese wall (bottom)"), drawtype = "mesh", mesh = "homedecor_wall_japanese_bottom.obj", @@ -581,27 +584,6 @@ minetest.register_node("homedecor:japanese_wall_bottom", { 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", @@ -652,8 +634,251 @@ homedecor.register("door_japanese_open", { drop = "homedecor:door_japanese_closed", }) +-- crafting + +-- Gates + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:gate_picket_white_closed", + recipe = { + "homedecor:fence_picket_white" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_picket_white", + recipe = { + "homedecor:gate_picket_white_closed" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:gate_picket_closed", + recipe = { + "homedecor:fence_picket" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_picket", + recipe = { + "homedecor:gate_picket_closed" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:gate_barbed_wire_closed", + recipe = { + "homedecor:fence_barbed_wire" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_barbed_wire", + recipe = { + "homedecor:gate_barbed_wire_closed" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:gate_chainlink_closed", + recipe = { + "homedecor:fence_chainlink" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_chainlink", + recipe = { + "homedecor:gate_chainlink_closed" + }, +}) + +------ Doors + +-- plain wood, non-windowed + +minetest.register_craft( { + output = "homedecor:door_wood_plain_left 2", + recipe = { + { "group:wood", "group:wood", "" }, + { "group:wood", "group:wood", "default:steel_ingot" }, + { "group:wood", "group:wood", "" }, + }, +}) + +-- fancy exterior + +minetest.register_craft( { + output = "homedecor:door_exterior_fancy_left 2", + recipe = { + { "group:wood", "default:glass" }, + { "group:wood", "group:wood" }, + { "group:wood", "group:wood" }, + }, +}) + +-- wood and glass (grid style) + +-- bare + +minetest.register_craft( { + output = "homedecor:door_wood_glass_oak_left 2", + recipe = { + { "default:glass", "group:wood" }, + { "group:wood", "default:glass" }, + { "default:glass", "group:wood" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:door_wood_glass_oak_left 2", + recipe = { + { "group:wood", "default:glass" }, + { "default:glass", "group:wood" }, + { "group:wood", "default:glass" }, + }, +}) + +-- mahogany + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_mahogany_left 2", + recipe = { + "default:dirt", + "default:coal_lump", + "homedecor:door_wood_glass_oak_left", + "homedecor:door_wood_glass_oak_left" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_mahogany_left 2", + recipe = { + "dye:brown", + "homedecor:door_wood_glass_oak_left", + "homedecor:door_wood_glass_oak_left" + }, +}) + +-- white + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_wood_glass_white_left 2", + recipe = { + "dye:white", + "homedecor:door_wood_glass_oak_left", + "homedecor:door_wood_glass_oak_left" + }, +}) + +-- Closet doors + +-- oak + +minetest.register_craft( { + output = "homedecor:door_closet_oak_left 2", + recipe = { + { "", "group:stick", "group:stick" }, + { "default:steel_ingot", "group:stick", "group:stick" }, + { "", "group:stick", "group:stick" }, + }, +}) + +-- mahogany + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_closet_mahogany_left 2", + recipe = { + "homedecor:door_closet_oak_left", + "homedecor:door_closet_oak_left", + "default:dirt", + "default:coal_lump", + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:door_closet_mahogany_left 2", + recipe = { + "homedecor:door_closet_oak_left", + "homedecor:door_closet_oak_left", + "dye:brown" + }, +}) + +-- wrought fence-like door + +minetest.register_craft( { + output = "homedecor:door_wrought_iron_left 2", + recipe = { + { "homedecor:pole_wrought_iron", "default:iron_lump" }, + { "homedecor:pole_wrought_iron", "default:iron_lump" }, + { "homedecor:pole_wrought_iron", "default:iron_lump" } + }, +}) + +-- bedroom door + +minetest.register_craft( { + output = "homedecor:door_bedroom_left", + recipe = { + { "dye:white", "dye:white", "" }, + { "homedecor:door_wood_plain_left", "basic_materials:brass_ingot", "" }, + { "", "", "" }, + }, +}) + +-- woodglass door + +minetest.register_craft( { + output = "homedecor:door_woodglass_left", + recipe = { + { "group:wood", "default:glass", "" }, + { "group:wood", "default:glass", "basic_materials:brass_ingot" }, + { "group:wood", "group:wood", "" }, + }, +}) + +-- woodglass door type 2 + +minetest.register_craft( { + output = "homedecor:door_woodglass2_left", + recipe = { + { "default:glass", "default:glass", "" }, + { "group:wood", "group:wood", "default:iron_lump" }, + { "group:wood", "group:wood", "" }, + }, +}) + + +minetest.register_craft({ + output = "homedecor:door_japanese_closed", + recipe = { + { "homedecor:japanese_wall_top" }, + { "homedecor:japanese_wall_bottom" } + }, +}) + +-- aliases + 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") + +minetest.register_alias("homedecor:door_glass_right", "doors:door_glass_b") +minetest.register_alias("homedecor:door_glass_left", "doors:door_glass_a") diff --git a/homedecor/models/homedecor_door_closet.obj b/homedecor_doors_and_gates/models/homedecor_door_closet.obj similarity index 100% rename from homedecor/models/homedecor_door_closet.obj rename to homedecor_doors_and_gates/models/homedecor_door_closet.obj diff --git a/homedecor/models/homedecor_door_closet_right.obj b/homedecor_doors_and_gates/models/homedecor_door_closet_right.obj similarity index 100% rename from homedecor/models/homedecor_door_closet_right.obj rename to homedecor_doors_and_gates/models/homedecor_door_closet_right.obj diff --git a/homedecor/models/homedecor_door_fancy.obj b/homedecor_doors_and_gates/models/homedecor_door_fancy.obj similarity index 100% rename from homedecor/models/homedecor_door_fancy.obj rename to homedecor_doors_and_gates/models/homedecor_door_fancy.obj diff --git a/homedecor/models/homedecor_door_fancy_right.obj b/homedecor_doors_and_gates/models/homedecor_door_fancy_right.obj similarity index 100% rename from homedecor/models/homedecor_door_fancy_right.obj rename to homedecor_doors_and_gates/models/homedecor_door_fancy_right.obj diff --git a/homedecor/models/homedecor_door_japanese_closed.obj b/homedecor_doors_and_gates/models/homedecor_door_japanese_closed.obj similarity index 100% rename from homedecor/models/homedecor_door_japanese_closed.obj rename to homedecor_doors_and_gates/models/homedecor_door_japanese_closed.obj diff --git a/homedecor/models/homedecor_door_japanese_open.obj b/homedecor_doors_and_gates/models/homedecor_door_japanese_open.obj similarity index 100% rename from homedecor/models/homedecor_door_japanese_open.obj rename to homedecor_doors_and_gates/models/homedecor_door_japanese_open.obj diff --git a/homedecor/models/homedecor_door_plain.obj b/homedecor_doors_and_gates/models/homedecor_door_plain.obj similarity index 100% rename from homedecor/models/homedecor_door_plain.obj rename to homedecor_doors_and_gates/models/homedecor_door_plain.obj diff --git a/homedecor/models/homedecor_door_plain_right.obj b/homedecor_doors_and_gates/models/homedecor_door_plain_right.obj similarity index 100% rename from homedecor/models/homedecor_door_plain_right.obj rename to homedecor_doors_and_gates/models/homedecor_door_plain_right.obj diff --git a/homedecor/models/homedecor_door_wood_glass.obj b/homedecor_doors_and_gates/models/homedecor_door_wood_glass.obj similarity index 100% rename from homedecor/models/homedecor_door_wood_glass.obj rename to homedecor_doors_and_gates/models/homedecor_door_wood_glass.obj diff --git a/homedecor/models/homedecor_door_wood_glass_right.obj b/homedecor_doors_and_gates/models/homedecor_door_wood_glass_right.obj similarity index 100% rename from homedecor/models/homedecor_door_wood_glass_right.obj rename to homedecor_doors_and_gates/models/homedecor_door_wood_glass_right.obj diff --git a/homedecor/models/homedecor_door_woodglass_typea.obj b/homedecor_doors_and_gates/models/homedecor_door_woodglass_typea.obj similarity index 100% rename from homedecor/models/homedecor_door_woodglass_typea.obj rename to homedecor_doors_and_gates/models/homedecor_door_woodglass_typea.obj diff --git a/homedecor/models/homedecor_door_woodglass_typea_right.obj b/homedecor_doors_and_gates/models/homedecor_door_woodglass_typea_right.obj similarity index 100% rename from homedecor/models/homedecor_door_woodglass_typea_right.obj rename to homedecor_doors_and_gates/models/homedecor_door_woodglass_typea_right.obj diff --git a/homedecor/models/homedecor_door_wrought_iron.obj b/homedecor_doors_and_gates/models/homedecor_door_wrought_iron.obj similarity index 100% rename from homedecor/models/homedecor_door_wrought_iron.obj rename to homedecor_doors_and_gates/models/homedecor_door_wrought_iron.obj diff --git a/homedecor/models/homedecor_door_wrought_iron_right.obj b/homedecor_doors_and_gates/models/homedecor_door_wrought_iron_right.obj similarity index 100% rename from homedecor/models/homedecor_door_wrought_iron_right.obj rename to homedecor_doors_and_gates/models/homedecor_door_wrought_iron_right.obj diff --git a/homedecor/models/homedecor_wall_japanese_bottom.obj b/homedecor_doors_and_gates/models/homedecor_wall_japanese_bottom.obj similarity index 100% rename from homedecor/models/homedecor_wall_japanese_bottom.obj rename to homedecor_doors_and_gates/models/homedecor_wall_japanese_bottom.obj diff --git a/homedecor/models/homedecor_wall_japanese_middle.obj b/homedecor_doors_and_gates/models/homedecor_wall_japanese_middle.obj similarity index 100% rename from homedecor/models/homedecor_wall_japanese_middle.obj rename to homedecor_doors_and_gates/models/homedecor_wall_japanese_middle.obj diff --git a/homedecor/models/homedecor_wall_japanese_top.obj b/homedecor_doors_and_gates/models/homedecor_wall_japanese_top.obj similarity index 100% rename from homedecor/models/homedecor_wall_japanese_top.obj rename to homedecor_doors_and_gates/models/homedecor_wall_japanese_top.obj diff --git a/homedecor/sounds/homedecor_book_close.ogg b/homedecor_doors_and_gates/sounds/homedecor_book_close.ogg similarity index 100% rename from homedecor/sounds/homedecor_book_close.ogg rename to homedecor_doors_and_gates/sounds/homedecor_book_close.ogg diff --git a/homedecor/sounds/homedecor_door_close.ogg b/homedecor_doors_and_gates/sounds/homedecor_door_close.ogg similarity index 100% rename from homedecor/sounds/homedecor_door_close.ogg rename to homedecor_doors_and_gates/sounds/homedecor_door_close.ogg diff --git a/homedecor/sounds/homedecor_door_open.ogg b/homedecor_doors_and_gates/sounds/homedecor_door_open.ogg similarity index 100% rename from homedecor/sounds/homedecor_door_open.ogg rename to homedecor_doors_and_gates/sounds/homedecor_door_open.ogg diff --git a/homedecor/sounds/homedecor_gate_open_close.ogg b/homedecor_doors_and_gates/sounds/homedecor_gate_open_close.ogg similarity index 100% rename from homedecor/sounds/homedecor_gate_open_close.ogg rename to homedecor_doors_and_gates/sounds/homedecor_gate_open_close.ogg diff --git a/homedecor/textures/homedecor_door_bedroom.png b/homedecor_doors_and_gates/textures/homedecor_door_bedroom.png similarity index 100% rename from homedecor/textures/homedecor_door_bedroom.png rename to homedecor_doors_and_gates/textures/homedecor_door_bedroom.png diff --git a/homedecor/textures/homedecor_door_bedroom_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_bedroom_inv.png similarity index 100% rename from homedecor/textures/homedecor_door_bedroom_inv.png rename to homedecor_doors_and_gates/textures/homedecor_door_bedroom_inv.png diff --git a/homedecor/textures/homedecor_door_closet_mahogany.png b/homedecor_doors_and_gates/textures/homedecor_door_closet_mahogany.png similarity index 100% rename from homedecor/textures/homedecor_door_closet_mahogany.png rename to homedecor_doors_and_gates/textures/homedecor_door_closet_mahogany.png diff --git a/homedecor/textures/homedecor_door_closet_mahogany_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_closet_mahogany_inv.png similarity index 100% rename from homedecor/textures/homedecor_door_closet_mahogany_inv.png rename to homedecor_doors_and_gates/textures/homedecor_door_closet_mahogany_inv.png diff --git a/homedecor/textures/homedecor_door_closet_oak.png b/homedecor_doors_and_gates/textures/homedecor_door_closet_oak.png similarity index 100% rename from homedecor/textures/homedecor_door_closet_oak.png rename to homedecor_doors_and_gates/textures/homedecor_door_closet_oak.png diff --git a/homedecor/textures/homedecor_door_closet_oak_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_closet_oak_inv.png similarity index 100% rename from homedecor/textures/homedecor_door_closet_oak_inv.png rename to homedecor_doors_and_gates/textures/homedecor_door_closet_oak_inv.png diff --git a/homedecor/textures/homedecor_door_exterior_fancy.png b/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy.png similarity index 100% rename from homedecor/textures/homedecor_door_exterior_fancy.png rename to homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy.png diff --git a/homedecor/textures/homedecor_door_exterior_fancy_insert.png b/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy_insert.png similarity index 100% rename from homedecor/textures/homedecor_door_exterior_fancy_insert.png rename to homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy_insert.png diff --git a/homedecor/textures/homedecor_door_exterior_fancy_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy_inv.png similarity index 100% rename from homedecor/textures/homedecor_door_exterior_fancy_inv.png rename to homedecor_doors_and_gates/textures/homedecor_door_exterior_fancy_inv.png diff --git a/homedecor/textures/homedecor_door_glass.png b/homedecor_doors_and_gates/textures/homedecor_door_glass.png similarity index 100% rename from homedecor/textures/homedecor_door_glass.png rename to homedecor_doors_and_gates/textures/homedecor_door_glass.png diff --git a/homedecor/textures/homedecor_door_glass_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_glass_inv.png similarity index 100% rename from homedecor/textures/homedecor_door_glass_inv.png rename to homedecor_doors_and_gates/textures/homedecor_door_glass_inv.png diff --git a/homedecor/textures/homedecor_door_japanese_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_japanese_inv.png similarity index 100% rename from homedecor/textures/homedecor_door_japanese_inv.png rename to homedecor_doors_and_gates/textures/homedecor_door_japanese_inv.png diff --git a/homedecor/textures/homedecor_door_wood_glass_insert.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_insert.png similarity index 100% rename from homedecor/textures/homedecor_door_wood_glass_insert.png rename to homedecor_doors_and_gates/textures/homedecor_door_wood_glass_insert.png diff --git a/homedecor/textures/homedecor_door_wood_glass_mahogany.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_mahogany.png similarity index 100% rename from homedecor/textures/homedecor_door_wood_glass_mahogany.png rename to homedecor_doors_and_gates/textures/homedecor_door_wood_glass_mahogany.png diff --git a/homedecor/textures/homedecor_door_wood_glass_mahogany_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_mahogany_inv.png similarity index 100% rename from homedecor/textures/homedecor_door_wood_glass_mahogany_inv.png rename to homedecor_doors_and_gates/textures/homedecor_door_wood_glass_mahogany_inv.png diff --git a/homedecor/textures/homedecor_door_wood_glass_oak.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_oak.png similarity index 100% rename from homedecor/textures/homedecor_door_wood_glass_oak.png rename to homedecor_doors_and_gates/textures/homedecor_door_wood_glass_oak.png diff --git a/homedecor/textures/homedecor_door_wood_glass_oak_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_oak_inv.png similarity index 100% rename from homedecor/textures/homedecor_door_wood_glass_oak_inv.png rename to homedecor_doors_and_gates/textures/homedecor_door_wood_glass_oak_inv.png diff --git a/homedecor/textures/homedecor_door_wood_glass_white.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white.png similarity index 100% rename from homedecor/textures/homedecor_door_wood_glass_white.png rename to homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white.png diff --git a/homedecor/textures/homedecor_door_wood_glass_white_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white_inv.png similarity index 100% rename from homedecor/textures/homedecor_door_wood_glass_white_inv.png rename to homedecor_doors_and_gates/textures/homedecor_door_wood_glass_white_inv.png diff --git a/homedecor/textures/homedecor_door_wood_plain.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_plain.png similarity index 100% rename from homedecor/textures/homedecor_door_wood_plain.png rename to homedecor_doors_and_gates/textures/homedecor_door_wood_plain.png diff --git a/homedecor/textures/homedecor_door_wood_plain_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_wood_plain_inv.png similarity index 100% rename from homedecor/textures/homedecor_door_wood_plain_inv.png rename to homedecor_doors_and_gates/textures/homedecor_door_wood_plain_inv.png diff --git a/homedecor/textures/homedecor_door_woodglass2.png b/homedecor_doors_and_gates/textures/homedecor_door_woodglass2.png similarity index 100% rename from homedecor/textures/homedecor_door_woodglass2.png rename to homedecor_doors_and_gates/textures/homedecor_door_woodglass2.png diff --git a/homedecor/textures/homedecor_door_woodglass2_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_woodglass2_inv.png similarity index 100% rename from homedecor/textures/homedecor_door_woodglass2_inv.png rename to homedecor_doors_and_gates/textures/homedecor_door_woodglass2_inv.png diff --git a/homedecor/textures/homedecor_door_woodglass_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_woodglass_inv.png similarity index 100% rename from homedecor/textures/homedecor_door_woodglass_inv.png rename to homedecor_doors_and_gates/textures/homedecor_door_woodglass_inv.png diff --git a/homedecor/textures/homedecor_door_woodglass_typea.png b/homedecor_doors_and_gates/textures/homedecor_door_woodglass_typea.png similarity index 100% rename from homedecor/textures/homedecor_door_woodglass_typea.png rename to homedecor_doors_and_gates/textures/homedecor_door_woodglass_typea.png diff --git a/homedecor/textures/homedecor_door_woodglass_typea_insert.png b/homedecor_doors_and_gates/textures/homedecor_door_woodglass_typea_insert.png similarity index 100% rename from homedecor/textures/homedecor_door_woodglass_typea_insert.png rename to homedecor_doors_and_gates/textures/homedecor_door_woodglass_typea_insert.png diff --git a/homedecor/textures/homedecor_door_wrought_iron.png b/homedecor_doors_and_gates/textures/homedecor_door_wrought_iron.png similarity index 100% rename from homedecor/textures/homedecor_door_wrought_iron.png rename to homedecor_doors_and_gates/textures/homedecor_door_wrought_iron.png diff --git a/homedecor/textures/homedecor_door_wrought_iron_inv.png b/homedecor_doors_and_gates/textures/homedecor_door_wrought_iron_inv.png similarity index 100% rename from homedecor/textures/homedecor_door_wrought_iron_inv.png rename to homedecor_doors_and_gates/textures/homedecor_door_wrought_iron_inv.png diff --git a/homedecor/textures/homedecor_gate_barbed_wire_edges.png b/homedecor_doors_and_gates/textures/homedecor_gate_barbed_wire_edges.png similarity index 100% rename from homedecor/textures/homedecor_gate_barbed_wire_edges.png rename to homedecor_doors_and_gates/textures/homedecor_gate_barbed_wire_edges.png diff --git a/homedecor/textures/homedecor_gate_barbed_wire_fb.png b/homedecor_doors_and_gates/textures/homedecor_gate_barbed_wire_fb.png similarity index 100% rename from homedecor/textures/homedecor_gate_barbed_wire_fb.png rename to homedecor_doors_and_gates/textures/homedecor_gate_barbed_wire_fb.png diff --git a/homedecor/textures/homedecor_gate_chainlink_fb.png b/homedecor_doors_and_gates/textures/homedecor_gate_chainlink_fb.png similarity index 100% rename from homedecor/textures/homedecor_gate_chainlink_fb.png rename to homedecor_doors_and_gates/textures/homedecor_gate_chainlink_fb.png diff --git a/homedecor/textures/homedecor_gate_chainlink_lr.png b/homedecor_doors_and_gates/textures/homedecor_gate_chainlink_lr.png similarity index 100% rename from homedecor/textures/homedecor_gate_chainlink_lr.png rename to homedecor_doors_and_gates/textures/homedecor_gate_chainlink_lr.png diff --git a/homedecor/textures/homedecor_gate_chainlink_tb.png b/homedecor_doors_and_gates/textures/homedecor_gate_chainlink_tb.png similarity index 100% rename from homedecor/textures/homedecor_gate_chainlink_tb.png rename to homedecor_doors_and_gates/textures/homedecor_gate_chainlink_tb.png diff --git a/homedecor/textures/homedecor_gate_half_door_fb.png b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_fb.png similarity index 100% rename from homedecor/textures/homedecor_gate_half_door_fb.png rename to homedecor_doors_and_gates/textures/homedecor_gate_half_door_fb.png diff --git a/homedecor/textures/homedecor_gate_half_door_lr.png b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_lr.png similarity index 100% rename from homedecor/textures/homedecor_gate_half_door_lr.png rename to homedecor_doors_and_gates/textures/homedecor_gate_half_door_lr.png diff --git a/homedecor/textures/homedecor_gate_half_door_tb.png b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_tb.png similarity index 100% rename from homedecor/textures/homedecor_gate_half_door_tb.png rename to homedecor_doors_and_gates/textures/homedecor_gate_half_door_tb.png diff --git a/homedecor/textures/homedecor_gate_half_door_white_fb.png b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_fb.png similarity index 100% rename from homedecor/textures/homedecor_gate_half_door_white_fb.png rename to homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_fb.png diff --git a/homedecor/textures/homedecor_gate_half_door_white_lr.png b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_lr.png similarity index 100% rename from homedecor/textures/homedecor_gate_half_door_white_lr.png rename to homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_lr.png diff --git a/homedecor/textures/homedecor_gate_half_door_white_tb.png b/homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_tb.png similarity index 100% rename from homedecor/textures/homedecor_gate_half_door_white_tb.png rename to homedecor_doors_and_gates/textures/homedecor_gate_half_door_white_tb.png diff --git a/homedecor/textures/homedecor_gate_picket_back.png b/homedecor_doors_and_gates/textures/homedecor_gate_picket_back.png similarity index 100% rename from homedecor/textures/homedecor_gate_picket_back.png rename to homedecor_doors_and_gates/textures/homedecor_gate_picket_back.png diff --git a/homedecor/textures/homedecor_gate_picket_front.png b/homedecor_doors_and_gates/textures/homedecor_gate_picket_front.png similarity index 100% rename from homedecor/textures/homedecor_gate_picket_front.png rename to homedecor_doors_and_gates/textures/homedecor_gate_picket_front.png diff --git a/homedecor/textures/homedecor_gate_picket_white_back.png b/homedecor_doors_and_gates/textures/homedecor_gate_picket_white_back.png similarity index 100% rename from homedecor/textures/homedecor_gate_picket_white_back.png rename to homedecor_doors_and_gates/textures/homedecor_gate_picket_white_back.png diff --git a/homedecor/textures/homedecor_gate_picket_white_front.png b/homedecor_doors_and_gates/textures/homedecor_gate_picket_white_front.png similarity index 100% rename from homedecor/textures/homedecor_gate_picket_white_front.png rename to homedecor_doors_and_gates/textures/homedecor_gate_picket_white_front.png diff --git a/homedecor/textures/homedecor_japanese_paper.png b/homedecor_doors_and_gates/textures/homedecor_japanese_paper.png similarity index 100% rename from homedecor/textures/homedecor_japanese_paper.png rename to homedecor_doors_and_gates/textures/homedecor_japanese_paper.png diff --git a/homedecor/textures/homedecor_jpn_door_inv.png b/homedecor_doors_and_gates/textures/homedecor_jpn_door_inv.png similarity index 100% rename from homedecor/textures/homedecor_jpn_door_inv.png rename to homedecor_doors_and_gates/textures/homedecor_jpn_door_inv.png diff --git a/homedecor_electrical/depends.txt b/homedecor_electrical/depends.txt new file mode 100644 index 00000000..fb5d6010 --- /dev/null +++ b/homedecor_electrical/depends.txt @@ -0,0 +1,3 @@ +homedecor_common +default +basic_materials diff --git a/homedecor/electrics.lua b/homedecor_electrical/init.lua similarity index 67% rename from homedecor/electrics.lua rename to homedecor_electrical/init.lua index c5f27a65..c135021a 100644 --- a/homedecor/electrics.lua +++ b/homedecor_electrical/init.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext homedecor.register("power_outlet", { description = S("Power Outlet"), @@ -79,3 +79,30 @@ homedecor.register("doorbell", { }) end }) + +-- crafting + +minetest.register_craft( { + output = "homedecor:power_outlet", + recipe = { + {"basic_materials:plastic_sheet", "basic_materials:copper_strip"}, + {"basic_materials:plastic_sheet", ""}, + {"basic_materials:plastic_sheet", "basic_materials:copper_strip"} + }, +}) + +minetest.register_craft( { + output = "homedecor:light_switch", + recipe = { + {"", "basic_materials:plastic_sheet", "basic_materials:copper_strip"}, + {"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:copper_strip"}, + {"", "basic_materials:plastic_sheet", "basic_materials:copper_strip"} + }, +}) + +minetest.register_craft( { + output = "homedecor:doorbell", + recipe = { + { "homedecor:light_switch", "basic_materials:energy_crystal_simple", "homedecor:speaker_driver" } + }, +}) diff --git a/homedecor/sounds/homedecor_doorbell.ogg b/homedecor_electrical/sounds/homedecor_doorbell.ogg similarity index 100% rename from homedecor/sounds/homedecor_doorbell.ogg rename to homedecor_electrical/sounds/homedecor_doorbell.ogg diff --git a/homedecor/textures/homedecor_doorbell.png b/homedecor_electrical/textures/homedecor_doorbell.png similarity index 100% rename from homedecor/textures/homedecor_doorbell.png rename to homedecor_electrical/textures/homedecor_doorbell.png diff --git a/homedecor/textures/homedecor_doorbell_inv.png b/homedecor_electrical/textures/homedecor_doorbell_inv.png similarity index 100% rename from homedecor/textures/homedecor_doorbell_inv.png rename to homedecor_electrical/textures/homedecor_doorbell_inv.png diff --git a/homedecor/textures/homedecor_light_switch_back.png b/homedecor_electrical/textures/homedecor_light_switch_back.png similarity index 100% rename from homedecor/textures/homedecor_light_switch_back.png rename to homedecor_electrical/textures/homedecor_light_switch_back.png diff --git a/homedecor/textures/homedecor_light_switch_edges.png b/homedecor_electrical/textures/homedecor_light_switch_edges.png similarity index 100% rename from homedecor/textures/homedecor_light_switch_edges.png rename to homedecor_electrical/textures/homedecor_light_switch_edges.png diff --git a/homedecor/textures/homedecor_light_switch_front.png b/homedecor_electrical/textures/homedecor_light_switch_front.png similarity index 100% rename from homedecor/textures/homedecor_light_switch_front.png rename to homedecor_electrical/textures/homedecor_light_switch_front.png diff --git a/homedecor/textures/homedecor_light_switch_inv.png b/homedecor_electrical/textures/homedecor_light_switch_inv.png similarity index 100% rename from homedecor/textures/homedecor_light_switch_inv.png rename to homedecor_electrical/textures/homedecor_light_switch_inv.png diff --git a/homedecor/textures/homedecor_outlet_back.png b/homedecor_electrical/textures/homedecor_outlet_back.png similarity index 100% rename from homedecor/textures/homedecor_outlet_back.png rename to homedecor_electrical/textures/homedecor_outlet_back.png diff --git a/homedecor/textures/homedecor_outlet_edges.png b/homedecor_electrical/textures/homedecor_outlet_edges.png similarity index 100% rename from homedecor/textures/homedecor_outlet_edges.png rename to homedecor_electrical/textures/homedecor_outlet_edges.png diff --git a/homedecor/textures/homedecor_outlet_inv.png b/homedecor_electrical/textures/homedecor_outlet_inv.png similarity index 100% rename from homedecor/textures/homedecor_outlet_inv.png rename to homedecor_electrical/textures/homedecor_outlet_inv.png diff --git a/homedecor_electronics/depends.txt b/homedecor_electronics/depends.txt new file mode 100644 index 00000000..68793864 --- /dev/null +++ b/homedecor_electronics/depends.txt @@ -0,0 +1,4 @@ +homedecor_common +default +basic_materials +moreblocks? diff --git a/homedecor_electronics/init.lua b/homedecor_electronics/init.lua new file mode 100644 index 00000000..004a6398 --- /dev/null +++ b/homedecor_electronics/init.lua @@ -0,0 +1,301 @@ +-- Various home electronics + +local S = homedecor.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 = = + }, +}) + +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(), +}) + +-- crafting + +minetest.register_craftitem(":homedecor:vcr", { + description = S("VCR"), + inventory_image = "homedecor_vcr.png" +}) + +minetest.register_craftitem(":homedecor:dvd_player", { + description = S("DVD Player"), + inventory_image = "homedecor_dvd_player.png" +}) + +minetest.register_craftitem(":homedecor:speaker_driver", { + description = S("Speaker driver"), + inventory_image = "homedecor_speaker_driver_inv.png" +}) + +minetest.register_craft( { + output = "homedecor:projection_screen 3", + recipe = { + { "", "default:glass", "" }, + { "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({ + type = "fuel", + recipe = "homedecor:projection_screen", + burntime = 30, +}) + + +minetest.register_craft( { + output = "basic_materials:ic 4", + recipe = { + { "basic_materials:silicon", "basic_materials:silicon" }, + { "basic_materials:silicon", "default:copper_ingot" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:television", + recipe = { + { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, + { "basic_materials:plastic_sheet", "moreblocks:glow_glass", "basic_materials:plastic_sheet" }, + { "basic_materials:ic", "basic_materials:ic", "basic_materials:ic" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:television", + recipe = { + { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, + { "basic_materials:plastic_sheet", "default:glass", "basic_materials:plastic_sheet" }, + { "basic_materials:ic", "basic_materials:energy_crystal_simple", "basic_materials:ic" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:stereo", + recipe = { + { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, + { "basic_materials:plastic_sheet", "basic_materials:ic", "basic_materials:plastic_sheet" }, + { "default:steel_ingot", "basic_materials:ic", "default:steel_ingot" }, + }, +}) + + +minetest.register_craft( { + output = "homedecor:speaker_driver 2", + recipe = { + { "", "default:steel_ingot", "" }, + { "default:paper", "basic_materials:copper_wire", "default:iron_lump" }, + { "", "default:steel_ingot", "" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:speaker_small", + recipe = { + { "wool:black", "homedecor:speaker_driver", "group:wood" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:speaker", + recipe = { + { "wool:black", "homedecor:speaker_driver", "group:wood" }, + { "wool:black", "homedecor:speaker_driver", "group:wood" }, + { "wool:black", "group:wood", "group:wood" }, + }, +}) + +-- cotton version + +minetest.register_craft( { + output = "homedecor:speaker_small", + recipe = { + { "cotton:black", "homedecor:speaker_driver", "group:wood" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:speaker", + recipe = { + { "cotton:black", "homedecor:speaker_driver", "group:wood" }, + { "cotton:black", "homedecor:speaker_driver", "group:wood" }, + { "cotton:black", "group:wood", "group:wood" }, + }, +}) + + +minetest.register_craft({ + output = "homedecor:vcr 2", + recipe = { + { "basic_materials:ic", "default:steel_ingot", "basic_materials:plastic_sheet" }, + { "default:iron_lump", "default:iron_lump", "default:iron_lump" }, + { "basic_materials:plastic_sheet", "", "basic_materials:plastic_sheet" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:dvd_player 2", + recipe = { + { "", "basic_materials:plastic_sheet", "" }, + { "default:obsidian_glass", "basic_materials:motor", "basic_materials:motor" }, + { "default:mese_crystal_fragment", "basic_materials:ic", "basic_materials:energy_crystal_simple" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:dvd_player 2", + recipe = { + { "", "basic_materials:plastic_sheet", "" }, + { "default:obsidian_glass", "basic_materials:motor", "basic_materials:motor" }, + { "default:mese_crystal_fragment", "basic_materials:ic", "basic_materials:energy_crystal_simple" }, + }, +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:dvd_vcr", + recipe = { + "homedecor:vcr", + "homedecor:dvd_player" + }, +}) + +minetest.register_craft( { + output = "homedecor:telephone", + recipe = { + { "homedecor:speaker_driver", "basic_materials:copper_wire", "homedecor:speaker_driver" }, + { "basic_materials:plastic_sheet", "default:steel_ingot", "basic_materials:plastic_sheet" }, + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" } + }, +}) diff --git a/homedecor/models/homedecor_speaker_large.obj b/homedecor_electronics/models/homedecor_speaker_large.obj similarity index 100% rename from homedecor/models/homedecor_speaker_large.obj rename to homedecor_electronics/models/homedecor_speaker_large.obj diff --git a/homedecor/models/homedecor_speaker_large_open.obj b/homedecor_electronics/models/homedecor_speaker_large_open.obj similarity index 100% rename from homedecor/models/homedecor_speaker_large_open.obj rename to homedecor_electronics/models/homedecor_speaker_large_open.obj diff --git a/homedecor/models/homedecor_speaker_small.obj b/homedecor_electronics/models/homedecor_speaker_small.obj similarity index 100% rename from homedecor/models/homedecor_speaker_small.obj rename to homedecor_electronics/models/homedecor_speaker_small.obj diff --git a/homedecor/models/homedecor_telephone.obj b/homedecor_electronics/models/homedecor_telephone.obj similarity index 100% rename from homedecor/models/homedecor_telephone.obj rename to homedecor_electronics/models/homedecor_telephone.obj diff --git a/homedecor/textures/homedecor_dvd_player.png b/homedecor_electronics/textures/homedecor_dvd_player.png similarity index 100% rename from homedecor/textures/homedecor_dvd_player.png rename to homedecor_electronics/textures/homedecor_dvd_player.png diff --git a/homedecor/textures/homedecor_dvdvcr_back.png b/homedecor_electronics/textures/homedecor_dvdvcr_back.png similarity index 100% rename from homedecor/textures/homedecor_dvdvcr_back.png rename to homedecor_electronics/textures/homedecor_dvdvcr_back.png diff --git a/homedecor/textures/homedecor_dvdvcr_bottom.png b/homedecor_electronics/textures/homedecor_dvdvcr_bottom.png similarity index 100% rename from homedecor/textures/homedecor_dvdvcr_bottom.png rename to homedecor_electronics/textures/homedecor_dvdvcr_bottom.png diff --git a/homedecor/textures/homedecor_dvdvcr_front.png b/homedecor_electronics/textures/homedecor_dvdvcr_front.png similarity index 100% rename from homedecor/textures/homedecor_dvdvcr_front.png rename to homedecor_electronics/textures/homedecor_dvdvcr_front.png diff --git a/homedecor/textures/homedecor_dvdvcr_inv.png b/homedecor_electronics/textures/homedecor_dvdvcr_inv.png similarity index 100% rename from homedecor/textures/homedecor_dvdvcr_inv.png rename to homedecor_electronics/textures/homedecor_dvdvcr_inv.png diff --git a/homedecor/textures/homedecor_dvdvcr_sides.png b/homedecor_electronics/textures/homedecor_dvdvcr_sides.png similarity index 100% rename from homedecor/textures/homedecor_dvdvcr_sides.png rename to homedecor_electronics/textures/homedecor_dvdvcr_sides.png diff --git a/homedecor/textures/homedecor_dvdvcr_top.png b/homedecor_electronics/textures/homedecor_dvdvcr_top.png similarity index 100% rename from homedecor/textures/homedecor_dvdvcr_top.png rename to homedecor_electronics/textures/homedecor_dvdvcr_top.png diff --git a/homedecor/textures/homedecor_projection_screen.png b/homedecor_electronics/textures/homedecor_projection_screen.png similarity index 100% rename from homedecor/textures/homedecor_projection_screen.png rename to homedecor_electronics/textures/homedecor_projection_screen.png diff --git a/homedecor/textures/homedecor_projection_screen_inv.png b/homedecor_electronics/textures/homedecor_projection_screen_inv.png similarity index 100% rename from homedecor/textures/homedecor_projection_screen_inv.png rename to homedecor_electronics/textures/homedecor_projection_screen_inv.png diff --git a/homedecor/textures/homedecor_speaker_driver.png b/homedecor_electronics/textures/homedecor_speaker_driver.png similarity index 100% rename from homedecor/textures/homedecor_speaker_driver.png rename to homedecor_electronics/textures/homedecor_speaker_driver.png diff --git a/homedecor/textures/homedecor_speaker_driver_inv.png b/homedecor_electronics/textures/homedecor_speaker_driver_inv.png similarity index 100% rename from homedecor/textures/homedecor_speaker_driver_inv.png rename to homedecor_electronics/textures/homedecor_speaker_driver_inv.png diff --git a/homedecor/textures/homedecor_speaker_front.png b/homedecor_electronics/textures/homedecor_speaker_front.png similarity index 100% rename from homedecor/textures/homedecor_speaker_front.png rename to homedecor_electronics/textures/homedecor_speaker_front.png diff --git a/homedecor/textures/homedecor_speaker_open_front.png b/homedecor_electronics/textures/homedecor_speaker_open_front.png similarity index 100% rename from homedecor/textures/homedecor_speaker_open_front.png rename to homedecor_electronics/textures/homedecor_speaker_open_front.png diff --git a/homedecor/textures/homedecor_speaker_sides.png b/homedecor_electronics/textures/homedecor_speaker_sides.png similarity index 100% rename from homedecor/textures/homedecor_speaker_sides.png rename to homedecor_electronics/textures/homedecor_speaker_sides.png diff --git a/homedecor/textures/homedecor_stereo_back.png b/homedecor_electronics/textures/homedecor_stereo_back.png similarity index 100% rename from homedecor/textures/homedecor_stereo_back.png rename to homedecor_electronics/textures/homedecor_stereo_back.png diff --git a/homedecor/textures/homedecor_stereo_bottom.png b/homedecor_electronics/textures/homedecor_stereo_bottom.png similarity index 100% rename from homedecor/textures/homedecor_stereo_bottom.png rename to homedecor_electronics/textures/homedecor_stereo_bottom.png diff --git a/homedecor/textures/homedecor_stereo_front.png b/homedecor_electronics/textures/homedecor_stereo_front.png similarity index 100% rename from homedecor/textures/homedecor_stereo_front.png rename to homedecor_electronics/textures/homedecor_stereo_front.png diff --git a/homedecor/textures/homedecor_stereo_left.png b/homedecor_electronics/textures/homedecor_stereo_left.png similarity index 100% rename from homedecor/textures/homedecor_stereo_left.png rename to homedecor_electronics/textures/homedecor_stereo_left.png diff --git a/homedecor/textures/homedecor_stereo_top.png b/homedecor_electronics/textures/homedecor_stereo_top.png similarity index 100% rename from homedecor/textures/homedecor_stereo_top.png rename to homedecor_electronics/textures/homedecor_stereo_top.png diff --git a/homedecor/textures/homedecor_telephone_base.png b/homedecor_electronics/textures/homedecor_telephone_base.png similarity index 100% rename from homedecor/textures/homedecor_telephone_base.png rename to homedecor_electronics/textures/homedecor_telephone_base.png diff --git a/homedecor/textures/homedecor_telephone_cord.png b/homedecor_electronics/textures/homedecor_telephone_cord.png similarity index 100% rename from homedecor/textures/homedecor_telephone_cord.png rename to homedecor_electronics/textures/homedecor_telephone_cord.png diff --git a/homedecor/textures/homedecor_telephone_dial.png b/homedecor_electronics/textures/homedecor_telephone_dial.png similarity index 100% rename from homedecor/textures/homedecor_telephone_dial.png rename to homedecor_electronics/textures/homedecor_telephone_dial.png diff --git a/homedecor/textures/homedecor_telephone_handset.png b/homedecor_electronics/textures/homedecor_telephone_handset.png similarity index 100% rename from homedecor/textures/homedecor_telephone_handset.png rename to homedecor_electronics/textures/homedecor_telephone_handset.png diff --git a/homedecor/textures/homedecor_telephone_inv.png b/homedecor_electronics/textures/homedecor_telephone_inv.png similarity index 100% rename from homedecor/textures/homedecor_telephone_inv.png rename to homedecor_electronics/textures/homedecor_telephone_inv.png diff --git a/homedecor/textures/homedecor_television_back.png b/homedecor_electronics/textures/homedecor_television_back.png similarity index 100% rename from homedecor/textures/homedecor_television_back.png rename to homedecor_electronics/textures/homedecor_television_back.png diff --git a/homedecor/textures/homedecor_television_bottom.png b/homedecor_electronics/textures/homedecor_television_bottom.png similarity index 100% rename from homedecor/textures/homedecor_television_bottom.png rename to homedecor_electronics/textures/homedecor_television_bottom.png diff --git a/homedecor/textures/homedecor_television_front.png b/homedecor_electronics/textures/homedecor_television_front.png similarity index 100% rename from homedecor/textures/homedecor_television_front.png rename to homedecor_electronics/textures/homedecor_television_front.png diff --git a/homedecor/textures/homedecor_television_front_animated.png b/homedecor_electronics/textures/homedecor_television_front_animated.png similarity index 100% rename from homedecor/textures/homedecor_television_front_animated.png rename to homedecor_electronics/textures/homedecor_television_front_animated.png diff --git a/homedecor/textures/homedecor_television_left.png b/homedecor_electronics/textures/homedecor_television_left.png similarity index 100% rename from homedecor/textures/homedecor_television_left.png rename to homedecor_electronics/textures/homedecor_television_left.png diff --git a/homedecor/textures/homedecor_television_top.png b/homedecor_electronics/textures/homedecor_television_top.png similarity index 100% rename from homedecor/textures/homedecor_television_top.png rename to homedecor_electronics/textures/homedecor_television_top.png diff --git a/homedecor/textures/homedecor_vcr.png b/homedecor_electronics/textures/homedecor_vcr.png similarity index 100% rename from homedecor/textures/homedecor_vcr.png rename to homedecor_electronics/textures/homedecor_vcr.png diff --git a/homedecor_exterior/depends.txt b/homedecor_exterior/depends.txt new file mode 100644 index 00000000..4f9910bc --- /dev/null +++ b/homedecor_exterior/depends.txt @@ -0,0 +1,7 @@ +homedecor_common +default +dye +creative +moreblocks? +building_blocks? +bucket? diff --git a/homedecor/exterior.lua b/homedecor_exterior/init.lua similarity index 64% rename from homedecor/exterior.lua rename to homedecor_exterior/init.lua index a4e0fda6..efe3883f 100644 --- a/homedecor/exterior.lua +++ b/homedecor_exterior/init.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext local function N_(x) return x end @@ -367,7 +367,7 @@ homedecor.shrub_colors = { local shrub_cbox = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } for _, color in ipairs(homedecor.shrub_colors) do - minetest.register_node("homedecor:shrubbery_large_"..color, { + minetest.register_node(":homedecor:shrubbery_large_"..color, { description = S("Shrubbery (large, @1)", S(color)), drawtype = "mesh", mesh = "homedecor_cube.obj", @@ -378,7 +378,7 @@ for _, color in ipairs(homedecor.shrub_colors) do sounds = default.node_sound_leaves_defaults(), }) - minetest.register_node("homedecor:shrubbery_"..color, { + minetest.register_node(":homedecor:shrubbery_"..color, { description = S("Shrubbery (@1)", S(color)), drawtype = "mesh", mesh = "homedecor_shrubbery.obj", @@ -396,6 +396,252 @@ for _, color in ipairs(homedecor.shrub_colors) do }) end +-- crafting + +minetest.register_craft({ + output = "homedecor:chimney 2", + recipe = { + { "default:clay_brick", "", "default:clay_brick" }, + { "default:clay_brick", "", "default:clay_brick" }, + { "default:clay_brick", "", "default:clay_brick" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:doghouse", + recipe = { + {"homedecor:shingles_terracotta", "homedecor:shingles_terracotta", "homedecor:shingles_terracotta"}, + {"group:wood", "", "group:wood"}, + {"group:wood", "building_blocks:terrycloth_towel", "group:wood"} + }, +}) + +minetest.register_craft( { + output = "homedecor:well", + recipe = { + { "homedecor:shingles_wood", "homedecor:shingles_wood", "homedecor:shingles_wood" }, + { "group:wood", "group:stick", "group:wood" }, + { "group:stone", "", "group:stone" } + }, +}) + + + +minetest.register_craft( { + output = "homedecor:bench_large_1", + recipe = { + { "group:wood", "group:wood", "group:wood" }, + { "group:wood", "group:wood", "group:wood" }, + { "homedecor:pole_wrought_iron", "", "homedecor:pole_wrought_iron" } + }, +}) + +minetest.register_craft( { + output = "homedecor:bench_large_2_left", + recipe = { + { "homedecor:shutter_oak", "homedecor:shutter_oak", "homedecor:shutter_oak" }, + { "group:wood", "group:wood", "group:wood" }, + { "stairs:slab_wood", "", "stairs:slab_wood" } + }, +}) + +minetest.register_craft( { + output = "homedecor:bench_large_2_left", + recipe = { + { "homedecor:shutter_oak", "homedecor:shutter_oak", "homedecor:shutter_oak" }, + { "group:wood", "group:wood", "group:wood" }, + { "moreblocks:slab_wood", "", "moreblocks:slab_wood" } + }, +}) + + +minetest.register_craft( { + output = "homedecor:simple_bench", + recipe = { + { "stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood" }, + { "stairs:slab_wood", "", "stairs:slab_wood" } + }, +}) + +minetest.register_craft( { + output = "homedecor:simple_bench", + recipe = { + { "moreblocks:slab_wood", "moreblocks:slab_wood", "moreblocks:slab_wood" }, + { "moreblocks:slab_wood", "", "moreblocks:slab_wood" } + }, +}) + + +minetest.register_craft({ + output = "homedecor:deckchair", + recipe = { + { "group:stick", "building_blocks:terrycloth_towel", "group:stick" }, + { "group:stick", "building_blocks:terrycloth_towel", "group:stick" }, + { "group:stick", "building_blocks:terrycloth_towel", "group:stick" } + }, +}) + +minetest.register_craft({ + output = "homedecor:deckchair_striped_blue", + type = "shapeless", + recipe = { + "homedecor:deckchair", + "dye:blue" + } +}) + + +minetest.register_craft({ + output = "homedecor:stonepath 16", + recipe = { + { "stairs:slab_stone","","stairs:slab_stone" }, + { "","stairs:slab_stone","" }, + { "stairs:slab_stone","","stairs:slab_stone" } + }, +}) + +minetest.register_craft({ + output = "homedecor:stonepath 16", + recipe = { + { "moreblocks:slab_stone","","moreblocks:slab_stone" }, + { "","moreblocks:slab_stone","" }, + { "moreblocks:slab_stone","","moreblocks:slab_stone" } + }, +}) + +minetest.register_craft({ + output = "homedecor:stonepath 3", + recipe = { + { "moreblocks:micro_stone_1","","moreblocks:micro_stone_1" }, + { "","moreblocks:micro_stone_1","" }, + { "moreblocks:micro_stone_1","","moreblocks:micro_stone_1" } + }, +}) + +minetest.register_craft({ + output = "homedecor:barbecue", + recipe = { + { "","homedecor:fence_chainlink","" }, + { "default:steel_ingot","fake_fire:embers","default:steel_ingot" }, + { "homedecor:pole_wrought_iron","default:steel_ingot","homedecor:pole_wrought_iron" } + }, +}) + +minetest.register_craft({ + output = "homedecor:swing", + recipe = { + { "farming:string","","farming:string" }, + { "farming:string","","farming:string" }, + { "farming:string","stairs:slab_wood","farming:string" } + }, +}) + +minetest.register_craft({ + output = "homedecor:swing", + recipe = { + { "farming:string","","farming:string" }, + { "farming:string","","farming:string" }, + { "farming:string","moreblocks:slab_wood","farming:string" } + }, +}) + +minetest.register_craft({ + output = "homedecor:swing", + recipe = { + { "farming:string","","farming:string" }, + { "farming:string","","farming:string" }, + { "farming:string","moreblocks:panel_wood_1","farming:string" } + }, +}) + +minetest.register_craft({ + output = "homedecor:lattice_wood 8", + recipe = { + {"group:stick", "group:wood", "group:stick"}, + {"group:wood", "", "group:wood"}, + {"group:stick", "group:wood", "group:stick"}, + }, +}) + +minetest.register_craft({ + output = "homedecor:lattice_white_wood 8", + recipe = { + {"group:stick", "group:wood", "group:stick"}, + {"group:wood", "dye:white", "group:wood"}, + {"group:stick", "group:wood", "group:stick"}, + }, +}) + +minetest.register_craft({ + output = "homedecor:lattice_wood_vegetal 8", + recipe = { + {"group:stick", "group:wood", "group:stick"}, + {"group:wood", "group:leaves", "group:wood"}, + {"group:stick", "group:wood", "group:stick"}, + }, +}) + +minetest.register_craft({ + output = "homedecor:lattice_white_wood_vegetal 8", + recipe = { + {"group:stick", "group:wood", "group:stick"}, + {"group:wood", "group:leaves", "group:wood"}, + {"group:stick", "dye:white", "group:stick"}, + }, +}) + + +minetest.register_craft({ + output = "homedecor:shrubbery_green 3", + recipe = { + { "group:leaves", "group:leaves", "group:leaves" }, + { "group:leaves", "group:leaves", "group:leaves" }, + { "group:stick", "group:stick", "group:stick" } + } +}) + +for _, color in ipairs(homedecor.shrub_colors) do + + minetest.register_craft({ + type = "shapeless", + output = "homedecor:shrubbery_large_"..color, + recipe = { + "homedecor:shrubbery_"..color + } + }) + + minetest.register_craft({ + type = "shapeless", + output = "homedecor:shrubbery_"..color, + recipe = { + "homedecor:shrubbery_large_"..color + } + }) + + if color ~= "green" then + minetest.register_craft({ + type = "shapeless", + output = "homedecor:shrubbery_large_"..color, + recipe = { + "homedecor:shrubbery_large_green", + "dye:"..color + } + }) + + minetest.register_craft({ + type = "shapeless", + output = "homedecor:shrubbery_"..color, + recipe = { + "homedecor:shrubbery_green", + "dye:"..color + } + }) + + end +end + +-- aliases + minetest.register_alias("homedecor:well_top", "air") minetest.register_alias("homedecor:well_base", "homedecor:well") diff --git a/homedecor/models/homedecor_barbecue.obj b/homedecor_exterior/models/homedecor_barbecue.obj similarity index 100% rename from homedecor/models/homedecor_barbecue.obj rename to homedecor_exterior/models/homedecor_barbecue.obj diff --git a/homedecor/models/homedecor_bench_large_1.obj b/homedecor_exterior/models/homedecor_bench_large_1.obj similarity index 100% rename from homedecor/models/homedecor_bench_large_1.obj rename to homedecor_exterior/models/homedecor_bench_large_1.obj diff --git a/homedecor/models/homedecor_bench_large_2.obj b/homedecor_exterior/models/homedecor_bench_large_2.obj similarity index 100% rename from homedecor/models/homedecor_bench_large_2.obj rename to homedecor_exterior/models/homedecor_bench_large_2.obj diff --git a/homedecor/models/homedecor_chimney.obj b/homedecor_exterior/models/homedecor_chimney.obj similarity index 100% rename from homedecor/models/homedecor_chimney.obj rename to homedecor_exterior/models/homedecor_chimney.obj diff --git a/homedecor/models/homedecor_deckchair.obj b/homedecor_exterior/models/homedecor_deckchair.obj similarity index 100% rename from homedecor/models/homedecor_deckchair.obj rename to homedecor_exterior/models/homedecor_deckchair.obj diff --git a/homedecor/models/homedecor_doghouse.obj b/homedecor_exterior/models/homedecor_doghouse.obj similarity index 100% rename from homedecor/models/homedecor_doghouse.obj rename to homedecor_exterior/models/homedecor_doghouse.obj diff --git a/homedecor/models/homedecor_shrubbery.obj b/homedecor_exterior/models/homedecor_shrubbery.obj similarity index 100% rename from homedecor/models/homedecor_shrubbery.obj rename to homedecor_exterior/models/homedecor_shrubbery.obj diff --git a/homedecor/models/homedecor_well.obj b/homedecor_exterior/models/homedecor_well.obj similarity index 100% rename from homedecor/models/homedecor_well.obj rename to homedecor_exterior/models/homedecor_well.obj diff --git a/homedecor/textures/homedecor_barbecue_meat.png b/homedecor_exterior/textures/homedecor_barbecue_meat.png similarity index 100% rename from homedecor/textures/homedecor_barbecue_meat.png rename to homedecor_exterior/textures/homedecor_barbecue_meat.png diff --git a/homedecor/textures/homedecor_bench_large_1_inv.png b/homedecor_exterior/textures/homedecor_bench_large_1_inv.png similarity index 100% rename from homedecor/textures/homedecor_bench_large_1_inv.png rename to homedecor_exterior/textures/homedecor_bench_large_1_inv.png diff --git a/homedecor/textures/homedecor_bench_large_2_inv.png b/homedecor_exterior/textures/homedecor_bench_large_2_inv.png similarity index 100% rename from homedecor/textures/homedecor_bench_large_2_inv.png rename to homedecor_exterior/textures/homedecor_bench_large_2_inv.png diff --git a/homedecor/textures/homedecor_chimney_tb.png b/homedecor_exterior/textures/homedecor_chimney_tb.png similarity index 100% rename from homedecor/textures/homedecor_chimney_tb.png rename to homedecor_exterior/textures/homedecor_chimney_tb.png diff --git a/homedecor/textures/homedecor_deckchair.png b/homedecor_exterior/textures/homedecor_deckchair.png similarity index 100% rename from homedecor/textures/homedecor_deckchair.png rename to homedecor_exterior/textures/homedecor_deckchair.png diff --git a/homedecor/textures/homedecor_deckchair_striped_blue.png b/homedecor_exterior/textures/homedecor_deckchair_striped_blue.png similarity index 100% rename from homedecor/textures/homedecor_deckchair_striped_blue.png rename to homedecor_exterior/textures/homedecor_deckchair_striped_blue.png diff --git a/homedecor/textures/homedecor_doghouse_inv.png b/homedecor_exterior/textures/homedecor_doghouse_inv.png similarity index 100% rename from homedecor/textures/homedecor_doghouse_inv.png rename to homedecor_exterior/textures/homedecor_doghouse_inv.png diff --git a/homedecor/textures/homedecor_embers.png b/homedecor_exterior/textures/homedecor_embers.png similarity index 100% rename from homedecor/textures/homedecor_embers.png rename to homedecor_exterior/textures/homedecor_embers.png diff --git a/homedecor/textures/homedecor_lattice.png b/homedecor_exterior/textures/homedecor_lattice.png similarity index 100% rename from homedecor/textures/homedecor_lattice.png rename to homedecor_exterior/textures/homedecor_lattice.png diff --git a/homedecor/textures/homedecor_lattice_vegetal.png b/homedecor_exterior/textures/homedecor_lattice_vegetal.png similarity index 100% rename from homedecor/textures/homedecor_lattice_vegetal.png rename to homedecor_exterior/textures/homedecor_lattice_vegetal.png diff --git a/homedecor/textures/homedecor_rope_texture.png b/homedecor_exterior/textures/homedecor_rope_texture.png similarity index 100% rename from homedecor/textures/homedecor_rope_texture.png rename to homedecor_exterior/textures/homedecor_rope_texture.png diff --git a/homedecor/textures/homedecor_shrubbery_green.png b/homedecor_exterior/textures/homedecor_shrubbery_green.png similarity index 100% rename from homedecor/textures/homedecor_shrubbery_green.png rename to homedecor_exterior/textures/homedecor_shrubbery_green.png diff --git a/homedecor/textures/homedecor_shrubbery_green_bottom.png b/homedecor_exterior/textures/homedecor_shrubbery_green_bottom.png similarity index 100% rename from homedecor/textures/homedecor_shrubbery_green_bottom.png rename to homedecor_exterior/textures/homedecor_shrubbery_green_bottom.png diff --git a/homedecor/textures/homedecor_shrubbery_red.png b/homedecor_exterior/textures/homedecor_shrubbery_red.png similarity index 100% rename from homedecor/textures/homedecor_shrubbery_red.png rename to homedecor_exterior/textures/homedecor_shrubbery_red.png diff --git a/homedecor/textures/homedecor_shrubbery_red_bottom.png b/homedecor_exterior/textures/homedecor_shrubbery_red_bottom.png similarity index 100% rename from homedecor/textures/homedecor_shrubbery_red_bottom.png rename to homedecor_exterior/textures/homedecor_shrubbery_red_bottom.png diff --git a/homedecor/textures/homedecor_shrubbery_roots.png b/homedecor_exterior/textures/homedecor_shrubbery_roots.png similarity index 100% rename from homedecor/textures/homedecor_shrubbery_roots.png rename to homedecor_exterior/textures/homedecor_shrubbery_roots.png diff --git a/homedecor/textures/homedecor_shrubbery_yellow.png b/homedecor_exterior/textures/homedecor_shrubbery_yellow.png similarity index 100% rename from homedecor/textures/homedecor_shrubbery_yellow.png rename to homedecor_exterior/textures/homedecor_shrubbery_yellow.png diff --git a/homedecor/textures/homedecor_shrubbery_yellow_bottom.png b/homedecor_exterior/textures/homedecor_shrubbery_yellow_bottom.png similarity index 100% rename from homedecor/textures/homedecor_shrubbery_yellow_bottom.png rename to homedecor_exterior/textures/homedecor_shrubbery_yellow_bottom.png diff --git a/homedecor/textures/homedecor_stonepath_inv.png b/homedecor_exterior/textures/homedecor_stonepath_inv.png similarity index 100% rename from homedecor/textures/homedecor_stonepath_inv.png rename to homedecor_exterior/textures/homedecor_stonepath_inv.png diff --git a/homedecor/textures/homedecor_swing_inv.png b/homedecor_exterior/textures/homedecor_swing_inv.png similarity index 100% rename from homedecor/textures/homedecor_swing_inv.png rename to homedecor_exterior/textures/homedecor_swing_inv.png diff --git a/homedecor/textures/homedecor_swing_top.png b/homedecor_exterior/textures/homedecor_swing_top.png similarity index 100% rename from homedecor/textures/homedecor_swing_top.png rename to homedecor_exterior/textures/homedecor_swing_top.png diff --git a/homedecor/textures/homedecor_swingrope_sides.png b/homedecor_exterior/textures/homedecor_swingrope_sides.png similarity index 100% rename from homedecor/textures/homedecor_swingrope_sides.png rename to homedecor_exterior/textures/homedecor_swingrope_sides.png diff --git a/homedecor/textures/homedecor_well_inv.png b/homedecor_exterior/textures/homedecor_well_inv.png similarity index 100% rename from homedecor/textures/homedecor_well_inv.png rename to homedecor_exterior/textures/homedecor_well_inv.png diff --git a/homedecor_fences/depends.txt b/homedecor_fences/depends.txt new file mode 100644 index 00000000..8505ec7c --- /dev/null +++ b/homedecor_fences/depends.txt @@ -0,0 +1,5 @@ +homedecor_common +default +basic_materials +dye +signs_lib? diff --git a/homedecor/fences.lua b/homedecor_fences/init.lua similarity index 71% rename from homedecor/fences.lua rename to homedecor_fences/init.lua index 3affefe2..94badf60 100644 --- a/homedecor/fences.lua +++ b/homedecor_fences/init.lua @@ -14,7 +14,7 @@ if signs_modpath then sign_post_model = signs_lib.sign_post_model.nodebox end -local S = homedecor_i18n.gettext +local S = homedecor.gettext local materials = { { S("brass"), "brass" }, @@ -307,3 +307,183 @@ if signs_modpath then signs_lib.register_fence_with_sign("homedecor:fence_brass", "homedecor:fence_brass_with_sign") signs_lib.register_fence_with_sign("homedecor:fence_wrought_iron", "homedecor:fence_wrought_iron_with_sign") end + +-- crafting + +-- Brass/wrought iron fences + +minetest.register_craft( { + output = "homedecor:fence_brass 6", + recipe = { + { "basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot" }, + { "basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:fence_wrought_iron 6", + recipe = { + { "default:iron_lump","default:iron_lump","default:iron_lump" }, + { "default:iron_lump","default:iron_lump","default:iron_lump" }, + }, +}) + +-- other types of fences + +minetest.register_craft( { + output = "homedecor:fence_wrought_iron_2 4", + recipe = { + { "homedecor:pole_wrought_iron", "default:iron_lump" }, + { "homedecor:pole_wrought_iron", "default:iron_lump" }, + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_wrought_iron_2_corner", + recipe = { + "homedecor:fence_wrought_iron_2", + "homedecor:fence_wrought_iron_2" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_wrought_iron_2 2", + recipe = { + "homedecor:fence_wrought_iron_2_corner", + }, +}) + +-- + +minetest.register_craft( { + output = "homedecor:fence_picket 6", + recipe = { + { "group:stick", "group:stick", "group:stick" }, + { "group:stick", "", "group:stick" }, + { "group:stick", "group:stick", "group:stick" } + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_picket_corner", + recipe = { + "homedecor:fence_picket", + "homedecor:fence_picket" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_picket 2", + recipe = { + "homedecor:fence_picket_corner" + }, +}) + +-- + + +minetest.register_craft( { + output = "homedecor:fence_picket_white 6", + recipe = { + { "group:stick", "group:stick", "group:stick" }, + { "group:stick", "dye:white", "group:stick" }, + { "group:stick", "group:stick", "group:stick" } + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_picket_corner_white", + recipe = { + "homedecor:fence_picket_white", + "homedecor:fence_picket_white" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_picket_white 2", + recipe = { + "homedecor:fence_picket_corner_white" + }, +}) + +-- + + +minetest.register_craft( { + output = "homedecor:fence_privacy 6", + recipe = { + { "group:wood", "group:stick", "group:wood" }, + { "group:wood", "", "group:wood" }, + { "group:wood", "group:stick", "group:wood" } + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_privacy_corner", + recipe = { + "homedecor:fence_privacy", + "homedecor:fence_privacy" + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_privacy 2", + recipe = { + "homedecor:fence_privacy_corner" + }, +}) + +-- + + +minetest.register_craft( { + output = "homedecor:fence_barbed_wire 6", + recipe = { + { "group:stick", "basic_materials:steel_wire", "group:stick" }, + { "group:stick", "", "group:stick" }, + { "group:stick", "basic_materials:steel_wire", "group:stick" } + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_barbed_wire_corner", + recipe = { "homedecor:fence_barbed_wire", "homedecor:fence_barbed_wire" }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_barbed_wire 2", + recipe = { "homedecor:fence_barbed_wire_corner" }, +}) + +-- + +minetest.register_craft( { + output = "homedecor:fence_chainlink 9", + recipe = { + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, + { "basic_materials:steel_wire", "basic_materials:steel_wire", "default:steel_ingot" }, + { "basic_materials:steel_wire", "basic_materials:steel_wire", "default:steel_ingot" } + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_chainlink_corner", + recipe = { "homedecor:fence_chainlink", "homedecor:fence_chainlink" }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:fence_chainlink 2", + recipe = { "homedecor:fence_chainlink_corner" }, +}) diff --git a/homedecor/models/homedecor_fence_barbed_wire.obj b/homedecor_fences/models/homedecor_fence_barbed_wire.obj similarity index 100% rename from homedecor/models/homedecor_fence_barbed_wire.obj rename to homedecor_fences/models/homedecor_fence_barbed_wire.obj diff --git a/homedecor/models/homedecor_fence_barbed_wire_corner.obj b/homedecor_fences/models/homedecor_fence_barbed_wire_corner.obj similarity index 100% rename from homedecor/models/homedecor_fence_barbed_wire_corner.obj rename to homedecor_fences/models/homedecor_fence_barbed_wire_corner.obj diff --git a/homedecor/models/homedecor_fence_chainlink.obj b/homedecor_fences/models/homedecor_fence_chainlink.obj similarity index 100% rename from homedecor/models/homedecor_fence_chainlink.obj rename to homedecor_fences/models/homedecor_fence_chainlink.obj diff --git a/homedecor/models/homedecor_fence_chainlink_corner.obj b/homedecor_fences/models/homedecor_fence_chainlink_corner.obj similarity index 100% rename from homedecor/models/homedecor_fence_chainlink_corner.obj rename to homedecor_fences/models/homedecor_fence_chainlink_corner.obj diff --git a/homedecor/textures/homedecor_fence_barbed_wire.png b/homedecor_fences/textures/homedecor_fence_barbed_wire.png similarity index 100% rename from homedecor/textures/homedecor_fence_barbed_wire.png rename to homedecor_fences/textures/homedecor_fence_barbed_wire.png diff --git a/homedecor/textures/homedecor_fence_brass.png b/homedecor_fences/textures/homedecor_fence_brass.png similarity index 100% rename from homedecor/textures/homedecor_fence_brass.png rename to homedecor_fences/textures/homedecor_fence_brass.png diff --git a/homedecor/textures/homedecor_fence_chainlink_corner_front.png b/homedecor_fences/textures/homedecor_fence_chainlink_corner_front.png similarity index 100% rename from homedecor/textures/homedecor_fence_chainlink_corner_front.png rename to homedecor_fences/textures/homedecor_fence_chainlink_corner_front.png diff --git a/homedecor/textures/homedecor_fence_chainlink_corner_top.png b/homedecor_fences/textures/homedecor_fence_chainlink_corner_top.png similarity index 100% rename from homedecor/textures/homedecor_fence_chainlink_corner_top.png rename to homedecor_fences/textures/homedecor_fence_chainlink_corner_top.png diff --git a/homedecor/textures/homedecor_fence_chainlink_fb.png b/homedecor_fences/textures/homedecor_fence_chainlink_fb.png similarity index 100% rename from homedecor/textures/homedecor_fence_chainlink_fb.png rename to homedecor_fences/textures/homedecor_fence_chainlink_fb.png diff --git a/homedecor/textures/homedecor_fence_chainlink_sides.png b/homedecor_fences/textures/homedecor_fence_chainlink_sides.png similarity index 100% rename from homedecor/textures/homedecor_fence_chainlink_sides.png rename to homedecor_fences/textures/homedecor_fence_chainlink_sides.png diff --git a/homedecor/textures/homedecor_fence_chainlink_tb.png b/homedecor_fences/textures/homedecor_fence_chainlink_tb.png similarity index 100% rename from homedecor/textures/homedecor_fence_chainlink_tb.png rename to homedecor_fences/textures/homedecor_fence_chainlink_tb.png diff --git a/homedecor/textures/homedecor_fence_corner_wrought_iron_2_sides.png b/homedecor_fences/textures/homedecor_fence_corner_wrought_iron_2_sides.png similarity index 100% rename from homedecor/textures/homedecor_fence_corner_wrought_iron_2_sides.png rename to homedecor_fences/textures/homedecor_fence_corner_wrought_iron_2_sides.png diff --git a/homedecor/textures/homedecor_fence_corner_wrought_iron_2_tb.png b/homedecor_fences/textures/homedecor_fence_corner_wrought_iron_2_tb.png similarity index 100% rename from homedecor/textures/homedecor_fence_corner_wrought_iron_2_tb.png rename to homedecor_fences/textures/homedecor_fence_corner_wrought_iron_2_tb.png diff --git a/homedecor/textures/homedecor_fence_picket.png b/homedecor_fences/textures/homedecor_fence_picket.png similarity index 100% rename from homedecor/textures/homedecor_fence_picket.png rename to homedecor_fences/textures/homedecor_fence_picket.png diff --git a/homedecor/textures/homedecor_fence_picket_backside.png b/homedecor_fences/textures/homedecor_fence_picket_backside.png similarity index 100% rename from homedecor/textures/homedecor_fence_picket_backside.png rename to homedecor_fences/textures/homedecor_fence_picket_backside.png diff --git a/homedecor/textures/homedecor_fence_picket_white.png b/homedecor_fences/textures/homedecor_fence_picket_white.png similarity index 100% rename from homedecor/textures/homedecor_fence_picket_white.png rename to homedecor_fences/textures/homedecor_fence_picket_white.png diff --git a/homedecor/textures/homedecor_fence_picket_white_backside.png b/homedecor_fences/textures/homedecor_fence_picket_white_backside.png similarity index 100% rename from homedecor/textures/homedecor_fence_picket_white_backside.png rename to homedecor_fences/textures/homedecor_fence_picket_white_backside.png diff --git a/homedecor/textures/homedecor_fence_privacy_backside.png b/homedecor_fences/textures/homedecor_fence_privacy_backside.png similarity index 100% rename from homedecor/textures/homedecor_fence_privacy_backside.png rename to homedecor_fences/textures/homedecor_fence_privacy_backside.png diff --git a/homedecor/textures/homedecor_fence_privacy_backside2.png b/homedecor_fences/textures/homedecor_fence_privacy_backside2.png similarity index 100% rename from homedecor/textures/homedecor_fence_privacy_backside2.png rename to homedecor_fences/textures/homedecor_fence_privacy_backside2.png diff --git a/homedecor/textures/homedecor_fence_privacy_corner_front.png b/homedecor_fences/textures/homedecor_fence_privacy_corner_front.png similarity index 100% rename from homedecor/textures/homedecor_fence_privacy_corner_front.png rename to homedecor_fences/textures/homedecor_fence_privacy_corner_front.png diff --git a/homedecor/textures/homedecor_fence_privacy_corner_right.png b/homedecor_fences/textures/homedecor_fence_privacy_corner_right.png similarity index 100% rename from homedecor/textures/homedecor_fence_privacy_corner_right.png rename to homedecor_fences/textures/homedecor_fence_privacy_corner_right.png diff --git a/homedecor/textures/homedecor_fence_privacy_corner_tb.png b/homedecor_fences/textures/homedecor_fence_privacy_corner_tb.png similarity index 100% rename from homedecor/textures/homedecor_fence_privacy_corner_tb.png rename to homedecor_fences/textures/homedecor_fence_privacy_corner_tb.png diff --git a/homedecor/textures/homedecor_fence_privacy_front.png b/homedecor_fences/textures/homedecor_fence_privacy_front.png similarity index 100% rename from homedecor/textures/homedecor_fence_privacy_front.png rename to homedecor_fences/textures/homedecor_fence_privacy_front.png diff --git a/homedecor/textures/homedecor_fence_privacy_sides.png b/homedecor_fences/textures/homedecor_fence_privacy_sides.png similarity index 100% rename from homedecor/textures/homedecor_fence_privacy_sides.png rename to homedecor_fences/textures/homedecor_fence_privacy_sides.png diff --git a/homedecor/textures/homedecor_fence_privacy_tb.png b/homedecor_fences/textures/homedecor_fence_privacy_tb.png similarity index 100% rename from homedecor/textures/homedecor_fence_privacy_tb.png rename to homedecor_fences/textures/homedecor_fence_privacy_tb.png diff --git a/homedecor/textures/homedecor_fence_wrought_iron.png b/homedecor_fences/textures/homedecor_fence_wrought_iron.png similarity index 100% rename from homedecor/textures/homedecor_fence_wrought_iron.png rename to homedecor_fences/textures/homedecor_fence_wrought_iron.png diff --git a/homedecor/textures/homedecor_fence_wrought_iron_2_fb.png b/homedecor_fences/textures/homedecor_fence_wrought_iron_2_fb.png similarity index 100% rename from homedecor/textures/homedecor_fence_wrought_iron_2_fb.png rename to homedecor_fences/textures/homedecor_fence_wrought_iron_2_fb.png diff --git a/homedecor/textures/homedecor_fence_wrought_iron_2_sides.png b/homedecor_fences/textures/homedecor_fence_wrought_iron_2_sides.png similarity index 100% rename from homedecor/textures/homedecor_fence_wrought_iron_2_sides.png rename to homedecor_fences/textures/homedecor_fence_wrought_iron_2_sides.png diff --git a/homedecor/textures/homedecor_fence_wrought_iron_2_tb.png b/homedecor_fences/textures/homedecor_fence_wrought_iron_2_tb.png similarity index 100% rename from homedecor/textures/homedecor_fence_wrought_iron_2_tb.png rename to homedecor_fences/textures/homedecor_fence_wrought_iron_2_tb.png diff --git a/homedecor/textures/homedecor_sign_brass_post.png b/homedecor_fences/textures/homedecor_sign_brass_post.png similarity index 100% rename from homedecor/textures/homedecor_sign_brass_post.png rename to homedecor_fences/textures/homedecor_sign_brass_post.png diff --git a/homedecor/textures/homedecor_sign_brass_post_back.png b/homedecor_fences/textures/homedecor_sign_brass_post_back.png similarity index 100% rename from homedecor/textures/homedecor_sign_brass_post_back.png rename to homedecor_fences/textures/homedecor_sign_brass_post_back.png diff --git a/homedecor/textures/homedecor_sign_brass_post_bottom.png b/homedecor_fences/textures/homedecor_sign_brass_post_bottom.png similarity index 100% rename from homedecor/textures/homedecor_sign_brass_post_bottom.png rename to homedecor_fences/textures/homedecor_sign_brass_post_bottom.png diff --git a/homedecor/textures/homedecor_sign_brass_post_front.png b/homedecor_fences/textures/homedecor_sign_brass_post_front.png similarity index 100% rename from homedecor/textures/homedecor_sign_brass_post_front.png rename to homedecor_fences/textures/homedecor_sign_brass_post_front.png diff --git a/homedecor/textures/homedecor_sign_brass_post_side.png b/homedecor_fences/textures/homedecor_sign_brass_post_side.png similarity index 100% rename from homedecor/textures/homedecor_sign_brass_post_side.png rename to homedecor_fences/textures/homedecor_sign_brass_post_side.png diff --git a/homedecor/textures/homedecor_sign_brass_post_top.png b/homedecor_fences/textures/homedecor_sign_brass_post_top.png similarity index 100% rename from homedecor/textures/homedecor_sign_brass_post_top.png rename to homedecor_fences/textures/homedecor_sign_brass_post_top.png diff --git a/homedecor/textures/homedecor_sign_wrought_iron_post.png b/homedecor_fences/textures/homedecor_sign_wrought_iron_post.png similarity index 100% rename from homedecor/textures/homedecor_sign_wrought_iron_post.png rename to homedecor_fences/textures/homedecor_sign_wrought_iron_post.png diff --git a/homedecor/textures/homedecor_sign_wrought_iron_post_back.png b/homedecor_fences/textures/homedecor_sign_wrought_iron_post_back.png similarity index 100% rename from homedecor/textures/homedecor_sign_wrought_iron_post_back.png rename to homedecor_fences/textures/homedecor_sign_wrought_iron_post_back.png diff --git a/homedecor/textures/homedecor_sign_wrought_iron_post_bottom.png b/homedecor_fences/textures/homedecor_sign_wrought_iron_post_bottom.png similarity index 100% rename from homedecor/textures/homedecor_sign_wrought_iron_post_bottom.png rename to homedecor_fences/textures/homedecor_sign_wrought_iron_post_bottom.png diff --git a/homedecor/textures/homedecor_sign_wrought_iron_post_front.png b/homedecor_fences/textures/homedecor_sign_wrought_iron_post_front.png similarity index 100% rename from homedecor/textures/homedecor_sign_wrought_iron_post_front.png rename to homedecor_fences/textures/homedecor_sign_wrought_iron_post_front.png diff --git a/homedecor/textures/homedecor_sign_wrought_iron_post_side.png b/homedecor_fences/textures/homedecor_sign_wrought_iron_post_side.png similarity index 100% rename from homedecor/textures/homedecor_sign_wrought_iron_post_side.png rename to homedecor_fences/textures/homedecor_sign_wrought_iron_post_side.png diff --git a/homedecor/textures/homedecor_sign_wrought_iron_post_top.png b/homedecor_fences/textures/homedecor_sign_wrought_iron_post_top.png similarity index 100% rename from homedecor/textures/homedecor_sign_wrought_iron_post_top.png rename to homedecor_fences/textures/homedecor_sign_wrought_iron_post_top.png diff --git a/homedecor_foyer/depends.txt b/homedecor_foyer/depends.txt new file mode 100644 index 00000000..d0de51e9 --- /dev/null +++ b/homedecor_foyer/depends.txt @@ -0,0 +1,3 @@ +homedecor_common +default +dye diff --git a/homedecor/foyer.lua b/homedecor_foyer/init.lua similarity index 62% rename from homedecor/foyer.lua rename to homedecor_foyer/init.lua index c6fb401c..0b466f3c 100644 --- a/homedecor/foyer.lua +++ b/homedecor_foyer/init.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext homedecor.register("coatrack_wallmount", { tiles = { homedecor.plain_wood }, @@ -67,3 +67,55 @@ for _, mat in ipairs(mat_colors) do } }) end + +-- crafting + + +minetest.register_craft({ + output = "homedecor:welcome_mat_grey 2", + recipe = { + { "", "dye:black", "" }, + { "wool:grey", "wool:grey", "wool:grey" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:welcome_mat_brown 2", + recipe = { + { "", "dye:black", "" }, + { "wool:brown", "wool:brown", "wool:brown" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:welcome_mat_green 2", + recipe = { + { "", "dye:white", "" }, + { "wool:dark_green", "wool:dark_green", "wool:dark_green" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:welcome_mat_green 2", + recipe = { + { "", "dye:white", "" }, + { "dye:black", "dye:black", "dye:black" }, + { "wool:green", "wool:green", "wool:green" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:coat_tree", + recipe = { + { "group:stick", "group:stick", "group:stick" }, + { "", "group:stick", "" }, + { "", "group:wood", "" } + }, +}) + +minetest.register_craft( { + output = "homedecor:coatrack_wallmount", + recipe = { + { "group:stick", "homedecor:curtainrod_wood", "group:stick" }, + }, +}) diff --git a/homedecor/models/homedecor_coatrack.obj b/homedecor_foyer/models/homedecor_coatrack.obj similarity index 100% rename from homedecor/models/homedecor_coatrack.obj rename to homedecor_foyer/models/homedecor_coatrack.obj diff --git a/homedecor/textures/homedecor_coatrack_inv.png b/homedecor_foyer/textures/homedecor_coatrack_inv.png similarity index 100% rename from homedecor/textures/homedecor_coatrack_inv.png rename to homedecor_foyer/textures/homedecor_coatrack_inv.png diff --git a/homedecor/textures/homedecor_coatrack_wallmount_inv.png b/homedecor_foyer/textures/homedecor_coatrack_wallmount_inv.png similarity index 100% rename from homedecor/textures/homedecor_coatrack_wallmount_inv.png rename to homedecor_foyer/textures/homedecor_coatrack_wallmount_inv.png diff --git a/homedecor/textures/homedecor_welcome_mat_bottom.png b/homedecor_foyer/textures/homedecor_welcome_mat_bottom.png similarity index 100% rename from homedecor/textures/homedecor_welcome_mat_bottom.png rename to homedecor_foyer/textures/homedecor_welcome_mat_bottom.png diff --git a/homedecor/textures/homedecor_welcome_mat_brown.png b/homedecor_foyer/textures/homedecor_welcome_mat_brown.png similarity index 100% rename from homedecor/textures/homedecor_welcome_mat_brown.png rename to homedecor_foyer/textures/homedecor_welcome_mat_brown.png diff --git a/homedecor/textures/homedecor_welcome_mat_green.png b/homedecor_foyer/textures/homedecor_welcome_mat_green.png similarity index 100% rename from homedecor/textures/homedecor_welcome_mat_green.png rename to homedecor_foyer/textures/homedecor_welcome_mat_green.png diff --git a/homedecor/textures/homedecor_welcome_mat_grey.png b/homedecor_foyer/textures/homedecor_welcome_mat_grey.png similarity index 100% rename from homedecor/textures/homedecor_welcome_mat_grey.png rename to homedecor_foyer/textures/homedecor_welcome_mat_grey.png diff --git a/homedecor_furniture/depends.txt b/homedecor_furniture/depends.txt new file mode 100644 index 00000000..016b9c4a --- /dev/null +++ b/homedecor_furniture/depends.txt @@ -0,0 +1,7 @@ +homedecor_common +default +unifieddyes +wool +moreblocks? +technic? +bucket? diff --git a/homedecor/furniture.lua b/homedecor_furniture/init.lua similarity index 53% rename from homedecor/furniture.lua rename to homedecor_furniture/init.lua index 6c4526c8..108f28d2 100644 --- a/homedecor/furniture.lua +++ b/homedecor_furniture/init.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext local table_colors = { { "", S("Table"), homedecor.plain_wood }, @@ -34,15 +34,7 @@ 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 } - } + fixed = { -0.3125, -0.3125, -0.5, 0.3125, 0.3125, 0.5 }, } homedecor.register("kitchen_chair_wood", { @@ -83,9 +75,7 @@ homedecor.register("kitchen_chair_padded", { sounds = default.node_sound_wood_defaults(), after_place_node = function(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing) - unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) end, - after_dig_node = unifieddyes.after_dig_node, on_rotate = unifieddyes.fix_after_screwdriver_nsew, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) pos.y = pos.y+0 -- where do I put my ass ? @@ -94,6 +84,14 @@ homedecor.register("kitchen_chair_padded", { end }) +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("armchair", { description = S("Armchair"), mesh = "forniture_armchair.obj", @@ -110,9 +108,7 @@ homedecor.register("armchair", { node_box = ac_cbox, after_place_node = function(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing) - unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) end, - after_dig_node = unifieddyes.after_dig_node, on_rotate = unifieddyes.fix_after_screwdriver_nsew, }) @@ -140,7 +136,7 @@ minetest.register_node(":homedecor:openframe_bookshelf", { homedecor.register("wall_shelf", { description = S("Wall Shelf"), tiles = { - "homedecor_wood_table_large_edges.png", + "default_wood.png", }, groups = { snappy = 3 }, sounds = default.node_sound_wood_defaults(), @@ -153,6 +149,289 @@ homedecor.register("wall_shelf", { } }) +-- Crafts + + +minetest.register_craft({ + output = "homedecor:table", + recipe = { + { "default:wood","default:wood", "default:wood" }, + { "group:stick", "", "group:stick" }, + }, +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:table_mahogany", + recipe = { + "homedecor:table", + "dye:brown", + }, +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:table_mahogany", + recipe = { + "homedecor:table", + "unifieddyes:dark_orange", + }, +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:table_white", + recipe = { + "homedecor:table", + "dye:white", + }, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:table", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:table_mahogany", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:table_white", + burntime = 30, +}) + +minetest.register_craft({ + output = "homedecor:kitchen_chair_wood 2", + recipe = { + { "group:stick",""}, + { "group:wood","group:wood" }, + { "group:stick","group:stick" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:armchair 2", + recipe = { + { "wool:white",""}, + { "group:wood","group:wood" }, + { "wool:white","wool:white" }, + }, +}) + +unifieddyes.register_color_craft({ + output = "homedecor:armchair", + palette = "wallmounted", + type = "shapeless", + neutral_node = "homedecor:armchair", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:kitchen_chair_padded", + recipe = { + "homedecor:kitchen_chair_wood", + "wool:white", + }, +}) + +unifieddyes.register_color_craft({ + output = "homedecor:kitchen_chair_padded", + palette = "wallmounted", + type = "shapeless", + neutral_node = "homedecor:kitchen_chair_padded", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:kitchen_chair_wood", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:kitchen_chair_padded", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:armchair", + burntime = 30, +}) + +minetest.register_craft({ + output = "homedecor:standing_lamp_off", + recipe = { + {"homedecor:table_lamp_off"}, + {"group:stick"}, + {"group:stick"}, + }, +}) + +unifieddyes.register_color_craft({ + output = "homedecor:standing_lamp_off", + palette = "extended", + type = "shapeless", + neutral_node = "homedecor:standing_lamp_off", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:table_lamp_off", + burntime = 10, +}) + +minetest.register_craft({ + output = "homedecor:table_lamp_off", + recipe = { + { "wool:white", "default:torch", "wool:white"}, + { "", "group:stick", ""}, + { "", "stairs:slab_wood", "" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:table_lamp_off", + recipe = { + { "cottages:wool", "default:torch", "cottages:wool"}, + { "", "group:stick", ""}, + { "", "stairs:slab_wood", "" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:table_lamp_off", + recipe = { + { "wool:white", "default:torch", "wool:white"}, + { "", "group:stick", ""}, + { "", "moreblocks:slab_wood", "" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:table_lamp_off", + recipe = { + { "cottages:wool", "default:torch", "cottages:wool"}, + { "", "group:stick", ""}, + { "", "moreblocks:slab_wood", "" }, + }, +}) + +unifieddyes.register_color_craft({ + output = "homedecor:table_lamp_off", + palette = "extended", + type = "shapeless", + neutral_node = "homedecor:table_lamp_off", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +minetest.register_craft({ + output = "homedecor:toilet", + recipe = { + { "","","bucket:bucket_water"}, + { "group:marble","group:marble", "group:marble" }, + { "", "bucket:bucket_empty", "" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:sink", + recipe = { + { "group:marble","bucket:bucket_empty", "group:marble" }, + { "", "group:marble", "" } + }, +}) + +minetest.register_craft({ + output = "homedecor:taps", + recipe = { + { "default:steel_ingot","bucket:bucket_water", "default:steel_ingot" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:taps_brass", + recipe = { + { "technic:brass_ingot","bucket:bucket_water", "technic:brass_ingot" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:shower_tray", + recipe = { + { "group:marble","bucket:bucket_empty", "group:marble" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:shower_head", + recipe = { + {"default:steel_ingot", "bucket:bucket_water"}, + }, +}) + +minetest.register_craft({ + output = "homedecor:bathtub_clawfoot_brass_taps", + recipe = { + { "homedecor:taps_brass", "", "" }, + { "group:marble", "", "group:marble" }, + {"default:steel_ingot", "group:marble", "default:steel_ingot"}, + }, +}) + +minetest.register_craft({ + output = "homedecor:bathtub_clawfoot_chrome_taps", + recipe = { + { "homedecor:taps", "", "" }, + { "group:marble", "", "group:marble" }, + {"default:steel_ingot", "group:marble", "default:steel_ingot"}, + }, +}) + +minetest.register_craft({ + output = "homedecor:bars 6", + recipe = { + { "default:steel_ingot","default:steel_ingot","default:steel_ingot" }, + { "homedecor:pole_wrought_iron","homedecor:pole_wrought_iron","homedecor:pole_wrought_iron" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:L_binding_bars 3", + recipe = { + { "homedecor:bars","" }, + { "homedecor:bars","homedecor:bars" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:torch_wall 10", + recipe = { + { "default:coal_lump" }, + { "default:steel_ingot" }, + }, +}) + -- Aliases for 3dforniture mod. minetest.register_alias("3dforniture:table", "homedecor:table") @@ -193,7 +472,7 @@ end table.insert(homedecor.old_static_chairs, "homedecor:chair") minetest.register_lbm({ - name = "homedecor:convert_chairs", + name = ":homedecor:convert_chairs", label = "Convert homedecor chairs to use param2 color", run_at_every_load = false, nodenames = homedecor.old_static_chairs, diff --git a/homedecor/models/forniture_armchair.obj b/homedecor_furniture/models/forniture_armchair.obj similarity index 100% rename from homedecor/models/forniture_armchair.obj rename to homedecor_furniture/models/forniture_armchair.obj diff --git a/homedecor/models/homedecor_kitchen_chair.obj b/homedecor_furniture/models/homedecor_kitchen_chair.obj similarity index 100% rename from homedecor/models/homedecor_kitchen_chair.obj rename to homedecor_furniture/models/homedecor_kitchen_chair.obj diff --git a/homedecor/models/homedecor_openframe_bookshelf.obj b/homedecor_furniture/models/homedecor_openframe_bookshelf.obj similarity index 100% rename from homedecor/models/homedecor_openframe_bookshelf.obj rename to homedecor_furniture/models/homedecor_openframe_bookshelf.obj diff --git a/homedecor/textures/homedecor_armchair_inv.png b/homedecor_furniture/textures/homedecor_armchair_inv.png similarity index 100% rename from homedecor/textures/homedecor_armchair_inv.png rename to homedecor_furniture/textures/homedecor_armchair_inv.png diff --git a/homedecor/textures/homedecor_chair_padded_inv.png b/homedecor_furniture/textures/homedecor_chair_padded_inv.png similarity index 100% rename from homedecor/textures/homedecor_chair_padded_inv.png rename to homedecor_furniture/textures/homedecor_chair_padded_inv.png diff --git a/homedecor/textures/homedecor_chair_wood_inv.png b/homedecor_furniture/textures/homedecor_chair_wood_inv.png similarity index 100% rename from homedecor/textures/homedecor_chair_wood_inv.png rename to homedecor_furniture/textures/homedecor_chair_wood_inv.png diff --git a/homedecor/textures/homedecor_openframe_bookshelf_books.png b/homedecor_furniture/textures/homedecor_openframe_bookshelf_books.png similarity index 100% rename from homedecor/textures/homedecor_openframe_bookshelf_books.png rename to homedecor_furniture/textures/homedecor_openframe_bookshelf_books.png diff --git a/homedecor_furniture_medieval/depends.txt b/homedecor_furniture_medieval/depends.txt new file mode 100644 index 00000000..dccb7bc8 --- /dev/null +++ b/homedecor_furniture_medieval/depends.txt @@ -0,0 +1,3 @@ +homedecor_common +default +creative diff --git a/homedecor/furniture_medieval.lua b/homedecor_furniture_medieval/init.lua similarity index 99% rename from homedecor/furniture_medieval.lua rename to homedecor_furniture_medieval/init.lua index e0932a44..9fb9a9ef 100644 --- a/homedecor/furniture_medieval.lua +++ b/homedecor_furniture_medieval/init.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext homedecor.register("bars", { description = S("Bars"), diff --git a/homedecor/models/forniture_chains.obj b/homedecor_furniture_medieval/models/forniture_chains.obj similarity index 100% rename from homedecor/models/forniture_chains.obj rename to homedecor_furniture_medieval/models/forniture_chains.obj diff --git a/homedecor/models/forniture_torch.obj b/homedecor_furniture_medieval/models/forniture_torch.obj similarity index 100% rename from homedecor/models/forniture_torch.obj rename to homedecor_furniture_medieval/models/forniture_torch.obj diff --git a/homedecor/models/homedecor_wall_lamp.obj b/homedecor_furniture_medieval/models/homedecor_wall_lamp.obj similarity index 100% rename from homedecor/models/homedecor_wall_lamp.obj rename to homedecor_furniture_medieval/models/homedecor_wall_lamp.obj diff --git a/homedecor/textures/forniture_chains_inv.png b/homedecor_furniture_medieval/textures/forniture_chains_inv.png similarity index 100% rename from homedecor/textures/forniture_chains_inv.png rename to homedecor_furniture_medieval/textures/forniture_chains_inv.png diff --git a/homedecor/textures/forniture_coal.png b/homedecor_furniture_medieval/textures/forniture_coal.png similarity index 100% rename from homedecor/textures/forniture_coal.png rename to homedecor_furniture_medieval/textures/forniture_coal.png diff --git a/homedecor/textures/forniture_marble_top_toilet.png b/homedecor_furniture_medieval/textures/forniture_marble_top_toilet.png similarity index 100% rename from homedecor/textures/forniture_marble_top_toilet.png rename to homedecor_furniture_medieval/textures/forniture_marble_top_toilet.png diff --git a/homedecor/textures/forniture_torch_flame.png b/homedecor_furniture_medieval/textures/forniture_torch_flame.png similarity index 100% rename from homedecor/textures/forniture_torch_flame.png rename to homedecor_furniture_medieval/textures/forniture_torch_flame.png diff --git a/homedecor/textures/forniture_torch_inv.png b/homedecor_furniture_medieval/textures/forniture_torch_inv.png similarity index 100% rename from homedecor/textures/forniture_torch_inv.png rename to homedecor_furniture_medieval/textures/forniture_torch_inv.png diff --git a/homedecor/textures/homedecor_wall_lamp_inv.png b/homedecor_furniture_medieval/textures/homedecor_wall_lamp_inv.png similarity index 100% rename from homedecor/textures/homedecor_wall_lamp_inv.png rename to homedecor_furniture_medieval/textures/homedecor_wall_lamp_inv.png diff --git a/homedecor_gastronomy/depends.txt b/homedecor_gastronomy/depends.txt new file mode 100644 index 00000000..c378b98e --- /dev/null +++ b/homedecor_gastronomy/depends.txt @@ -0,0 +1,7 @@ +homedecor_common +default +basic_materials +dye +creative +currency? +bucket? diff --git a/homedecor/gastronomy.lua b/homedecor_gastronomy/init.lua similarity index 52% rename from homedecor/gastronomy.lua rename to homedecor_gastronomy/init.lua index d2617002..2d0a3996 100644 --- a/homedecor/gastronomy.lua +++ b/homedecor_gastronomy/init.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext local cutlery_cbox = { type = "fixed", @@ -104,22 +104,6 @@ homedecor.register("wine_rack", { sounds = default.node_sound_defaults(), }) -homedecor.register("dartboard", { - description = S("Dartboard"), - mesh = "homedecor_dartboard.obj", - tiles = { "homedecor_dartboard.png" }, - inventory_image = "homedecor_dartboard_inv.png", - wield_image = "homedecor_dartboard_inv.png", - paramtype2 = "wallmounted", - walkable = false, - selection_box = { - type = "wallmounted", - }, - groups = {choppy=2,dig_immediate=2,attached_node=1}, - legacy_wallmounted = true, - sounds = default.node_sound_wood_defaults(), -}) - homedecor.register("beer_tap", { description = S("Beer tap"), mesh = "homedecor_beer_taps.obj", @@ -219,7 +203,7 @@ homedecor.register("soda_machine", { local fdir_to_fwd = { {0, -1}, {-1, 0}, {0, 1}, {1, 0} } local fdir = node.param2 local pos_drop = { x=pos.x+fdir_to_fwd[fdir+1][1], y=pos.y, z=pos.z+fdir_to_fwd[fdir+1][2] } - if wieldname == "homedecor:coin" then + if wieldname == "currency:minegeld_cent_25" then minetest.spawn_item(pos_drop, "homedecor:soda_can") minetest.sound_play("insert_coin", { pos=pos, max_hear_distance = 5 @@ -234,3 +218,220 @@ homedecor.register("soda_machine", { end end }) + +minetest.register_alias("homedecor:coin", "currency:minegeld_cent_25") + +-- 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 +}) + +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" +}) + +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 +}) + +-- crafting + +minetest.register_craftitem(":homedecor:soda_can", { + description = S("Soda Can"), + inventory_image = "homedecor_soda_can.png", + on_use = minetest.item_eat(2), +}) + +minetest.register_craft( { + output = "homedecor:bottle_green", + recipe = { + { "vessels:glass_bottle", "dye:green" } + }, +}) + +minetest.register_craft( { + output = "homedecor:bottle_brown", + recipe = { + { "vessels:glass_bottle", "dye:brown" } + }, +}) + +minetest.register_craft({ + output = "homedecor:coffee_maker", + recipe = { + {"basic_materials:plastic_sheet", "bucket:bucket_water", "basic_materials:plastic_sheet"}, + {"basic_materials:plastic_sheet", "default:glass", "basic_materials:plastic_sheet"}, + {"basic_materials:plastic_sheet", "basic_materials:heating_element", "basic_materials:plastic_sheet"} + }, +}) + +minetest.register_craft({ + output = "homedecor:toaster", + recipe = { + { "default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot" }, + { "default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot" } + }, +}) + +minetest.register_craft({ + output = "homedecor:beer_tap", + recipe = { + { "group:stick","default:steel_ingot","group:stick" }, + { "homedecor:kitchen_faucet","default:steel_ingot","homedecor:kitchen_faucet" }, + { "default:steel_ingot","default:steel_ingot","default:steel_ingot" } + }, +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:4_bottles_brown", + recipe = { + "homedecor:bottle_brown", + "homedecor:bottle_brown", + "homedecor:bottle_brown", + "homedecor:bottle_brown" + }, +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:4_bottles_green", + recipe = { + "homedecor:bottle_green", + "homedecor:bottle_green", + "homedecor:bottle_green", + "homedecor:bottle_green" + }, +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:4_bottles_multi", + recipe = { + "homedecor:bottle_brown", + "homedecor:bottle_brown", + "homedecor:bottle_green", + "homedecor:bottle_green", + }, +}) + +minetest.register_craft({ + output = "homedecor:wine_rack", + recipe = { + { "homedecor:4_bottles_brown", "group:wood", "homedecor:4_bottles_brown" }, + { "homedecor:4_bottles_brown", "group:wood", "homedecor:4_bottles_brown" }, + { "homedecor:4_bottles_brown", "group:wood", "homedecor:4_bottles_brown" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:soda_machine", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "dye:red", "default:steel_ingot"}, + {"default:steel_ingot", "default:copperblock", "default:steel_ingot"}, + }, +}) diff --git a/homedecor/models/homedecor_4_bottles.obj b/homedecor_gastronomy/models/homedecor_4_bottles.obj similarity index 100% rename from homedecor/models/homedecor_4_bottles.obj rename to homedecor_gastronomy/models/homedecor_4_bottles.obj diff --git a/homedecor/models/homedecor_beer_mug.obj b/homedecor_gastronomy/models/homedecor_beer_mug.obj similarity index 100% rename from homedecor/models/homedecor_beer_mug.obj rename to homedecor_gastronomy/models/homedecor_beer_mug.obj diff --git a/homedecor/models/homedecor_beer_taps.obj b/homedecor_gastronomy/models/homedecor_beer_taps.obj similarity index 100% rename from homedecor/models/homedecor_beer_taps.obj rename to homedecor_gastronomy/models/homedecor_beer_taps.obj diff --git a/homedecor/models/homedecor_bottle.obj b/homedecor_gastronomy/models/homedecor_bottle.obj similarity index 100% rename from homedecor/models/homedecor_bottle.obj rename to homedecor_gastronomy/models/homedecor_bottle.obj diff --git a/homedecor/models/homedecor_coffeemaker.obj b/homedecor_gastronomy/models/homedecor_coffeemaker.obj similarity index 100% rename from homedecor/models/homedecor_coffeemaker.obj rename to homedecor_gastronomy/models/homedecor_coffeemaker.obj diff --git a/homedecor/models/homedecor_cutlery_set.obj b/homedecor_gastronomy/models/homedecor_cutlery_set.obj similarity index 100% rename from homedecor/models/homedecor_cutlery_set.obj rename to homedecor_gastronomy/models/homedecor_cutlery_set.obj diff --git a/homedecor/models/homedecor_soda_machine.obj b/homedecor_gastronomy/models/homedecor_soda_machine.obj similarity index 100% rename from homedecor/models/homedecor_soda_machine.obj rename to homedecor_gastronomy/models/homedecor_soda_machine.obj diff --git a/homedecor/models/homedecor_wine_rack.obj b/homedecor_gastronomy/models/homedecor_wine_rack.obj similarity index 100% rename from homedecor/models/homedecor_wine_rack.obj rename to homedecor_gastronomy/models/homedecor_wine_rack.obj diff --git a/homedecor/sounds/insert_coin.ogg b/homedecor_gastronomy/sounds/insert_coin.ogg similarity index 100% rename from homedecor/sounds/insert_coin.ogg rename to homedecor_gastronomy/sounds/insert_coin.ogg diff --git a/homedecor/sounds/toaster.ogg b/homedecor_gastronomy/sounds/toaster.ogg similarity index 100% rename from homedecor/sounds/toaster.ogg rename to homedecor_gastronomy/sounds/toaster.ogg diff --git a/homedecor/textures/homedecor_4_bottles_brown_inv.png b/homedecor_gastronomy/textures/homedecor_4_bottles_brown_inv.png similarity index 100% rename from homedecor/textures/homedecor_4_bottles_brown_inv.png rename to homedecor_gastronomy/textures/homedecor_4_bottles_brown_inv.png diff --git a/homedecor/textures/homedecor_4_bottles_green_inv.png b/homedecor_gastronomy/textures/homedecor_4_bottles_green_inv.png similarity index 100% rename from homedecor/textures/homedecor_4_bottles_green_inv.png rename to homedecor_gastronomy/textures/homedecor_4_bottles_green_inv.png diff --git a/homedecor/textures/homedecor_4_bottles_multi_inv.png b/homedecor_gastronomy/textures/homedecor_4_bottles_multi_inv.png similarity index 100% rename from homedecor/textures/homedecor_4_bottles_multi_inv.png rename to homedecor_gastronomy/textures/homedecor_4_bottles_multi_inv.png diff --git a/homedecor/textures/homedecor_beer_mug.png b/homedecor_gastronomy/textures/homedecor_beer_mug.png similarity index 100% rename from homedecor/textures/homedecor_beer_mug.png rename to homedecor_gastronomy/textures/homedecor_beer_mug.png diff --git a/homedecor/textures/homedecor_beer_mug_inv.png b/homedecor_gastronomy/textures/homedecor_beer_mug_inv.png similarity index 100% rename from homedecor/textures/homedecor_beer_mug_inv.png rename to homedecor_gastronomy/textures/homedecor_beer_mug_inv.png diff --git a/homedecor/textures/homedecor_beertap_inv.png b/homedecor_gastronomy/textures/homedecor_beertap_inv.png similarity index 100% rename from homedecor/textures/homedecor_beertap_inv.png rename to homedecor_gastronomy/textures/homedecor_beertap_inv.png diff --git a/homedecor/textures/homedecor_bottle_brown.png b/homedecor_gastronomy/textures/homedecor_bottle_brown.png similarity index 100% rename from homedecor/textures/homedecor_bottle_brown.png rename to homedecor_gastronomy/textures/homedecor_bottle_brown.png diff --git a/homedecor/textures/homedecor_bottle_brown2.png b/homedecor_gastronomy/textures/homedecor_bottle_brown2.png similarity index 100% rename from homedecor/textures/homedecor_bottle_brown2.png rename to homedecor_gastronomy/textures/homedecor_bottle_brown2.png diff --git a/homedecor/textures/homedecor_bottle_brown3.png b/homedecor_gastronomy/textures/homedecor_bottle_brown3.png similarity index 100% rename from homedecor/textures/homedecor_bottle_brown3.png rename to homedecor_gastronomy/textures/homedecor_bottle_brown3.png diff --git a/homedecor/textures/homedecor_bottle_brown4.png b/homedecor_gastronomy/textures/homedecor_bottle_brown4.png similarity index 100% rename from homedecor/textures/homedecor_bottle_brown4.png rename to homedecor_gastronomy/textures/homedecor_bottle_brown4.png diff --git a/homedecor/textures/homedecor_bottle_brown_inv.png b/homedecor_gastronomy/textures/homedecor_bottle_brown_inv.png similarity index 100% rename from homedecor/textures/homedecor_bottle_brown_inv.png rename to homedecor_gastronomy/textures/homedecor_bottle_brown_inv.png diff --git a/homedecor/textures/homedecor_bottle_green.png b/homedecor_gastronomy/textures/homedecor_bottle_green.png similarity index 100% rename from homedecor/textures/homedecor_bottle_green.png rename to homedecor_gastronomy/textures/homedecor_bottle_green.png diff --git a/homedecor/textures/homedecor_bottle_green_inv.png b/homedecor_gastronomy/textures/homedecor_bottle_green_inv.png similarity index 100% rename from homedecor/textures/homedecor_bottle_green_inv.png rename to homedecor_gastronomy/textures/homedecor_bottle_green_inv.png diff --git a/homedecor/textures/homedecor_coffeemaker_case.png b/homedecor_gastronomy/textures/homedecor_coffeemaker_case.png similarity index 100% rename from homedecor/textures/homedecor_coffeemaker_case.png rename to homedecor_gastronomy/textures/homedecor_coffeemaker_case.png diff --git a/homedecor/textures/homedecor_coffeemaker_cup.png b/homedecor_gastronomy/textures/homedecor_coffeemaker_cup.png similarity index 100% rename from homedecor/textures/homedecor_coffeemaker_cup.png rename to homedecor_gastronomy/textures/homedecor_coffeemaker_cup.png diff --git a/homedecor/textures/homedecor_coffeemaker_decanter.png b/homedecor_gastronomy/textures/homedecor_coffeemaker_decanter.png similarity index 100% rename from homedecor/textures/homedecor_coffeemaker_decanter.png rename to homedecor_gastronomy/textures/homedecor_coffeemaker_decanter.png diff --git a/homedecor/textures/homedecor_coffeemaker_inv.png b/homedecor_gastronomy/textures/homedecor_coffeemaker_inv.png similarity index 100% rename from homedecor/textures/homedecor_coffeemaker_inv.png rename to homedecor_gastronomy/textures/homedecor_coffeemaker_inv.png diff --git a/homedecor/textures/homedecor_cutlery_set.png b/homedecor_gastronomy/textures/homedecor_cutlery_set.png similarity index 100% rename from homedecor/textures/homedecor_cutlery_set.png rename to homedecor_gastronomy/textures/homedecor_cutlery_set.png diff --git a/homedecor/textures/homedecor_cutlery_set_inv.png b/homedecor_gastronomy/textures/homedecor_cutlery_set_inv.png similarity index 100% rename from homedecor/textures/homedecor_cutlery_set_inv.png rename to homedecor_gastronomy/textures/homedecor_cutlery_set_inv.png diff --git a/homedecor/textures/homedecor_soda_can.png b/homedecor_gastronomy/textures/homedecor_soda_can.png similarity index 100% rename from homedecor/textures/homedecor_soda_can.png rename to homedecor_gastronomy/textures/homedecor_soda_can.png diff --git a/homedecor/textures/homedecor_soda_machine.png b/homedecor_gastronomy/textures/homedecor_soda_machine.png similarity index 100% rename from homedecor/textures/homedecor_soda_machine.png rename to homedecor_gastronomy/textures/homedecor_soda_machine.png diff --git a/homedecor/textures/homedecor_steam.png b/homedecor_gastronomy/textures/homedecor_steam.png similarity index 100% rename from homedecor/textures/homedecor_steam.png rename to homedecor_gastronomy/textures/homedecor_steam.png diff --git a/homedecor/textures/homedecor_toaster_inv.png b/homedecor_gastronomy/textures/homedecor_toaster_inv.png similarity index 100% rename from homedecor/textures/homedecor_toaster_inv.png rename to homedecor_gastronomy/textures/homedecor_toaster_inv.png diff --git a/homedecor/textures/homedecor_toaster_sides.png b/homedecor_gastronomy/textures/homedecor_toaster_sides.png similarity index 100% rename from homedecor/textures/homedecor_toaster_sides.png rename to homedecor_gastronomy/textures/homedecor_toaster_sides.png diff --git a/homedecor/textures/homedecor_toaster_toploaf.png b/homedecor_gastronomy/textures/homedecor_toaster_toploaf.png similarity index 100% rename from homedecor/textures/homedecor_toaster_toploaf.png rename to homedecor_gastronomy/textures/homedecor_toaster_toploaf.png diff --git a/homedecor/textures/homedecor_wine_rack_inv.png b/homedecor_gastronomy/textures/homedecor_wine_rack_inv.png similarity index 100% rename from homedecor/textures/homedecor_wine_rack_inv.png rename to homedecor_gastronomy/textures/homedecor_wine_rack_inv.png diff --git a/homedecor_i18n/depends.txt b/homedecor_i18n/depends.txt deleted file mode 100644 index 77e8d97c..00000000 --- a/homedecor_i18n/depends.txt +++ /dev/null @@ -1 +0,0 @@ -intllib? diff --git a/homedecor_kitchen/depends.txt b/homedecor_kitchen/depends.txt new file mode 100644 index 00000000..d122ec02 --- /dev/null +++ b/homedecor_kitchen/depends.txt @@ -0,0 +1,8 @@ +homedecor_common +default +basic_materials +dye +moreblocks? +building_blocks? +technic? +bucket? diff --git a/homedecor_kitchen/init.lua b/homedecor_kitchen/init.lua new file mode 100644 index 00000000..56cc9c75 --- /dev/null +++ b/homedecor_kitchen/init.lua @@ -0,0 +1,550 @@ +-- This file supplies Kitchen stuff like refrigerators, sinks, etc. + +local S = homedecor.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 }, + }, + }, +}) + +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 + +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 } + }, +}) + +-- crafting + + +minetest.register_craft({ + output = "homedecor:oven_steel", + recipe = { + {"basic_materials:heating_element", "default:steel_ingot", "basic_materials:heating_element", }, + {"default:steel_ingot", "moreblocks:iron_glass", "default:steel_ingot", }, + {"default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot", }, + } +}) + +minetest.register_craft({ + output = "homedecor:oven_steel", + recipe = { + {"basic_materials:heating_element", "default:steel_ingot", "basic_materials:heating_element", }, + {"default:steel_ingot", "default:glass", "default:steel_ingot", }, + {"default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot", }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:oven", + recipe = { + "homedecor:oven_steel", + "dye:white", + "dye:white", + } +}) + +minetest.register_craft({ + output = "homedecor:microwave_oven 2", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot", }, + {"default:steel_ingot", "moreblocks:iron_glass", "basic_materials:ic", }, + {"default:steel_ingot", "default:copper_ingot", "basic_materials:energy_crystal_simple", }, + } +}) + +minetest.register_craft({ + output = "homedecor:microwave_oven 2", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot", }, + {"default:steel_ingot", "default:glass", "basic_materials:ic", }, + {"default:steel_ingot", "default:copper_ingot", "basic_materials:energy_crystal_simple", }, + } +}) + +minetest.register_craft({ + output = "homedecor:refrigerator_steel", + recipe = { + {"default:steel_ingot", "homedecor:glowlight_small_cube", "default:steel_ingot", }, + {"default:steel_ingot", "default:copperblock", "default:steel_ingot", }, + {"default:steel_ingot", "default:clay", "default:steel_ingot", }, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:refrigerator_white", + recipe = { + "homedecor:refrigerator_steel", + "dye:white", + "dye:white", + "dye:white", + } +}) + +minetest.register_craft({ + output = "homedecor:kitchen_cabinet", + recipe = { + {"group:wood", "group:stick", "group:wood", }, + {"group:wood", "group:stick", "group:wood", }, + {"group:wood", "group:stick", "group:wood", }, + } +}) + +minetest.register_craft({ + output = "homedecor:kitchen_cabinet_steel", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"", "homedecor:kitchen_cabinet", ""}, + } +}) + +minetest.register_craft({ + output = "homedecor:kitchen_cabinet_steel", + recipe = { + {"moreblocks:slab_steelblock_1"}, + { "homedecor:kitchen_cabinet" }, + } +}) + +minetest.register_craft({ + output = "homedecor:kitchen_cabinet_marble", + recipe = { + {"building_blocks:slab_marble"}, + {"homedecor:kitchen_cabinet"}, + } +}) + +minetest.register_craft({ + output = "homedecor:kitchen_cabinet_marble", + recipe = { + {"technic:slab_marble_1"}, + {"homedecor:kitchen_cabinet"}, + } +}) + +minetest.register_craft({ + output = "homedecor:kitchen_cabinet_granite", + recipe = { + {"technic:slab_granite_1"}, + {"homedecor:kitchen_cabinet"}, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:kitchen_cabinet_half 2", + recipe = { "homedecor:kitchen_cabinet" } +}) + +minetest.register_craft({ + output = "homedecor:kitchen_cabinet_with_sink", + recipe = { + {"group:wood", "default:steel_ingot", "group:wood", }, + {"group:wood", "default:steel_ingot", "group:wood", }, + {"group:wood", "group:stick", "group:wood", }, + } +}) + + +minetest.register_craft( { + output = "homedecor:dishwasher", + recipe = { + { "basic_materials:ic", "homedecor:fence_chainlink", "default:steel_ingot", }, + { "default:steel_ingot", "homedecor:shower_head", "basic_materials:motor" }, + { "default:steel_ingot", "basic_materials:heating_element", "bucket:bucket_water" } + }, +}) + +minetest.register_craft( { + output = "homedecor:dishwasher", + recipe = { + { "basic_materials:ic", "homedecor:fence_chainlink", "default:steel_ingot", }, + { "default:steel_ingot", "homedecor:shower_head", "basic_materials:motor" }, + { "default:steel_ingot", "basic_materials:heating_element", "bucket:bucket_water" } + }, +}) + +minetest.register_craft( { + output = "homedecor:dishwasher_wood", + recipe = { + { "stairs:slab_wood" }, + { "homedecor:dishwasher" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:dishwasher_wood", + recipe = { + { "moreblocks:slab_wood" }, + { "homedecor:dishwasher" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:dishwasher_wood", + recipe = { + { "moreblocks:slab_wood_1" }, + { "homedecor:dishwasher" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:dishwasher_steel", + recipe = { + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, + { "", "homedecor:dishwasher", "" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:dishwasher_steel", + recipe = { + { "moreblocks:slab_steelblock_1" }, + { "homedecor:dishwasher" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:dishwasher_marble", + recipe = { + { "building_blocks:slab_marble" }, + { "homedecor:dishwasher" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:dishwasher_marble", + recipe = { + { "technic:slab_marble_1" }, + { "homedecor:dishwasher" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:dishwasher_granite", + recipe = { + { "technic:slab_granite_1" }, + { "homedecor:dishwasher" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:kitchen_faucet", + recipe = { + { "", "default:steel_ingot" }, + { "default:steel_ingot", "" }, + { "homedecor:taps", "" } + }, +}) + +minetest.register_craft( { + output = "homedecor:cutlery_set", + recipe = { + { "", "vessels:drinking_glass", "" }, + { "basic_materials:steel_strip", "building_blocks:slab_marble", "basic_materials:steel_strip" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:cutlery_set", + recipe = { + { "", "vessels:drinking_glass", "" }, + { "basic_materials:steel_strip", "building_blocks:micro_marble_1", "basic_materials:steel_strip" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:copper_pans", + recipe = { + { "basic_materials:copper_strip","","basic_materials:copper_strip" }, + { "default:copper_ingot","","default:copper_ingot" }, + { "default:copper_ingot","","default:copper_ingot" } + }, +}) + +minetest.register_craft({ + output = "homedecor:paper_towel", + recipe = { + { "homedecor:toilet_paper", "homedecor:toilet_paper" } + }, +}) diff --git a/homedecor/models/homedecor_copper_pans.obj b/homedecor_kitchen/models/homedecor_copper_pans.obj similarity index 100% rename from homedecor/models/homedecor_copper_pans.obj rename to homedecor_kitchen/models/homedecor_copper_pans.obj diff --git a/homedecor/models/homedecor_kitchen_faucet.obj b/homedecor_kitchen/models/homedecor_kitchen_faucet.obj similarity index 100% rename from homedecor/models/homedecor_kitchen_faucet.obj rename to homedecor_kitchen/models/homedecor_kitchen_faucet.obj diff --git a/homedecor/models/homedecor_kitchen_sink.obj b/homedecor_kitchen/models/homedecor_kitchen_sink.obj similarity index 100% rename from homedecor/models/homedecor_kitchen_sink.obj rename to homedecor_kitchen/models/homedecor_kitchen_sink.obj diff --git a/homedecor/models/homedecor_paper_towel.obj b/homedecor_kitchen/models/homedecor_paper_towel.obj similarity index 100% rename from homedecor/models/homedecor_paper_towel.obj rename to homedecor_kitchen/models/homedecor_paper_towel.obj diff --git a/homedecor/models/homedecor_refrigerator.obj b/homedecor_kitchen/models/homedecor_refrigerator.obj similarity index 100% rename from homedecor/models/homedecor_refrigerator.obj rename to homedecor_kitchen/models/homedecor_refrigerator.obj diff --git a/homedecor/textures/homedecor_copper_pans_inv.png b/homedecor_kitchen/textures/homedecor_copper_pans_inv.png similarity index 100% rename from homedecor/textures/homedecor_copper_pans_inv.png rename to homedecor_kitchen/textures/homedecor_copper_pans_inv.png diff --git a/homedecor/textures/homedecor_dishwasher_back.png b/homedecor_kitchen/textures/homedecor_dishwasher_back.png similarity index 100% rename from homedecor/textures/homedecor_dishwasher_back.png rename to homedecor_kitchen/textures/homedecor_dishwasher_back.png diff --git a/homedecor/textures/homedecor_dishwasher_bottom.png b/homedecor_kitchen/textures/homedecor_dishwasher_bottom.png similarity index 100% rename from homedecor/textures/homedecor_dishwasher_bottom.png rename to homedecor_kitchen/textures/homedecor_dishwasher_bottom.png diff --git a/homedecor/textures/homedecor_dishwasher_front.png b/homedecor_kitchen/textures/homedecor_dishwasher_front.png similarity index 100% rename from homedecor/textures/homedecor_dishwasher_front.png rename to homedecor_kitchen/textures/homedecor_dishwasher_front.png diff --git a/homedecor/textures/homedecor_dishwasher_sides.png b/homedecor_kitchen/textures/homedecor_dishwasher_sides.png similarity index 100% rename from homedecor/textures/homedecor_dishwasher_sides.png rename to homedecor_kitchen/textures/homedecor_dishwasher_sides.png diff --git a/homedecor/textures/homedecor_dishwasher_top.png b/homedecor_kitchen/textures/homedecor_dishwasher_top.png similarity index 100% rename from homedecor/textures/homedecor_dishwasher_top.png rename to homedecor_kitchen/textures/homedecor_dishwasher_top.png diff --git a/homedecor/textures/homedecor_kitchen_cabinet_bevel.png b/homedecor_kitchen/textures/homedecor_kitchen_cabinet_bevel.png similarity index 100% rename from homedecor/textures/homedecor_kitchen_cabinet_bevel.png rename to homedecor_kitchen/textures/homedecor_kitchen_cabinet_bevel.png diff --git a/homedecor/textures/homedecor_kitchen_cabinet_front.png b/homedecor_kitchen/textures/homedecor_kitchen_cabinet_front.png similarity index 100% rename from homedecor/textures/homedecor_kitchen_cabinet_front.png rename to homedecor_kitchen/textures/homedecor_kitchen_cabinet_front.png diff --git a/homedecor/textures/homedecor_kitchen_cabinet_front_half.png b/homedecor_kitchen/textures/homedecor_kitchen_cabinet_front_half.png similarity index 100% rename from homedecor/textures/homedecor_kitchen_cabinet_front_half.png rename to homedecor_kitchen/textures/homedecor_kitchen_cabinet_front_half.png diff --git a/homedecor/textures/homedecor_kitchen_cabinet_top.png b/homedecor_kitchen/textures/homedecor_kitchen_cabinet_top.png similarity index 100% rename from homedecor/textures/homedecor_kitchen_cabinet_top.png rename to homedecor_kitchen/textures/homedecor_kitchen_cabinet_top.png diff --git a/homedecor/textures/homedecor_kitchen_cabinet_top_granite.png b/homedecor_kitchen/textures/homedecor_kitchen_cabinet_top_granite.png similarity index 100% rename from homedecor/textures/homedecor_kitchen_cabinet_top_granite.png rename to homedecor_kitchen/textures/homedecor_kitchen_cabinet_top_granite.png diff --git a/homedecor/textures/homedecor_kitchen_cabinet_top_marble.png b/homedecor_kitchen/textures/homedecor_kitchen_cabinet_top_marble.png similarity index 100% rename from homedecor/textures/homedecor_kitchen_cabinet_top_marble.png rename to homedecor_kitchen/textures/homedecor_kitchen_cabinet_top_marble.png diff --git a/homedecor/textures/homedecor_kitchen_cabinet_top_steel.png b/homedecor_kitchen/textures/homedecor_kitchen_cabinet_top_steel.png similarity index 100% rename from homedecor/textures/homedecor_kitchen_cabinet_top_steel.png rename to homedecor_kitchen/textures/homedecor_kitchen_cabinet_top_steel.png diff --git a/homedecor/textures/homedecor_kitchen_cabinet_top_wood.png b/homedecor_kitchen/textures/homedecor_kitchen_cabinet_top_wood.png similarity index 100% rename from homedecor/textures/homedecor_kitchen_cabinet_top_wood.png rename to homedecor_kitchen/textures/homedecor_kitchen_cabinet_top_wood.png diff --git a/homedecor/textures/homedecor_kitchen_faucet_inv.png b/homedecor_kitchen/textures/homedecor_kitchen_faucet_inv.png similarity index 100% rename from homedecor/textures/homedecor_kitchen_faucet_inv.png rename to homedecor_kitchen/textures/homedecor_kitchen_faucet_inv.png diff --git a/homedecor/textures/homedecor_kitchen_sink_top.png b/homedecor_kitchen/textures/homedecor_kitchen_sink_top.png similarity index 100% rename from homedecor/textures/homedecor_kitchen_sink_top.png rename to homedecor_kitchen/textures/homedecor_kitchen_sink_top.png diff --git a/homedecor/textures/homedecor_microwave_front.png b/homedecor_kitchen/textures/homedecor_microwave_front.png similarity index 100% rename from homedecor/textures/homedecor_microwave_front.png rename to homedecor_kitchen/textures/homedecor_microwave_front.png diff --git a/homedecor/textures/homedecor_microwave_front_active.png b/homedecor_kitchen/textures/homedecor_microwave_front_active.png similarity index 100% rename from homedecor/textures/homedecor_microwave_front_active.png rename to homedecor_kitchen/textures/homedecor_microwave_front_active.png diff --git a/homedecor/textures/homedecor_microwave_top.png b/homedecor_kitchen/textures/homedecor_microwave_top.png similarity index 100% rename from homedecor/textures/homedecor_microwave_top.png rename to homedecor_kitchen/textures/homedecor_microwave_top.png diff --git a/homedecor/textures/homedecor_oven_bottom.png b/homedecor_kitchen/textures/homedecor_oven_bottom.png similarity index 100% rename from homedecor/textures/homedecor_oven_bottom.png rename to homedecor_kitchen/textures/homedecor_oven_bottom.png diff --git a/homedecor/textures/homedecor_oven_front.png b/homedecor_kitchen/textures/homedecor_oven_front.png similarity index 100% rename from homedecor/textures/homedecor_oven_front.png rename to homedecor_kitchen/textures/homedecor_oven_front.png diff --git a/homedecor/textures/homedecor_oven_front_active.png b/homedecor_kitchen/textures/homedecor_oven_front_active.png similarity index 100% rename from homedecor/textures/homedecor_oven_front_active.png rename to homedecor_kitchen/textures/homedecor_oven_front_active.png diff --git a/homedecor/textures/homedecor_oven_side.png b/homedecor_kitchen/textures/homedecor_oven_side.png similarity index 100% rename from homedecor/textures/homedecor_oven_side.png rename to homedecor_kitchen/textures/homedecor_oven_side.png diff --git a/homedecor/textures/homedecor_oven_steel_bottom.png b/homedecor_kitchen/textures/homedecor_oven_steel_bottom.png similarity index 100% rename from homedecor/textures/homedecor_oven_steel_bottom.png rename to homedecor_kitchen/textures/homedecor_oven_steel_bottom.png diff --git a/homedecor/textures/homedecor_oven_steel_front.png b/homedecor_kitchen/textures/homedecor_oven_steel_front.png similarity index 100% rename from homedecor/textures/homedecor_oven_steel_front.png rename to homedecor_kitchen/textures/homedecor_oven_steel_front.png diff --git a/homedecor/textures/homedecor_oven_steel_front_active.png b/homedecor_kitchen/textures/homedecor_oven_steel_front_active.png similarity index 100% rename from homedecor/textures/homedecor_oven_steel_front_active.png rename to homedecor_kitchen/textures/homedecor_oven_steel_front_active.png diff --git a/homedecor/textures/homedecor_oven_steel_side.png b/homedecor_kitchen/textures/homedecor_oven_steel_side.png similarity index 100% rename from homedecor/textures/homedecor_oven_steel_side.png rename to homedecor_kitchen/textures/homedecor_oven_steel_side.png diff --git a/homedecor/textures/homedecor_oven_steel_top.png b/homedecor_kitchen/textures/homedecor_oven_steel_top.png similarity index 100% rename from homedecor/textures/homedecor_oven_steel_top.png rename to homedecor_kitchen/textures/homedecor_oven_steel_top.png diff --git a/homedecor/textures/homedecor_oven_top.png b/homedecor_kitchen/textures/homedecor_oven_top.png similarity index 100% rename from homedecor/textures/homedecor_oven_top.png rename to homedecor_kitchen/textures/homedecor_oven_top.png diff --git a/homedecor/textures/homedecor_paper_towel_inv.png b/homedecor_kitchen/textures/homedecor_paper_towel_inv.png similarity index 100% rename from homedecor/textures/homedecor_paper_towel_inv.png rename to homedecor_kitchen/textures/homedecor_paper_towel_inv.png diff --git a/homedecor/textures/homedecor_refrigerator_steel.png b/homedecor_kitchen/textures/homedecor_refrigerator_steel.png similarity index 100% rename from homedecor/textures/homedecor_refrigerator_steel.png rename to homedecor_kitchen/textures/homedecor_refrigerator_steel.png diff --git a/homedecor/textures/homedecor_refrigerator_steel_inv.png b/homedecor_kitchen/textures/homedecor_refrigerator_steel_inv.png similarity index 100% rename from homedecor/textures/homedecor_refrigerator_steel_inv.png rename to homedecor_kitchen/textures/homedecor_refrigerator_steel_inv.png diff --git a/homedecor/textures/homedecor_refrigerator_white.png b/homedecor_kitchen/textures/homedecor_refrigerator_white.png similarity index 100% rename from homedecor/textures/homedecor_refrigerator_white.png rename to homedecor_kitchen/textures/homedecor_refrigerator_white.png diff --git a/homedecor/textures/homedecor_refrigerator_white_inv.png b/homedecor_kitchen/textures/homedecor_refrigerator_white_inv.png similarity index 100% rename from homedecor/textures/homedecor_refrigerator_white_inv.png rename to homedecor_kitchen/textures/homedecor_refrigerator_white_inv.png diff --git a/homedecor_laundry/depends.txt b/homedecor_laundry/depends.txt new file mode 100644 index 00000000..4536f367 --- /dev/null +++ b/homedecor_laundry/depends.txt @@ -0,0 +1,4 @@ +homedecor_common +default +basic_materials +bucket? diff --git a/homedecor_laundry/init.lua b/homedecor_laundry/init.lua new file mode 100644 index 00000000..ee59c8c7 --- /dev/null +++ b/homedecor_laundry/init.lua @@ -0,0 +1,112 @@ +-- 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 +}) + +-- crafting + + +-- laundry stuff + +minetest.register_craft( { + output = "homedecor:washing_machine", + recipe = { + { "default:steel_ingot", "default:steel_ingot", "basic_materials:ic" }, + { "default:steel_ingot", "bucket:bucket_water", "default:steel_ingot" }, + { "default:steel_ingot", "basic_materials:motor", "default:steel_ingot" } + }, +}) + +minetest.register_craft( { + output = "homedecor:washing_machine", + recipe = { + { "default:steel_ingot", "default:steel_ingot", "basic_materials:ic" }, + { "default:steel_ingot", "bucket:bucket_water", "default:steel_ingot" }, + { "default:steel_ingot", "basic_materials:motor", "default:steel_ingot" } + }, +}) + +minetest.register_craft( { + output = "homedecor:dryer", + recipe = { + { "default:steel_ingot", "default:steel_ingot", "basic_materials:ic" }, + { "default:steel_ingot", "bucket:bucket_empty", "basic_materials:motor" }, + { "default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot" } + }, +}) + +minetest.register_craft( { + output = "homedecor:dryer", + recipe = { + { "default:steel_ingot", "default:steel_ingot", "basic_materials:ic" }, + { "default:steel_ingot", "bucket:bucket_empty", "basic_materials:motor" }, + { "default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot" } + }, +}) + +minetest.register_craft( { + output = "homedecor:ironing_board", + recipe = { + { "wool:grey", "wool:grey", "wool:grey"}, + { "", "default:steel_ingot", "" }, + { "default:steel_ingot", "", "default:steel_ingot" } + }, +}) + diff --git a/homedecor/models/homedecor_ironing_board.obj b/homedecor_laundry/models/homedecor_ironing_board.obj similarity index 100% rename from homedecor/models/homedecor_ironing_board.obj rename to homedecor_laundry/models/homedecor_ironing_board.obj diff --git a/homedecor/textures/homedecor_dryer_back.png b/homedecor_laundry/textures/homedecor_dryer_back.png similarity index 100% rename from homedecor/textures/homedecor_dryer_back.png rename to homedecor_laundry/textures/homedecor_dryer_back.png diff --git a/homedecor/textures/homedecor_dryer_bottom.png b/homedecor_laundry/textures/homedecor_dryer_bottom.png similarity index 100% rename from homedecor/textures/homedecor_dryer_bottom.png rename to homedecor_laundry/textures/homedecor_dryer_bottom.png diff --git a/homedecor/textures/homedecor_dryer_front.png b/homedecor_laundry/textures/homedecor_dryer_front.png similarity index 100% rename from homedecor/textures/homedecor_dryer_front.png rename to homedecor_laundry/textures/homedecor_dryer_front.png diff --git a/homedecor/textures/homedecor_dryer_sides.png b/homedecor_laundry/textures/homedecor_dryer_sides.png similarity index 100% rename from homedecor/textures/homedecor_dryer_sides.png rename to homedecor_laundry/textures/homedecor_dryer_sides.png diff --git a/homedecor/textures/homedecor_dryer_top.png b/homedecor_laundry/textures/homedecor_dryer_top.png similarity index 100% rename from homedecor/textures/homedecor_dryer_top.png rename to homedecor_laundry/textures/homedecor_dryer_top.png diff --git a/homedecor/textures/homedecor_washing_machine_back.png b/homedecor_laundry/textures/homedecor_washing_machine_back.png similarity index 100% rename from homedecor/textures/homedecor_washing_machine_back.png rename to homedecor_laundry/textures/homedecor_washing_machine_back.png diff --git a/homedecor/textures/homedecor_washing_machine_bottom.png b/homedecor_laundry/textures/homedecor_washing_machine_bottom.png similarity index 100% rename from homedecor/textures/homedecor_washing_machine_bottom.png rename to homedecor_laundry/textures/homedecor_washing_machine_bottom.png diff --git a/homedecor/textures/homedecor_washing_machine_front.png b/homedecor_laundry/textures/homedecor_washing_machine_front.png similarity index 100% rename from homedecor/textures/homedecor_washing_machine_front.png rename to homedecor_laundry/textures/homedecor_washing_machine_front.png diff --git a/homedecor/textures/homedecor_washing_machine_sides.png b/homedecor_laundry/textures/homedecor_washing_machine_sides.png similarity index 100% rename from homedecor/textures/homedecor_washing_machine_sides.png rename to homedecor_laundry/textures/homedecor_washing_machine_sides.png diff --git a/homedecor/textures/homedecor_washing_machine_top.png b/homedecor_laundry/textures/homedecor_washing_machine_top.png similarity index 100% rename from homedecor/textures/homedecor_washing_machine_top.png rename to homedecor_laundry/textures/homedecor_washing_machine_top.png diff --git a/homedecor_lighting/depends.txt b/homedecor_lighting/depends.txt new file mode 100644 index 00000000..67304af7 --- /dev/null +++ b/homedecor_lighting/depends.txt @@ -0,0 +1,8 @@ +homedecor_common +default +basic_materials +unifieddyes +creative +moreblocks? +building_blocks? +darkage? diff --git a/homedecor/lighting.lua b/homedecor_lighting/init.lua similarity index 63% rename from homedecor/lighting.lua rename to homedecor_lighting/init.lua index 0978f108..dcca5ab8 100644 --- a/homedecor/lighting.lua +++ b/homedecor_lighting/init.lua @@ -1,6 +1,6 @@ -- This file supplies glowlights -local S = homedecor_i18n.gettext +local S = homedecor.gettext local glowlight_nodebox = { half = homedecor.nodebox.slab_y(1/2), @@ -11,7 +11,7 @@ local glowlight_nodebox = { }, } -minetest.register_node("homedecor:glowlight_half", { +minetest.register_node(":homedecor:glowlight_half", { description = S("Thick Glowlight"), tiles = { "homedecor_glowlight_top.png", @@ -46,13 +46,10 @@ minetest.register_node("homedecor:glowlight_half", { sounds = default.node_sound_glass_defaults(), after_place_node = function(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing) - unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) end, - after_dig_node = unifieddyes.after_dig_node, - drop = "homedecor:glowlight_half" }) -minetest.register_node("homedecor:glowlight_quarter", { +minetest.register_node(":homedecor:glowlight_quarter", { description = S("Thin Glowlight"), tiles = { "homedecor_glowlight_top.png", @@ -87,13 +84,10 @@ minetest.register_node("homedecor:glowlight_quarter", { sounds = default.node_sound_glass_defaults(), after_place_node = function(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing) - unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) end, - after_dig_node = unifieddyes.after_dig_node, - drop = "homedecor:glowlight_quarter" }) -minetest.register_node("homedecor:glowlight_small_cube", { +minetest.register_node(":homedecor:glowlight_small_cube", { description = S("Small Glowlight Cube"), tiles = { "homedecor_glowlight_cube_tb.png", @@ -128,14 +122,11 @@ minetest.register_node("homedecor:glowlight_small_cube", { sounds = default.node_sound_glass_defaults(), after_place_node = function(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing) - unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) end, - after_dig_node = unifieddyes.after_dig_node, - drop = "homedecor:glowlight_small_cube" }) homedecor.register("plasma_lamp", { - description = S("Plasma Lamp"), + description = S("Plasma Lamp/Light"), drawtype = "mesh", mesh = "plasma_lamp.obj", tiles = { @@ -282,7 +273,7 @@ local ol_cbox = { } homedecor.register("oil_lamp", { - description = S("Oil lamp (hurricane)"), + description = S("Oil lamp/Light (hurricane)"), mesh = "homedecor_oil_lamp.obj", tiles = { "homedecor_generic_metal_brass.png", @@ -302,7 +293,7 @@ homedecor.register("oil_lamp", { }) homedecor.register("oil_lamp_tabletop", { - description = S("Oil Lamp (tabletop)"), + description = S("Oil Lamp/Light (tabletop)"), mesh = "homedecor_oil_lamp_tabletop.obj", tiles = {"homedecor_oil_lamp_tabletop.png"}, inventory_image = "homedecor_oil_lamp_tabletop_inv.png", @@ -321,7 +312,7 @@ local gl_cbox = { minetest.register_alias("homedecor:wall_lantern", "homedecor:ground_lantern") homedecor.register("ground_lantern", { - description = S("Ground Lantern"), + description = S("Ground Lantern/Light"), mesh = "homedecor_ground_lantern.obj", tiles = { "homedecor_light.png", "homedecor_generic_metal_wrought_iron.png" }, use_texture_alpha = true, @@ -339,7 +330,7 @@ local hl_cbox = { } homedecor.register("hanging_lantern", { - description = S("Hanging Lantern"), + description = S("Hanging Lantern/Light"), mesh = "homedecor_hanging_lantern.obj", tiles = { "homedecor_generic_metal_wrought_iron.png", "homedecor_light.png" }, use_texture_alpha = true, @@ -362,20 +353,27 @@ homedecor.register("ceiling_lantern", { tiles = { "homedecor_light.png", "homedecor_generic_metal_wrought_iron.png" }, use_texture_alpha = true, inventory_image = "homedecor_ceiling_lantern_inv.png", - description = S("Ceiling Lantern"), + description = S("Ceiling Lantern/Light"), 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(), -}) +local sm_light = default.LIGHT_MAX-2 + +if minetest.get_modpath("darkage") then + minetest.register_alias("homedecor:lattice_lantern_large", "darkage:lamp") + sm_light = default.LIGHT_MAX-5 +else + homedecor.register("lattice_lantern_large", { + description = S("Lattice lantern/Light (large)"), + tiles = { 'homedecor_lattice_lantern_large.png' }, + groups = { snappy = 3 }, + light_source = default.LIGHT_MAX, + sounds = default.node_sound_glass_defaults(), + }) +end homedecor.register("lattice_lantern_small", { description = S("Lattice lantern (small)"), @@ -393,7 +391,7 @@ homedecor.register("lattice_lantern_small", { fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 } }, groups = { snappy = 3 }, - light_source = default.LIGHT_MAX-1, + light_source = sm_light, sounds = default.node_sound_glass_defaults(), on_place = minetest.rotate_node }) @@ -440,7 +438,7 @@ local function reg_lamp(suffix, nxt, light, brightness) local wool_brighten = (light or 0) * 15 homedecor.register("table_lamp_"..suffix, { - description = S("Table Lamp"), + description = S("Table Lamp/Light"), mesh = "homedecor_table_lamp.obj", tiles = { "wool_grey.png^[colorize:#ffffff:"..wool_brighten, @@ -452,7 +450,6 @@ local function reg_lamp(suffix, nxt, light, brightness) paramtype = "light", paramtype2 = "color", palette = "unifieddyes_palette_extended.png", - place_param2 = 240, walkable = false, light_source = light, selection_box = tlamp_cbox, @@ -460,18 +457,21 @@ local function reg_lamp(suffix, nxt, light, brightness) groups = {cracky=2,oddly_breakable_by_hand=1, ud_param2_colorable = 1, not_in_creative_inventory=((light ~= nil) and 1) or nil, }, - drop = "homedecor:table_lamp_off", on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) node.name = "homedecor:table_lamp_"..repl[suffix] minetest.set_node(pos, node) end, on_construct = unifieddyes.on_construct, - after_place_node = unifieddyes.recolor_on_place, - after_dig_node = unifieddyes.after_dig_node + drop = { + items = { + {items = {"homedecor:table_lamp_off"}, inherit_color = true }, + } + } + }) homedecor.register("standing_lamp_"..suffix, { - description = S("Standing Lamp"), + description = S("Standing Lamp/Light"), mesh = "homedecor_standing_lamp.obj", tiles = { "wool_grey.png^[colorize:#ffffff:"..wool_brighten, @@ -483,7 +483,6 @@ local function reg_lamp(suffix, nxt, light, brightness) paramtype = "light", paramtype2 = "color", palette = "unifieddyes_palette_extended.png", - place_param2 = 240, walkable = false, light_source = light, groups = {cracky=2,oddly_breakable_by_hand=1, ud_param2_colorable = 1, @@ -498,9 +497,12 @@ local function reg_lamp(suffix, nxt, light, brightness) minetest.set_node(pos, node) end, on_construct = unifieddyes.on_construct, - after_place_node = unifieddyes.recolor_on_place, - after_dig_node = unifieddyes.after_dig_node, - expand = { top="air" }, + --expand = { top="air" }, + drop = { + items = { + {items = {"homedecor:standing_lamp_off"}, inherit_color = true }, + } + } }) -- for old maps that had the original 3dforniture mod @@ -521,7 +523,7 @@ local dlamp_cbox = { } homedecor.register("desk_lamp", { - description = S("Desk Lamp"), + description = S("Desk Lamp/Light"), mesh = "homedecor_desk_lamp.obj", tiles = { "homedecor_generic_metal.png", @@ -540,16 +542,14 @@ homedecor.register("desk_lamp", { drop = "homedecor:desk_lamp", after_place_node = function(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing) - unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) end, - after_dig_node = unifieddyes.after_dig_node, on_rotate = unifieddyes.fix_after_screwdriver_nsew }) -- "kitchen"/"dining room" ceiling lamp homedecor.register("ceiling_lamp", { - description = S("Ceiling Lamp"), + description = S("Ceiling Lamp/Light"), mesh = "homedecor_ceiling_lamp.obj", tiles = { "homedecor_generic_metal_brass.png", @@ -567,7 +567,7 @@ homedecor.register("ceiling_lamp", { }) homedecor.register("ceiling_lamp_off", { - description = S("Ceiling Lamp (off)"), + description = S("Ceiling Lamp/Light (off)"), mesh = "homedecor_ceiling_lamp.obj", tiles = { "homedecor_generic_metal_brass.png", @@ -604,7 +604,7 @@ for _, power in ipairs(lamp_power) do end minetest.register_lbm({ - name = "homedecor:convert_lighting", + 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, @@ -709,7 +709,7 @@ homedecor.old_static_desk_lamps = { } minetest.register_lbm({ - name = "homedecor:convert_desk_lamps", + 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, @@ -745,27 +745,456 @@ minetest.register_lbm({ end }) -minetest.register_lbm({ - name = "homedecor:recolor_lighting", - label = "Convert some kinds of lights to use UD extended palette", - run_at_every_load = false, - nodenames = { - "homedecor:table_lamp_off", - "homedecor:table_lamp_low", - "homedecor:table_lamp_med", - "homedecor:table_lamp_hi", - "homedecor:table_lamp_max", - "homedecor:standing_lamp_off", - "homedecor:standing_lamp_low", - "homedecor:standing_lamp_med", - "homedecor:standing_lamp_hi", - "homedecor:standing_lamp_max", - }, - action = function(pos, node) - local meta = minetest.get_meta(pos) - if meta:get_string("palette") ~= "ext" then - minetest.swap_node(pos, { name = node.name, param2 = unifieddyes.convert_classic_palette[node.param2] }) - meta:set_string("palette", "ext") - end - end +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(":homedecor:chain_steel_top", { + description = S("Hanging chain (ceiling mount, steel)"), + drawtype = "mesh", + mesh = "homedecor_chains_top.obj", + tiles = {"basic_materials_chain_steel.png"}, + walkable = false, + climbable = true, + sunlight_propagates = true, + paramtype = "light", + inventory_image = "basic_materials_chain_steel_inv.png", + groups = {cracky=3}, + selection_box = topchains_sbox, }) + +minetest.register_node(":homedecor:chain_brass_top", { + description = S("Hanging chain (ceiling mount, brass)"), + drawtype = "mesh", + mesh = "homedecor_chains_top.obj", + tiles = {"basic_materials_chain_brass.png"}, + walkable = false, + climbable = true, + sunlight_propagates = true, + paramtype = "light", + inventory_image = "basic_materials_chain_brass_inv.png", + groups = {cracky=3}, + selection_box = topchains_sbox, +}) + +minetest.register_node(":homedecor:chandelier_steel", { + description = S("Chandelier (steel)"), + paramtype = "light", + light_source = 12, + walkable = false, + climbable = true, + sunlight_propagates = true, + tiles = { + "basic_materials_chain_steel.png", + "homedecor_candle_flat.png", + { + name="homedecor_candle_flame.png", + animation={ + type="vertical_frames", + aspect_w=16, + aspect_h=16, + length=3.0 + } + } + }, + drawtype = "mesh", + mesh = "homedecor_chandelier.obj", + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node(":homedecor:chandelier_brass", { + description = S("Chandelier (brass)"), + paramtype = "light", + light_source = 12, + walkable = false, + climbable = true, + sunlight_propagates = true, + tiles = { + "basic_materials_chain_brass.png", + "homedecor_candle_flat.png", + { + name="homedecor_candle_flame.png", + animation={ + type="vertical_frames", + aspect_w=16, + aspect_h=16, + length=3.0 + } + } + }, + drawtype = "mesh", + mesh = "homedecor_chandelier.obj", + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + +-- crafting + +minetest.register_craft({ + output = 'homedecor:chain_steel_top', + recipe = { + {'default:steel_ingot'}, + {'basic_materials:chainlink_steel'}, + }, +}) + +minetest.register_craft({ + output = 'homedecor:chandelier_steel', + recipe = { + {'', 'basic_materials:chainlink_steel', ''}, + {'default:torch', 'basic_materials:chainlink_steel', 'default:torch'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + } +}) + +-- brass versions + +minetest.register_craft({ + output = 'homedecor:chain_brass_top', + recipe = { + {'basic_materials:brass_ingot'}, + {'basic_materials:chainlink_brass'}, + }, +}) + +minetest.register_craft({ + output = 'homedecor:chandelier_brass', + recipe = { + {'', 'basic_materials:chainlink_brass', ''}, + {'default:torch', 'basic_materials:chainlink_brass', 'default:torch'}, + {'basic_materials:brass_ingot', 'basic_materials:brass_ingot', 'basic_materials:brass_ingot'}, + } +}) + +-- candles + +minetest.register_craft({ + output = "homedecor:candle_thin 4", + recipe = { + {"farming:string" }, + {"basic_materials:paraffin" } + } +}) + +minetest.register_craft({ + output = "homedecor:candle 2", + recipe = { + {"farming:string" }, + {"basic_materials:paraffin" }, + {"basic_materials:paraffin" } + } +}) + +minetest.register_craft({ + output = "homedecor:wall_sconce 2", + recipe = { + {"default:iron_lump", "", ""}, + {"default:iron_lump", "homedecor:candle", ""}, + {"default:iron_lump", "", ""}, + } +}) + +minetest.register_craft({ + output = "homedecor:candlestick_wrought_iron", + recipe = { + {""}, + {"homedecor:candle_thin"}, + {"default:iron_lump"}, + } +}) + +minetest.register_craft({ + output = "homedecor:candlestick_brass", + recipe = { + {""}, + {"homedecor:candle_thin"}, + {"basic_materials:brass_ingot"}, + } +}) + +minetest.register_craft({ + output = "homedecor:oil_lamp", + recipe = { + { "", "vessels:glass_bottle", "" }, + { "", "farming:string", "" }, + { "default:steel_ingot", "basic_materials:oil_extract", "default:steel_ingot" } + } +}) + +minetest.register_craft({ + output = "homedecor:oil_lamp_tabletop", + recipe = { + { "", "vessels:glass_bottle", "" }, + { "", "farming:string", "" }, + { "default:iron_lump", "basic_materials:oil_extract", "default:iron_lump" } + } +}) + +-- Wrought-iron wall latern + +minetest.register_craft({ + output = "homedecor:ground_lantern", + recipe = { + { "default:iron_lump", "default:iron_lump", "default:iron_lump" }, + { "default:iron_lump", "default:torch", "default:iron_lump" }, + { "", "default:iron_lump", "" } + } +}) + +-- wood-lattice lamps + +if minetest.get_modpath("darkage") then + minetest.register_craft( { + output = "homedecor:lattice_lantern_small 8", + recipe = { + { "darkage:lamp" }, + }, + }) + + minetest.register_craft( { + output = "darkage:lamp", + type = "shapeless", + recipe = { + "homedecor:lattice_lantern_small", + "homedecor:lattice_lantern_small", + "homedecor:lattice_lantern_small", + "homedecor:lattice_lantern_small", + "homedecor:lattice_lantern_small", + "homedecor:lattice_lantern_small", + "homedecor:lattice_lantern_small", + "homedecor:lattice_lantern_small", + }, + }) +else + minetest.register_craft( { + output = "homedecor:lattice_lantern_large 2", + recipe = { + { "dye:black", "dye:yellow", "dye:black" }, + { "group:stick", "building_blocks:woodglass", "group:stick" }, + { "group:stick", "basic_materials:energy_crystal_simple", "group:stick" } + }, + }) + + minetest.register_craft( { + output = "homedecor:lattice_lantern_small 8", + recipe = { + { "homedecor:lattice_lantern_large" }, + }, + }) + + minetest.register_craft( { + output = "homedecor:lattice_lantern_large", + type = "shapeless", + recipe = { + "homedecor:lattice_lantern_small", + "homedecor:lattice_lantern_small", + "homedecor:lattice_lantern_small", + "homedecor:lattice_lantern_small", + "homedecor:lattice_lantern_small", + "homedecor:lattice_lantern_small", + "homedecor:lattice_lantern_small", + "homedecor:lattice_lantern_small", + }, + }) +end + +-- glowlights + +minetest.register_craft({ + output = "homedecor:glowlight_half 6", + recipe = { + { "default:glass", "basic_materials:energy_crystal_simple", "default:glass", }, + } +}) + +minetest.register_craft({ + output = "homedecor:glowlight_half 6", + recipe = { + {"moreblocks:super_glow_glass", "moreblocks:glow_glass", "moreblocks:super_glow_glass", }, + } +}) + +minetest.register_craft({ + output = "homedecor:glowlight_half", + recipe = { + {"homedecor:glowlight_small_cube","homedecor:glowlight_small_cube"}, + {"homedecor:glowlight_small_cube","homedecor:glowlight_small_cube"} + } +}) + +minetest.register_craft({ + output = "homedecor:glowlight_half", + type = "shapeless", + recipe = { + "homedecor:glowlight_quarter", + "homedecor:glowlight_quarter" + } +}) + +unifieddyes.register_color_craft({ + output = "homedecor:glowlight_half", + palette = "wallmounted", + type = "shapeless", + neutral_node = "homedecor:glowlight_half", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +minetest.register_craft({ + output = "homedecor:glowlight_quarter 6", + recipe = { + {"homedecor:glowlight_half", "homedecor:glowlight_half", "homedecor:glowlight_half", }, + } +}) + +unifieddyes.register_color_craft({ + output = "homedecor:glowlight_quarter", + palette = "wallmounted", + type = "shapeless", + neutral_node = "homedecor:glowlight_quarter", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +minetest.register_craft({ + output = "homedecor:glowlight_small_cube 8", + recipe = { + { "dye:white" }, + { "default:glass" }, + { "basic_materials:energy_crystal_simple" }, + } +}) + +minetest.register_craft({ + output = "homedecor:glowlight_small_cube 8", + recipe = { + {"dye:white" }, + {"moreblocks:super_glow_glass" }, + } +}) + +minetest.register_craft({ + output = "homedecor:glowlight_small_cube 4", + recipe = { + {"homedecor:glowlight_half" }, + } +}) + +unifieddyes.register_color_craft({ + output = "homedecor:glowlight_small_cube", + palette = "wallmounted", + type = "shapeless", + neutral_node = "homedecor:glowlight_small_cube", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +---- + +minetest.register_craft({ + output = "homedecor:plasma_lamp", + recipe = { + {"", "default:glass", ""}, + {"default:glass", "basic_materials:energy_crystal_simple", "default:glass"}, + {"", "default:glass", ""} + } +}) + +minetest.register_craft({ + output = "homedecor:plasma_ball 2", + recipe = { + {"", "default:glass", ""}, + {"default:glass", "default:copper_ingot", "default:glass"}, + {"basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet"} + } +}) + + +minetest.register_craft({ + output = "homedecor:desk_lamp 2", + recipe = { + { "", "default:steel_ingot", "homedecor:glowlight_small_cube" }, + { "", "basic_materials:steel_strip", "" }, + { "basic_materials:plastic_sheet", "basic_materials:copper_wire", "basic_materials:plastic_sheet" }, + }, +}) + +unifieddyes.register_color_craft({ + output = "homedecor:desk_lamp", + palette = "wallmounted", + type = "shapeless", + neutral_node = "homedecor:desk_lamp", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +minetest.register_craft({ + output = "homedecor:hanging_lantern 2", + recipe = { + { "default:iron_lump", "default:iron_lump", "" }, + { "default:iron_lump", "homedecor:lattice_lantern_large", "" }, + { "default:iron_lump", "", "" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:ceiling_lantern 2", + recipe = { + { "default:iron_lump", "default:iron_lump", "default:iron_lump" }, + { "default:iron_lump", "homedecor:lattice_lantern_large", "default:iron_lump" }, + { "", "default:iron_lump", "" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:wall_lamp 2", + recipe = { + { "", "homedecor:lattice_lantern_large", "" }, + { "default:iron_lump", "group:stick", "" }, + { "default:iron_lump", "group:stick", "" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:ceiling_lamp", + recipe = { + { "", "basic_materials:brass_ingot", ""}, + { "", "basic_materials:chainlink_brass", ""}, + { "default:glass", "homedecor:glowlight_small_cube", "default:glass"} + }, +}) + +minetest.register_craft({ + output = "homedecor:ceiling_lamp", + recipe = { + { "", "basic_materials:chain_steel_top_brass", ""}, + { "default:glass", "homedecor:glowlight_small_cube", "default:glass"} + }, +}) + +-- aliases + +minetest.register_alias("chains:chain_top", "homedecor:chain_steel_top") +minetest.register_alias("chains:chain_top_brass", "homedecor:chain_brass_top") + +minetest.register_alias("chains:chandelier_steel", "homedecor:chandelier_steel") +minetest.register_alias("chains:chandelier_brass", "homedecor:chandelier_brass") + diff --git a/homedecor/models/homedecor_candle_thick.obj b/homedecor_lighting/models/homedecor_candle_thick.obj similarity index 100% rename from homedecor/models/homedecor_candle_thick.obj rename to homedecor_lighting/models/homedecor_candle_thick.obj diff --git a/homedecor/models/homedecor_candle_thin.obj b/homedecor_lighting/models/homedecor_candle_thin.obj similarity index 100% rename from homedecor/models/homedecor_candle_thin.obj rename to homedecor_lighting/models/homedecor_candle_thin.obj diff --git a/homedecor/models/homedecor_candlestick.obj b/homedecor_lighting/models/homedecor_candlestick.obj similarity index 100% rename from homedecor/models/homedecor_candlestick.obj rename to homedecor_lighting/models/homedecor_candlestick.obj diff --git a/homedecor/models/homedecor_ceiling_lamp.obj b/homedecor_lighting/models/homedecor_ceiling_lamp.obj similarity index 100% rename from homedecor/models/homedecor_ceiling_lamp.obj rename to homedecor_lighting/models/homedecor_ceiling_lamp.obj diff --git a/homedecor/models/homedecor_ceiling_lantern.obj b/homedecor_lighting/models/homedecor_ceiling_lantern.obj similarity index 100% rename from homedecor/models/homedecor_ceiling_lantern.obj rename to homedecor_lighting/models/homedecor_ceiling_lantern.obj diff --git a/chains/models/top_chains.obj b/homedecor_lighting/models/homedecor_chains_top.obj similarity index 100% rename from chains/models/top_chains.obj rename to homedecor_lighting/models/homedecor_chains_top.obj diff --git a/chains/models/chains_chandelier.obj b/homedecor_lighting/models/homedecor_chandelier.obj similarity index 100% rename from chains/models/chains_chandelier.obj rename to homedecor_lighting/models/homedecor_chandelier.obj diff --git a/homedecor/models/homedecor_desk_lamp.obj b/homedecor_lighting/models/homedecor_desk_lamp.obj similarity index 100% rename from homedecor/models/homedecor_desk_lamp.obj rename to homedecor_lighting/models/homedecor_desk_lamp.obj diff --git a/homedecor/models/homedecor_ground_lantern.obj b/homedecor_lighting/models/homedecor_ground_lantern.obj similarity index 100% rename from homedecor/models/homedecor_ground_lantern.obj rename to homedecor_lighting/models/homedecor_ground_lantern.obj diff --git a/homedecor/models/homedecor_hanging_lantern.obj b/homedecor_lighting/models/homedecor_hanging_lantern.obj similarity index 100% rename from homedecor/models/homedecor_hanging_lantern.obj rename to homedecor_lighting/models/homedecor_hanging_lantern.obj diff --git a/homedecor/models/homedecor_oil_lamp.obj b/homedecor_lighting/models/homedecor_oil_lamp.obj similarity index 100% rename from homedecor/models/homedecor_oil_lamp.obj rename to homedecor_lighting/models/homedecor_oil_lamp.obj diff --git a/homedecor/models/homedecor_oil_lamp_tabletop.obj b/homedecor_lighting/models/homedecor_oil_lamp_tabletop.obj similarity index 100% rename from homedecor/models/homedecor_oil_lamp_tabletop.obj rename to homedecor_lighting/models/homedecor_oil_lamp_tabletop.obj diff --git a/homedecor/models/homedecor_plasma_ball.obj b/homedecor_lighting/models/homedecor_plasma_ball.obj similarity index 100% rename from homedecor/models/homedecor_plasma_ball.obj rename to homedecor_lighting/models/homedecor_plasma_ball.obj diff --git a/homedecor/models/homedecor_standing_lamp.obj b/homedecor_lighting/models/homedecor_standing_lamp.obj similarity index 100% rename from homedecor/models/homedecor_standing_lamp.obj rename to homedecor_lighting/models/homedecor_standing_lamp.obj diff --git a/homedecor/models/homedecor_table_lamp.obj b/homedecor_lighting/models/homedecor_table_lamp.obj similarity index 100% rename from homedecor/models/homedecor_table_lamp.obj rename to homedecor_lighting/models/homedecor_table_lamp.obj diff --git a/homedecor/models/homedecor_wall_sconce.obj b/homedecor_lighting/models/homedecor_wall_sconce.obj similarity index 100% rename from homedecor/models/homedecor_wall_sconce.obj rename to homedecor_lighting/models/homedecor_wall_sconce.obj diff --git a/homedecor/models/plasma_lamp.obj b/homedecor_lighting/models/plasma_lamp.obj similarity index 100% rename from homedecor/models/plasma_lamp.obj rename to homedecor_lighting/models/plasma_lamp.obj diff --git a/homedecor/textures/homedecor_candle_flame.png b/homedecor_lighting/textures/homedecor_candle_flame.png similarity index 100% rename from homedecor/textures/homedecor_candle_flame.png rename to homedecor_lighting/textures/homedecor_candle_flame.png diff --git a/chains/textures/chains_candle.png b/homedecor_lighting/textures/homedecor_candle_flat.png similarity index 100% rename from chains/textures/chains_candle.png rename to homedecor_lighting/textures/homedecor_candle_flat.png diff --git a/homedecor/textures/homedecor_candle_inv.png b/homedecor_lighting/textures/homedecor_candle_inv.png similarity index 100% rename from homedecor/textures/homedecor_candle_inv.png rename to homedecor_lighting/textures/homedecor_candle_inv.png diff --git a/homedecor/textures/homedecor_candle_sides.png b/homedecor_lighting/textures/homedecor_candle_sides.png similarity index 100% rename from homedecor/textures/homedecor_candle_sides.png rename to homedecor_lighting/textures/homedecor_candle_sides.png diff --git a/homedecor/textures/homedecor_candle_thin_inv.png b/homedecor_lighting/textures/homedecor_candle_thin_inv.png similarity index 100% rename from homedecor/textures/homedecor_candle_thin_inv.png rename to homedecor_lighting/textures/homedecor_candle_thin_inv.png diff --git a/homedecor/textures/homedecor_candlestick_brass_inv.png b/homedecor_lighting/textures/homedecor_candlestick_brass_inv.png similarity index 100% rename from homedecor/textures/homedecor_candlestick_brass_inv.png rename to homedecor_lighting/textures/homedecor_candlestick_brass_inv.png diff --git a/homedecor/textures/homedecor_candlestick_wrought_iron_inv.png b/homedecor_lighting/textures/homedecor_candlestick_wrought_iron_inv.png similarity index 100% rename from homedecor/textures/homedecor_candlestick_wrought_iron_inv.png rename to homedecor_lighting/textures/homedecor_candlestick_wrought_iron_inv.png diff --git a/homedecor/textures/homedecor_ceiling_lamp_glass.png b/homedecor_lighting/textures/homedecor_ceiling_lamp_glass.png similarity index 100% rename from homedecor/textures/homedecor_ceiling_lamp_glass.png rename to homedecor_lighting/textures/homedecor_ceiling_lamp_glass.png diff --git a/homedecor/textures/homedecor_ceiling_lamp_inv.png b/homedecor_lighting/textures/homedecor_ceiling_lamp_inv.png similarity index 100% rename from homedecor/textures/homedecor_ceiling_lamp_inv.png rename to homedecor_lighting/textures/homedecor_ceiling_lamp_inv.png diff --git a/homedecor/textures/homedecor_ceiling_lantern_inv.png b/homedecor_lighting/textures/homedecor_ceiling_lantern_inv.png similarity index 100% rename from homedecor/textures/homedecor_ceiling_lantern_inv.png rename to homedecor_lighting/textures/homedecor_ceiling_lantern_inv.png diff --git a/homedecor/textures/homedecor_desk_lamp_inv.png b/homedecor_lighting/textures/homedecor_desk_lamp_inv.png similarity index 100% rename from homedecor/textures/homedecor_desk_lamp_inv.png rename to homedecor_lighting/textures/homedecor_desk_lamp_inv.png diff --git a/homedecor/textures/homedecor_glowlight_bottom.png b/homedecor_lighting/textures/homedecor_glowlight_bottom.png similarity index 100% rename from homedecor/textures/homedecor_glowlight_bottom.png rename to homedecor_lighting/textures/homedecor_glowlight_bottom.png diff --git a/homedecor/textures/homedecor_glowlight_cube_sides.png b/homedecor_lighting/textures/homedecor_glowlight_cube_sides.png similarity index 100% rename from homedecor/textures/homedecor_glowlight_cube_sides.png rename to homedecor_lighting/textures/homedecor_glowlight_cube_sides.png diff --git a/homedecor/textures/homedecor_glowlight_cube_sides_overlay.png b/homedecor_lighting/textures/homedecor_glowlight_cube_sides_overlay.png similarity index 100% rename from homedecor/textures/homedecor_glowlight_cube_sides_overlay.png rename to homedecor_lighting/textures/homedecor_glowlight_cube_sides_overlay.png diff --git a/homedecor/textures/homedecor_glowlight_cube_tb.png b/homedecor_lighting/textures/homedecor_glowlight_cube_tb.png similarity index 100% rename from homedecor/textures/homedecor_glowlight_cube_tb.png rename to homedecor_lighting/textures/homedecor_glowlight_cube_tb.png diff --git a/homedecor/textures/homedecor_glowlight_cube_tb_overlay.png b/homedecor_lighting/textures/homedecor_glowlight_cube_tb_overlay.png similarity index 100% rename from homedecor/textures/homedecor_glowlight_cube_tb_overlay.png rename to homedecor_lighting/textures/homedecor_glowlight_cube_tb_overlay.png diff --git a/homedecor/textures/homedecor_glowlight_thick_sides.png b/homedecor_lighting/textures/homedecor_glowlight_thick_sides.png similarity index 100% rename from homedecor/textures/homedecor_glowlight_thick_sides.png rename to homedecor_lighting/textures/homedecor_glowlight_thick_sides.png diff --git a/homedecor/textures/homedecor_glowlight_thick_sides_overlay.png b/homedecor_lighting/textures/homedecor_glowlight_thick_sides_overlay.png similarity index 100% rename from homedecor/textures/homedecor_glowlight_thick_sides_overlay.png rename to homedecor_lighting/textures/homedecor_glowlight_thick_sides_overlay.png diff --git a/homedecor/textures/homedecor_glowlight_thin_sides.png b/homedecor_lighting/textures/homedecor_glowlight_thin_sides.png similarity index 100% rename from homedecor/textures/homedecor_glowlight_thin_sides.png rename to homedecor_lighting/textures/homedecor_glowlight_thin_sides.png diff --git a/homedecor/textures/homedecor_glowlight_thin_sides_overlay.png b/homedecor_lighting/textures/homedecor_glowlight_thin_sides_overlay.png similarity index 100% rename from homedecor/textures/homedecor_glowlight_thin_sides_overlay.png rename to homedecor_lighting/textures/homedecor_glowlight_thin_sides_overlay.png diff --git a/homedecor/textures/homedecor_glowlight_top.png b/homedecor_lighting/textures/homedecor_glowlight_top.png similarity index 100% rename from homedecor/textures/homedecor_glowlight_top.png rename to homedecor_lighting/textures/homedecor_glowlight_top.png diff --git a/homedecor/textures/homedecor_glowlight_top_overlay.png b/homedecor_lighting/textures/homedecor_glowlight_top_overlay.png similarity index 100% rename from homedecor/textures/homedecor_glowlight_top_overlay.png rename to homedecor_lighting/textures/homedecor_glowlight_top_overlay.png diff --git a/homedecor/textures/homedecor_ground_lantern_inv.png b/homedecor_lighting/textures/homedecor_ground_lantern_inv.png similarity index 100% rename from homedecor/textures/homedecor_ground_lantern_inv.png rename to homedecor_lighting/textures/homedecor_ground_lantern_inv.png diff --git a/homedecor/textures/homedecor_hanging_lantern_inv.png b/homedecor_lighting/textures/homedecor_hanging_lantern_inv.png similarity index 100% rename from homedecor/textures/homedecor_hanging_lantern_inv.png rename to homedecor_lighting/textures/homedecor_hanging_lantern_inv.png diff --git a/homedecor/textures/homedecor_lattice_lantern_large.png b/homedecor_lighting/textures/homedecor_lattice_lantern_large.png similarity index 100% rename from homedecor/textures/homedecor_lattice_lantern_large.png rename to homedecor_lighting/textures/homedecor_lattice_lantern_large.png diff --git a/homedecor/textures/homedecor_lattice_lantern_small_sides.png b/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides.png similarity index 100% rename from homedecor/textures/homedecor_lattice_lantern_small_sides.png rename to homedecor_lighting/textures/homedecor_lattice_lantern_small_sides.png diff --git a/homedecor/textures/homedecor_lattice_lantern_small_tb.png b/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb.png similarity index 100% rename from homedecor/textures/homedecor_lattice_lantern_small_tb.png rename to homedecor_lighting/textures/homedecor_lattice_lantern_small_tb.png diff --git a/homedecor/textures/homedecor_oil_lamp_glass.png b/homedecor_lighting/textures/homedecor_oil_lamp_glass.png similarity index 100% rename from homedecor/textures/homedecor_oil_lamp_glass.png rename to homedecor_lighting/textures/homedecor_oil_lamp_glass.png diff --git a/homedecor/textures/homedecor_oil_lamp_inv.png b/homedecor_lighting/textures/homedecor_oil_lamp_inv.png similarity index 100% rename from homedecor/textures/homedecor_oil_lamp_inv.png rename to homedecor_lighting/textures/homedecor_oil_lamp_inv.png diff --git a/homedecor/textures/homedecor_oil_lamp_tabletop.png b/homedecor_lighting/textures/homedecor_oil_lamp_tabletop.png similarity index 100% rename from homedecor/textures/homedecor_oil_lamp_tabletop.png rename to homedecor_lighting/textures/homedecor_oil_lamp_tabletop.png diff --git a/homedecor/textures/homedecor_oil_lamp_tabletop_inv.png b/homedecor_lighting/textures/homedecor_oil_lamp_tabletop_inv.png similarity index 100% rename from homedecor/textures/homedecor_oil_lamp_tabletop_inv.png rename to homedecor_lighting/textures/homedecor_oil_lamp_tabletop_inv.png diff --git a/homedecor/textures/homedecor_oil_lamp_wick.png b/homedecor_lighting/textures/homedecor_oil_lamp_wick.png similarity index 100% rename from homedecor/textures/homedecor_oil_lamp_wick.png rename to homedecor_lighting/textures/homedecor_oil_lamp_wick.png diff --git a/homedecor/textures/homedecor_plasma_ball_glass.png b/homedecor_lighting/textures/homedecor_plasma_ball_glass.png similarity index 100% rename from homedecor/textures/homedecor_plasma_ball_glass.png rename to homedecor_lighting/textures/homedecor_plasma_ball_glass.png diff --git a/homedecor/textures/homedecor_plasma_ball_inv.png b/homedecor_lighting/textures/homedecor_plasma_ball_inv.png similarity index 100% rename from homedecor/textures/homedecor_plasma_ball_inv.png rename to homedecor_lighting/textures/homedecor_plasma_ball_inv.png diff --git a/homedecor/textures/homedecor_plasma_ball_streamers.png b/homedecor_lighting/textures/homedecor_plasma_ball_streamers.png similarity index 100% rename from homedecor/textures/homedecor_plasma_ball_streamers.png rename to homedecor_lighting/textures/homedecor_plasma_ball_streamers.png diff --git a/homedecor/textures/homedecor_plasma_storm.png b/homedecor_lighting/textures/homedecor_plasma_storm.png similarity index 100% rename from homedecor/textures/homedecor_plasma_storm.png rename to homedecor_lighting/textures/homedecor_plasma_storm.png diff --git a/homedecor/textures/homedecor_standing_lamp_foot_inv.png b/homedecor_lighting/textures/homedecor_standing_lamp_foot_inv.png similarity index 100% rename from homedecor/textures/homedecor_standing_lamp_foot_inv.png rename to homedecor_lighting/textures/homedecor_standing_lamp_foot_inv.png diff --git a/homedecor/textures/homedecor_standing_lamp_top_inv.png b/homedecor_lighting/textures/homedecor_standing_lamp_top_inv.png similarity index 100% rename from homedecor/textures/homedecor_standing_lamp_top_inv.png rename to homedecor_lighting/textures/homedecor_standing_lamp_top_inv.png diff --git a/homedecor/textures/homedecor_table_lamp_foot_inv.png b/homedecor_lighting/textures/homedecor_table_lamp_foot_inv.png similarity index 100% rename from homedecor/textures/homedecor_table_lamp_foot_inv.png rename to homedecor_lighting/textures/homedecor_table_lamp_foot_inv.png diff --git a/homedecor/textures/homedecor_table_lamp_top_inv.png b/homedecor_lighting/textures/homedecor_table_lamp_top_inv.png similarity index 100% rename from homedecor/textures/homedecor_table_lamp_top_inv.png rename to homedecor_lighting/textures/homedecor_table_lamp_top_inv.png diff --git a/homedecor/textures/homedecor_table_standing_lamp_lightbulb.png b/homedecor_lighting/textures/homedecor_table_standing_lamp_lightbulb.png similarity index 100% rename from homedecor/textures/homedecor_table_standing_lamp_lightbulb.png rename to homedecor_lighting/textures/homedecor_table_standing_lamp_lightbulb.png diff --git a/homedecor/textures/homedecor_wall_sconce_back.png b/homedecor_lighting/textures/homedecor_wall_sconce_back.png similarity index 100% rename from homedecor/textures/homedecor_wall_sconce_back.png rename to homedecor_lighting/textures/homedecor_wall_sconce_back.png diff --git a/homedecor/textures/homedecor_wall_sconce_inv.png b/homedecor_lighting/textures/homedecor_wall_sconce_inv.png similarity index 100% rename from homedecor/textures/homedecor_wall_sconce_inv.png rename to homedecor_lighting/textures/homedecor_wall_sconce_inv.png diff --git a/homedecor_misc/depends.txt b/homedecor_misc/depends.txt new file mode 100644 index 00000000..92ae6dc6 --- /dev/null +++ b/homedecor_misc/depends.txt @@ -0,0 +1,7 @@ +homedecor_common +default +basic_materials +unifieddyes +building_blocks? +technic? +bucket? diff --git a/homedecor/misc-nodes.lua b/homedecor_misc/init.lua similarity index 56% rename from homedecor/misc-nodes.lua rename to homedecor_misc/init.lua index 72830d59..afeee27e 100644 --- a/homedecor/misc-nodes.lua +++ b/homedecor_misc/init.lua @@ -1,7 +1,13 @@ +-- Home Decor mod by VanessaE +-- +-- Mostly my own code, with bits and pieces lifted from Minetest's default +-- lua files and from ironzorg's flowers mod. Many thanks to GloopMaster +-- for helping me figure out the inventories used in the nightstands/dressers. +-- +-- The code for ovens, nightstands, refrigerators are basically modified +-- copies of the code for chests and furnaces. -local S = homedecor_i18n.gettext - -local function N_(x) return x end +local S = homedecor.gettext homedecor.register("ceiling_paint", { description = S("Textured Ceiling Paint"), @@ -28,9 +34,9 @@ homedecor.register("ceiling_tile", { }) local rug_types = { - { N_("small"), "homedecor_small_rug.obj" }, - { N_("large"), homedecor.box.slab_y(0.0625) }, - { N_("persian"), homedecor.box.slab_y(0.0625) }, + { "small", "homedecor_small_rug.obj" }, + { "large", homedecor.box.slab_y(0.0625) }, + { "persian", homedecor.box.slab_y(0.0625) }, } for _, rt in ipairs(rug_types) do @@ -66,7 +72,7 @@ for _, rt in ipairs(rug_types) do }) end -local pot_colors = { N_("black"), N_("green"), N_("terracotta") } +local pot_colors = { "black", "green", "terracotta" } for _, p in ipairs(pot_colors) do homedecor.register("flower_pot_"..p, { @@ -388,53 +394,6 @@ homedecor.register("tool_cabinet", { minetest.register_alias("homedecor:tool_cabinet_bottom", "homedecor:tool_cabinet") minetest.register_alias("homedecor:tool_cabinet_top", "air") -local pframe_cbox = { - type = "fixed", - fixed = { -0.18, -0.5, -0.08, 0.18, -0.08, 0.18 } -} -local n = { 1, 2 } - -for _, i in ipairs(n) do - homedecor.register("picture_frame"..i, { - description = S("Picture Frame "..i), - mesh = "homedecor_picture_frame.obj", - tiles = { - "homedecor_picture_frame_image"..i..".png", - homedecor.lux_wood, - "homedecor_picture_frame_back.png", - }, - inventory_image = "homedecor_picture_frame"..i.."_inv.png", - wield_image = "homedecor_picture_frame"..i.."_inv.png", - groups = {snappy = 3}, - selection_box = pframe_cbox, - walkable = false, - sounds = default.node_sound_glass_defaults() - }) -end - -local p_cbox = { - type = "fixed", - fixed = { - { -0.5, -0.5, 0.4375, 0.5, 0.5, 0.5 } - } -} - -for i = 1,20 do - homedecor.register("painting_"..i, { - description = S("Decorative painting #@1", i), - mesh = "homedecor_painting.obj", - tiles = { - "default_wood.png", - "homedecor_blank_canvas.png", - "homedecor_painting"..i..".png" - }, - selection_box = p_cbox, - walkable = false, - groups = {snappy=3}, - sounds = default.node_sound_wood_defaults(), - }) -end - homedecor.banister_materials = { { "wood", S("wood"), @@ -483,23 +442,19 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do local name, matdesc, tile1, tile2 = unpack(mat) local nodename = "banister_"..name.."_"..side - local groups = { snappy = 3, not_in_creative_inventory = 1 } local cbox = { type = "fixed", fixed = { -9/16, -3/16, 5/16, 9/16, 24/16, 8/16 } } if side == "horizontal" then - groups = { snappy = 3 } cbox = { type = "fixed", fixed = { -8/16, -8/16, 5/16, 8/16, 8/16, 8/16 } } - else - minetest.register_alias(string.gsub("homedecor:"..nodename, "diagonal_", ""), "homedecor:"..nodename) end - homedecor.register(nodename, { + local def = { description = S("Banister for Stairs (@1, @2)", matdesc, sidedesc), mesh = "homedecor_banister_"..side..".obj", tiles = { @@ -507,12 +462,37 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do tile2, }, inventory_image = "homedecor_banister_"..name.."_inv.png", - groups = groups, selection_box = cbox, collision_box = cbox, + groups = { snappy = 3}, on_place = homedecor.place_banister, drop = "homedecor:banister_"..name.."_horizontal", - }) + } + + if side ~= "horizontal" then + def.groups.not_in_creative_inventory = 1 + end + + if name == "wood" then + def.palette = "unifieddyes_palette_greys.png" + def.airbrush_replacement_node = "homedecor:banister_wood_"..side.."_grey" + def.groups.ud_param2_colorable = 1 + def.paramtype2 = "colorfacedir" + end + homedecor.register(nodename, def) + + if name == "wood" then + local nn = "homedecor:"..nodename + local def2 = table.copy(minetest.registered_items[nn]) + def2.tiles = { + homedecor.white_wood, + homedecor.white_wood + } + def2.inventory_image = "homedecor_banister_wood_colored_inv.png" + def2.groups.not_in_creative_inventory = 1 + + unifieddyes.generate_split_palette_nodes(nn, def2, "homedecor:banister_"..name.."_horizontal") + end end end @@ -606,3 +586,416 @@ minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack end end end) + +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("dartboard", { + description = S("Dartboard"), + mesh = "homedecor_dartboard.obj", + tiles = { "homedecor_dartboard.png" }, + inventory_image = "homedecor_dartboard_inv.png", + wield_image = "homedecor_dartboard_inv.png", + paramtype2 = "wallmounted", + walkable = false, + selection_box = { + type = "wallmounted", + }, + groups = {choppy=2,dig_immediate=2,attached_node=1}, + legacy_wallmounted = true, + sounds = default.node_sound_wood_defaults(), +}) + +-- crafting + +-- Crafting for homedecor mod (includes folding) by Vanessa Ezekowitz +-- +-- Mostly my own code; overall template borrowed from game default + +local S = homedecor.gettext + +minetest.register_craft( { + output = "homedecor:flower_pot_terracotta", + recipe = { + { "homedecor:roof_tile_terracotta", "default:dirt", "homedecor:roof_tile_terracotta" }, + { "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:flower_pot_green", + recipe = { + { "", "dye:dark_green", "" }, + { "basic_materials:plastic_sheet", "default:dirt", "basic_materials:plastic_sheet" }, + { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:flower_pot_black", + recipe = { + { "dye:black", "dye:black", "dye:black" }, + { "basic_materials:plastic_sheet", "default:dirt", "basic_materials:plastic_sheet" }, + { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:ceiling_paint 20", + recipe = { + "dye:white", + "dye:white", + "default:sand", + "bucket:bucket_water", + }, + replacements = { { "bucket:bucket_water","bucket:bucket_empty" } } +}) + +minetest.register_craft( { + output = "homedecor:ceiling_tile 10", + recipe = { + { "", "dye:white", "" }, + { "default:steel_ingot", "default:stone", "default:steel_ingot" }, + + }, +}) + +minetest.register_craft( { + output = "homedecor:drawer_small", + recipe = { + { "group:wood", "default:steel_ingot", "group:wood" }, + }, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:drawer_small", + burntime = 30, +}) + +-- vertical poles/lampposts + +minetest.register_craft( { + output = "homedecor:pole_brass 4", + recipe = { + { "", "basic_materials:brass_ingot", "" }, + { "", "basic_materials:brass_ingot", "" }, + { "", "basic_materials:brass_ingot", "" } + }, +}) + +minetest.register_craft( { + output = "homedecor:pole_wrought_iron 4", + recipe = { + { "default:iron_lump", }, + { "default:iron_lump", }, + { "default:iron_lump", }, + }, +}) + +-- =========================================================== +-- Recipes that require materials from wool (cotton alternate) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:rug_small 8", + recipe = { + "wool:red", + "wool:yellow", + "wool:blue", + "wool:black" + }, +}) + +minetest.register_craft( { + output = "homedecor:rug_persian 8", + recipe = { + { "", "wool:yellow", "" }, + { "wool:red", "wool:blue", "wool:red" }, + { "", "wool:yellow", "" } + }, +}) + +-- cotton versions: + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:rug_small 8", + recipe = { + "cotton:red", + "cotton:yellow", + "cotton:blue", + "cotton:black" + }, +}) + +minetest.register_craft( { + output = "homedecor:rug_persian 8", + recipe = { + { "", "cotton:yellow", "" }, + { "cotton:red", "cotton:blue", "cotton:red" }, + { "", "cotton:yellow", "" } + }, +}) + +-- fuel recipes for same + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:rug_small", + burntime = 30, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:rug_large 2", + recipe = { + "homedecor:rug_small", + "homedecor:rug_small", + }, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:rug_large", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:rug_persian", + burntime = 30, +}) + +-- more misc stuff here + +minetest.register_craft({ + output = "homedecor:fishtank", + recipe = { + { "basic_materials:plastic_sheet", "homedecor:glowlight_small_cube", "basic_materials:plastic_sheet" }, + { "default:glass", "bucket:bucket_water", "default:glass" }, + { "default:glass", "building_blocks:gravel_spread", "default:glass" }, + }, + replacements = { {"bucket:bucket_water", "bucket:bucket_empty"} } +}) + +minetest.register_craft({ + output = "homedecor:cardboard_box 2", + recipe = { + { "default:paper", "", "default:paper" }, + { "default:paper", "default:paper", "default:paper" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:cardboard_box_big 2", + recipe = { + { "default:paper", "", "default:paper" }, + { "default:paper", "", "default:paper" }, + { "default:paper", "default:paper", "default:paper" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:openframe_bookshelf", + recipe = { + {"group:wood", "", "group:wood"}, + {"default:book", "default:book", "default:book"}, + {"group:wood", "", "group:wood"}, + }, +}) + +-- japanese walls and mat + +minetest.register_craft( { + output = "homedecor:japanese_wall_top", + recipe = { + {"group:stick", "default:paper"}, + {"default:paper", "group:stick"}, + {"group:stick", "default:paper"} + }, +}) + +minetest.register_craft( { + output = "homedecor:japanese_wall_top", + recipe = { + {"default:paper", "group:stick"}, + {"group:stick", "default:paper"}, + {"default:paper", "group:stick"} + }, +}) + +minetest.register_craft( { + output = "homedecor:japanese_wall_middle", + recipe = { + {"homedecor:japanese_wall_top"} + }, +}) + +minetest.register_craft( { + output = "homedecor:japanese_wall_bottom", + recipe = { + {"homedecor:japanese_wall_middle"} + }, +}) + +minetest.register_craft( { + output = "homedecor:japanese_wall_top", + recipe = { + {"homedecor:japanese_wall_bottom"} + }, +}) + +minetest.register_craft( { + output = "homedecor:tatami_mat", + recipe = { + {"farming:wheat", "farming:wheat", "farming:wheat"} + }, +}) + +minetest.register_craft( { + output = "homedecor:pool_table", + recipe = { + { "wool:dark_green", "wool:dark_green", "wool:dark_green" }, + { "building_blocks:hardwood", "building_blocks:hardwood", "building_blocks:hardwood" }, + { "building_blocks:slab_hardwood", "", "building_blocks:slab_hardwood" } + }, +}) + +minetest.register_craft({ + output = "homedecor:dartboard", + recipe = { + {"dye:black", "basic_materials:plastic_sheet", "dye:white"}, + {"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet"}, + {"dye:dark_green", "basic_materials:plastic_sheet", "dye:red"} + }, +}) + +minetest.register_craft({ + output = "homedecor:piano", + recipe = { + { "", "basic_materials:steel_wire", "building_blocks:hardwood" }, + { "basic_materials:plastic_strip", "basic_materials:steel_wire", "building_blocks:hardwood" }, + { "basic_materials:brass_ingot", "default:steelblock", "building_blocks:hardwood" } + }, +}) + +minetest.register_craft({ + output = "homedecor:wall_shelf 2", + recipe = { + { "homedecor:wood_table_small_square", "homedecor:curtainrod_wood", "homedecor:curtainrod_wood" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:trophy 3", + recipe = { + { "default:gold_ingot","","default:gold_ingot" }, + { "","default:gold_ingot","" }, + { "group:wood","default:gold_ingot","group:wood" } + }, +}) + +minetest.register_craft({ + output = "homedecor:sportbench", + recipe = { + { "stairs:slab_steelblock","homedecor:pole_wrought_iron","stairs:slab_steelblock" }, + { "default:steel_ingot","wool:black","default:steel_ingot" }, + { "default:steel_ingot","wool:black","default:steel_ingot" } + }, +}) + +minetest.register_craft({ + output = "homedecor:skateboard", + recipe = { + { "dye:yellow","dye:green","dye:blue" }, + { "homedecor:wood_table_small_square","homedecor:wood_table_small_square","homedecor:wood_table_small_square" }, + { "default:steel_ingot","","default:steel_ingot" } + }, +}) + +minetest.register_craft({ + output = "homedecor:tool_cabinet", + recipe = { + { "basic_materials:motor", "default:axe_steel", "default:pick_steel" }, + { "default:steel_ingot", "homedecor:drawer_small", "default:steel_ingot" }, + { "default:steel_ingot", "homedecor:drawer_small", "default:steel_ingot" } + }, +}) + +minetest.register_craft({ + output = "homedecor:spiral_staircase", + recipe = { + { "default:steelblock", "homedecor:pole_wrought_iron", "" }, + { "", "homedecor:pole_wrought_iron", "default:steelblock" }, + { "default:steelblock", "homedecor:pole_wrought_iron", "" } + }, +}) + +minetest.register_craftitem(":homedecor:flower_pot_small", { + description = S("Small Flower Pot"), + inventory_image = "homedecor_flowerpot_small_inv.png" +}) + +minetest.register_craft( { + output = "homedecor:flower_pot_small", + recipe = { + { "default:clay_brick", "", "default:clay_brick" }, + { "", "default:clay_brick", "" } + } +}) + +minetest.register_craft( { + output = "homedecor:flower_pot_small 3", + recipe = { { "homedecor:flower_pot_terracotta" } } +}) + +for i in ipairs(homedecor.banister_materials) do + + local name = homedecor.banister_materials[i][1] + local topmat = homedecor.banister_materials[i][5] + local vertmat = homedecor.banister_materials[i][6] + local dye1 = homedecor.banister_materials[i][7] + local dye2 = homedecor.banister_materials[i][8] + + minetest.register_craft({ + output = "homedecor:banister_"..name.."_horizontal 2", + recipe = { + { topmat, "", dye1 }, + { vertmat, topmat, "" }, + { dye2, vertmat, topmat } + }, + }) +end + +unifieddyes.register_color_craft({ + output = "", + palette = "split", + neutral_node = "homedecor:banister_wood_horizontal", + type = "shapeless", + output_prefix = "homedecor:banister_wood_horizontal_", + output_suffix = "", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE", + } +}) diff --git a/homedecor/models/homedecor_banister_diagonal_left.obj b/homedecor_misc/models/homedecor_banister_diagonal_left.obj similarity index 100% rename from homedecor/models/homedecor_banister_diagonal_left.obj rename to homedecor_misc/models/homedecor_banister_diagonal_left.obj diff --git a/homedecor/models/homedecor_banister_diagonal_right.obj b/homedecor_misc/models/homedecor_banister_diagonal_right.obj similarity index 100% rename from homedecor/models/homedecor_banister_diagonal_right.obj rename to homedecor_misc/models/homedecor_banister_diagonal_right.obj diff --git a/homedecor/models/homedecor_banister_horizontal.obj b/homedecor_misc/models/homedecor_banister_horizontal.obj similarity index 100% rename from homedecor/models/homedecor_banister_horizontal.obj rename to homedecor_misc/models/homedecor_banister_horizontal.obj diff --git a/homedecor/models/homedecor_dartboard.obj b/homedecor_misc/models/homedecor_dartboard.obj similarity index 100% rename from homedecor/models/homedecor_dartboard.obj rename to homedecor_misc/models/homedecor_dartboard.obj diff --git a/homedecor/models/homedecor_dvd_cabinet.obj b/homedecor_misc/models/homedecor_dvd_cabinet.obj similarity index 100% rename from homedecor/models/homedecor_dvd_cabinet.obj rename to homedecor_misc/models/homedecor_dvd_cabinet.obj diff --git a/homedecor/models/homedecor_fishtank.obj b/homedecor_misc/models/homedecor_fishtank.obj similarity index 100% rename from homedecor/models/homedecor_fishtank.obj rename to homedecor_misc/models/homedecor_fishtank.obj diff --git a/homedecor/models/homedecor_flowerpot.obj b/homedecor_misc/models/homedecor_flowerpot.obj similarity index 100% rename from homedecor/models/homedecor_flowerpot.obj rename to homedecor_misc/models/homedecor_flowerpot.obj diff --git a/homedecor/models/homedecor_piano.obj b/homedecor_misc/models/homedecor_piano.obj similarity index 100% rename from homedecor/models/homedecor_piano.obj rename to homedecor_misc/models/homedecor_piano.obj diff --git a/homedecor/models/homedecor_pool_table.obj b/homedecor_misc/models/homedecor_pool_table.obj similarity index 100% rename from homedecor/models/homedecor_pool_table.obj rename to homedecor_misc/models/homedecor_pool_table.obj diff --git a/homedecor/models/homedecor_potted_plant.obj b/homedecor_misc/models/homedecor_potted_plant.obj similarity index 100% rename from homedecor/models/homedecor_potted_plant.obj rename to homedecor_misc/models/homedecor_potted_plant.obj diff --git a/homedecor/models/homedecor_round_pole.obj b/homedecor_misc/models/homedecor_round_pole.obj similarity index 100% rename from homedecor/models/homedecor_round_pole.obj rename to homedecor_misc/models/homedecor_round_pole.obj diff --git a/homedecor/models/homedecor_skateboard.obj b/homedecor_misc/models/homedecor_skateboard.obj similarity index 100% rename from homedecor/models/homedecor_skateboard.obj rename to homedecor_misc/models/homedecor_skateboard.obj diff --git a/homedecor/models/homedecor_small_rug.obj b/homedecor_misc/models/homedecor_small_rug.obj similarity index 100% rename from homedecor/models/homedecor_small_rug.obj rename to homedecor_misc/models/homedecor_small_rug.obj diff --git a/homedecor/models/homedecor_spiral_staircase.obj b/homedecor_misc/models/homedecor_spiral_staircase.obj similarity index 100% rename from homedecor/models/homedecor_spiral_staircase.obj rename to homedecor_misc/models/homedecor_spiral_staircase.obj diff --git a/homedecor/models/homedecor_sport_bench.obj b/homedecor_misc/models/homedecor_sport_bench.obj similarity index 100% rename from homedecor/models/homedecor_sport_bench.obj rename to homedecor_misc/models/homedecor_sport_bench.obj diff --git a/homedecor/models/homedecor_tool_cabinet.obj b/homedecor_misc/models/homedecor_tool_cabinet.obj similarity index 100% rename from homedecor/models/homedecor_tool_cabinet.obj rename to homedecor_misc/models/homedecor_tool_cabinet.obj diff --git a/homedecor/models/homedecor_trophy.obj b/homedecor_misc/models/homedecor_trophy.obj similarity index 100% rename from homedecor/models/homedecor_trophy.obj rename to homedecor_misc/models/homedecor_trophy.obj diff --git a/homedecor/textures/flowers_bonsai.png b/homedecor_misc/textures/flowers_bonsai.png similarity index 100% rename from homedecor/textures/flowers_bonsai.png rename to homedecor_misc/textures/flowers_bonsai.png diff --git a/homedecor/textures/flowers_cactus.png b/homedecor_misc/textures/flowers_cactus.png similarity index 100% rename from homedecor/textures/flowers_cactus.png rename to homedecor_misc/textures/flowers_cactus.png diff --git a/homedecor/textures/homedecor_banister_brass_inv.png b/homedecor_misc/textures/homedecor_banister_brass_inv.png similarity index 100% rename from homedecor/textures/homedecor_banister_brass_inv.png rename to homedecor_misc/textures/homedecor_banister_brass_inv.png diff --git a/homedecor/textures/homedecor_banister_white_dark_inv.png b/homedecor_misc/textures/homedecor_banister_white_dark_inv.png similarity index 100% rename from homedecor/textures/homedecor_banister_white_dark_inv.png rename to homedecor_misc/textures/homedecor_banister_white_dark_inv.png diff --git a/homedecor_misc/textures/homedecor_banister_wood_colored_inv.png b/homedecor_misc/textures/homedecor_banister_wood_colored_inv.png new file mode 100644 index 00000000..5c1a7ee7 Binary files /dev/null and b/homedecor_misc/textures/homedecor_banister_wood_colored_inv.png differ diff --git a/homedecor/textures/homedecor_banister_wood_inv.png b/homedecor_misc/textures/homedecor_banister_wood_inv.png similarity index 100% rename from homedecor/textures/homedecor_banister_wood_inv.png rename to homedecor_misc/textures/homedecor_banister_wood_inv.png diff --git a/homedecor/textures/homedecor_banister_wrought_iron_inv.png b/homedecor_misc/textures/homedecor_banister_wrought_iron_inv.png similarity index 100% rename from homedecor/textures/homedecor_banister_wrought_iron_inv.png rename to homedecor_misc/textures/homedecor_banister_wrought_iron_inv.png diff --git a/homedecor/textures/homedecor_cardbox_big_sides.png b/homedecor_misc/textures/homedecor_cardbox_big_sides.png similarity index 100% rename from homedecor/textures/homedecor_cardbox_big_sides.png rename to homedecor_misc/textures/homedecor_cardbox_big_sides.png diff --git a/homedecor/textures/homedecor_cardbox_big_tb.png b/homedecor_misc/textures/homedecor_cardbox_big_tb.png similarity index 100% rename from homedecor/textures/homedecor_cardbox_big_tb.png rename to homedecor_misc/textures/homedecor_cardbox_big_tb.png diff --git a/homedecor/textures/homedecor_cardbox_sides.png b/homedecor_misc/textures/homedecor_cardbox_sides.png similarity index 100% rename from homedecor/textures/homedecor_cardbox_sides.png rename to homedecor_misc/textures/homedecor_cardbox_sides.png diff --git a/homedecor/textures/homedecor_cardbox_tb.png b/homedecor_misc/textures/homedecor_cardbox_tb.png similarity index 100% rename from homedecor/textures/homedecor_cardbox_tb.png rename to homedecor_misc/textures/homedecor_cardbox_tb.png diff --git a/homedecor/textures/homedecor_ceiling_paint.png b/homedecor_misc/textures/homedecor_ceiling_paint.png similarity index 100% rename from homedecor/textures/homedecor_ceiling_paint.png rename to homedecor_misc/textures/homedecor_ceiling_paint.png diff --git a/homedecor/textures/homedecor_ceiling_paint_roller.png b/homedecor_misc/textures/homedecor_ceiling_paint_roller.png similarity index 100% rename from homedecor/textures/homedecor_ceiling_paint_roller.png rename to homedecor_misc/textures/homedecor_ceiling_paint_roller.png diff --git a/homedecor/textures/homedecor_ceiling_tile.png b/homedecor_misc/textures/homedecor_ceiling_tile.png similarity index 100% rename from homedecor/textures/homedecor_ceiling_tile.png rename to homedecor_misc/textures/homedecor_ceiling_tile.png diff --git a/homedecor/textures/homedecor_dartboard.png b/homedecor_misc/textures/homedecor_dartboard.png similarity index 100% rename from homedecor/textures/homedecor_dartboard.png rename to homedecor_misc/textures/homedecor_dartboard.png diff --git a/homedecor/textures/homedecor_dartboard_inv.png b/homedecor_misc/textures/homedecor_dartboard_inv.png similarity index 100% rename from homedecor/textures/homedecor_dartboard_inv.png rename to homedecor_misc/textures/homedecor_dartboard_inv.png diff --git a/homedecor/textures/homedecor_dvdcd_cabinet_back.png b/homedecor_misc/textures/homedecor_dvdcd_cabinet_back.png similarity index 100% rename from homedecor/textures/homedecor_dvdcd_cabinet_back.png rename to homedecor_misc/textures/homedecor_dvdcd_cabinet_back.png diff --git a/homedecor/textures/homedecor_dvdcd_cabinet_front.png b/homedecor_misc/textures/homedecor_dvdcd_cabinet_front.png similarity index 100% rename from homedecor/textures/homedecor_dvdcd_cabinet_front.png rename to homedecor_misc/textures/homedecor_dvdcd_cabinet_front.png diff --git a/homedecor/textures/homedecor_fishtank_filter.png b/homedecor_misc/textures/homedecor_fishtank_filter.png similarity index 100% rename from homedecor/textures/homedecor_fishtank_filter.png rename to homedecor_misc/textures/homedecor_fishtank_filter.png diff --git a/homedecor/textures/homedecor_fishtank_fishes.png b/homedecor_misc/textures/homedecor_fishtank_fishes.png similarity index 100% rename from homedecor/textures/homedecor_fishtank_fishes.png rename to homedecor_misc/textures/homedecor_fishtank_fishes.png diff --git a/homedecor/textures/homedecor_fishtank_fishes_lighted.png b/homedecor_misc/textures/homedecor_fishtank_fishes_lighted.png similarity index 100% rename from homedecor/textures/homedecor_fishtank_fishes_lighted.png rename to homedecor_misc/textures/homedecor_fishtank_fishes_lighted.png diff --git a/homedecor/textures/homedecor_fishtank_gravel.png b/homedecor_misc/textures/homedecor_fishtank_gravel.png similarity index 100% rename from homedecor/textures/homedecor_fishtank_gravel.png rename to homedecor_misc/textures/homedecor_fishtank_gravel.png diff --git a/homedecor/textures/homedecor_fishtank_gravel_lighted.png b/homedecor_misc/textures/homedecor_fishtank_gravel_lighted.png similarity index 100% rename from homedecor/textures/homedecor_fishtank_gravel_lighted.png rename to homedecor_misc/textures/homedecor_fishtank_gravel_lighted.png diff --git a/homedecor/textures/homedecor_fishtank_sides.png b/homedecor_misc/textures/homedecor_fishtank_sides.png similarity index 100% rename from homedecor/textures/homedecor_fishtank_sides.png rename to homedecor_misc/textures/homedecor_fishtank_sides.png diff --git a/homedecor/textures/homedecor_fishtank_sides_lighted.png b/homedecor_misc/textures/homedecor_fishtank_sides_lighted.png similarity index 100% rename from homedecor/textures/homedecor_fishtank_sides_lighted.png rename to homedecor_misc/textures/homedecor_fishtank_sides_lighted.png diff --git a/homedecor/textures/homedecor_fishtank_water_top.png b/homedecor_misc/textures/homedecor_fishtank_water_top.png similarity index 100% rename from homedecor/textures/homedecor_fishtank_water_top.png rename to homedecor_misc/textures/homedecor_fishtank_water_top.png diff --git a/homedecor/textures/homedecor_fishtank_water_top_lighted.png b/homedecor_misc/textures/homedecor_fishtank_water_top_lighted.png similarity index 100% rename from homedecor/textures/homedecor_fishtank_water_top_lighted.png rename to homedecor_misc/textures/homedecor_fishtank_water_top_lighted.png diff --git a/homedecor/textures/homedecor_flower_pot_black.png b/homedecor_misc/textures/homedecor_flower_pot_black.png similarity index 100% rename from homedecor/textures/homedecor_flower_pot_black.png rename to homedecor_misc/textures/homedecor_flower_pot_black.png diff --git a/homedecor/textures/homedecor_flower_pot_green.png b/homedecor_misc/textures/homedecor_flower_pot_green.png similarity index 100% rename from homedecor/textures/homedecor_flower_pot_green.png rename to homedecor_misc/textures/homedecor_flower_pot_green.png diff --git a/homedecor/textures/homedecor_flower_pot_terracotta.png b/homedecor_misc/textures/homedecor_flower_pot_terracotta.png similarity index 100% rename from homedecor/textures/homedecor_flower_pot_terracotta.png rename to homedecor_misc/textures/homedecor_flower_pot_terracotta.png diff --git a/homedecor/textures/homedecor_flowerpot_small_inv.png b/homedecor_misc/textures/homedecor_flowerpot_small_inv.png similarity index 100% rename from homedecor/textures/homedecor_flowerpot_small_inv.png rename to homedecor_misc/textures/homedecor_flowerpot_small_inv.png diff --git a/homedecor/textures/homedecor_piano_inv.png b/homedecor_misc/textures/homedecor_piano_inv.png similarity index 100% rename from homedecor/textures/homedecor_piano_inv.png rename to homedecor_misc/textures/homedecor_piano_inv.png diff --git a/homedecor/textures/homedecor_piano_keys.png b/homedecor_misc/textures/homedecor_piano_keys.png similarity index 100% rename from homedecor/textures/homedecor_piano_keys.png rename to homedecor_misc/textures/homedecor_piano_keys.png diff --git a/homedecor/textures/homedecor_pole_brass_inv.png b/homedecor_misc/textures/homedecor_pole_brass_inv.png similarity index 100% rename from homedecor/textures/homedecor_pole_brass_inv.png rename to homedecor_misc/textures/homedecor_pole_brass_inv.png diff --git a/homedecor/textures/homedecor_pole_wrought_iron_inv.png b/homedecor_misc/textures/homedecor_pole_wrought_iron_inv.png similarity index 100% rename from homedecor/textures/homedecor_pole_wrought_iron_inv.png rename to homedecor_misc/textures/homedecor_pole_wrought_iron_inv.png diff --git a/homedecor/textures/homedecor_pool_table_baize.png b/homedecor_misc/textures/homedecor_pool_table_baize.png similarity index 100% rename from homedecor/textures/homedecor_pool_table_baize.png rename to homedecor_misc/textures/homedecor_pool_table_baize.png diff --git a/homedecor/textures/homedecor_pool_table_balls.png b/homedecor_misc/textures/homedecor_pool_table_balls.png similarity index 100% rename from homedecor/textures/homedecor_pool_table_balls.png rename to homedecor_misc/textures/homedecor_pool_table_balls.png diff --git a/homedecor/textures/homedecor_pool_table_cue.png b/homedecor_misc/textures/homedecor_pool_table_cue.png similarity index 100% rename from homedecor/textures/homedecor_pool_table_cue.png rename to homedecor_misc/textures/homedecor_pool_table_cue.png diff --git a/homedecor/textures/homedecor_pool_table_inv.png b/homedecor_misc/textures/homedecor_pool_table_inv.png similarity index 100% rename from homedecor/textures/homedecor_pool_table_inv.png rename to homedecor_misc/textures/homedecor_pool_table_inv.png diff --git a/homedecor/textures/homedecor_pool_table_pockets.png b/homedecor_misc/textures/homedecor_pool_table_pockets.png similarity index 100% rename from homedecor/textures/homedecor_pool_table_pockets.png rename to homedecor_misc/textures/homedecor_pool_table_pockets.png diff --git a/homedecor/textures/homedecor_rug_large.png b/homedecor_misc/textures/homedecor_rug_large.png similarity index 100% rename from homedecor/textures/homedecor_rug_large.png rename to homedecor_misc/textures/homedecor_rug_large.png diff --git a/homedecor/textures/homedecor_rug_persian.png b/homedecor_misc/textures/homedecor_rug_persian.png similarity index 100% rename from homedecor/textures/homedecor_rug_persian.png rename to homedecor_misc/textures/homedecor_rug_persian.png diff --git a/homedecor/textures/homedecor_rug_small.png b/homedecor_misc/textures/homedecor_rug_small.png similarity index 100% rename from homedecor/textures/homedecor_rug_small.png rename to homedecor_misc/textures/homedecor_rug_small.png diff --git a/homedecor/textures/homedecor_skateboard.png b/homedecor_misc/textures/homedecor_skateboard.png similarity index 100% rename from homedecor/textures/homedecor_skateboard.png rename to homedecor_misc/textures/homedecor_skateboard.png diff --git a/homedecor/textures/homedecor_skateboard_inv.png b/homedecor_misc/textures/homedecor_skateboard_inv.png similarity index 100% rename from homedecor/textures/homedecor_skateboard_inv.png rename to homedecor_misc/textures/homedecor_skateboard_inv.png diff --git a/homedecor/textures/homedecor_sport_bench_inv.png b/homedecor_misc/textures/homedecor_sport_bench_inv.png similarity index 100% rename from homedecor/textures/homedecor_sport_bench_inv.png rename to homedecor_misc/textures/homedecor_sport_bench_inv.png diff --git a/homedecor/textures/homedecor_tatami.png b/homedecor_misc/textures/homedecor_tatami.png similarity index 100% rename from homedecor/textures/homedecor_tatami.png rename to homedecor_misc/textures/homedecor_tatami.png diff --git a/homedecor/textures/homedecor_tool_cabinet_drawers.png b/homedecor_misc/textures/homedecor_tool_cabinet_drawers.png similarity index 100% rename from homedecor/textures/homedecor_tool_cabinet_drawers.png rename to homedecor_misc/textures/homedecor_tool_cabinet_drawers.png diff --git a/homedecor/textures/homedecor_tool_cabinet_inv.png b/homedecor_misc/textures/homedecor_tool_cabinet_inv.png similarity index 100% rename from homedecor/textures/homedecor_tool_cabinet_inv.png rename to homedecor_misc/textures/homedecor_tool_cabinet_inv.png diff --git a/homedecor/textures/homedecor_tool_cabinet_misc.png b/homedecor_misc/textures/homedecor_tool_cabinet_misc.png similarity index 100% rename from homedecor/textures/homedecor_tool_cabinet_misc.png rename to homedecor_misc/textures/homedecor_tool_cabinet_misc.png diff --git a/homedecor/textures/homedecor_trophy_inv.png b/homedecor_misc/textures/homedecor_trophy_inv.png similarity index 100% rename from homedecor/textures/homedecor_trophy_inv.png rename to homedecor_misc/textures/homedecor_trophy_inv.png diff --git a/chains/textures/top_chain_brass_inv.png b/homedecor_misc/textures/top_chain_brass_inv.png similarity index 100% rename from chains/textures/top_chain_brass_inv.png rename to homedecor_misc/textures/top_chain_brass_inv.png diff --git a/chains/textures/top_chain_wrought_iron_inv.png b/homedecor_misc/textures/top_chain_wrought_iron_inv.png similarity index 100% rename from chains/textures/top_chain_wrought_iron_inv.png rename to homedecor_misc/textures/top_chain_wrought_iron_inv.png diff --git a/homedecor_office/depends.txt b/homedecor_office/depends.txt new file mode 100644 index 00000000..f3234aeb --- /dev/null +++ b/homedecor_office/depends.txt @@ -0,0 +1,6 @@ +homedecor_common +default +basic_materials +dye +moreblocks? +building_blocks? diff --git a/homedecor/office.lua b/homedecor_office/init.lua similarity index 62% rename from homedecor/office.lua rename to homedecor_office/init.lua index 6e9bbc1b..e6deb152 100644 --- a/homedecor/office.lua +++ b/homedecor_office/init.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext homedecor.register("filing_cabinet", { description = S("Filing cabinet"), @@ -124,3 +124,79 @@ for _, c in pairs(chairs) do on_rotate = screwdriver.rotate_simple }) end + +-- crafting + + +minetest.register_craft({ + output = "homedecor:desk", + recipe = { + { "stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood" }, + { "homedecor:drawer_small", "default:wood", "default:wood" }, + { "homedecor:drawer_small", "", "default:wood" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:desk", + recipe = { + { "moreblocks:slab_wood", "moreblocks:slab_wood", "moreblocks:slab_wood" }, + { "homedecor:drawer_small", "default:wood", "default:wood" }, + { "homedecor:drawer_small", "", "default:wood" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:filing_cabinet", + recipe = { + { "", "default:wood", "" }, + { "default:wood", "homedecor:drawer_small", "default:wood" }, + { "", "default:wood", "" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:office_chair_basic", + recipe = { + { "", "", "wool:black" }, + { "", "wool:black", "default:steel_ingot" }, + { "group:stick", "homedecor:pole_wrought_iron", "group:stick" } + }, +}) + +minetest.register_craft({ + output = "homedecor:office_chair_upscale", + recipe = { + { "dye:black", "building_blocks:sticks", "group:wool" }, + { "basic_materials:plastic_sheet", "group:wool", "default:steel_ingot" }, + { "building_blocks:sticks", "homedecor:pole_wrought_iron", "building_blocks:sticks" } + }, +}) + +minetest.register_craft({ + output = "homedecor:calendar", + recipe = { + { "","dye:red","" }, + { "","dye:black","" }, + { "","default:paper","" } + }, +}) + +minetest.register_craft({ + output = "homedecor:desk_globe", + recipe = { + { "group:stick", "basic_materials:plastic_sheet", "dye:green" }, + { "group:stick", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, + { "group:stick", "stairs:slab_wood", "dye:blue" } + }, +}) + +minetest.register_craft({ + output = "homedecor:desk_globe", + recipe = { + { "group:stick", "basic_materials:plastic_sheet", "dye:green" }, + { "group:stick", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, + { "group:stick", "moreblocks:slab_wood", "dye:blue" } + }, +}) + diff --git a/homedecor/models/homedecor_calendar.obj b/homedecor_office/models/homedecor_calendar.obj similarity index 100% rename from homedecor/models/homedecor_calendar.obj rename to homedecor_office/models/homedecor_calendar.obj diff --git a/homedecor/models/homedecor_desk.obj b/homedecor_office/models/homedecor_desk.obj similarity index 100% rename from homedecor/models/homedecor_desk.obj rename to homedecor_office/models/homedecor_desk.obj diff --git a/homedecor/models/homedecor_desk_globe.obj b/homedecor_office/models/homedecor_desk_globe.obj similarity index 100% rename from homedecor/models/homedecor_desk_globe.obj rename to homedecor_office/models/homedecor_desk_globe.obj diff --git a/homedecor/models/homedecor_filing_cabinet.obj b/homedecor_office/models/homedecor_filing_cabinet.obj similarity index 100% rename from homedecor/models/homedecor_filing_cabinet.obj rename to homedecor_office/models/homedecor_filing_cabinet.obj diff --git a/homedecor/models/homedecor_office_chair_basic.obj b/homedecor_office/models/homedecor_office_chair_basic.obj similarity index 100% rename from homedecor/models/homedecor_office_chair_basic.obj rename to homedecor_office/models/homedecor_office_chair_basic.obj diff --git a/homedecor/models/homedecor_office_chair_upscale.obj b/homedecor_office/models/homedecor_office_chair_upscale.obj similarity index 100% rename from homedecor/models/homedecor_office_chair_upscale.obj rename to homedecor_office/models/homedecor_office_chair_upscale.obj diff --git a/homedecor/textures/homedecor_calendar.png b/homedecor_office/textures/homedecor_calendar.png similarity index 100% rename from homedecor/textures/homedecor_calendar.png rename to homedecor_office/textures/homedecor_calendar.png diff --git a/homedecor/textures/homedecor_calendar_inv.png b/homedecor_office/textures/homedecor_calendar_inv.png similarity index 100% rename from homedecor/textures/homedecor_calendar_inv.png rename to homedecor_office/textures/homedecor_calendar_inv.png diff --git a/homedecor/textures/homedecor_desk_drawers.png b/homedecor_office/textures/homedecor_desk_drawers.png similarity index 100% rename from homedecor/textures/homedecor_desk_drawers.png rename to homedecor_office/textures/homedecor_desk_drawers.png diff --git a/homedecor/textures/homedecor_desk_globe_inv.png b/homedecor_office/textures/homedecor_desk_globe_inv.png similarity index 100% rename from homedecor/textures/homedecor_desk_globe_inv.png rename to homedecor_office/textures/homedecor_desk_globe_inv.png diff --git a/homedecor/textures/homedecor_desk_inv.png b/homedecor_office/textures/homedecor_desk_inv.png similarity index 100% rename from homedecor/textures/homedecor_desk_inv.png rename to homedecor_office/textures/homedecor_desk_inv.png diff --git a/homedecor/textures/homedecor_earth.png b/homedecor_office/textures/homedecor_earth.png similarity index 100% rename from homedecor/textures/homedecor_earth.png rename to homedecor_office/textures/homedecor_earth.png diff --git a/homedecor/textures/homedecor_filing_cabinet_bottom.png b/homedecor_office/textures/homedecor_filing_cabinet_bottom.png similarity index 100% rename from homedecor/textures/homedecor_filing_cabinet_bottom.png rename to homedecor_office/textures/homedecor_filing_cabinet_bottom.png diff --git a/homedecor/textures/homedecor_filing_cabinet_front.png b/homedecor_office/textures/homedecor_filing_cabinet_front.png similarity index 100% rename from homedecor/textures/homedecor_filing_cabinet_front.png rename to homedecor_office/textures/homedecor_filing_cabinet_front.png diff --git a/homedecor/textures/homedecor_office_chair_basic.png b/homedecor_office/textures/homedecor_office_chair_basic.png similarity index 100% rename from homedecor/textures/homedecor_office_chair_basic.png rename to homedecor_office/textures/homedecor_office_chair_basic.png diff --git a/homedecor/textures/homedecor_office_chair_upscale.png b/homedecor_office/textures/homedecor_office_chair_upscale.png similarity index 100% rename from homedecor/textures/homedecor_office_chair_upscale.png rename to homedecor_office/textures/homedecor_office_chair_upscale.png diff --git a/homedecor_pictures_and_paintings/depends.txt b/homedecor_pictures_and_paintings/depends.txt new file mode 100644 index 00000000..d0de51e9 --- /dev/null +++ b/homedecor_pictures_and_paintings/depends.txt @@ -0,0 +1,3 @@ +homedecor_common +default +dye diff --git a/homedecor_pictures_and_paintings/init.lua b/homedecor_pictures_and_paintings/init.lua new file mode 100644 index 00000000..66081074 --- /dev/null +++ b/homedecor_pictures_and_paintings/init.lua @@ -0,0 +1,162 @@ +local S = homedecor.gettext + +local pframe_cbox = { + type = "fixed", + fixed = { -0.18, -0.5, -0.08, 0.18, -0.08, 0.18 } +} +local n = { 1, 2 } + +for _, i in ipairs(n) do + homedecor.register("picture_frame"..i, { + description = S("Picture Frame "..i), + mesh = "homedecor_picture_frame.obj", + tiles = { + "homedecor_picture_frame_image"..i..".png", + homedecor.lux_wood, + "homedecor_picture_frame_back.png", + }, + inventory_image = "homedecor_picture_frame"..i.."_inv.png", + wield_image = "homedecor_picture_frame"..i.."_inv.png", + groups = {snappy = 3}, + selection_box = pframe_cbox, + walkable = false, + sounds = default.node_sound_glass_defaults() + }) +end + +local p_cbox = { + type = "fixed", + fixed = { + { -0.5, -0.5, 0.4375, 0.5, 0.5, 0.5 } + } +} + +for i = 1,20 do + homedecor.register("painting_"..i, { + description = S("Decorative painting #@1", i), + mesh = "homedecor_painting.obj", + tiles = { + "default_wood.png", + "homedecor_blank_canvas.png", + "homedecor_painting"..i..".png" + }, + selection_box = p_cbox, + walkable = false, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + }) +end + +-- crafting + +minetest.register_craftitem(":homedecor:blank_canvas", { + description = S("Blank Canvas"), + inventory_image = "homedecor_blank_canvas.png" +}) + +-- paintings + +minetest.register_craft({ + output = "homedecor:blank_canvas", + recipe = { + { "", "group:stick", "" }, + { "group:stick", "wool:white", "group:stick" }, + { "", "group:stick", "" }, + } +}) + +local painting_patterns = { + [1] = { { "brown", "red", "brown" }, + { "dark_green", "red", "green" } }, + + [2] = { { "green", "yellow", "green" }, + { "green", "yellow", "green" } }, + + [3] = { { "green", "pink", "green" }, + { "brown", "pink", "brown" } }, + + [4] = { { "black", "orange", "grey" }, + { "dark_green", "orange", "orange" } }, + + [5] = { { "blue", "orange", "yellow" }, + { "green", "red", "brown" } }, + + [6] = { { "green", "red", "orange" }, + { "orange", "yellow", "green" } }, + + [7] = { { "blue", "dark_green", "dark_green" }, + { "green", "grey", "green" } }, + + [8] = { { "blue", "blue", "blue" }, + { "green", "green", "green" } }, + + [9] = { { "blue", "blue", "dark_green" }, + { "green", "grey", "dark_green" } }, + + [10] = { { "green", "white", "green" }, + { "dark_green", "white", "dark_green" } }, + + [11] = { { "blue", "white", "blue" }, + { "blue", "grey", "dark_green" } }, + + [12] = { { "green", "green", "green" }, + { "grey", "grey", "green" } }, + + [13] = { { "blue", "blue", "grey" }, + { "dark_green", "white", "white" } }, + + [14] = { { "red", "yellow", "blue" }, + { "blue", "green", "violet" } }, + + [15] = { { "blue", "yellow", "blue" }, + { "black", "black", "black" } }, + + [16] = { { "red", "orange", "blue" }, + { "black", "dark_grey", "grey" } }, + + [17] = { { "orange", "yellow", "orange" }, + { "black", "black", "black" } }, + + [18] = { { "grey", "dark_green", "grey" }, + { "white", "white", "white" } }, + + [19] = { { "white", "brown", "green" }, + { "green", "brown", "brown" } }, + + [20] = { { "blue", "blue", "blue" }, + { "red", "brown", "grey" } } +} + +for i,recipe in pairs(painting_patterns) do + + local item1 = "dye:"..recipe[1][1] + local item2 = "dye:"..recipe[1][2] + local item3 = "dye:"..recipe[1][3] + local item4 = "dye:"..recipe[2][1] + local item5 = "dye:"..recipe[2][2] + local item6 = "dye:"..recipe[2][3] + + minetest.register_craft({ + output = "homedecor:painting_"..i, + recipe = { + { item1, item2, item3 }, + { item4, item5, item6 }, + {"", "homedecor:blank_canvas", "" } + } + }) +end + +local picture_dyes = { + {"dye:brown", "dye:green"}, -- the figure sitting by the tree, wielding a pick + {"dye:green", "dye:blue"} -- the "family photo" +} + +for i in ipairs(picture_dyes) do + minetest.register_craft({ + output = "homedecor:picture_frame"..i, + recipe = { + { picture_dyes[i][1], picture_dyes[i][2] }, + { "homedecor:blank_canvas", "group:stick" }, + }, + }) +end diff --git a/homedecor/models/homedecor_painting.obj b/homedecor_pictures_and_paintings/models/homedecor_painting.obj similarity index 100% rename from homedecor/models/homedecor_painting.obj rename to homedecor_pictures_and_paintings/models/homedecor_painting.obj diff --git a/homedecor/models/homedecor_picture_frame.obj b/homedecor_pictures_and_paintings/models/homedecor_picture_frame.obj similarity index 100% rename from homedecor/models/homedecor_picture_frame.obj rename to homedecor_pictures_and_paintings/models/homedecor_picture_frame.obj diff --git a/homedecor/textures/homedecor_blank_canvas.png b/homedecor_pictures_and_paintings/textures/homedecor_blank_canvas.png similarity index 100% rename from homedecor/textures/homedecor_blank_canvas.png rename to homedecor_pictures_and_paintings/textures/homedecor_blank_canvas.png diff --git a/homedecor/textures/homedecor_painting1.png b/homedecor_pictures_and_paintings/textures/homedecor_painting1.png similarity index 100% rename from homedecor/textures/homedecor_painting1.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting1.png diff --git a/homedecor/textures/homedecor_painting10.png b/homedecor_pictures_and_paintings/textures/homedecor_painting10.png similarity index 100% rename from homedecor/textures/homedecor_painting10.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting10.png diff --git a/homedecor/textures/homedecor_painting11.png b/homedecor_pictures_and_paintings/textures/homedecor_painting11.png similarity index 100% rename from homedecor/textures/homedecor_painting11.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting11.png diff --git a/homedecor/textures/homedecor_painting12.png b/homedecor_pictures_and_paintings/textures/homedecor_painting12.png similarity index 100% rename from homedecor/textures/homedecor_painting12.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting12.png diff --git a/homedecor/textures/homedecor_painting13.png b/homedecor_pictures_and_paintings/textures/homedecor_painting13.png similarity index 100% rename from homedecor/textures/homedecor_painting13.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting13.png diff --git a/homedecor/textures/homedecor_painting14.png b/homedecor_pictures_and_paintings/textures/homedecor_painting14.png similarity index 100% rename from homedecor/textures/homedecor_painting14.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting14.png diff --git a/homedecor/textures/homedecor_painting15.png b/homedecor_pictures_and_paintings/textures/homedecor_painting15.png similarity index 100% rename from homedecor/textures/homedecor_painting15.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting15.png diff --git a/homedecor/textures/homedecor_painting16.png b/homedecor_pictures_and_paintings/textures/homedecor_painting16.png similarity index 100% rename from homedecor/textures/homedecor_painting16.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting16.png diff --git a/homedecor/textures/homedecor_painting17.png b/homedecor_pictures_and_paintings/textures/homedecor_painting17.png similarity index 100% rename from homedecor/textures/homedecor_painting17.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting17.png diff --git a/homedecor/textures/homedecor_painting18.png b/homedecor_pictures_and_paintings/textures/homedecor_painting18.png similarity index 100% rename from homedecor/textures/homedecor_painting18.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting18.png diff --git a/homedecor/textures/homedecor_painting19.png b/homedecor_pictures_and_paintings/textures/homedecor_painting19.png similarity index 100% rename from homedecor/textures/homedecor_painting19.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting19.png diff --git a/homedecor/textures/homedecor_painting2.png b/homedecor_pictures_and_paintings/textures/homedecor_painting2.png similarity index 100% rename from homedecor/textures/homedecor_painting2.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting2.png diff --git a/homedecor/textures/homedecor_painting20.png b/homedecor_pictures_and_paintings/textures/homedecor_painting20.png similarity index 100% rename from homedecor/textures/homedecor_painting20.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting20.png diff --git a/homedecor/textures/homedecor_painting3.png b/homedecor_pictures_and_paintings/textures/homedecor_painting3.png similarity index 100% rename from homedecor/textures/homedecor_painting3.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting3.png diff --git a/homedecor/textures/homedecor_painting4.png b/homedecor_pictures_and_paintings/textures/homedecor_painting4.png similarity index 100% rename from homedecor/textures/homedecor_painting4.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting4.png diff --git a/homedecor/textures/homedecor_painting5.png b/homedecor_pictures_and_paintings/textures/homedecor_painting5.png similarity index 100% rename from homedecor/textures/homedecor_painting5.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting5.png diff --git a/homedecor/textures/homedecor_painting6.png b/homedecor_pictures_and_paintings/textures/homedecor_painting6.png similarity index 100% rename from homedecor/textures/homedecor_painting6.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting6.png diff --git a/homedecor/textures/homedecor_painting7.png b/homedecor_pictures_and_paintings/textures/homedecor_painting7.png similarity index 100% rename from homedecor/textures/homedecor_painting7.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting7.png diff --git a/homedecor/textures/homedecor_painting8.png b/homedecor_pictures_and_paintings/textures/homedecor_painting8.png similarity index 100% rename from homedecor/textures/homedecor_painting8.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting8.png diff --git a/homedecor/textures/homedecor_painting9.png b/homedecor_pictures_and_paintings/textures/homedecor_painting9.png similarity index 100% rename from homedecor/textures/homedecor_painting9.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting9.png diff --git a/homedecor/textures/homedecor_painting_back.png b/homedecor_pictures_and_paintings/textures/homedecor_painting_back.png similarity index 100% rename from homedecor/textures/homedecor_painting_back.png rename to homedecor_pictures_and_paintings/textures/homedecor_painting_back.png diff --git a/homedecor/textures/homedecor_picture_frame1_inv.png b/homedecor_pictures_and_paintings/textures/homedecor_picture_frame1_inv.png similarity index 100% rename from homedecor/textures/homedecor_picture_frame1_inv.png rename to homedecor_pictures_and_paintings/textures/homedecor_picture_frame1_inv.png diff --git a/homedecor/textures/homedecor_picture_frame2_inv.png b/homedecor_pictures_and_paintings/textures/homedecor_picture_frame2_inv.png similarity index 100% rename from homedecor/textures/homedecor_picture_frame2_inv.png rename to homedecor_pictures_and_paintings/textures/homedecor_picture_frame2_inv.png diff --git a/homedecor/textures/homedecor_picture_frame_back.png b/homedecor_pictures_and_paintings/textures/homedecor_picture_frame_back.png similarity index 100% rename from homedecor/textures/homedecor_picture_frame_back.png rename to homedecor_pictures_and_paintings/textures/homedecor_picture_frame_back.png diff --git a/homedecor/textures/homedecor_picture_frame_image1.png b/homedecor_pictures_and_paintings/textures/homedecor_picture_frame_image1.png similarity index 100% rename from homedecor/textures/homedecor_picture_frame_image1.png rename to homedecor_pictures_and_paintings/textures/homedecor_picture_frame_image1.png diff --git a/homedecor/textures/homedecor_picture_frame_image2.png b/homedecor_pictures_and_paintings/textures/homedecor_picture_frame_image2.png similarity index 100% rename from homedecor/textures/homedecor_picture_frame_image2.png rename to homedecor_pictures_and_paintings/textures/homedecor_picture_frame_image2.png diff --git a/homedecor_roofing/depends.txt b/homedecor_roofing/depends.txt new file mode 100644 index 00000000..d0de51e9 --- /dev/null +++ b/homedecor_roofing/depends.txt @@ -0,0 +1,3 @@ +homedecor_common +default +dye diff --git a/homedecor/roofing.lua b/homedecor_roofing/init.lua similarity index 86% rename from homedecor/roofing.lua rename to homedecor_roofing/init.lua index 1299fcb6..31f2a1e2 100644 --- a/homedecor/roofing.lua +++ b/homedecor_roofing/init.lua @@ -1,9 +1,9 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext local function N_(x) return x end -minetest.register_node("homedecor:skylight", { +minetest.register_node(":homedecor:skylight", { description = S("Glass Skylight"), drawtype = "raillike", tiles = { "default_glass.png" }, @@ -15,7 +15,7 @@ minetest.register_node("homedecor:skylight", { selection_box = homedecor.nodebox.slab_y(0.1), }) -minetest.register_node("homedecor:skylight_frosted", { +minetest.register_node(":homedecor:skylight_frosted", { description = S("Glass Skylight Frosted"), drawtype = "raillike", tiles = { "homedecor_skylight_frosted.png" }, @@ -29,7 +29,7 @@ minetest.register_node("homedecor:skylight_frosted", { }) for _, s in pairs({ N_("asphalt"), N_("terracotta"), N_("wood") }) do - minetest.register_node("homedecor:shingles_"..s, { + minetest.register_node(":homedecor:shingles_"..s, { description = S("Shingles (@1)", S(s)), drawtype = "raillike", tiles = { "homedecor_shingles_"..s..".png" }, @@ -83,7 +83,7 @@ homedecor.register_outer_corner = function(modname, subname, groups, slope_image tiles = { "homedecor_slope_outer_corner_"..slope_image..".png" } end - minetest.register_node(modname..":shingle_outer_corner_" .. subname, { + minetest.register_node(":"..modname..":shingle_outer_corner_" .. subname, { description = S("@1 (outer corner)", description), drawtype = "mesh", mesh = "homedecor_slope_outer_corner.obj", @@ -105,7 +105,7 @@ homedecor.register_inner_corner = function(modname, subname, groups, slope_image tiles = { "homedecor_slope_outer_corner_"..slope_image..".png" } end - minetest.register_node(modname..":shingle_inner_corner_" .. subname, { + minetest.register_node(":"..modname..":shingle_inner_corner_" .. subname, { description = S("@1 (inner corner)", description), drawtype = "mesh", mesh = "homedecor_slope_inner_corner.obj", @@ -126,7 +126,7 @@ homedecor.register_slope = function(modname, subname, recipeitem, groups, slope_ tiles = { "homedecor_slope_outer_corner_"..slope_image..".png" } end - minetest.register_node(modname..":shingle_side_" .. subname, { + minetest.register_node(":"..modname..":shingle_side_" .. subname, { description = description, drawtype = "mesh", mesh = "homedecor_slope.obj", @@ -319,3 +319,43 @@ homedecor.register("chimney", { groups = {cracky=3}, sounds = default.node_sound_stone_defaults() }) + +-- crafting + +minetest.register_craft( { + output = "homedecor:skylight 4", + recipe = { + { "homedecor:glass_table_large", "homedecor:glass_table_large" }, + { "homedecor:glass_table_large", "homedecor:glass_table_large" }, + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "homedecor:skylight_frosted", + recipe = { + "dye:white", + "homedecor:skylight" + }, +}) + +minetest.register_craft({ + type = "cooking", + output = "homedecor:skylight", + recipe = "homedecor:skylight_frosted", +}) + +-- recycling + +minetest.register_craft({ + type = "shapeless", + output = "vessels:glass_fragments 2", + recipe = { + "homedecor:skylight", + "homedecor:skylight", + "homedecor:skylight", + "homedecor:skylight", + "homedecor:skylight", + "homedecor:skylight" + } +}) diff --git a/homedecor/textures/homedecor_shingles_asphalt_inv.png b/homedecor_roofing/textures/homedecor_shingles_asphalt_inv.png similarity index 100% rename from homedecor/textures/homedecor_shingles_asphalt_inv.png rename to homedecor_roofing/textures/homedecor_shingles_asphalt_inv.png diff --git a/homedecor/textures/homedecor_shingles_glass.png b/homedecor_roofing/textures/homedecor_shingles_glass.png similarity index 100% rename from homedecor/textures/homedecor_shingles_glass.png rename to homedecor_roofing/textures/homedecor_shingles_glass.png diff --git a/homedecor/textures/homedecor_shingles_wood_inv.png b/homedecor_roofing/textures/homedecor_shingles_wood_inv.png similarity index 100% rename from homedecor/textures/homedecor_shingles_wood_inv.png rename to homedecor_roofing/textures/homedecor_shingles_wood_inv.png diff --git a/homedecor/textures/homedecor_skylight_frosted.png b/homedecor_roofing/textures/homedecor_skylight_frosted.png similarity index 100% rename from homedecor/textures/homedecor_skylight_frosted.png rename to homedecor_roofing/textures/homedecor_skylight_frosted.png diff --git a/homedecor/textures/homedecor_skylight_frosted_inv.png b/homedecor_roofing/textures/homedecor_skylight_frosted_inv.png similarity index 100% rename from homedecor/textures/homedecor_skylight_frosted_inv.png rename to homedecor_roofing/textures/homedecor_skylight_frosted_inv.png diff --git a/homedecor/textures/homedecor_skylight_inv.png b/homedecor_roofing/textures/homedecor_skylight_inv.png similarity index 100% rename from homedecor/textures/homedecor_skylight_inv.png rename to homedecor_roofing/textures/homedecor_skylight_inv.png diff --git a/homedecor_tables/depends.txt b/homedecor_tables/depends.txt new file mode 100644 index 00000000..fb5d6010 --- /dev/null +++ b/homedecor_tables/depends.txt @@ -0,0 +1,3 @@ +homedecor_common +default +basic_materials diff --git a/homedecor/tables.lua b/homedecor_tables/init.lua similarity index 58% rename from homedecor/tables.lua rename to homedecor_tables/init.lua index 70ced410..d32b51db 100644 --- a/homedecor/tables.lua +++ b/homedecor_tables/init.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext -- Various kinds of tables @@ -200,3 +200,172 @@ homedecor.register("utility_table_legs", { fixed = { -0.37, -0.5, -0.37, 0.37, 0.5, 0.37 } }, }) + +-- crafting + + +minetest.register_craft( { + output = "homedecor:glass_table_small_round_b 15", + recipe = { + { "", "default:glass", "" }, + { "default:glass", "default:glass", "default:glass" }, + { "", "default:glass", "" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:glass_table_small_square_b 2", + recipe = { + {"homedecor:glass_table_small_round", "homedecor:glass_table_small_round" }, + } +}) + +minetest.register_craft( { + output = "homedecor:glass_table_large_b 2", + recipe = { + { "homedecor:glass_table_small_square", "homedecor:glass_table_small_square" }, + } +}) + +-- + +minetest.register_craft( { + output = "homedecor:wood_table_small_round_b 15", + recipe = { + { "", "group:wood", "" }, + { "group:wood", "group:wood", "group:wood" }, + { "", "group:wood", "" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:wood_table_small_square_b 2", + recipe = { + { "homedecor:wood_table_small_round","homedecor:wood_table_small_round" }, + } +}) + +minetest.register_craft( { + output = "homedecor:wood_table_large_b 2", + recipe = { + { "homedecor:wood_table_small_square", "homedecor:wood_table_small_square" }, + } +}) + +-- + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:wood_table_small_round_b", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:wood_table_small_square_b", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:wood_table_large_b", + burntime = 30, +}) + + +minetest.register_craft( { + output = "homedecor:table_legs_wrought_iron 3", + recipe = { + { "", "default:iron_lump", "" }, + { "", "default:iron_lump", "" }, + { "default:iron_lump", "default:iron_lump", "default:iron_lump" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:table_legs_brass 3", + recipe = { + { "", "basic_materials:brass_ingot", "" }, + { "", "basic_materials:brass_ingot", "" }, + { "basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot" } + }, +}) + +minetest.register_craft( { + output = "homedecor:utility_table_legs", + recipe = { + { "group:stick", "group:stick", "group:stick" }, + { "group:stick", "", "group:stick" }, + { "group:stick", "", "group:stick" }, + }, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:utility_table_legs", + burntime = 30, +}) + + + +-- recycling + +minetest.register_craft({ + type = "shapeless", + output = "vessels:glass_fragments", + recipe = { + "homedecor:glass_table_small_round", + "homedecor:glass_table_small_round", + "homedecor:glass_table_small_round" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "vessels:glass_fragments", + recipe = { + "homedecor:glass_table_small_square", + "homedecor:glass_table_small_square", + "homedecor:glass_table_small_square" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "vessels:glass_fragments", + recipe = { + "homedecor:glass_table_large", + "homedecor:glass_table_large", + "homedecor:glass_table_large" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "default:stick 4", + recipe = { + "homedecor:wood_table_small_round", + "homedecor:wood_table_small_round", + "homedecor:wood_table_small_round" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "default:stick 4", + recipe = { + "homedecor:wood_table_small_square", + "homedecor:wood_table_small_square", + "homedecor:wood_table_small_square" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "default:stick 4", + recipe = { + "homedecor:wood_table_large", + "homedecor:wood_table_large", + "homedecor:wood_table_large" + } +}) diff --git a/homedecor/models/homedecor_table_small_round.obj b/homedecor_tables/models/homedecor_table_small_round.obj similarity index 100% rename from homedecor/models/homedecor_table_small_round.obj rename to homedecor_tables/models/homedecor_table_small_round.obj diff --git a/homedecor/models/homedecor_table_small_square.obj b/homedecor_tables/models/homedecor_table_small_square.obj similarity index 100% rename from homedecor/models/homedecor_table_small_square.obj rename to homedecor_tables/models/homedecor_table_small_square.obj diff --git a/homedecor/textures/homedecor_glass_face_clean.png b/homedecor_tables/textures/homedecor_glass_face_clean.png similarity index 100% rename from homedecor/textures/homedecor_glass_face_clean.png rename to homedecor_tables/textures/homedecor_glass_face_clean.png diff --git a/homedecor/textures/homedecor_glass_table_large_edges.png b/homedecor_tables/textures/homedecor_glass_table_large_edges.png similarity index 100% rename from homedecor/textures/homedecor_glass_table_large_edges.png rename to homedecor_tables/textures/homedecor_glass_table_large_edges.png diff --git a/homedecor/textures/homedecor_glass_table_large_inv.png b/homedecor_tables/textures/homedecor_glass_table_large_inv.png similarity index 100% rename from homedecor/textures/homedecor_glass_table_large_inv.png rename to homedecor_tables/textures/homedecor_glass_table_large_inv.png diff --git a/homedecor/textures/homedecor_glass_table_large_tb.png b/homedecor_tables/textures/homedecor_glass_table_large_tb.png similarity index 100% rename from homedecor/textures/homedecor_glass_table_large_tb.png rename to homedecor_tables/textures/homedecor_glass_table_large_tb.png diff --git a/homedecor/textures/homedecor_glass_table_small_round.png b/homedecor_tables/textures/homedecor_glass_table_small_round.png similarity index 100% rename from homedecor/textures/homedecor_glass_table_small_round.png rename to homedecor_tables/textures/homedecor_glass_table_small_round.png diff --git a/homedecor/textures/homedecor_glass_table_small_round_inv.png b/homedecor_tables/textures/homedecor_glass_table_small_round_inv.png similarity index 100% rename from homedecor/textures/homedecor_glass_table_small_round_inv.png rename to homedecor_tables/textures/homedecor_glass_table_small_round_inv.png diff --git a/homedecor/textures/homedecor_glass_table_small_square.png b/homedecor_tables/textures/homedecor_glass_table_small_square.png similarity index 100% rename from homedecor/textures/homedecor_glass_table_small_square.png rename to homedecor_tables/textures/homedecor_glass_table_small_square.png diff --git a/homedecor/textures/homedecor_glass_table_small_square_inv.png b/homedecor_tables/textures/homedecor_glass_table_small_square_inv.png similarity index 100% rename from homedecor/textures/homedecor_glass_table_small_square_inv.png rename to homedecor_tables/textures/homedecor_glass_table_small_square_inv.png diff --git a/homedecor/textures/homedecor_table_legs_brass.png b/homedecor_tables/textures/homedecor_table_legs_brass.png similarity index 100% rename from homedecor/textures/homedecor_table_legs_brass.png rename to homedecor_tables/textures/homedecor_table_legs_brass.png diff --git a/homedecor/textures/homedecor_table_legs_wrought_iron.png b/homedecor_tables/textures/homedecor_table_legs_wrought_iron.png similarity index 100% rename from homedecor/textures/homedecor_table_legs_wrought_iron.png rename to homedecor_tables/textures/homedecor_table_legs_wrought_iron.png diff --git a/homedecor/textures/homedecor_utility_table_edges.png b/homedecor_tables/textures/homedecor_utility_table_edges.png similarity index 100% rename from homedecor/textures/homedecor_utility_table_edges.png rename to homedecor_tables/textures/homedecor_utility_table_edges.png diff --git a/homedecor/textures/homedecor_utility_table_legs.png b/homedecor_tables/textures/homedecor_utility_table_legs.png similarity index 100% rename from homedecor/textures/homedecor_utility_table_legs.png rename to homedecor_tables/textures/homedecor_utility_table_legs.png diff --git a/homedecor/textures/homedecor_utility_table_legs_inv.png b/homedecor_tables/textures/homedecor_utility_table_legs_inv.png similarity index 100% rename from homedecor/textures/homedecor_utility_table_legs_inv.png rename to homedecor_tables/textures/homedecor_utility_table_legs_inv.png diff --git a/homedecor/textures/homedecor_utility_table_tb.png b/homedecor_tables/textures/homedecor_utility_table_tb.png similarity index 100% rename from homedecor/textures/homedecor_utility_table_tb.png rename to homedecor_tables/textures/homedecor_utility_table_tb.png diff --git a/homedecor/textures/homedecor_wood_table_large_edges.png b/homedecor_tables/textures/homedecor_wood_table_large_edges.png similarity index 100% rename from homedecor/textures/homedecor_wood_table_large_edges.png rename to homedecor_tables/textures/homedecor_wood_table_large_edges.png diff --git a/homedecor/textures/homedecor_wood_table_large_inv.png b/homedecor_tables/textures/homedecor_wood_table_large_inv.png similarity index 100% rename from homedecor/textures/homedecor_wood_table_large_inv.png rename to homedecor_tables/textures/homedecor_wood_table_large_inv.png diff --git a/homedecor/textures/homedecor_wood_table_large_tb.png b/homedecor_tables/textures/homedecor_wood_table_large_tb.png similarity index 100% rename from homedecor/textures/homedecor_wood_table_large_tb.png rename to homedecor_tables/textures/homedecor_wood_table_large_tb.png diff --git a/homedecor/textures/homedecor_wood_table_small_round.png b/homedecor_tables/textures/homedecor_wood_table_small_round.png similarity index 100% rename from homedecor/textures/homedecor_wood_table_small_round.png rename to homedecor_tables/textures/homedecor_wood_table_small_round.png diff --git a/homedecor/textures/homedecor_wood_table_small_round_inv.png b/homedecor_tables/textures/homedecor_wood_table_small_round_inv.png similarity index 100% rename from homedecor/textures/homedecor_wood_table_small_round_inv.png rename to homedecor_tables/textures/homedecor_wood_table_small_round_inv.png diff --git a/homedecor/textures/homedecor_wood_table_small_square.png b/homedecor_tables/textures/homedecor_wood_table_small_square.png similarity index 100% rename from homedecor/textures/homedecor_wood_table_small_square.png rename to homedecor_tables/textures/homedecor_wood_table_small_square.png diff --git a/homedecor/textures/homedecor_wood_table_small_square_inv.png b/homedecor_tables/textures/homedecor_wood_table_small_square_inv.png similarity index 100% rename from homedecor/textures/homedecor_wood_table_small_square_inv.png rename to homedecor_tables/textures/homedecor_wood_table_small_square_inv.png diff --git a/homedecor_trash_cans/depends.txt b/homedecor_trash_cans/depends.txt new file mode 100644 index 00000000..ac31e7dd --- /dev/null +++ b/homedecor_trash_cans/depends.txt @@ -0,0 +1,4 @@ +homedecor_common +default +basic_materials +dye diff --git a/homedecor/trash_cans.lua b/homedecor_trash_cans/init.lua similarity index 68% rename from homedecor/trash_cans.lua rename to homedecor_trash_cans/init.lua index 7da6c045..dbd4e111 100644 --- a/homedecor/trash_cans.lua +++ b/homedecor_trash_cans/init.lua @@ -1,15 +1,17 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext local tg_cbox = { type = "fixed", fixed = { -0.35, -0.5, -0.35, 0.35, 0.4, 0.35 } } +local trashcan_green = 0x00006000 + homedecor.register("trash_can_green", { drawtype = "mesh", mesh = "homedecor_trash_can_green.obj", - tiles = { "homedecor_pool_table_baize.png" }, + tiles = { { name = "homedecor_generic_plastic.png", color = trashcan_green } }, inventory_image = "homedecor_trash_can_green_inv.png", description = S("Green Trash Can"), groups = {snappy=3}, @@ -23,7 +25,7 @@ homedecor.register("trash_can_green", { homedecor.register("trash_can_green_open", { drawtype = "mesh", mesh = "homedecor_trash_can_green_open.obj", - tiles = { "homedecor_pool_table_baize.png" }, + tiles = { { name = "homedecor_generic_plastic.png", color = trashcan_green } }, groups = {snappy=3, not_in_creative_inventory=1}, selection_box = tg_cbox, collision_box = tg_cbox, @@ -64,3 +66,23 @@ homedecor.register("trash_can", { selection_box = trash_cbox, collision_box = trash_cbox, }) + +-- crafting + + +minetest.register_craft( { + output = "homedecor:trash_can 3", + recipe = { + { "basic_materials:steel_wire", "", "basic_materials:steel_wire" }, + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" } + }, +}) + +minetest.register_craft({ + output = "homedecor:trash_can_green", + recipe = { + { "basic_materials:plastic_sheet", "", "basic_materials:plastic_sheet" }, + { "basic_materials:plastic_sheet", "dye:green", "basic_materials:plastic_sheet" }, + { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } + }, +}) diff --git a/homedecor/models/homedecor_trash_can.obj b/homedecor_trash_cans/models/homedecor_trash_can.obj similarity index 100% rename from homedecor/models/homedecor_trash_can.obj rename to homedecor_trash_cans/models/homedecor_trash_can.obj diff --git a/homedecor/models/homedecor_trash_can_green.obj b/homedecor_trash_cans/models/homedecor_trash_can_green.obj similarity index 100% rename from homedecor/models/homedecor_trash_can_green.obj rename to homedecor_trash_cans/models/homedecor_trash_can_green.obj diff --git a/homedecor/models/homedecor_trash_can_green_open.obj b/homedecor_trash_cans/models/homedecor_trash_can_green_open.obj similarity index 100% rename from homedecor/models/homedecor_trash_can_green_open.obj rename to homedecor_trash_cans/models/homedecor_trash_can_green_open.obj diff --git a/homedecor/sounds/homedecor_trash_all.ogg b/homedecor_trash_cans/sounds/homedecor_trash_all.ogg similarity index 100% rename from homedecor/sounds/homedecor_trash_all.ogg rename to homedecor_trash_cans/sounds/homedecor_trash_all.ogg diff --git a/homedecor/textures/homedecor_trash_can.png b/homedecor_trash_cans/textures/homedecor_trash_can.png similarity index 100% rename from homedecor/textures/homedecor_trash_can.png rename to homedecor_trash_cans/textures/homedecor_trash_can.png diff --git a/homedecor/textures/homedecor_trash_can_green_inv.png b/homedecor_trash_cans/textures/homedecor_trash_can_green_inv.png similarity index 100% rename from homedecor/textures/homedecor_trash_can_green_inv.png rename to homedecor_trash_cans/textures/homedecor_trash_can_green_inv.png diff --git a/homedecor/textures/homedecor_trash_can_inv.png b/homedecor_trash_cans/textures/homedecor_trash_can_inv.png similarity index 100% rename from homedecor/textures/homedecor_trash_can_inv.png rename to homedecor_trash_cans/textures/homedecor_trash_can_inv.png diff --git a/homedecor_wardrobe/depends.txt b/homedecor_wardrobe/depends.txt new file mode 100644 index 00000000..084de058 --- /dev/null +++ b/homedecor_wardrobe/depends.txt @@ -0,0 +1,4 @@ +homedecor_common +default +homedecor_misc? +skinsdb? diff --git a/homedecor_wardrobe/init.lua b/homedecor_wardrobe/init.lua new file mode 100644 index 00000000..4927ed3f --- /dev/null +++ b/homedecor_wardrobe/init.lua @@ -0,0 +1,212 @@ +modpath = minetest.get_modpath("homedecor") + +screwdriver = screwdriver or {} + +local placeholder_node = "air" +local wd_cbox = {type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5}} + +-- cache set_textures function (fallback to old version) +-- default.player_set_textures is deprecated and will be removed in future +local set_player_textures = + minetest.get_modpath("player_api") and player_api.set_textures + or default.player_set_textures + +local armor_mod_path = minetest.get_modpath("3d_armor") + +local skinslist = {"male1", "male2", "male3", "male4", "male5"} +local default_skin = "character.png" +local skinsdb_mod_path = minetest.get_modpath("skinsdb") + +if skinsdb_mod_path then + + for _, shrt in ipairs(skinslist) do + + for _, prefix in ipairs({"", "fe"}) do + + local skin_name = prefix..shrt + local skin_obj = skins.new("homedecor_clothes_"..skin_name..".png") + + skin_obj:set_preview("homedecor_clothes_"..skin_name.."_preview.png") + skin_obj:set_texture("homedecor_clothes_"..skin_name..".png") + skin_obj:set_meta("name", "Wardrobe "..skin_name) + skin_obj:set_meta("author", 'Calinou and Jordach') + skin_obj:set_meta("license", 'CC-by-SA-4.0') + + local file = io.open(modpath .. + "/textures/homedecor_clothes_" .. skin_name .. ".png", "r") + + skin_obj:set_meta("format", skins.get_skin_format(file)) + + file:close() + + skin_obj:set_meta("in_inventory_list", false) + end + end +end + +local function get_player_skin(player) + + local skin = player:get_attribute("homedecor:player_skin") + + if not skin or skin == "" then + return default_skin, true + end + + return skin, false +end + +local function set_player_skin(player, skin, save) + + if skinsdb_mod_path then + + skins.set_player_skin(player, skin or skins.default) + + elseif armor_mod_path then -- if 3D_armor's installed, let it set the skin + + armor.textures[player:get_player_name()].skin = skin or default_skin + armor:update_player_visuals(player) + else + set_player_textures(player, { skin or default_skin}) + end + + if save and not skinsdb_mod_path then + + if skin == default_skin then + skin = "default" + player:set_attribute("homedecor:player_skin", "") + else + player:set_attribute("homedecor:player_skin", skin) + end + end +end + +local function unset_player_skin(player) + set_player_skin(player, nil, true) +end + +local def = { + + description = "Wardrobe", + drawtype = "mesh", + mesh = "homedecor_bedroom_wardrobe.obj", + tiles = { + {name = "homedecor_generic_wood_plain.png", color = 0xffa76820}, + "homedecor_wardrobe_drawers.png", + "homedecor_wardrobe_doors.png" + }, + inventory_image = "homedecor_wardrobe_inv.png", + + paramtype = "light", + paramtype2 = "facedir", + + groups = {snappy = 3}, + selection_box = wd_cbox, + collision_box = wd_cbox, + sounds = default.node_sound_wood_defaults(), + + on_rotate = screwdriver.rotate_simple, + + on_place = function(itemstack, placer, pointed_thing) + + return homedecor.stack_vertically(itemstack, placer, pointed_thing, + itemstack:get_name(), "placeholder") + end, + + can_dig = function(pos,player) + + local meta = minetest.get_meta(pos) + + return meta:get_inventory():is_empty("main") + end, + + on_construct = function(pos) + + local meta = minetest.get_meta(pos) + + meta:set_string("infotext", "Wardrobe") + + meta:get_inventory():set_size("main", 10) + + -- textures made by the Minetest community (mostly Calinou and Jordach) + local clothes_strings = "" + + for i = 1, 5 do + + clothes_strings = clothes_strings .. + "image_button_exit[" .. (i-1) .. + ".5,0;1.1,2;homedecor_clothes_" .. skinslist[i] .. + "_preview.png;" .. skinslist[i] .. ";]" .. + "image_button_exit[" .. (i-1) .. + ".5,2;1.1,2;homedecor_clothes_fe" .. skinslist[i] .. + "_preview.png;fe" .. skinslist[i] .. ";]" + end + + meta:set_string("formspec", "size[5.5,8.5]" .. + default.gui_bg .. default.gui_bg_img .. default.gui_slots .. + "vertlabel[0,0.5;" .. minetest.formspec_escape("Clothes") .. "]" .. + "button_exit[0,3.29;0.6,0.6;default;x]" .. + clothes_strings .. + "vertlabel[0,5.2;" .. minetest.formspec_escape("Storage") .. "]" .. + "list[current_name;main;0.5,4.5;5,2;]" .. + "list[current_player;main;0.5,6.8;5,2;]" .. + "listring[]" + ) + end, + + on_receive_fields = function(pos, formname, fields, sender) + + if fields.default then + + set_player_skin(sender, nil, "player") + + return + end + + for i = 1, 5 do + + if fields[skinslist[i]] then + + set_player_skin(sender, + "homedecor_clothes_" .. skinslist[i] .. ".png", "player") + break + + elseif fields["fe" .. skinslist[i]] then + + set_player_skin(sender, + "homedecor_clothes_fe" .. skinslist[i] .. ".png", "player") + break + end + end + end +} + +-- register the actual minetest node +minetest.register_node(":homedecor:wardrobe", def) + +minetest.register_alias("homedecor:wardrobe_bottom", "homedecor:wardrobe") +minetest.register_alias("homedecor:wardrobe_top", "air") + +if not skinsdb_mod_path then -- If not managed by skinsdb + + minetest.register_on_joinplayer(function(player) + + local skin = player:get_attribute("homedecor:player_skin") + + if skin and skin ~= "" then + + -- setting player skin on connect has no effect, so delay skin change + minetest.after(1, function(player, skin) + set_player_skin(player, skin) + end, player, skin) + end + end) +end + +minetest.register_craft( { + output = "homedecor:wardrobe", + recipe = { + { "homedecor:drawer_small", "homedecor:kitchen_cabinet" }, + { "homedecor:drawer_small", "default:wood" }, + { "homedecor:drawer_small", "default:wood" } + }, +}) diff --git a/homedecor/models/homedecor_bedroom_wardrobe.obj b/homedecor_wardrobe/models/homedecor_bedroom_wardrobe.obj similarity index 100% rename from homedecor/models/homedecor_bedroom_wardrobe.obj rename to homedecor_wardrobe/models/homedecor_bedroom_wardrobe.obj diff --git a/homedecor/textures/homedecor_clothes_female1.png b/homedecor_wardrobe/textures/homedecor_clothes_female1.png similarity index 100% rename from homedecor/textures/homedecor_clothes_female1.png rename to homedecor_wardrobe/textures/homedecor_clothes_female1.png diff --git a/homedecor/textures/homedecor_clothes_female1_preview.png b/homedecor_wardrobe/textures/homedecor_clothes_female1_preview.png similarity index 100% rename from homedecor/textures/homedecor_clothes_female1_preview.png rename to homedecor_wardrobe/textures/homedecor_clothes_female1_preview.png diff --git a/homedecor/textures/homedecor_clothes_female2.png b/homedecor_wardrobe/textures/homedecor_clothes_female2.png similarity index 100% rename from homedecor/textures/homedecor_clothes_female2.png rename to homedecor_wardrobe/textures/homedecor_clothes_female2.png diff --git a/homedecor/textures/homedecor_clothes_female2_preview.png b/homedecor_wardrobe/textures/homedecor_clothes_female2_preview.png similarity index 100% rename from homedecor/textures/homedecor_clothes_female2_preview.png rename to homedecor_wardrobe/textures/homedecor_clothes_female2_preview.png diff --git a/homedecor/textures/homedecor_clothes_female3.png b/homedecor_wardrobe/textures/homedecor_clothes_female3.png similarity index 100% rename from homedecor/textures/homedecor_clothes_female3.png rename to homedecor_wardrobe/textures/homedecor_clothes_female3.png diff --git a/homedecor/textures/homedecor_clothes_female3_preview.png b/homedecor_wardrobe/textures/homedecor_clothes_female3_preview.png similarity index 100% rename from homedecor/textures/homedecor_clothes_female3_preview.png rename to homedecor_wardrobe/textures/homedecor_clothes_female3_preview.png diff --git a/homedecor_wardrobe/textures/homedecor_clothes_female4.png b/homedecor_wardrobe/textures/homedecor_clothes_female4.png new file mode 100644 index 00000000..87c9e46e Binary files /dev/null and b/homedecor_wardrobe/textures/homedecor_clothes_female4.png differ diff --git a/homedecor_wardrobe/textures/homedecor_clothes_female4_preview.png b/homedecor_wardrobe/textures/homedecor_clothes_female4_preview.png new file mode 100644 index 00000000..4a939334 Binary files /dev/null and b/homedecor_wardrobe/textures/homedecor_clothes_female4_preview.png differ diff --git a/homedecor_wardrobe/textures/homedecor_clothes_female5.png b/homedecor_wardrobe/textures/homedecor_clothes_female5.png new file mode 100644 index 00000000..be8d97c3 Binary files /dev/null and b/homedecor_wardrobe/textures/homedecor_clothes_female5.png differ diff --git a/homedecor_wardrobe/textures/homedecor_clothes_female5_preview.png b/homedecor_wardrobe/textures/homedecor_clothes_female5_preview.png new file mode 100644 index 00000000..4ebf47b6 Binary files /dev/null and b/homedecor_wardrobe/textures/homedecor_clothes_female5_preview.png differ diff --git a/homedecor/textures/homedecor_clothes_male1.png b/homedecor_wardrobe/textures/homedecor_clothes_male1.png similarity index 100% rename from homedecor/textures/homedecor_clothes_male1.png rename to homedecor_wardrobe/textures/homedecor_clothes_male1.png diff --git a/homedecor/textures/homedecor_clothes_male1_preview.png b/homedecor_wardrobe/textures/homedecor_clothes_male1_preview.png similarity index 100% rename from homedecor/textures/homedecor_clothes_male1_preview.png rename to homedecor_wardrobe/textures/homedecor_clothes_male1_preview.png diff --git a/homedecor/textures/homedecor_clothes_male2.png b/homedecor_wardrobe/textures/homedecor_clothes_male2.png similarity index 100% rename from homedecor/textures/homedecor_clothes_male2.png rename to homedecor_wardrobe/textures/homedecor_clothes_male2.png diff --git a/homedecor/textures/homedecor_clothes_male2_preview.png b/homedecor_wardrobe/textures/homedecor_clothes_male2_preview.png similarity index 100% rename from homedecor/textures/homedecor_clothes_male2_preview.png rename to homedecor_wardrobe/textures/homedecor_clothes_male2_preview.png diff --git a/homedecor/textures/homedecor_clothes_male3.png b/homedecor_wardrobe/textures/homedecor_clothes_male3.png similarity index 100% rename from homedecor/textures/homedecor_clothes_male3.png rename to homedecor_wardrobe/textures/homedecor_clothes_male3.png diff --git a/homedecor/textures/homedecor_clothes_male3_preview.png b/homedecor_wardrobe/textures/homedecor_clothes_male3_preview.png similarity index 100% rename from homedecor/textures/homedecor_clothes_male3_preview.png rename to homedecor_wardrobe/textures/homedecor_clothes_male3_preview.png diff --git a/homedecor/textures/homedecor_clothes_male4.png b/homedecor_wardrobe/textures/homedecor_clothes_male4.png similarity index 100% rename from homedecor/textures/homedecor_clothes_male4.png rename to homedecor_wardrobe/textures/homedecor_clothes_male4.png diff --git a/homedecor/textures/homedecor_clothes_male4_preview.png b/homedecor_wardrobe/textures/homedecor_clothes_male4_preview.png similarity index 100% rename from homedecor/textures/homedecor_clothes_male4_preview.png rename to homedecor_wardrobe/textures/homedecor_clothes_male4_preview.png diff --git a/homedecor/textures/homedecor_clothes_male5.png b/homedecor_wardrobe/textures/homedecor_clothes_male5.png similarity index 100% rename from homedecor/textures/homedecor_clothes_male5.png rename to homedecor_wardrobe/textures/homedecor_clothes_male5.png diff --git a/homedecor/textures/homedecor_clothes_male5_preview.png b/homedecor_wardrobe/textures/homedecor_clothes_male5_preview.png similarity index 100% rename from homedecor/textures/homedecor_clothes_male5_preview.png rename to homedecor_wardrobe/textures/homedecor_clothes_male5_preview.png diff --git a/homedecor_wardrobe/textures/homedecor_generic_wood_plain.png b/homedecor_wardrobe/textures/homedecor_generic_wood_plain.png new file mode 100644 index 00000000..04d3a913 Binary files /dev/null and b/homedecor_wardrobe/textures/homedecor_generic_wood_plain.png differ diff --git a/homedecor/textures/homedecor_wardrobe_doors.png b/homedecor_wardrobe/textures/homedecor_wardrobe_doors.png similarity index 100% rename from homedecor/textures/homedecor_wardrobe_doors.png rename to homedecor_wardrobe/textures/homedecor_wardrobe_doors.png diff --git a/homedecor/textures/homedecor_wardrobe_drawers.png b/homedecor_wardrobe/textures/homedecor_wardrobe_drawers.png similarity index 100% rename from homedecor/textures/homedecor_wardrobe_drawers.png rename to homedecor_wardrobe/textures/homedecor_wardrobe_drawers.png diff --git a/homedecor/textures/homedecor_wardrobe_inv.png b/homedecor_wardrobe/textures/homedecor_wardrobe_inv.png similarity index 100% rename from homedecor/textures/homedecor_wardrobe_inv.png rename to homedecor_wardrobe/textures/homedecor_wardrobe_inv.png diff --git a/homedecor_windows_and_treatments/depends.txt b/homedecor_windows_and_treatments/depends.txt new file mode 100644 index 00000000..8c8316ab --- /dev/null +++ b/homedecor_windows_and_treatments/depends.txt @@ -0,0 +1,5 @@ +homedecor_common +default +basic_materials +unifieddyes +building_blocks? diff --git a/homedecor/window_treatments.lua b/homedecor_windows_and_treatments/init.lua similarity index 51% rename from homedecor/window_treatments.lua rename to homedecor_windows_and_treatments/init.lua index 71935b0c..04bc3765 100644 --- a/homedecor/window_treatments.lua +++ b/homedecor_windows_and_treatments/init.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext homedecor.register("window_quartered", { description = S("Window (quartered)"), @@ -99,7 +99,7 @@ homedecor.register("blinds_thin", { selection_box = wb2_cbox }) -minetest.register_node("homedecor:curtain_closed", { +minetest.register_node(":homedecor:curtain_closed", { description = S("Curtains"), tiles = { "homedecor_curtain.png" }, inventory_image = "homedecor_curtain.png", @@ -112,10 +112,8 @@ minetest.register_node("homedecor:curtain_closed", { paramtype2 = "colorwallmounted", palette = "unifieddyes_palette_colorwallmounted.png", selection_box = { type = "wallmounted" }, - after_dig_node = unifieddyes.after_dig_node, after_place_node = function(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing) - unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) end, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z}) @@ -128,7 +126,7 @@ minetest.register_node("homedecor:curtain_closed", { end }) -minetest.register_node("homedecor:curtain_open", { +minetest.register_node(":homedecor:curtain_open", { description = S("Curtains (open)"), tiles = { "homedecor_curtain_open.png" }, inventory_image = "homedecor_curtain_open.png", @@ -141,10 +139,8 @@ minetest.register_node("homedecor:curtain_open", { paramtype2 = "colorwallmounted", palette = "unifieddyes_palette_colorwallmounted.png", selection_box = { type = "wallmounted" }, - after_dig_node = unifieddyes.after_dig_node, after_place_node = function(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing) - unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) end, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z}) @@ -215,6 +211,106 @@ homedecor.register("stained_glass", { } }) +-- Various kinds of window shutters + +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 old shutters 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 +}) + -- Convert old curtain nodes to param2-colorization local curtaincolors = { @@ -234,7 +330,7 @@ for _, color in ipairs(curtaincolors) do end minetest.register_lbm({ - name = "homedecor:convert_curtains", + name = ":homedecor:convert_curtains", label = "Convert static curtain nodes to use param2 color", run_at_every_load = false, nodenames = homedecor.old_static_curtain_nodes, @@ -262,3 +358,176 @@ minetest.register_lbm({ meta:set_string("dye", "unifieddyes:"..metadye) end }) + +-- crafting + + +minetest.register_craft( { + output = "homedecor:shutter 2", + recipe = { + { "group:stick", "group:stick" }, + { "group:stick", "group:stick" }, + { "group:stick", "group:stick" }, + }, +}) + +unifieddyes.register_color_craft({ + output = "homedecor:shutter_colored", + palette = "wallmounted", + type = "shapeless", + neutral_node = "homedecor:shutter", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:shutter_oak", + burntime = 30, +}) + + +minetest.register_craft( { + output = "homedecor:curtain_closed 4", + recipe = { + { "wool:white", "", ""}, + { "wool:white", "", ""}, + { "wool:white", "", ""}, + }, +}) + +minetest.register_craft( { + output = "homedecor:curtain_closed 4", + recipe = { + { "cottages:wool", "", ""}, + { "cottages:wool", "", ""}, + { "cottages:wool", "", ""}, + }, +}) + +unifieddyes.register_color_craft({ + output = "homedecor:curtain_closed", + palette = "wallmounted", + type = "shapeless", + neutral_node = "homedecor:curtain_closed", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +unifieddyes.register_color_craft({ + output = "homedecor:curtain_open", + palette = "wallmounted", + type = "shapeless", + neutral_node = "homedecor:curtain_open", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +local mats = { + { "brass", "homedecor:pole_brass" }, + { "wrought_iron", "homedecor:pole_wrought_iron" }, + { "wood", "group:stick" } +} + +for i in ipairs(mats) do + local material = mats[i][1] + local ingredient = mats[i][2] + minetest.register_craft( { + output = "homedecor:curtainrod_"..material.." 3", + recipe = { + { ingredient, ingredient, ingredient }, + }, + }) +end + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:window_plain 8", + recipe = { + "dye:white", + "dye:white", + "dye:white", + "dye:white", + "building_blocks:woodglass" + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:window_quartered", + recipe = { + "dye:white", + "group:stick", + "group:stick", + "homedecor:window_plain" + } +}) + +minetest.register_craft({ + output = "homedecor:blinds_thin", + recipe = { + { "group:stick", "basic_materials:plastic_sheet", "group:stick" }, + { "farming:string", "basic_materials:plastic_strip", "" }, + { "", "basic_materials:plastic_strip", "" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:blinds_thick", + recipe = { + { "group:stick", "basic_materials:plastic_sheet", "group:stick" }, + { "farming:string", "basic_materials:plastic_strip", "basic_materials:plastic_strip" }, + { "", "basic_materials:plastic_strip", "basic_materials:plastic_strip" }, + }, +}) + +minetest.register_craft( { + output = "homedecor:window_flowerbox", + recipe = { + { "homedecor:roof_tile_terracotta", "default:dirt", "homedecor:roof_tile_terracotta" }, + { "", "homedecor:roof_tile_terracotta", "" }, + }, +}) + +minetest.register_craft({ + output = "homedecor:stained_glass 8", + recipe = { + {"", "dye:blue", ""}, + {"dye:red", "default:glass", "dye:green"}, + {"", "dye:yellow", ""}, + }, +}) + +minetest.register_craft({ + output = "homedecor:stained_glass 3", + recipe = { + {"", "dye:blue", ""}, + {"dye:red", "xpanes:pane_flat", "dye:green"}, + {"", "dye:yellow", ""}, + }, +}) + +minetest.register_craft({ + output = "homedecor:stained_glass 2", + recipe = { + {"", "dye:blue", ""}, + {"dye:red", "cottages:glass_pane_side", "dye:green"}, + {"", "dye:yellow", ""}, + }, +}) + +minetest.register_craft({ + output = "homedecor:stained_glass 2", + recipe = { + {"", "dye:blue", ""}, + {"dye:red", "cottages:glass_pane", "dye:green"}, + {"", "dye:yellow", ""}, + }, +}) + diff --git a/homedecor/models/homedecor_window_shutter.obj b/homedecor_windows_and_treatments/models/homedecor_window_shutter.obj similarity index 100% rename from homedecor/models/homedecor_window_shutter.obj rename to homedecor_windows_and_treatments/models/homedecor_window_shutter.obj diff --git a/homedecor/models/homedecor_windowblind_thick.obj b/homedecor_windows_and_treatments/models/homedecor_windowblind_thick.obj similarity index 100% rename from homedecor/models/homedecor_windowblind_thick.obj rename to homedecor_windows_and_treatments/models/homedecor_windowblind_thick.obj diff --git a/homedecor/models/homedecor_windowblind_thin.obj b/homedecor_windows_and_treatments/models/homedecor_windowblind_thin.obj similarity index 100% rename from homedecor/models/homedecor_windowblind_thin.obj rename to homedecor_windows_and_treatments/models/homedecor_windowblind_thin.obj diff --git a/homedecor/textures/homedecor_curtain.png b/homedecor_windows_and_treatments/textures/homedecor_curtain.png similarity index 100% rename from homedecor/textures/homedecor_curtain.png rename to homedecor_windows_and_treatments/textures/homedecor_curtain.png diff --git a/homedecor/textures/homedecor_curtain_open.png b/homedecor_windows_and_treatments/textures/homedecor_curtain_open.png similarity index 100% rename from homedecor/textures/homedecor_curtain_open.png rename to homedecor_windows_and_treatments/textures/homedecor_curtain_open.png diff --git a/homedecor/textures/homedecor_curtainrod_brass_inv.png b/homedecor_windows_and_treatments/textures/homedecor_curtainrod_brass_inv.png similarity index 100% rename from homedecor/textures/homedecor_curtainrod_brass_inv.png rename to homedecor_windows_and_treatments/textures/homedecor_curtainrod_brass_inv.png diff --git a/homedecor/textures/homedecor_curtainrod_wood_inv.png b/homedecor_windows_and_treatments/textures/homedecor_curtainrod_wood_inv.png similarity index 100% rename from homedecor/textures/homedecor_curtainrod_wood_inv.png rename to homedecor_windows_and_treatments/textures/homedecor_curtainrod_wood_inv.png diff --git a/homedecor/textures/homedecor_curtainrod_wrought_iron_inv.png b/homedecor_windows_and_treatments/textures/homedecor_curtainrod_wrought_iron_inv.png similarity index 100% rename from homedecor/textures/homedecor_curtainrod_wrought_iron_inv.png rename to homedecor_windows_and_treatments/textures/homedecor_curtainrod_wrought_iron_inv.png diff --git a/homedecor/textures/homedecor_flowerbox_bottom.png b/homedecor_windows_and_treatments/textures/homedecor_flowerbox_bottom.png similarity index 100% rename from homedecor/textures/homedecor_flowerbox_bottom.png rename to homedecor_windows_and_treatments/textures/homedecor_flowerbox_bottom.png diff --git a/homedecor/textures/homedecor_flowerbox_inv.png b/homedecor_windows_and_treatments/textures/homedecor_flowerbox_inv.png similarity index 100% rename from homedecor/textures/homedecor_flowerbox_inv.png rename to homedecor_windows_and_treatments/textures/homedecor_flowerbox_inv.png diff --git a/homedecor/textures/homedecor_flowerbox_sides.png b/homedecor_windows_and_treatments/textures/homedecor_flowerbox_sides.png similarity index 100% rename from homedecor/textures/homedecor_flowerbox_sides.png rename to homedecor_windows_and_treatments/textures/homedecor_flowerbox_sides.png diff --git a/homedecor/textures/homedecor_flowerbox_top.png b/homedecor_windows_and_treatments/textures/homedecor_flowerbox_top.png similarity index 100% rename from homedecor/textures/homedecor_flowerbox_top.png rename to homedecor_windows_and_treatments/textures/homedecor_flowerbox_top.png diff --git a/homedecor/textures/homedecor_stained_glass.png b/homedecor_windows_and_treatments/textures/homedecor_stained_glass.png similarity index 100% rename from homedecor/textures/homedecor_stained_glass.png rename to homedecor_windows_and_treatments/textures/homedecor_stained_glass.png diff --git a/homedecor/textures/homedecor_window_frame.png b/homedecor_windows_and_treatments/textures/homedecor_window_frame.png similarity index 100% rename from homedecor/textures/homedecor_window_frame.png rename to homedecor_windows_and_treatments/textures/homedecor_window_frame.png diff --git a/homedecor/textures/homedecor_window_quartered.png b/homedecor_windows_and_treatments/textures/homedecor_window_quartered.png similarity index 100% rename from homedecor/textures/homedecor_window_quartered.png rename to homedecor_windows_and_treatments/textures/homedecor_window_quartered.png diff --git a/homedecor/textures/homedecor_window_shutter.png b/homedecor_windows_and_treatments/textures/homedecor_window_shutter.png similarity index 100% rename from homedecor/textures/homedecor_window_shutter.png rename to homedecor_windows_and_treatments/textures/homedecor_window_shutter.png diff --git a/homedecor/textures/homedecor_window_shutter_inv.png b/homedecor_windows_and_treatments/textures/homedecor_window_shutter_inv.png similarity index 100% rename from homedecor/textures/homedecor_window_shutter_inv.png rename to homedecor_windows_and_treatments/textures/homedecor_window_shutter_inv.png diff --git a/homedecor/textures/homedecor_window_sides.png b/homedecor_windows_and_treatments/textures/homedecor_window_sides.png similarity index 100% rename from homedecor/textures/homedecor_window_sides.png rename to homedecor_windows_and_treatments/textures/homedecor_window_sides.png diff --git a/homedecor/textures/homedecor_windowblind_strings.png b/homedecor_windows_and_treatments/textures/homedecor_windowblind_strings.png similarity index 100% rename from homedecor/textures/homedecor_windowblind_strings.png rename to homedecor_windows_and_treatments/textures/homedecor_windowblind_strings.png diff --git a/homedecor/textures/homedecor_windowblind_thick_inv.png b/homedecor_windows_and_treatments/textures/homedecor_windowblind_thick_inv.png similarity index 100% rename from homedecor/textures/homedecor_windowblind_thick_inv.png rename to homedecor_windows_and_treatments/textures/homedecor_windowblind_thick_inv.png diff --git a/homedecor/textures/homedecor_windowblind_thin_inv.png b/homedecor_windows_and_treatments/textures/homedecor_windowblind_thin_inv.png similarity index 100% rename from homedecor/textures/homedecor_windowblind_thin_inv.png rename to homedecor_windows_and_treatments/textures/homedecor_windowblind_thin_inv.png diff --git a/homedecor/textures/homedecor_windowblinds.png b/homedecor_windows_and_treatments/textures/homedecor_windowblinds.png similarity index 100% rename from homedecor/textures/homedecor_windowblinds.png rename to homedecor_windows_and_treatments/textures/homedecor_windowblinds.png diff --git a/inbox/depends.txt b/inbox/depends.txt index ace758c7..e13666d7 100644 --- a/inbox/depends.txt +++ b/inbox/depends.txt @@ -1,3 +1,3 @@ default -homedecor_i18n +homedecor_common screwdriver? diff --git a/inbox/init.lua b/inbox/init.lua index 0d6ecb2f..36c9f98b 100644 --- a/inbox/init.lua +++ b/inbox/init.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext local inbox = {} local screwdriver = rawget(_G, "screwdriver") or {} diff --git a/itemframes/depends.txt b/itemframes/depends.txt index 29ebd95a..ae7019b6 100644 --- a/itemframes/depends.txt +++ b/itemframes/depends.txt @@ -1,3 +1,3 @@ default -homedecor_i18n +homedecor_common mesecons_mvps? diff --git a/itemframes/init.lua b/itemframes/init.lua index 843351c1..9b379058 100644 --- a/itemframes/init.lua +++ b/itemframes/init.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext local tmp = {} screwdriver = screwdriver or {} diff --git a/lavalamp/README.txt b/lavalamp/README.txt index c192e25d..832d624f 100644 --- a/lavalamp/README.txt +++ b/lavalamp/README.txt @@ -20,23 +20,5 @@ Recipe: Mod dependencies: wool, bucket -License: -Sourcecode: WTFPL (see below) -Graphics: WTFPL (see below) - See also: http://minetest.net/ - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - - Copyright (C) 2004 Sam Hocevar - - 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. diff --git a/lavalamp/depends.txt b/lavalamp/depends.txt index 99442029..bbc40a75 100644 --- a/lavalamp/depends.txt +++ b/lavalamp/depends.txt @@ -1,4 +1,4 @@ wool bucket -homedecor_i18n +homedecor_common unifieddyes diff --git a/lavalamp/init.lua b/lavalamp/init.lua index f4236c36..bf68aa93 100644 --- a/lavalamp/init.lua +++ b/lavalamp/init.lua @@ -1,10 +1,10 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext lavalamp = {} minetest.register_node("lavalamp:lavalamp", { - description = S("Lava Lamp"), + description = S("Lava Lamp/Light"), drawtype = "mesh", mesh = "lavalamp.obj", tiles = { @@ -28,7 +28,6 @@ minetest.register_node("lavalamp:lavalamp", { paramtype = "light", paramtype2 = "color", palette = "unifieddyes_palette_extended.png", - place_param2 = 240, sunlight_propagates = true, walkable = false, light_source = 14, @@ -39,8 +38,6 @@ minetest.register_node("lavalamp:lavalamp", { groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, ud_param2_colorable = 1}, sounds = default.node_sound_glass_defaults(), on_construct = unifieddyes.on_construct, - after_place_node = unifieddyes.recolor_on_place, - after_dig_node = unifieddyes.after_dig_node, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) node.name = "lavalamp:lavalamp_off" minetest.swap_node(pos, node) @@ -49,7 +46,7 @@ minetest.register_node("lavalamp:lavalamp", { }) minetest.register_node("lavalamp:lavalamp_off", { - description = S("Lava Lamp (off)"), + description = S("Lava Lamp/Light (off)"), drawtype = "mesh", mesh = "lavalamp.obj", tiles = { @@ -59,7 +56,6 @@ minetest.register_node("lavalamp:lavalamp_off", { paramtype = "light", paramtype2 = "color", palette = "unifieddyes_palette_extended.png", - place_param2 = 240, sunlight_propagates = true, walkable = false, selection_box = { @@ -70,13 +66,16 @@ minetest.register_node("lavalamp:lavalamp_off", { sounds = default.node_sound_glass_defaults(), drop = "lavalamp:lavalamp", on_construct = unifieddyes.on_construct, - after_place_node = unifieddyes.recolor_on_place, - after_dig_node = unifieddyes.after_dig_node, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) node.name = "lavalamp:lavalamp" minetest.swap_node(pos, node) return itemstack end, + drop = { + items = { + {items = {"lavalamp:lavalamp"}, inherit_color = true }, + } + } }) minetest.register_craft({ @@ -88,6 +87,17 @@ minetest.register_craft({ } }) +unifieddyes.register_color_craft({ + output = "lavalamp:lavalamp", + palette = "extended", + type = "shapeless", + neutral_node = "lavalamp:lavalamp", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + -- convert to param2 coloring local colors = { @@ -136,22 +146,3 @@ minetest.register_lbm({ end }) - -minetest.register_lbm({ - name = "lavalamp:recolor", - label = "Convert 89-color lamps to use UD extended palette", - run_at_every_load = false, - nodenames = { - "lavalamp:lavalamp", - "lavalamp:lavalamp_off" - }, - action = function(pos, node) - local meta = minetest.get_meta(pos) - if meta:get_string("palette") ~= "ext" then - minetest.swap_node(pos, { name = node.name, param2 = unifieddyes.convert_classic_palette[node.param2] }) - meta:set_string("palette", "ext") - end - end -}) - -minetest.log("action", "[lavalamp] loaded.") diff --git a/homedecor/listnodes.sh b/listnodes.sh similarity index 100% rename from homedecor/listnodes.sh rename to listnodes.sh diff --git a/lrfurn/README.txt b/lrfurn/README.txt index de8ee8d3..c86df3c2 100644 --- a/lrfurn/README.txt +++ b/lrfurn/README.txt @@ -63,23 +63,5 @@ Recipes: Mod dependencies: default, wool -License: -Sourcecode: WTFPL (see below) -Graphics: WTFPL (see below) - See also: http://minetest.net/ - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - - Copyright (C) 2004 Sam Hocevar - - 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. diff --git a/lrfurn/armchairs.lua b/lrfurn/armchairs.lua index 1155050a..6950cad0 100644 --- a/lrfurn/armchairs.lua +++ b/lrfurn/armchairs.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext local armchair_cbox = { type = "fixed", fixed = { @@ -25,9 +25,7 @@ minetest.register_node("lrfurn:armchair", { node_box = armchair_cbox, after_place_node = function(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing) - unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) end, - after_dig_node = unifieddyes.after_dig_node, on_rotate = unifieddyes.fix_after_screwdriver_nsew, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) if not clicker:is_player() then @@ -58,6 +56,17 @@ minetest.register_craft({ } }) +unifieddyes.register_color_craft({ + output = "lrfurn:armchair", + palette = "wallmounted", + type = "shapeless", + neutral_node = "lrfurn:armchair", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + -- convert old static nodes to param2 color lrfurn.old_static_armchairs = {} diff --git a/lrfurn/coffeetable.lua b/lrfurn/coffeetable.lua index f9246b8c..8b095cec 100644 --- a/lrfurn/coffeetable.lua +++ b/lrfurn/coffeetable.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext minetest.register_alias("lrfurn:coffeetable_back", "lrfurn:coffeetable") minetest.register_alias("lrfurn:coffeetable_front", "air") @@ -47,6 +47,15 @@ minetest.register_node("lrfurn:coffeetable", { end, }) +minetest.register_craft({ + output = "lrfurn:coffeetable", + type = "shapeless", + recipe = { + "lrfurn:endtable", + "lrfurn:endtable" + } +}) + minetest.register_craft({ output = "lrfurn:coffeetable", recipe = { diff --git a/lrfurn/depends.txt b/lrfurn/depends.txt index 973de176..398a4107 100644 --- a/lrfurn/depends.txt +++ b/lrfurn/depends.txt @@ -1,4 +1,4 @@ default wool -homedecor_i18n +homedecor_common unifieddyes diff --git a/lrfurn/endtable.lua b/lrfurn/endtable.lua index a318376f..470e907e 100644 --- a/lrfurn/endtable.lua +++ b/lrfurn/endtable.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext minetest.register_node("lrfurn:endtable", { description = S("End Table"), diff --git a/lrfurn/init.lua b/lrfurn/init.lua index 3cee2da8..6b389963 100644 --- a/lrfurn/init.lua +++ b/lrfurn/init.lua @@ -1,3 +1,4 @@ +local S = homedecor.gettext lrfurn = {} screwdriver = screwdriver or {} @@ -60,10 +61,11 @@ end function lrfurn.fix_sofa_rotation_nsew(pos, placer, itemstack, pointed_thing) local node = minetest.get_node(pos) + local colorbits = node.param2 - (node.param2 % 8) local yaw = placer:get_look_yaw() local dir = minetest.yaw_to_dir(yaw-1.5) local fdir = minetest.dir_to_wallmounted(dir) - minetest.swap_node(pos, { name = node.name, param2 = fdir }) + minetest.swap_node(pos, { name = node.name, param2 = fdir+colorbits }) end dofile(minetest.get_modpath("lrfurn").."/longsofas.lua") diff --git a/lrfurn/longsofas.lua b/lrfurn/longsofas.lua index 05db65d3..2df177c8 100644 --- a/lrfurn/longsofas.lua +++ b/lrfurn/longsofas.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext local longsofa_cbox = { type = "wallmounted", @@ -26,7 +26,6 @@ minetest.register_node("lrfurn:longsofa", { on_rotate = screwdriver.disallow, after_place_node = function(pos, placer, itemstack, pointed_thing) lrfurn.fix_sofa_rotation_nsew(pos, placer, itemstack, pointed_thing) - unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) local playername = placer:get_player_name() if minetest.is_protected(pos, placer:get_player_name()) then return true end @@ -42,7 +41,6 @@ minetest.register_node("lrfurn:longsofa", { end return itemstack end, - after_dig_node = unifieddyes.after_dig_node, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) if not clicker:is_player() then return itemstack @@ -72,6 +70,17 @@ minetest.register_craft({ } }) +unifieddyes.register_color_craft({ + output = "lrfurn:longsofa", + palette = "wallmounted", + type = "shapeless", + neutral_node = "lrfurn:longsofa", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + -- convert old static nodes to param2 colorization lrfurn.old_static_longsofas = {} diff --git a/lrfurn/sofas.lua b/lrfurn/sofas.lua index de1b784c..7d1cd53a 100644 --- a/lrfurn/sofas.lua +++ b/lrfurn/sofas.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext local sofa_cbox = { type = "wallmounted", @@ -26,7 +26,6 @@ minetest.register_node("lrfurn:sofa", { on_rotate = screwdriver.disallow, after_place_node = function(pos, placer, itemstack, pointed_thing) lrfurn.fix_sofa_rotation_nsew(pos, placer, itemstack, pointed_thing) - unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) local playername = placer:get_player_name() if minetest.is_protected(pos, placer:get_player_name()) then return true end @@ -42,7 +41,6 @@ minetest.register_node("lrfurn:sofa", { end return itemstack end, - after_dig_node = unifieddyes.after_dig_node, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) if not clicker:is_player() then return itemstack @@ -72,6 +70,17 @@ minetest.register_craft({ } }) +unifieddyes.register_color_craft({ + output = "lrfurn:sofa", + palette = "wallmounted", + type = "shapeless", + neutral_node = "lrfurn:sofa", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + -- convert old static nodes to param2 color lrfurn.old_static_sofas = {} diff --git a/plasmascreen/README.md b/plasmascreen/README.md index 4f338640..867c2621 100644 --- a/plasmascreen/README.md +++ b/plasmascreen/README.md @@ -12,5 +12,3 @@ the mod may occasionally refuse to place it (or it just appears for a moment). Just move over a bit, so that your target position is more directly in front of you. -Code, textures and model are WTFPL. - diff --git a/plasmascreen/depends.txt b/plasmascreen/depends.txt index 7b3e79f7..5a0ba066 100644 --- a/plasmascreen/depends.txt +++ b/plasmascreen/depends.txt @@ -1,2 +1,3 @@ default -homedecor +homedecor_common +homedecor_electronics diff --git a/plasmascreen/init.lua b/plasmascreen/init.lua index 6861bbe5..7b8c09a5 100644 --- a/plasmascreen/init.lua +++ b/plasmascreen/init.lua @@ -1,5 +1,5 @@ -local S = homedecor_i18n.gettext +local S = homedecor.gettext screwdriver = screwdriver or {}