diff options
| -rw-r--r-- | LICENSE | 961 | ||||
| -rw-r--r-- | autocrafter.lua | 2 | ||||
| -rw-r--r-- | autoplace_tubes.lua | 16 | ||||
| -rw-r--r-- | compat-chests.lua | 6 | ||||
| -rw-r--r-- | compat-furnaces.lua | 6 | ||||
| -rw-r--r-- | crafts.lua | 85 | ||||
| -rw-r--r-- | decorative_tubes.lua | 2 | ||||
| -rw-r--r-- | depends.txt | 1 | ||||
| -rw-r--r-- | devices.lua | 18 | ||||
| -rw-r--r-- | filter-injector.lua | 19 | ||||
| -rw-r--r-- | init.lua | 2 | ||||
| -rw-r--r-- | routing_tubes.lua | 19 | ||||
| -rw-r--r-- | signal_tubes.lua | 8 | ||||
| -rw-r--r-- | sorting_tubes.lua | 4 | ||||
| -rw-r--r-- | teleport_tube.lua | 4 | ||||
| -rw-r--r-- | textures/pipeworks_gear.png | bin | 0 -> 5845 bytes | |||
| -rw-r--r-- | trashcan.lua | 2 | ||||
| -rw-r--r-- | tube_registration.lua | 1 | ||||
| -rw-r--r-- | vacuum_tubes.lua | 8 | ||||
| -rw-r--r-- | wielder.lua | 1 | 
20 files changed, 668 insertions, 497 deletions
| @@ -1,12 +1,534 @@ -License for code: LGPL 3.0 -License for media and all other assets:  CC-by-SA 4.0 +                  GNU LESSER GENERAL PUBLIC LICENSE +                       Version 2.1, February 1999 -############################################################################### + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL.  It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + +                            Preamble + +  The licenses for most software are designed to take away your +freedom to share and change it.  By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + +  This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it.  You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + +  When we speak of free software, we are referring to freedom of use, +not price.  Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + +  To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights.  These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + +  For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you.  You must make sure that they, too, receive or can get the source +code.  If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it.  And you must show them these terms so they know their rights. + +  We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + +  To protect each distributor, we want to make it very clear that +there is no warranty for the free library.  Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + +  Finally, software patents pose a constant threat to the existence of +any free program.  We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder.  Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + +  Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License.  This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License.  We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + +  When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library.  The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom.  The Lesser General +Public License permits more lax criteria for linking other code with +the library. + +  We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License.  It also provides other free software developers Less +of an advantage over competing non-free programs.  These disadvantages +are the reason we use the ordinary General Public License for many +libraries.  However, the Lesser license provides advantages in certain +special circumstances. + +  For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard.  To achieve this, non-free programs must be +allowed to use the library.  A more frequent case is that a free +library does the same job as widely used non-free libraries.  In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + +  In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software.  For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + +  Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + +  The precise terms and conditions for copying, distribution and +modification follow.  Pay close attention to the difference between a +"work based on the library" and a "work that uses the library".  The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + +                  GNU LESSER GENERAL PUBLIC LICENSE +   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +  0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + +  A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + +  The "Library", below, refers to any such software library or work +which has been distributed under these terms.  A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language.  (Hereinafter, translation is +included without limitation in the term "modification".) + +  "Source code" for a work means the preferred form of the work for +making modifications to it.  For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + +  Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope.  The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it).  Whether that is true depends on what the Library does +and what the program that uses the Library does. + +  1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. -                   GNU LESSER GENERAL PUBLIC LICENSE +  You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + +  2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + +    a) The modified work must itself be a software library. + +    b) You must cause the files modified to carry prominent notices +    stating that you changed the files and the date of any change. + +    c) You must cause the whole of the work to be licensed at no +    charge to all third parties under the terms of this License. + +    d) If a facility in the modified Library refers to a function or a +    table of data to be supplied by an application program that uses +    the facility, other than as an argument passed when the facility +    is invoked, then you must make a good faith effort to ensure that, +    in the event an application does not supply such function or +    table, the facility still operates, and performs whatever part of +    its purpose remains meaningful. + +    (For example, a function in a library to compute square roots has +    a purpose that is entirely well-defined independent of the +    application.  Therefore, Subsection 2d requires that any +    application-supplied function or table used by this function must +    be optional: if the application does not supply it, the square +    root function must still compute square roots.) + +These requirements apply to the modified work as a whole.  If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works.  But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + +  3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library.  To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License.  (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.)  Do not make any other change in +these notices. + +  Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + +  This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + +  4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + +  If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + +  5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library".  Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + +  However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library".  The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + +  When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library.  The +threshold for this to be true is not precisely defined by law. + +  If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work.  (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + +  Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + +  6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + +  You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License.  You must supply a copy of this License.  If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License.  Also, you must do one +of these things: + +    a) Accompany the work with the complete corresponding +    machine-readable source code for the Library including whatever +    changes were used in the work (which must be distributed under +    Sections 1 and 2 above); and, if the work is an executable linked +    with the Library, with the complete machine-readable "work that +    uses the Library", as object code and/or source code, so that the +    user can modify the Library and then relink to produce a modified +    executable containing the modified Library.  (It is understood +    that the user who changes the contents of definitions files in the +    Library will not necessarily be able to recompile the application +    to use the modified definitions.) + +    b) Use a suitable shared library mechanism for linking with the +    Library.  A suitable mechanism is one that (1) uses at run time a +    copy of the library already present on the user's computer system, +    rather than copying library functions into the executable, and (2) +    will operate properly with a modified version of the library, if +    the user installs one, as long as the modified version is +    interface-compatible with the version that the work was made with. + +    c) Accompany the work with a written offer, valid for at +    least three years, to give the same user the materials +    specified in Subsection 6a, above, for a charge no more +    than the cost of performing this distribution. + +    d) If distribution of the work is made by offering access to copy +    from a designated place, offer equivalent access to copy the above +    specified materials from the same place. + +    e) Verify that the user has already received a copy of these +    materials or that you have already sent this user a copy. + +  For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it.  However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + +  It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system.  Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + +  7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + +    a) Accompany the combined library with a copy of the same work +    based on the Library, uncombined with any other library +    facilities.  This must be distributed under the terms of the +    Sections above. + +    b) Give prominent notice with the combined library of the fact +    that part of it is a work based on the Library, and explaining +    where to find the accompanying uncombined form of the same work. + +  8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License.  Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License.  However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + +  9. You are not required to accept this License, since you have not +signed it.  However, nothing else grants you permission to modify or +distribute the Library or its derivative works.  These actions are +prohibited by law if you do not accept this License.  Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + +  10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions.  You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + +  11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License.  If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all.  For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices.  Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +  12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded.  In such case, this License incorporates the limitation as if +written in the body of this License. + +  13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number.  If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation.  If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + +  14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission.  For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this.  Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + +                            NO WARRANTY + +  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + +                     END OF TERMS AND CONDITIONS + +           How to Apply These Terms to Your New Libraries + +  If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change.  You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + +  To apply these terms, attach the following notices to the library.  It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + +    <one line to give the library's name and a brief idea of what it does.> +    Copyright (C) <year>  <name of author> + +    This library is free software; you can redistribute it and/or +    modify it under the terms of the GNU Lesser General Public +    License as published by the Free Software Foundation; either +    version 2.1 of the License, or (at your option) any later version. + +    This library is distributed in the hope that it will be useful, +    but WITHOUT ANY WARRANTY; without even the implied warranty of +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU +    Lesser General Public License for more details. + +    You should have received a copy of the GNU Lesser General Public +    License along with this library; if not, write to the Free Software +    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary.  Here is a sample; alter the names: + +  Yoyodyne, Inc., hereby disclaims all copyright interest in the +  library `Frob' (a library for tweaking knobs) written by James Random Hacker. + +  <signature of Ty Coon>, 1 April 1990 +  Ty Coon, President of Vice + +That's all there is to it! + + +-------------------------------------------------------------------------------- + +Some code in lua_tube.lua is copied from The Mesecons Mod for Minetest: + +License of source code +---------------------- +Copyright (C) 2011-2016 Mesecons Mod Developer Team and contributors + +This program is free software; you can redistribute the Mesecons Mod and/or +modify it under the terms of the GNU Lesser General Public License version 3 +published by the Free Software Foundation. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with this library; if not, write to the +Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +Boston, MA  02110-1301, USA. + + +GNU LESSER GENERAL PUBLIC LICENSE                         Version 3, 29 June 2007 - Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>   Everyone is permitted to copy and distribute verbatim copies   of this license document, but changing it is not allowed. @@ -169,432 +691,3 @@ apply, that proxy's public statement of acceptance of any version is  permanent authorization for you to choose that version for the  Library. -############################################################################### - -Attribution-ShareAlike 4.0 International - -======================================================================= - -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. - -Using Creative Commons Public Licenses - -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. - -     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 - -     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/autocrafter.lua b/autocrafter.lua index 5d554c1..7ddc312 100644 --- a/autocrafter.lua +++ b/autocrafter.lua @@ -407,7 +407,7 @@ minetest.register_craft( {  	output = "pipeworks:autocrafter 2",  	recipe = {  	        { "default:steel_ingot", "default:mese_crystal", "default:steel_ingot" }, -	        { "basic_materials:plastic_sheeting", "default:steel_ingot", "basic_materials:plastic_sheeting" }, +	        { "homedecor:plastic_sheeting", "default:steel_ingot", "homedecor:plastic_sheeting" },  	        { "default:steel_ingot", "default:mese_crystal", "default:steel_ingot" }  	},  }) diff --git a/autoplace_tubes.lua b/autoplace_tubes.lua index a3a6aee..0d28e64 100644 --- a/autoplace_tubes.lua +++ b/autoplace_tubes.lua @@ -111,22 +111,6 @@ function pipeworks.after_dig(pos)  	pipeworks.scan_for_tube_objects(pos)  end --- Screwdriver calls this function before rotating a node. --- However, connections must be updated *after* the node is rotated --- So, this function does the rotation itself and returns `true`. --- (Note: screwdriver already checks for protected areas.) - --- This should only be used for tubes that don't autoconnect. --- (For example, one-way tubes.) --- Autoconnecting tubes will just revert back to their original state --- when they are updated. -function pipeworks.on_rotate(pos, node, user, mode, new_param2) -	node.param2 = new_param2 -	minetest.set_node(pos, node) -	pipeworks.scan_for_tube_objects(pos) -	return true -end -  if minetest.get_modpath("mesecons_mvps") then  	mesecon.register_on_mvps_move(function(moved_nodes)  		for _, n in ipairs(moved_nodes) do diff --git a/compat-chests.lua b/compat-chests.lua index eb681c8..78d865b 100644 --- a/compat-chests.lua +++ b/compat-chests.lua @@ -146,8 +146,7 @@ override_protected = {  		input_inventory = "main",  		connect_sides = {left = 1, right = 1, back = 1, bottom = 1, top = 1}  	}, -	after_dig_node = pipeworks.after_dig, -	on_rotate = pipeworks.on_rotate +	after_dig_node = pipeworks.after_dig  }  override = {  	tiles = { @@ -191,8 +190,7 @@ override = {  		connect_sides = {left = 1, right = 1, back = 1, bottom = 1, top = 1}  	},  	after_place_node = pipeworks.after_place, -	after_dig_node = pipeworks.after_dig, -	on_rotate = pipeworks.on_rotate +	after_dig_node = pipeworks.after_dig  }  --[[local override_common = { diff --git a/compat-furnaces.lua b/compat-furnaces.lua index 83f9012..492332a 100644 --- a/compat-furnaces.lua +++ b/compat-furnaces.lua @@ -355,8 +355,7 @@ minetest.register_node(":default:furnace", {  		meta:set_string("formspec", formspec)  	end,  	after_place_node = pipeworks.after_place, -	after_dig_node = pipeworks.after_dig, -	on_rotate = pipeworks.on_rotate +	after_dig_node = pipeworks.after_dig  })  minetest.register_node(":default:furnace_active", { @@ -429,7 +428,6 @@ minetest.register_node(":default:furnace_active", {  		meta:set_string("formspec", formspec)  	end,  	after_place_node = pipeworks.after_place, -	after_dig_node = pipeworks.after_dig, -	on_rotate = pipeworks.on_rotate +	after_dig_node = pipeworks.after_dig  }) @@ -85,3 +85,88 @@ minetest.register_craft( {  				{ "pipeworks:pipe_1_empty" }          },  }) + + +-- Crafting recipes for pneumatic tubes + +-- If homedecor is not installed, we need to register its crafting chain for +-- plastic sheeting so that pipeworks remains compatible with it. + +if minetest.get_modpath("homedecor") == nil then + +	minetest.register_craftitem(":homedecor:oil_extract", { +		    description = "Oil extract", +		    inventory_image = "homedecor_oil_extract.png", +	}) + +	minetest.register_craftitem(":homedecor:paraffin", { +		    description = "Unprocessed paraffin", +		    inventory_image = "homedecor_paraffin.png", +	}) + +	minetest.register_alias("homedecor:plastic_base", "homedecor:paraffin") + +	minetest.register_craftitem(":homedecor:plastic_sheeting", { +		    description = "Plastic sheet", +		    inventory_image = "homedecor_plastic_sheeting.png", +	}) + +	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, +	}) +end + +-- crafting items for creating node breakers +minetest.register_craftitem("pipeworks:gear", { +	description = "Gear", +	inventory_image = "pipeworks_gear.png", +}) + +minetest.register_craft( { +        output = "pipeworks:gear 6", +        recipe = { +                { "", 			"default:steel_ingot",	"" }, +                { "default:steel_ingot","default:stone",	"default:steel_ingot" }, +                { "",			"default:steel_ingot",	"" } +        }, +}) + diff --git a/decorative_tubes.lua b/decorative_tubes.lua index 2b48b6b..39ba8f3 100644 --- a/decorative_tubes.lua +++ b/decorative_tubes.lua @@ -24,7 +24,6 @@ minetest.register_node("pipeworks:steel_block_embedded_tube", {  	},  	after_place_node = pipeworks.after_place,  	after_dig_node = pipeworks.after_dig, -	on_rotate = pipeworks.on_rotate,  })  minetest.register_craft( { @@ -72,7 +71,6 @@ minetest.register_node("pipeworks:steel_pane_embedded_tube", {  	},  	after_place_node = pipeworks.after_place,  	after_dig_node = pipeworks.after_dig, -	on_rotate = pipeworks.on_rotate,  })  minetest.register_craft( { diff --git a/depends.txt b/depends.txt index 97c9e30..0cb7406 100644 --- a/depends.txt +++ b/depends.txt @@ -1,5 +1,4 @@  default -basic_materials  mesecons  mesecons_mvps  digilines? diff --git a/devices.lua b/devices.lua index 2ace81f..07cf6fe 100644 --- a/devices.lua +++ b/devices.lua @@ -738,3 +738,21 @@ new_flow_logic_register.directional_horizonal_rotate(nodename_sp_loaded, true)  minetest.register_alias("pipeworks:valve_off_loaded", "pipeworks:valve_off_empty")  minetest.register_alias("pipeworks:entry_panel", "pipeworks:entry_panel_empty") +minetest.register_lbm({ +	name = "pipeworks:rotate_valves_flowsensors", +	label = "Flip pipeworks valves and flow sensors around X/Z", +	run_at_every_load = false, +	nodenames = { +		"pipeworks:flow_sensor_empty", +		"pipeworks:flow_sensor_loaded", +		"pipeworks:valve_off_empty", +		"pipeworks:valve_on_empty", +		"pipeworks:valve_off_loaded", +	}, +	action = function(pos, node) +		local dir = minetest.facedir_to_dir(node.param2) +		local newdir = { x=dir.z, y=dir.y, z=dir.x } +		local newfdir = minetest.dir_to_facedir(newdir) +		minetest.swap_node(pos, { name = node.name, param2 = newfdir }) +	end +}) diff --git a/filter-injector.lua b/filter-injector.lua index 29fc1d3..a8659ad 100644 --- a/filter-injector.lua +++ b/filter-injector.lua @@ -383,7 +383,6 @@ for _, data in ipairs({  			pipeworks.after_place(pos)  		end,  		after_dig_node = pipeworks.after_dig, -		on_rotate = pipeworks.on_rotate,  		allow_metadata_inventory_put = function(pos, listname, index, stack, player)  			if not pipeworks.may_configure(pos, player) then  				return 0 @@ -473,18 +472,18 @@ end  minetest.register_craft( {  	output = "pipeworks:filter 2",  	recipe = { -	        { "default:steel_ingot", "default:steel_ingot", "basic_materials:plastic_sheet" }, -	        { "group:stick", "default:mese_crystal", "basic_materials:plastic_sheet" }, -	        { "default:steel_ingot", "default:steel_ingot", "basic_materials:plastic_sheet" } +	        { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }, +	        { "group:stick", "default:mese_crystal", "homedecor:plastic_sheeting" }, +	        { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }  	},  })  minetest.register_craft( {  	output = "pipeworks:mese_filter 2",  	recipe = { -	        { "default:steel_ingot", "default:steel_ingot", "basic_materials:plastic_sheet" }, -	        { "group:stick", "default:mese", "basic_materials:plastic_sheet" }, -	        { "default:steel_ingot", "default:steel_ingot", "basic_materials:plastic_sheet" } +	        { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }, +	        { "group:stick", "default:mese", "homedecor:plastic_sheeting" }, +	        { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }  	},  }) @@ -492,9 +491,9 @@ if minetest.get_modpath("digilines") then  	minetest.register_craft( {  		output = "pipeworks:digiline_filter 2",  		recipe = { -			{ "default:steel_ingot", "default:steel_ingot", "basic_materials:plastic_sheet" }, -			{ "group:stick", "digilines:wire_std_00000000", "basic_materials:plastic_sheet" }, -			{ "default:steel_ingot", "default:steel_ingot", "basic_materials:plastic_sheet" } +			{ "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }, +			{ "group:stick", "digilines:wire_std_00000000", "homedecor:plastic_sheeting" }, +			{ "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }  		},  	})  end @@ -3,6 +3,8 @@  -- This mod supplies various steel pipes and plastic pneumatic tubes  -- and devices that they can connect to.  -- +-- License: WTFPL +--  pipeworks = {} diff --git a/routing_tubes.lua b/routing_tubes.lua index 45fcea8..ba9e0aa 100644 --- a/routing_tubes.lua +++ b/routing_tubes.lua @@ -4,9 +4,9 @@ pipeworks.register_tube("pipeworks:tube", "Pneumatic tube segment")  minetest.register_craft( {  	output = "pipeworks:tube_1 6",  	recipe = { -	        { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, +	        { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },  	        { "", "", "" }, -	        { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } +	        { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }  	},  }) @@ -82,9 +82,9 @@ if pipeworks.enable_priority_tube then  	minetest.register_craft( {  		output = "pipeworks:priority_tube_1 6",  		recipe = { -			{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, +			{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },  			{ "default:gold_ingot", "", "default:gold_ingot" }, -			{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } +			{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }  		},  	})  end @@ -107,9 +107,9 @@ if pipeworks.enable_accelerator_tube then  	minetest.register_craft( {  		output = "pipeworks:accelerator_tube_1 2",  		recipe = { -			{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, +			{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },  			{ "default:mese_crystal_fragment", "default:steel_ingot", "default:mese_crystal_fragment" }, -			{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } +			{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }  		},  	})  end @@ -161,14 +161,13 @@ if pipeworks.enable_one_way_tube then  		},  		after_place_node = pipeworks.after_place,  		after_dig_node = pipeworks.after_dig, -		on_rotate = pipeworks.on_rotate,  	})  	minetest.register_craft({  		output = "pipeworks:one_way_tube 2",  		recipe = { -			{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, -			{ "group:stick", "default:mese_crystal", "basic_materials:plastic_sheet" }, -			{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } +			{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, +			{ "group:stick", "default:mese_crystal", "homedecor:plastic_sheeting" }, +			{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }  		},  	})  end diff --git a/signal_tubes.lua b/signal_tubes.lua index 7048ebb..b955a16 100644 --- a/signal_tubes.lua +++ b/signal_tubes.lua @@ -60,9 +60,9 @@ if pipeworks.enable_detector_tube then  	minetest.register_craft( {  		output = "pipeworks:detector_tube_off_1 2",  		recipe = { -			{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, +			{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },  			{ "mesecons:mesecon", "mesecons_materials:silicon", "mesecons:mesecon" }, -			{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } +			{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }  		},  	})  end @@ -110,9 +110,9 @@ if digiline_enabled and pipeworks.enable_digiline_detector_tube then  	minetest.register_craft( {  		output = "pipeworks:digiline_detector_tube_1 2",  		recipe = { -			{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, +			{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },  			{ "digilines:wire_std_00000000", "mesecons_materials:silicon", "digilines:wire_std_00000000" }, -			{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } +			{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }  		},  	})  end diff --git a/sorting_tubes.lua b/sorting_tubes.lua index 76eec32..e7e918d 100644 --- a/sorting_tubes.lua +++ b/sorting_tubes.lua @@ -153,9 +153,9 @@ if pipeworks.enable_mese_tube then  	minetest.register_craft( {  		output = "pipeworks:mese_tube_000000 2",  		recipe = { -			{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, +			{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },  			{ "", "default:mese_crystal", "" }, -			{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } +			{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }  		},  	}) diff --git a/teleport_tube.lua b/teleport_tube.lua index f4bad74..d707717 100644 --- a/teleport_tube.lua +++ b/teleport_tube.lua @@ -242,9 +242,9 @@ pipeworks.register_tube("pipeworks:teleport_tube", {  minetest.register_craft( {  	output = "pipeworks:teleport_tube_1 2",  	recipe = { -	        { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, +	        { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },  	        { "default:desert_stone", "default:mese", "default:desert_stone" }, -	        { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } +	        { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }  	},  }) diff --git a/textures/pipeworks_gear.png b/textures/pipeworks_gear.pngBinary files differ new file mode 100644 index 0000000..584f9a5 --- /dev/null +++ b/textures/pipeworks_gear.png diff --git a/trashcan.lua b/trashcan.lua index f6dff50..8db9edf 100644 --- a/trashcan.lua +++ b/trashcan.lua @@ -43,7 +43,7 @@ minetest.register_node("pipeworks:trashcan", {  minetest.register_craft({  	output = "pipeworks:trashcan",  	recipe = { -		{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, +		{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },  		{ "default:steel_ingot", "", "default:steel_ingot" },  		{ "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" },  	}, diff --git a/tube_registration.lua b/tube_registration.lua index 7bef10e..48fa912 100644 --- a/tube_registration.lua +++ b/tube_registration.lua @@ -108,7 +108,6 @@ local register_one_tube = function(name, tname, dropname, desc, plain, noctrs, e  		},  		after_place_node = pipeworks.after_place,  		after_dig_node = pipeworks.after_dig, -		on_rotate = false,  		on_blast = function(pos, intensity)  			if not intensity or intensity > 1 + 3^0.5 then  				minetest.remove_node(pos) diff --git a/vacuum_tubes.lua b/vacuum_tubes.lua index c1e9fe0..d616835 100644 --- a/vacuum_tubes.lua +++ b/vacuum_tubes.lua @@ -12,9 +12,9 @@ if pipeworks.enable_sand_tube then  	minetest.register_craft( {  		output = "pipeworks:sand_tube_1 2",  		recipe = { -			{"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet"}, +			{"homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting"},  			{"group:sand",                 "group:sand",                 "group:sand"}, -			{"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet"} +			{"homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting"}  		},  	}) @@ -63,9 +63,9 @@ if pipeworks.enable_mese_sand_tube then  	minetest.register_craft( {  		output = "pipeworks:mese_sand_tube_1 2",  		recipe = { -			{"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, +			{"homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },  			{"group:sand",                 "default:mese_crystal",       "group:sand" }, -			{"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } +			{"homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }  		},  	}) diff --git a/wielder.lua b/wielder.lua index 102f0bf..4a80d3e 100644 --- a/wielder.lua +++ b/wielder.lua @@ -234,7 +234,6 @@ local function register_wielder(data)  				end  				pipeworks.scan_for_tube_objects(pos)  			end, -			on_rotate = pipeworks.on_rotate,  			on_punch = data.fixup_node,  			allow_metadata_inventory_put = function(pos, listname, index, stack, player)  				if not pipeworks.may_configure(pos, player) then return 0 end | 
