Convert the modpack into a standalone game for the Minetest engine
Integrated into the game is most of minetest_game as the stable base
600
mods/gloopblocks/LICENSE
Normal file
@@ -0,0 +1,600 @@
|
||||
License for code: LGPL 3.0
|
||||
License for media and all other assets: CC-by-SA 4.0
|
||||
|
||||
###############################################################################
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
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 that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU 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 as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
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.
|
72
mods/gloopblocks/README
Normal file
@@ -0,0 +1,72 @@
|
||||
This mod adds a number of decorative and functional blocks to Minetest,
|
||||
including cement, rainbow blocks, "evil" blocks and sticks, and the usual
|
||||
collection of tools of various strengths and speeds made from either cement or
|
||||
"evil" components. It also supplies a few useful functions - see below.
|
||||
|
||||
Crafting
|
||||
|
||||
(Unless explicitly mentioned, ingredients can go anywhere in the crafting grid
|
||||
in these recipes).
|
||||
|
||||
* Rainbow Blocks can be crafted by putting one each of red, orange, yellow,
|
||||
green, blue, and violet dyes plus one stone and one Mese Crystal into the
|
||||
crafting grid. Yields 1, works with Unified Dyes as well as the game's
|
||||
default dyes.
|
||||
|
||||
* Three of those can be crafted to form one pop tart cat rainbow, or nine can
|
||||
be crafted together to form one pop tart cat itself.
|
||||
|
||||
* Wet cement is crafted from a bucket of water and a block of gravel. This
|
||||
can be cooked into dried cement, which can be crafted into tools or back
|
||||
into gravel.
|
||||
|
||||
* An "evil" stick can be crafted from one lump of coal, one regular stick, and
|
||||
one lump of Kalite from the Gloop Ores mod.
|
||||
|
||||
* Four of those can be crafted into an "evil" block, which can also be crafted
|
||||
back to "evil" sticks. These blocks emit a small amount of light.
|
||||
|
||||
* Cement tools are crafted in the usual manner, using cement blocks for the
|
||||
tool heads instead of the usual steel, cobble, etc.
|
||||
|
||||
* "Evil" tools can be crafted using the same standard recipes as for other
|
||||
tools, substitution "evil" sticks for the handles and "evil" blocks for the
|
||||
tool heads.
|
||||
|
||||
* Regular sticks can be crafted back into wood blocks by placing four of them
|
||||
in a square.
|
||||
|
||||
* Cement and "evil" blocks can also be crafted into various stairs and slabs,
|
||||
following the same recipes as with other stairs and slabs. Evil stairs and
|
||||
slabs emit a small amount of light.
|
||||
|
||||
* Pavement (as for roads or parking lots) can be crafted by placing wet cement
|
||||
("W") and basalt ("B") into the crafting grid in a 3x3 checkerboard (yields
|
||||
5):
|
||||
W B W
|
||||
B W B
|
||||
W B W
|
||||
|
||||
(you can also swap wet cement and basalt, using five and four portions,
|
||||
respectively)
|
||||
|
||||
Other useful stuff:
|
||||
-------------------
|
||||
|
||||
* Cobblestone turns to mossy cobblestone in the presence of water (either
|
||||
flowing or not).
|
||||
|
||||
* When water and lava come into contact with one another, they will form one
|
||||
of three materials: Flowing lava coming into contact with standing water
|
||||
forms basalt, both flowing into one another form pumice, while standing lava
|
||||
forms obsidian when in contact with flowing or standing water. Note that if
|
||||
you're using this along with the standard minetest_game repository dated
|
||||
March 9 or later, this function no longer works, because the game provides a
|
||||
similar, less capable function.
|
||||
|
||||
Notes:
|
||||
------
|
||||
|
||||
The cobblestone and mossy cobblestone road bed textures were derived from:
|
||||
http://opengameart.org/content/rpg-tiles-cobble-stone-paths-town-objects
|
||||
...and the default grass texture that comes with minetest_game.
|
336
mods/gloopblocks/crafts.lua
Normal file
@@ -0,0 +1,336 @@
|
||||
-- Various crafts
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "gloopblocks:rainbow_block",
|
||||
recipe = {
|
||||
"group:dye,color_red",
|
||||
"group:dye,color_orange",
|
||||
"group:dye,color_yellow",
|
||||
"group:dye,color_green",
|
||||
"group:dye,color_blue",
|
||||
"group:dye,color_violet",
|
||||
"default:stone",
|
||||
"default:mese_crystal",
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "default:nyancat_rainbow",
|
||||
recipe = {
|
||||
"gloopblocks:rainbow_block",
|
||||
"default:diamondblock",
|
||||
"default:steelblock",
|
||||
"default:copperblock",
|
||||
"default:bronzeblock",
|
||||
"default:goldblock",
|
||||
"default:mese",
|
||||
"moreores:silver_block",
|
||||
"moreores:mithril_block"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:nyancat",
|
||||
recipe = {
|
||||
{"gloopblocks:rainbow_block", "gloopblocks:rainbow_block", "gloopblocks:rainbow_block"},
|
||||
{"gloopblocks:rainbow_block", "gloopblocks:rainbow_block", "gloopblocks:rainbow_block"},
|
||||
{"gloopblocks:rainbow_block", "gloopblocks:rainbow_block", "gloopblocks:rainbow_block"},
|
||||
}
|
||||
})
|
||||
|
||||
if minetest.get_modpath("glooptest") then
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "gloopblocks:evil_stick",
|
||||
recipe = {
|
||||
"glooptest:kalite_lump",
|
||||
"default:gold_ingot",
|
||||
"default:coal_lump",
|
||||
"group:stick"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:evil_block",
|
||||
recipe = {
|
||||
{"gloopblocks:evil_stick", "gloopblocks:evil_stick"},
|
||||
{"gloopblocks:evil_stick", "gloopblocks:evil_stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:evil_stick 4",
|
||||
recipe = {
|
||||
{"gloopblocks:evil_block"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:pick_evil",
|
||||
recipe = {
|
||||
{"gloopblocks:evil_block", "gloopblocks:evil_block", "gloopblocks:evil_block"},
|
||||
{"", "gloopblocks:evil_stick", ""},
|
||||
{"", "gloopblocks:evil_stick", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:axe_evil",
|
||||
recipe = {
|
||||
{"gloopblocks:evil_block", "gloopblocks:evil_block"},
|
||||
{"gloopblocks:evil_block", "gloopblocks:evil_stick"},
|
||||
{"", "gloopblocks:evil_stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:axe_evil",
|
||||
recipe = {
|
||||
{"gloopblocks:evil_block", "gloopblocks:evil_block"},
|
||||
{"gloopblocks:evil_stick", "gloopblocks:evil_block"},
|
||||
{"gloopblocks:evil_stick", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:shovel_evil",
|
||||
recipe = {
|
||||
{"gloopblocks:evil_block"},
|
||||
{"gloopblocks:evil_stick"},
|
||||
{"gloopblocks:evil_stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:sword_evil",
|
||||
recipe = {
|
||||
{"gloopblocks:evil_block"},
|
||||
{"gloopblocks:evil_block"},
|
||||
{"gloopblocks:evil_stick"},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:scaffolding 12",
|
||||
recipe = {
|
||||
{"group:stick", "group:wood", "group:stick"},
|
||||
{"", "group:stick", ""},
|
||||
{"group:stick", "group:wood", "group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:pick_cement",
|
||||
recipe = {
|
||||
{"gloopblocks:cement", "gloopblocks:cement", "gloopblocks:cement"},
|
||||
{"", "group:stick", ""},
|
||||
{"", "group:stick", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:axe_cement",
|
||||
recipe = {
|
||||
{"gloopblocks:cement", "gloopblocks:cement"},
|
||||
{"gloopblocks:cement", "group:stick"},
|
||||
{"", "group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:axe_cement",
|
||||
recipe = {
|
||||
{"gloopblocks:cement", "gloopblocks:cement"},
|
||||
{"group:stick", "gloopblocks:cement"},
|
||||
{"group:stick", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:shovel_cement",
|
||||
recipe = {
|
||||
{"gloopblocks:cement"},
|
||||
{"group:stick"},
|
||||
{"group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:sword_cement",
|
||||
recipe = {
|
||||
{"gloopblocks:cement"},
|
||||
{"gloopblocks:cement"},
|
||||
{"group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:pavement 5",
|
||||
recipe = {
|
||||
{"gloopblocks:basalt", "gloopblocks:wet_cement","gloopblocks:basalt"},
|
||||
{"gloopblocks:wet_cement","gloopblocks:basalt", "gloopblocks:wet_cement"},
|
||||
{"gloopblocks:basalt", "gloopblocks:wet_cement","gloopblocks:basalt"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:pavement 5",
|
||||
recipe = {
|
||||
{"gloopblocks:wet_cement","gloopblocks:basalt", "gloopblocks:wet_cement"},
|
||||
{"gloopblocks:basalt", "gloopblocks:wet_cement","gloopblocks:basalt"},
|
||||
{"gloopblocks:wet_cement","gloopblocks:basalt", "gloopblocks:wet_cement"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:oerkki_block 2",
|
||||
recipe = {
|
||||
{"default:iron_lump", "default:coal_lump", "default:iron_lump"},
|
||||
{"default:coal_lump", "default:bookshelf", "default:coal_lump"},
|
||||
{"default:iron_lump", "default:coal_lump", "default:iron_lump"},
|
||||
},
|
||||
replacements = { { "default:bookshelf", "default:book 3" } }
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:oerkki_block 2",
|
||||
recipe = {
|
||||
{"default:coal_lump", "default:iron_lump", "default:coal_lump"},
|
||||
{"default:iron_lump", "default:bookshelf", "default:iron_lump"},
|
||||
{"default:coal_lump", "default:iron_lump", "default:coal_lump"},
|
||||
},
|
||||
replacements = { { "default:bookshelf", "default:book 3" } }
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "gloopblocks:stone_brick_mossy 2",
|
||||
recipe = {
|
||||
"default:stonebrick",
|
||||
"default:stonebrick",
|
||||
"default:junglegrass",
|
||||
"default:junglegrass"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "gloopblocks:stone_brick_mossy 2",
|
||||
recipe = {
|
||||
"default:stonebrick",
|
||||
"default:stonebrick",
|
||||
"default:grass_1",
|
||||
"default:grass_1",
|
||||
"default:grass_1",
|
||||
"default:grass_1"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "gloopblocks:stonebrick",
|
||||
recipe = "default:stone_brick_mossy",
|
||||
cooktime = 6
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "gloopblocks:cobble_road 5",
|
||||
recipe = {
|
||||
"default:cobble",
|
||||
"default:cobble",
|
||||
"default:cobble",
|
||||
"default:cobble",
|
||||
"gloopblocks:pavement"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "gloopblocks:cobble_road_mossy 2",
|
||||
recipe = {
|
||||
"gloopblocks:cobble_road",
|
||||
"gloopblocks:cobble_road",
|
||||
"default:junglegrass",
|
||||
"default:junglegrass"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "gloopblocks:cobble_road_mossy 2",
|
||||
recipe = {
|
||||
"gloopblocks:cobble_road",
|
||||
"gloopblocks:cobble_road",
|
||||
"default:grass_1",
|
||||
"default:grass_1",
|
||||
"default:grass_1",
|
||||
"default:grass_1"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "gloopblocks:stone_mossy 2",
|
||||
recipe = {
|
||||
"default:stone",
|
||||
"default:stone",
|
||||
"default:junglegrass",
|
||||
"default:junglegrass"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "gloopblocks:stone_mossy 2",
|
||||
recipe = {
|
||||
"default:stone",
|
||||
"default:stone",
|
||||
"default:grass_1",
|
||||
"default:grass_1",
|
||||
"default:grass_1",
|
||||
"default:grass_1"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "default:cobble 8",
|
||||
recipe = {
|
||||
"gloopblocks:pumice",
|
||||
"gloopblocks:pumice",
|
||||
"gloopblocks:pumice",
|
||||
"gloopblocks:pumice",
|
||||
"gloopblocks:basalt",
|
||||
"gloopblocks:basalt",
|
||||
"gloopblocks:basalt",
|
||||
"gloopblocks:basalt"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "gloopblocks:fence_steel 1",
|
||||
recipe = {
|
||||
{"xpanes:bar", "xpanes:bar", "xpanes:bar"},
|
||||
{"xpanes:bar", "xpanes:bar", "xpanes:bar"},
|
||||
},
|
||||
})
|
||||
|
||||
if minetest.get_modpath("technic") then
|
||||
technic.register_grinder_recipe({input={"gloopblocks:pumice"},output="default:sand"})
|
||||
technic.register_grinder_recipe({input={"gloopblocks:basalt"},output="default:cobble"})
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "technic:concrete 3",
|
||||
recipe = {
|
||||
"gloopblocks:wet_cement",
|
||||
"group:sand",
|
||||
"default:gravel",
|
||||
}
|
||||
})
|
||||
end
|
22
mods/gloopblocks/depends.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
default
|
||||
basic_materials
|
||||
moreblocks?
|
||||
stairs?
|
||||
glooptest?
|
||||
gloopores?
|
||||
intllib?
|
||||
wool?
|
||||
xdecor?
|
||||
caverealms?
|
||||
technic?
|
||||
nyancat?
|
||||
usesdirt?
|
||||
worldedit?
|
||||
signs_lib?
|
||||
bakedclay?
|
||||
farming?
|
||||
wool?
|
||||
bushes_classic?
|
||||
dryplants?
|
||||
bedrock?
|
||||
cottages?
|
2
mods/gloopblocks/description.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Adds decorative and functional blocks, including cement, rainbow blocks, "evil" blocks and sticks,
|
||||
and the usual collection of tools of various strengths and speeds made from either cement or "evil" components.
|
19
mods/gloopblocks/init.lua
Normal file
@@ -0,0 +1,19 @@
|
||||
--[[
|
||||
GloopBlocks
|
||||
Originally written by GloopMaster
|
||||
|
||||
Maintained by VanessaE.
|
||||
|
||||
--]]
|
||||
|
||||
gloopblocks = {}
|
||||
|
||||
-- Load support for intllib.
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
dofile(MP.."/main.lua")
|
||||
dofile(MP.."/crafts.lua")
|
||||
dofile(MP.."/lava-handling.lua")
|
||||
|
||||
print(S("Gloopblocks Loaded!"))
|
45
mods/gloopblocks/intllib.lua
Normal file
@@ -0,0 +1,45 @@
|
||||
|
||||
-- Fallback functions for when `intllib` is not installed.
|
||||
-- Code released under Unlicense <http://unlicense.org>.
|
||||
|
||||
-- Get the latest version of this file at:
|
||||
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
|
||||
|
||||
local function format(str, ...)
|
||||
local args = { ... }
|
||||
local function repl(escape, open, num, close)
|
||||
if escape == "" then
|
||||
local replacement = tostring(args[tonumber(num)])
|
||||
if open == "" then
|
||||
replacement = replacement..close
|
||||
end
|
||||
return replacement
|
||||
else
|
||||
return "@"..open..num..close
|
||||
end
|
||||
end
|
||||
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
|
||||
end
|
||||
|
||||
local gettext, ngettext
|
||||
if minetest.get_modpath("intllib") then
|
||||
if intllib.make_gettext_pair then
|
||||
-- New method using gettext.
|
||||
gettext, ngettext = intllib.make_gettext_pair()
|
||||
else
|
||||
-- Old method using text files.
|
||||
gettext = intllib.Getter()
|
||||
end
|
||||
end
|
||||
|
||||
-- Fill in missing functions.
|
||||
|
||||
gettext = gettext or function(msgid, ...)
|
||||
return format(msgid, ...)
|
||||
end
|
||||
|
||||
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
|
||||
return format(n==1 and msgid or msgid_plural, ...)
|
||||
end
|
||||
|
||||
return gettext, ngettext
|
306
mods/gloopblocks/lava-handling.lua
Normal file
@@ -0,0 +1,306 @@
|
||||
-- Load support for intllib.
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
-- define lava-cooling-based nodes and hook into the default lavacooling
|
||||
-- functions to generate basalt, pumice, and obsidian
|
||||
|
||||
if minetest.setting_getbool("gloopblocks_lavacooling") ~= false then
|
||||
|
||||
minetest.register_node("gloopblocks:obsidian_cooled", {
|
||||
description = S("Obsidian"),
|
||||
tiles = {"default_obsidian.png"},
|
||||
is_ground_content = true,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
groups = {cracky=1, level=2, not_in_creative_inventory=1},
|
||||
drop = "default:obsidian",
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
minetest.add_node(pos, {name = "default:obsidian"})
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("gloopblocks:basalt_cooled", {
|
||||
description = S("Basalt"),
|
||||
tiles = {"gloopblocks_basalt.png"},
|
||||
groups = {cracky=2, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
drop = "gloopblocks:basalt",
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
minetest.add_node(pos, {name = "gloopblocks:basalt"})
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("gloopblocks:pumice_cooled", {
|
||||
description = S("Pumice"),
|
||||
tiles = {"gloopblocks_pumice.png"},
|
||||
groups = {cracky=3, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
drop = "gloopblocks:pumice",
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
minetest.add_node(pos, {name = "gloopblocks:pumice"})
|
||||
end
|
||||
})
|
||||
|
||||
local gloopblocks_search_nearby_nodes = function(pos, node)
|
||||
if minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z}).name == node then return true end
|
||||
if minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z}).name == node then return true end
|
||||
if minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == node then return true end
|
||||
if minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == node then return true end
|
||||
if minetest.get_node({x=pos.x, y=pos.y, z=pos.z-1}).name == node then return true end
|
||||
if minetest.get_node({x=pos.x, y=pos.y, z=pos.z+1}).name == node then return true end
|
||||
return false
|
||||
end
|
||||
|
||||
default.cool_lava = function(pos, node)
|
||||
if node.name == "default:lava_source" then
|
||||
if gloopblocks_search_nearby_nodes(pos,"default:water_source")
|
||||
or gloopblocks_search_nearby_nodes(pos,"default:water_flowing") then
|
||||
minetest.set_node(pos, {name="gloopblocks:obsidian_cooled"})
|
||||
end
|
||||
else -- Lava flowing
|
||||
if gloopblocks_search_nearby_nodes(pos,"default:water_source") then
|
||||
minetest.set_node(pos, {name="gloopblocks:basalt_cooled"})
|
||||
elseif gloopblocks_search_nearby_nodes(pos,"default:water_flowing") then
|
||||
minetest.set_node(pos, {name="gloopblocks:pumice_cooled"})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Allows lava to "bake" neighboring nodes (or reduce them to ashes)
|
||||
-- disabled by default. You probably don't want this on a creative server :-P
|
||||
|
||||
if minetest.setting_getbool("gloopblocks_lava_damage") then
|
||||
minetest.register_node("gloopblocks:ash_block", {
|
||||
description = S("Block of ashes"),
|
||||
tiles = {"gloopblocks_ashes.png"},
|
||||
groups = {crumbly = 3},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
local cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, -0.5, 0.5, -0.125, 0.5}
|
||||
}
|
||||
|
||||
minetest.register_node("gloopblocks:ash_pile", {
|
||||
description = S("Pile of ashes"),
|
||||
drawtype = "mesh",
|
||||
mesh = "gloopblocks_ash_pile.obj",
|
||||
tiles = {"gloopblocks_ashes.png"},
|
||||
selection_box = cbox,
|
||||
collision_box = cbox,
|
||||
groups = {crumbly = 3},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
gloopblocks.lava_damage_nodes = {
|
||||
["default:cactus"] = "gloopblocks:ash_block",
|
||||
["default:coalblock"] = "gloopblocks:ash_block",
|
||||
["default:desert_cobble"] = "default:desert_stone",
|
||||
["default:desert_sandstone"] = "default:desert_sandstone_block",
|
||||
["default:gravel"] = "default:cobble",
|
||||
["default:ice"] = "default:snowblock",
|
||||
["default:permafrost"] = "default:dirt",
|
||||
["default:permafrost_with_moss"] = "default:dirt",
|
||||
["default:sandstone"] = "default:sandstone_block",
|
||||
["default:silver_sandstone"] = "default:silver_sandstone_block",
|
||||
["default:snowblock"] = "default:water_source",
|
||||
|
||||
["basic_materials:cement_block"] = "basic_materials:concrete_block",
|
||||
["bedrock:deepstone"] = "default:stone",
|
||||
["building_blocks:hardwood"] = "default:coalblock",
|
||||
["building_blocks:Tar"] = "gloopblocks:pavement",
|
||||
["bushes:basket_empty"] = "gloopblocks:ash_pile",
|
||||
["bushes:basket_blackberry"] = "gloopblocks:ash_pile",
|
||||
["bushes:basket_blueberry"] = "gloopblocks:ash_pile",
|
||||
["bushes:basket_gooseberry"] = "gloopblocks:ash_pile",
|
||||
["bushes:basket_mixed_berry"] = "gloopblocks:ash_pile",
|
||||
["bushes:basket_raspberry"] = "gloopblocks:ash_pile",
|
||||
["bushes:basket_strawberry"] = "gloopblocks:ash_pile",
|
||||
["caverealms:thin_ice"] = "default:water_source",
|
||||
["castle_masonry:rubble"] = "default:desert_stone",
|
||||
["usesdirt:dirt_stone"] = "default:stone",
|
||||
["usesdirt:dirt_cobble_stone"] = "default:stone",
|
||||
["wool:dark_grey"] = "gloopblocks:ash_pile"
|
||||
}
|
||||
|
||||
gloopblocks.lava_damage_groups = {
|
||||
["wood"] = "default:coalblock",
|
||||
["tree"] = "default:coalblock",
|
||||
["soil"] = "gloopblocks:basalt",
|
||||
["leaves"] = "gloopblocks:ash_pile",
|
||||
["fence"] = "gloopblocks:ash_pile",
|
||||
["stone"] = "default:stone",
|
||||
}
|
||||
|
||||
if minetest.get_modpath("cottages") then
|
||||
gloopblocks.lava_damage_nodes["cottages:hay"] = "cottages:reet"
|
||||
gloopblocks.lava_damage_nodes["cottages:hay_bale"] = "cottages:reet"
|
||||
gloopblocks.lava_damage_nodes["cottages:hay_mat"] = "cottages:straw_mat"
|
||||
gloopblocks.lava_damage_nodes["cottages:reet"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_black"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_brown"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_red"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_reet"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_straw"] = "cottages:roof_reet"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_wood"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_connector_black"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_connector_brown"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_connector_red"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_connector_reet"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_connector_straw"] = "cottages:roof_connector_reet"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_connector_wood"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_flat_black"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_flat_brown"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_flat_red"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_flat_reet"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_flat_straw"] = "cottages:roof_flat_reet"
|
||||
gloopblocks.lava_damage_nodes["cottages:roof_flat_wood"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["cottages:straw_ground"] = "cottages:loam"
|
||||
gloopblocks.lava_damage_nodes["cottages:loam"] = "default:dirt"
|
||||
gloopblocks.lava_damage_nodes["cottages:feldweg"] = "default:dirt"
|
||||
gloopblocks.lava_damage_nodes["cottages:feldweg_crossing"] = "default:dirt"
|
||||
gloopblocks.lava_damage_nodes["cottages:feldweg_curve"] = "default:dirt"
|
||||
gloopblocks.lava_damage_nodes["cottages:feldweg_end"] = "default:dirt"
|
||||
gloopblocks.lava_damage_nodes["cottages:feldweg_slope"] = "default:dirt"
|
||||
gloopblocks.lava_damage_nodes["cottages:feldweg_slope_long"] = "default:dirt"
|
||||
gloopblocks.lava_damage_nodes["cottages:feldweg_t_junction"] = "default:dirt"
|
||||
end
|
||||
|
||||
if minetest.get_modpath("dryplants") then
|
||||
gloopblocks.lava_damage_nodes["dryplants:wetreed"] = "dryplants:reed"
|
||||
gloopblocks.lava_damage_nodes["dryplants:wetreed_slab"] = "dryplants:reed_slab"
|
||||
gloopblocks.lava_damage_nodes["dryplants:wetreed_roof"] = "dryplants:reed_roof"
|
||||
gloopblocks.lava_damage_nodes["dryplants:wetreed_roof_corner"] = "dryplants:reed_roof_corner"
|
||||
gloopblocks.lava_damage_nodes["dryplants:wetreed_roof_corner_2"] = "dryplants:reed_roof_corner_2"
|
||||
gloopblocks.lava_damage_nodes["dryplants:reed"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["dryplants:reed_slab"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["dryplants:reed_roof"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["dryplants:reed_roof_corner"] = "gloopblocks:ash_pile"
|
||||
gloopblocks.lava_damage_nodes["dryplants:reed_roof_corner_2"] = "gloopblocks:ash_pile"
|
||||
end
|
||||
|
||||
if minetest.get_modpath("wool") then
|
||||
gloopblocks.lava_damage_groups["wool"] = "wool:dark_grey"
|
||||
end
|
||||
|
||||
if minetest.get_modpath("bakedclay") then
|
||||
gloopblocks.lava_damage_nodes["default:clay"] = "bakedclay:dark_grey"
|
||||
gloopblocks.lava_damage_groups["bakedclay"] = "bakedclay:dark_grey"
|
||||
else
|
||||
gloopblocks.lava_damage_nodes["default:clay"] = "gloopblocks:basalt"
|
||||
end
|
||||
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
gloopblocks.lava_damage_groups["sand"] = "moreblocks:coal_glass"
|
||||
else
|
||||
gloopblocks.lava_damage_groups["sand"] = "default:obsidian_glass"
|
||||
end
|
||||
|
||||
if minetest.get_modpath("farming") then
|
||||
gloopblocks.lava_damage_nodes["farming:soil_wet"] = "farming:soil"
|
||||
end
|
||||
|
||||
gloopblocks.lava_neighbors = {
|
||||
{ x=-1, y=-1, z=-1 },
|
||||
{ x=-1, y=-1, z= 0 },
|
||||
{ x=-1, y=-1, z= 1 },
|
||||
{ x=-1, y= 0, z=-1 },
|
||||
{ x=-1, y= 0, z= 0 },
|
||||
{ x=-1, y= 0, z= 1 },
|
||||
{ x=-1, y= 1, z=-1 },
|
||||
{ x=-1, y= 1, z= 0 },
|
||||
{ x=-1, y= 1, z= 1 },
|
||||
|
||||
{ x= 0, y=-1, z=-1 },
|
||||
{ x= 0, y=-1, z= 0 },
|
||||
{ x= 0, y=-1, z= 1 },
|
||||
{ x= 0, y= 0, z=-1 },
|
||||
-- { x= 0, y= 0, z= 0 }, -- will always be the lava node, so ignore this space
|
||||
{ x= 0, y= 0, z= 1 },
|
||||
{ x= 0, y= 1, z=-1 },
|
||||
{ x= 0, y= 1, z= 0 },
|
||||
{ x= 0, y= 1, z= 1 },
|
||||
|
||||
{ x= 1, y=-1, z=-1 },
|
||||
{ x= 1, y=-1, z= 0 },
|
||||
{ x= 1, y=-1, z= 1 },
|
||||
{ x= 1, y= 0, z=-1 },
|
||||
{ x= 1, y= 0, z= 0 },
|
||||
{ x= 1, y= 0, z= 1 },
|
||||
{ x= 1, y= 1, z=-1 },
|
||||
{ x= 1, y= 1, z= 0 },
|
||||
{ x= 1, y= 1, z= 1 },
|
||||
}
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"default:lava_source", "default:lava_flowing"},
|
||||
interval = 5,
|
||||
chance = 2,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local r=gloopblocks.lava_neighbors[math.random(1, 26)]
|
||||
local pos2 = {
|
||||
x = pos.x + r.x,
|
||||
y = pos.y + r.y,
|
||||
z = pos.z + r.z
|
||||
}
|
||||
local newnode
|
||||
local chknode = minetest.get_node(pos2)
|
||||
local def = minetest.registered_items[chknode.name]
|
||||
|
||||
if gloopblocks.lava_damage_nodes[chknode.name] then
|
||||
newnode = gloopblocks.lava_damage_nodes[chknode.name]
|
||||
elseif def and def.drawtype == "plantlike" then
|
||||
newnode = "air"
|
||||
else
|
||||
for group, new in pairs(gloopblocks.lava_damage_groups) do
|
||||
if minetest.get_item_group(chknode.name, group) > 0 then
|
||||
newnode = new
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if newnode then
|
||||
minetest.set_node(pos2, {name = newnode, param2 = chknode.param2})
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
if minetest.get_modpath("worldedit") then
|
||||
function gloopblocks.liquid_ungrief(pos1, pos2, name)
|
||||
local count
|
||||
local p1to2 = minetest.pos_to_string(pos1).." and "..minetest.pos_to_string(pos2)
|
||||
local volume = worldedit.volume(pos1, pos2)
|
||||
minetest.chat_send_player(name, "Cleaning-up lava/water griefing between "..p1to2.."...")
|
||||
if volume > 1000000 then
|
||||
minetest.chat_send_player(name, "This operation could affect up to "..volume.." nodes. It may take a while.")
|
||||
end
|
||||
minetest.log("action", name.." performs lava/water greifing cleanup between "..p1to2..".")
|
||||
count = worldedit.replace(pos1, pos2, "default:lava_source", "air")
|
||||
count = worldedit.replace(pos1, pos2, "default:lava_flowing", "air")
|
||||
count = worldedit.replace(pos1, pos2, "default:water_source", "air")
|
||||
count = worldedit.replace(pos1, pos2, "default:water_flowing", "air")
|
||||
count = worldedit.replace(pos1, pos2, "default:river_water_source", "air")
|
||||
count = worldedit.replace(pos1, pos2, "default:river_water_flowing", "air")
|
||||
count = worldedit.replace(pos1, pos2, "gloopblocks:pumice_cooled", "air")
|
||||
count = worldedit.replace(pos1, pos2, "gloopblocks:basalt_cooled", "air")
|
||||
count = worldedit.replace(pos1, pos2, "gloopblocks:obsidian_cooled", "air")
|
||||
count = worldedit.fixlight(pos1, pos2)
|
||||
minetest.chat_send_player(name, "Operation completed.")
|
||||
end
|
||||
|
||||
minetest.register_chatcommand("/liquid_ungrief", {
|
||||
params = "[size]",
|
||||
privs = {worldedit = true},
|
||||
description = "Repairs greifing caused by spilling lava and water (and their \"cooling\" results)",
|
||||
func = function(name, params)
|
||||
local pos1 = worldedit.pos1[name]
|
||||
local pos2 = worldedit.pos2[name]
|
||||
if not pos1 or not pos2 then return end
|
||||
gloopblocks.liquid_ungrief(pos1, pos2, name)
|
||||
end
|
||||
})
|
||||
end
|
235
mods/gloopblocks/locale/de.po
Normal file
@@ -0,0 +1,235 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-05-14 07:09+0200\n"
|
||||
"PO-Revision-Date: 2017-05-14 07:22+0200\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.12\n"
|
||||
"Last-Translator: Xanthin\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"Language: de\n"
|
||||
|
||||
#: init.lua
|
||||
#, fuzzy
|
||||
msgid "Diagonal Rainbow Block"
|
||||
msgstr "Regenbogenblock (diagonal)"
|
||||
|
||||
#: init.lua
|
||||
#, fuzzy
|
||||
msgid "Horizontal Rainbow Block"
|
||||
msgstr "Regenbogenblock (horizontal)"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement"
|
||||
msgstr "Zement"
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Block"
|
||||
msgstr "Teuflischer Block"
|
||||
|
||||
#: init.lua
|
||||
msgid "Basalt"
|
||||
msgstr "Basalt"
|
||||
|
||||
#: init.lua
|
||||
msgid "Pumice"
|
||||
msgstr "Bimsstein"
|
||||
|
||||
#: init.lua
|
||||
msgid "Pavement"
|
||||
msgstr "Strassenbelag"
|
||||
|
||||
#: init.lua
|
||||
msgid "Oerkki Block"
|
||||
msgstr "Oerkkiblock"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone Brick"
|
||||
msgstr "Moosiger Steinziegel"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone"
|
||||
msgstr "Moosiger Stein"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cobblestone Road Bed"
|
||||
msgstr "Kopfsteinpflasterstrasse"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobblestone Road Bed"
|
||||
msgstr "Moosige Kopfsteinpflasterstrasse"
|
||||
|
||||
#: init.lua
|
||||
msgid "Wooden Scaffold"
|
||||
msgstr "Holzgeruest"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cobblestone Roadbed"
|
||||
msgstr "Kopfsteinpflasterstrasse"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobblestone Roadbed"
|
||||
msgstr "Moosige Kopfsteinpflasterstrasse"
|
||||
|
||||
#: init.lua
|
||||
msgid "Rainbow Block"
|
||||
msgstr "Regenbogenblock"
|
||||
|
||||
#: init.lua
|
||||
msgid "Glow Crystal"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Glow Emerald"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Glow Mese"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone Stair"
|
||||
msgstr "Moosige Steintreppe"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone Slab"
|
||||
msgstr "Moosige Pflastersteintreppe"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobble Stair"
|
||||
msgstr "Moosige Pflastersteintreppe"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobble Slab"
|
||||
msgstr "Moosige Pflastersteinstufe"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone Brick Stair"
|
||||
msgstr "Moosige Steinziegeltreppe"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone Brick Slab"
|
||||
msgstr "Moosige Steinziegelstufe"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cobble Roadbed Stair"
|
||||
msgstr "Kopfsteinstrassentreppe"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cobble Roadbed Slab"
|
||||
msgstr "Kopfsteinstrassenstufe"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobble Roadbed Stair"
|
||||
msgstr "Moosige Kopfsteinstrassentreppe"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobble Roadbed Slab"
|
||||
msgstr "Moosige Kopfsteinstrassenstufe"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Stair"
|
||||
msgstr "Zementtreppe"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Slab"
|
||||
msgstr "Zementstufe"
|
||||
|
||||
#: init.lua
|
||||
msgid "Pavement Stair"
|
||||
msgstr "Strassenbelagtreppe"
|
||||
|
||||
#: init.lua
|
||||
msgid "Pavement Slab"
|
||||
msgstr "Strassenbelagstufe"
|
||||
|
||||
#: init.lua
|
||||
#, fuzzy
|
||||
msgid "Basalt Stair"
|
||||
msgstr "Basalttreppe"
|
||||
|
||||
#: init.lua
|
||||
#, fuzzy
|
||||
msgid "Basalt Slab"
|
||||
msgstr "Basaltstufe"
|
||||
|
||||
#: init.lua
|
||||
#, fuzzy
|
||||
msgid "Pumice Stair"
|
||||
msgstr "Bimssteintreppe"
|
||||
|
||||
#: init.lua
|
||||
#, fuzzy
|
||||
msgid "Pumice Slab"
|
||||
msgstr "Bimssteinstufe"
|
||||
|
||||
#: init.lua
|
||||
#, fuzzy
|
||||
msgid "Rainbow Block Stair"
|
||||
msgstr "Regenbogenblocktreppe"
|
||||
|
||||
#: init.lua
|
||||
#, fuzzy
|
||||
msgid "Rainbow Block Slab"
|
||||
msgstr "Regenbogenblockstufe"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Pickaxe"
|
||||
msgstr "Zementspitzhacke"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Shovel"
|
||||
msgstr "Zementschaufel"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Axe"
|
||||
msgstr "Zementaxt"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Sword"
|
||||
msgstr "Zementschwert"
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Pickaxe"
|
||||
msgstr "Teuflische Spitzhacke"
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Shovel"
|
||||
msgstr "Teuflische Schaufel"
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Axe"
|
||||
msgstr "Teuflische Axt"
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Sword"
|
||||
msgstr "Teuflisches Schwert"
|
||||
|
||||
#: init.lua
|
||||
msgid "Wet Cement"
|
||||
msgstr "Feuchter Zement"
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Stick"
|
||||
msgstr "Teuflischer Stock"
|
||||
|
||||
#: init.lua
|
||||
msgid "Obsidian"
|
||||
msgstr "Obsidian"
|
||||
|
||||
#: init.lua
|
||||
msgid "Steel Fence"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Gloopblocks Loaded!"
|
||||
msgstr "Gloopblocks geladen!"
|
227
mods/gloopblocks/locale/fr.po
Normal file
@@ -0,0 +1,227 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-05-14 06:47+0200\n"
|
||||
"PO-Revision-Date: 2017-08-06 08:45+0200\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.12\n"
|
||||
"Last-Translator: fat115 <fat115@framasoft.org>\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"Language: fr\n"
|
||||
|
||||
#: init.lua
|
||||
msgid "Diagonal Rainbow Block"
|
||||
msgstr "Bloc Arc-en-ciel diagonal"
|
||||
|
||||
#: init.lua
|
||||
msgid "Horizontal Rainbow Block"
|
||||
msgstr "Bloc Arc-en-ciel horizontal"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement"
|
||||
msgstr "Ciment"
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Block"
|
||||
msgstr "Bloc diabolique"
|
||||
|
||||
#: init.lua
|
||||
msgid "Basalt"
|
||||
msgstr "Basalte"
|
||||
|
||||
#: init.lua
|
||||
msgid "Pumice"
|
||||
msgstr "Pierre ponce"
|
||||
|
||||
#: init.lua
|
||||
msgid "Pavement"
|
||||
msgstr "Chaussée"
|
||||
|
||||
#: init.lua
|
||||
msgid "Oerkki Block"
|
||||
msgstr "Bloc Oerkki"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone Brick"
|
||||
msgstr "Brique moussue en pierre"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone"
|
||||
msgstr "Pierre moussue"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cobblestone Road Bed"
|
||||
msgstr "Ballast en pierres"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobblestone Road Bed"
|
||||
msgstr "Ballast moussu en pierres"
|
||||
|
||||
#: init.lua
|
||||
msgid "Wooden Scaffold"
|
||||
msgstr "Échafaud en bois"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cobblestone Roadbed"
|
||||
msgstr "Ballast en pierres"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobblestone Roadbed"
|
||||
msgstr "Ballast moussu en pierres"
|
||||
|
||||
#: init.lua
|
||||
msgid "Rainbow Block"
|
||||
msgstr "Bloc Arc-en-ciel"
|
||||
|
||||
#: init.lua
|
||||
msgid "Glow Crystal"
|
||||
msgstr "Cristal brillant"
|
||||
|
||||
#: init.lua
|
||||
msgid "Glow Emerald"
|
||||
msgstr "Émeraude brillante"
|
||||
|
||||
#: init.lua
|
||||
msgid "Glow Mese"
|
||||
msgstr "Mese brillant"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone Stair"
|
||||
msgstr "Marche moussue en pierre"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone Slab"
|
||||
msgstr "Dalle moussue en pierre"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobble Stair"
|
||||
msgstr "Marche moussue en pierres"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobble Slab"
|
||||
msgstr "Dalle moussue en pierres"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone Brick Stair"
|
||||
msgstr "Marche moussue en briques de pierre"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone Brick Slab"
|
||||
msgstr "Dalle moussue en briques de pierre"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cobble Roadbed Stair"
|
||||
msgstr "Marche en ballast (pierres)"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cobble Roadbed Slab"
|
||||
msgstr "Dalle en ballast (pierres)"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobble Roadbed Stair"
|
||||
msgstr "Marche moussue en ballast (pierres)"
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobble Roadbed Slab"
|
||||
msgstr "Dalle moussue en ballast (pierres)"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Stair"
|
||||
msgstr "Marche en ciment"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Slab"
|
||||
msgstr "Dalle en ciment"
|
||||
|
||||
#: init.lua
|
||||
msgid "Pavement Stair"
|
||||
msgstr "Marche de chaussée"
|
||||
|
||||
#: init.lua
|
||||
msgid "Pavement Slab"
|
||||
msgstr "Dalle de chaussée"
|
||||
|
||||
#: init.lua
|
||||
msgid "Basalt Stair"
|
||||
msgstr "Marche en basalte"
|
||||
|
||||
#: init.lua
|
||||
msgid "Basalt Slab"
|
||||
msgstr "Dalle en basalte"
|
||||
|
||||
#: init.lua
|
||||
msgid "Pumice Stair"
|
||||
msgstr "Marche en pierre ponce"
|
||||
|
||||
#: init.lua
|
||||
msgid "Pumice Slab"
|
||||
msgstr "Dalle en pierre ponce"
|
||||
|
||||
#: init.lua
|
||||
msgid "Rainbow Block Stair"
|
||||
msgstr "Marche en bloc Arc-en-ciel"
|
||||
|
||||
#: init.lua
|
||||
msgid "Rainbow Block Slab"
|
||||
msgstr "Dalle en bloc Arc-en-ciel"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Pickaxe"
|
||||
msgstr "Pioche en ciment"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Shovel"
|
||||
msgstr "Pelle en ciment"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Axe"
|
||||
msgstr "Hache en ciment"
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Sword"
|
||||
msgstr "Épée en ciment"
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Pickaxe"
|
||||
msgstr "Pioche diabolique"
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Shovel"
|
||||
msgstr "Pelle diabolique"
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Axe"
|
||||
msgstr "Hache diabolique"
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Sword"
|
||||
msgstr "Épée diabolique"
|
||||
|
||||
#: init.lua
|
||||
msgid "Wet Cement"
|
||||
msgstr "Mortier"
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Stick"
|
||||
msgstr "Baton diabolique"
|
||||
|
||||
#: init.lua
|
||||
msgid "Obsidian"
|
||||
msgstr "Obsidienne"
|
||||
|
||||
#: init.lua
|
||||
msgid "Steel Fence"
|
||||
msgstr "Barrière en acier"
|
||||
|
||||
#: init.lua
|
||||
msgid "Gloopblocks Loaded!"
|
||||
msgstr "[Gloopblocks] a été chargé."
|
176
mods/gloopblocks/locale/ru.po
Normal file
@@ -0,0 +1,176 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-05-14 06:45+0200\n"
|
||||
"PO-Revision-Date: 2017-08-17 12:47+0300\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 2.0.3\n"
|
||||
"Last-Translator: inpos <inpos@yandex.ru>\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"Language: ru\n"
|
||||
|
||||
msgid "Diagonal Rainbow Block"
|
||||
msgstr "Блок с радугой по диагонали"
|
||||
|
||||
msgid "Horizontal Rainbow Block"
|
||||
msgstr "Блок с радугой по горизонтали"
|
||||
|
||||
msgid "Cement"
|
||||
msgstr "Цемент"
|
||||
|
||||
msgid "Evil Block"
|
||||
msgstr "Злой блок"
|
||||
|
||||
msgid "Basalt"
|
||||
msgstr "Базальт"
|
||||
|
||||
msgid "Pumice"
|
||||
msgstr "Пемза"
|
||||
|
||||
msgid "Pavement"
|
||||
msgstr "Мостовая"
|
||||
|
||||
msgid "Oerkki Block"
|
||||
msgstr "Блок Оеркки"
|
||||
|
||||
msgid "Mossy Stone Brick"
|
||||
msgstr "Кирпич из мшистого камня"
|
||||
|
||||
msgid "Mossy Stone"
|
||||
msgstr "Мшистый камень"
|
||||
|
||||
msgid "Cobblestone Road Bed"
|
||||
msgstr "Брусчатка"
|
||||
|
||||
msgid "Mossy Cobblestone Road Bed"
|
||||
msgstr "Мшистая брусчатка"
|
||||
|
||||
msgid "Wooden Scaffold"
|
||||
msgstr "Деревянные строительные леса"
|
||||
|
||||
msgid "Cobblestone Roadbed"
|
||||
msgstr "Брусчатка"
|
||||
|
||||
msgid "Mossy Cobblestone Roadbed"
|
||||
msgstr "Мшистая брусчатка"
|
||||
|
||||
msgid "Rainbow Block"
|
||||
msgstr "Радужный блок"
|
||||
|
||||
msgid "Glow Crystal"
|
||||
msgstr "Светящийся хрусталь"
|
||||
|
||||
msgid "Glow Emerald"
|
||||
msgstr "Светящийся изумруд"
|
||||
|
||||
msgid "Glow Mese"
|
||||
msgstr "Светящийся камень"
|
||||
|
||||
msgid "Mossy Stone Stair"
|
||||
msgstr "Ступенька из мшистого камня"
|
||||
|
||||
msgid "Mossy Stone Slab"
|
||||
msgstr "Плита из мшистого камня"
|
||||
|
||||
msgid "Mossy Cobble Stair"
|
||||
msgstr "Ступенька из мшистого булыжника"
|
||||
|
||||
msgid "Mossy Cobble Slab"
|
||||
msgstr "Плита из мшистого булыжника"
|
||||
|
||||
msgid "Mossy Stone Brick Stair"
|
||||
msgstr "Ступенька из мшистого каменного кирпича"
|
||||
|
||||
msgid "Mossy Stone Brick Slab"
|
||||
msgstr "Плита из мшистого каменного кирпича"
|
||||
|
||||
msgid "Cobble Roadbed Stair"
|
||||
msgstr "Ступенька из брусчатки"
|
||||
|
||||
msgid "Cobble Roadbed Slab"
|
||||
msgstr "Плита из брусчатки"
|
||||
|
||||
msgid "Mossy Cobble Roadbed Stair"
|
||||
msgstr "Ступенька из мшистой брусчатки"
|
||||
|
||||
msgid "Mossy Cobble Roadbed Slab"
|
||||
msgstr "Плита из мшистой брусчатки"
|
||||
|
||||
msgid "Cement Stair"
|
||||
msgstr "Ступенька из цемента"
|
||||
|
||||
msgid "Cement Slab"
|
||||
msgstr "Плита из цемента"
|
||||
|
||||
msgid "Pavement Stair"
|
||||
msgstr "Ступенька из мостовой"
|
||||
|
||||
msgid "Pavement Slab"
|
||||
msgstr "Плита из мостовой"
|
||||
|
||||
msgid "Basalt Stair"
|
||||
msgstr "Базальтовая ступенька"
|
||||
|
||||
msgid "Basalt Slab"
|
||||
msgstr "Базальтовая плита"
|
||||
|
||||
msgid "Pumice Stair"
|
||||
msgstr "Ступенька из пемзы"
|
||||
|
||||
msgid "Pumice Slab"
|
||||
msgstr "Плита из пемзы"
|
||||
|
||||
msgid "Rainbow Block Stair"
|
||||
msgstr "Ступенька из радужного блока"
|
||||
|
||||
msgid "Rainbow Block Slab"
|
||||
msgstr "Плита из радужного блока"
|
||||
|
||||
msgid "Cement Pickaxe"
|
||||
msgstr "Кирка из цемента"
|
||||
|
||||
msgid "Cement Shovel"
|
||||
msgstr "Лопата из цемента"
|
||||
|
||||
msgid "Cement Axe"
|
||||
msgstr "Топор из цемента"
|
||||
|
||||
msgid "Cement Sword"
|
||||
msgstr "Меч из цемента"
|
||||
|
||||
msgid "Evil Pickaxe"
|
||||
msgstr "Кирка зла"
|
||||
|
||||
msgid "Evil Shovel"
|
||||
msgstr "Лопата зла"
|
||||
|
||||
msgid "Evil Axe"
|
||||
msgstr "Топор зла"
|
||||
|
||||
msgid "Evil Sword"
|
||||
msgstr "Меч зла"
|
||||
|
||||
msgid "Wet Cement"
|
||||
msgstr "Мокрый цемент"
|
||||
|
||||
msgid "Evil Stick"
|
||||
msgstr "Злая палка"
|
||||
|
||||
msgid "Obsidian"
|
||||
msgstr "Обсидиан"
|
||||
|
||||
msgid "Steel Fence"
|
||||
msgstr "Стальной забор"
|
||||
|
||||
msgid "Gloopblocks Loaded!"
|
||||
msgstr "Gloopblocks загружен!"
|
||||
|
226
mods/gloopblocks/locale/template.pot
Normal file
@@ -0,0 +1,226 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-05-14 06:45+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: init.lua
|
||||
msgid "Diagonal Rainbow Block"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Horizontal Rainbow Block"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Block"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Basalt"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Pumice"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Pavement"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Oerkki Block"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone Brick"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Cobblestone Road Bed"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobblestone Road Bed"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Wooden Scaffold"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Cobblestone Roadbed"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobblestone Roadbed"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Rainbow Block"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Glow Crystal"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Glow Emerald"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Glow Mese"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone Stair"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone Slab"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobble Stair"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobble Slab"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone Brick Stair"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Stone Brick Slab"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Cobble Roadbed Stair"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Cobble Roadbed Slab"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobble Roadbed Stair"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Mossy Cobble Roadbed Slab"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Stair"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Slab"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Pavement Stair"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Pavement Slab"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Basalt Stair"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Basalt Slab"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Pumice Stair"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Pumice Slab"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Rainbow Block Stair"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Rainbow Block Slab"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Pickaxe"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Shovel"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Axe"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Cement Sword"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Pickaxe"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Shovel"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Axe"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Sword"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Wet Cement"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Evil Stick"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Obsidian"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Steel Fence"
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid "Gloopblocks Loaded!"
|
||||
msgstr ""
|
839
mods/gloopblocks/main.lua
Normal file
@@ -0,0 +1,839 @@
|
||||
-- Load support for intllib.
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
-- Nodes
|
||||
|
||||
minetest.register_node("gloopblocks:rainbow_block_diagonal", {
|
||||
description = S("Diagonal Rainbow Block"),
|
||||
tiles = {"gloopblocks_rainbow_block.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_defaults(),
|
||||
})
|
||||
minetest.register_alias("gloopblocks:rainbow_block", "gloopblocks:rainbow_block_diagonal")
|
||||
|
||||
minetest.register_node("gloopblocks:rainbow_block_horizontal", {
|
||||
description = S("Horizontal Rainbow Block"),
|
||||
tiles = {
|
||||
"gloopblocks_rainbow_horizontal.png^[transformR90",
|
||||
"gloopblocks_rainbow_horizontal.png^[transformR90",
|
||||
"gloopblocks_rainbow_horizontal.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
light_source = default.LIGHT_MAX,
|
||||
paramtype2 = "facedir",
|
||||
groups = {cracky = 2},
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("gloopblocks:evil_block", {
|
||||
description = S("Evil Block"),
|
||||
tiles = {"gloopblocks_evil_block.png"},
|
||||
light_source = 5,
|
||||
is_ground_content = true,
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("gloopblocks:basalt", {
|
||||
description = S("Basalt"),
|
||||
tiles = {"gloopblocks_basalt.png"},
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("gloopblocks:pumice", {
|
||||
description = S("Pumice"),
|
||||
tiles = {"gloopblocks_pumice.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("gloopblocks:pavement", {
|
||||
description = S("Pavement"),
|
||||
tiles = {"gloopblocks_pavement.png"},
|
||||
groups = {cracky=3, oddly_breakable_by_hand=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("gloopblocks:oerkki_block", {
|
||||
drawtype = "nodebox",
|
||||
description = S("Oerkki Block"),
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
tiles = {
|
||||
"gloopblocks_oerkkiblock_tb.png",
|
||||
"gloopblocks_oerkkiblock_tb.png",
|
||||
"gloopblocks_oerkkiblock_sides.png",
|
||||
"gloopblocks_oerkkiblock_sides.png",
|
||||
"gloopblocks_oerkkiblock_sides.png",
|
||||
"gloopblocks_oerkkiblock_front.png"
|
||||
},
|
||||
groups = {cracky=3, oddly_breakable_by_hand=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.1875, 0.5, 0.5, 0.1875}, -- NodeBox1
|
||||
{-0.5, -0.5, -0.5, -0.4375, 0.5, 0.5}, -- NodeBox2
|
||||
{0.4375, -0.5, -0.5, 0.5, 0.5, 0.5}, -- NodeBox3
|
||||
{-0.5, 0.4375, -0.5, 0.5, 0.5, 0.5}, -- NodeBox4
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, -- NodeBox5
|
||||
{-0.5, -0.0625, -0.5, 0.5, 0.0625, 0.5}, -- NodeBox6
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("gloopblocks:stone_brick_mossy", {
|
||||
description = S("Mossy Stone Brick"),
|
||||
tiles = {"gloopblocks_stone_brick_mossy.png"},
|
||||
groups = {cracky=3, stone=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("gloopblocks:stone_mossy", {
|
||||
description = S("Mossy Stone"),
|
||||
tiles = {"gloopblocks_stone_mossy.png"},
|
||||
groups = {cracky=3, stone=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
drop = "default:mossycobble"
|
||||
})
|
||||
|
||||
minetest.register_node("gloopblocks:cobble_road", {
|
||||
description = S("Cobblestone Road Bed"),
|
||||
tiles = {"gloopblocks_cobble_road.png"},
|
||||
groups = {cracky=3, stone=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("gloopblocks:cobble_road_mossy", {
|
||||
description = S("Mossy Cobblestone Road Bed"),
|
||||
tiles = {"gloopblocks_cobble_road_mossy.png"},
|
||||
groups = {cracky=3, stone=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("gloopblocks:scaffolding", {
|
||||
description = S("Wooden Scaffold"),
|
||||
drawtype = "allfaces",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
tiles = {"gloopblocks_scaffold.png"},
|
||||
groups = {choppy=3, oddly_breakable_by_hand=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_alias("moreblocks:oerkkiblock", "gloopblocks:oerkki_block")
|
||||
minetest.register_alias("gloopblocks:obsidian", "default:obsidian")
|
||||
|
||||
-- Nodes imported from Usesdirt ================================================================================
|
||||
|
||||
if not minetest.get_modpath("usesdirt") then
|
||||
|
||||
local dirt_brick_tex = "default_dirt.png^gloopblocks_dirt_brick_overlay.png"
|
||||
local dirt_cobble_tex = "default_cobble.png^(default_dirt.png^[mask:gloopblocks_dirt_cobble_mask.png)"
|
||||
local dirt_stone_tex = "default_stone.png^(default_dirt.png^[mask:gloopblocks_dirt_stone_mask.png)"
|
||||
|
||||
local dirt_ladder_tex = "(default_dirt.png^[mask:gloopblocks_ladder_mask.png)^gloopblocks_ladder_overlay.png"
|
||||
local dirt_brick_ladder_tex = "(("..dirt_brick_tex..")^[mask:gloopblocks_ladder_mask.png)^gloopblocks_ladder_overlay.png"
|
||||
local dirt_cobble_ladder_tex = "(("..dirt_cobble_tex..")^[mask:gloopblocks_ladder_mask.png)^gloopblocks_ladder_overlay.png"
|
||||
local dirt_stone_ladder_tex = "(("..dirt_stone_tex..")^[mask:gloopblocks_ladder_mask.png)^gloopblocks_ladder_overlay.png"
|
||||
|
||||
minetest.register_node(":usesdirt:dirt_brick", {
|
||||
tiles = { dirt_brick_tex },
|
||||
description = "Dirt Brick",
|
||||
groups = {snappy=2,choppy=1,oddly_breakable_by_hand=2},
|
||||
})
|
||||
|
||||
minetest.register_node(":usesdirt:dirt_brick_ladder", {
|
||||
description = "Dirt Brick Ladder",
|
||||
drawtype = "signlike",
|
||||
tiles = { dirt_brick_ladder_tex },
|
||||
inventory_image = dirt_brick_ladder_tex,
|
||||
wield_image = dirt_brick_ladder_tex,
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
is_ground_content = true,
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
--wall_top = = <default>
|
||||
--wall_bottom = = <default>
|
||||
--wall_side = = <default>
|
||||
},
|
||||
groups = {cracky=3, stone=2},
|
||||
legacy_wallmounted = true,
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'usesdirt:dirt_brick_ladder 3',
|
||||
recipe = {
|
||||
{'usesdirt:dirt_brick', '', 'usesdirt:dirt_brick'},
|
||||
{'usesdirt:dirt_brick', 'usesdirt:dirt_brick','usesdirt:dirt_brick'},
|
||||
{'usesdirt:dirt_brick','','usesdirt:dirt_brick'},
|
||||
}
|
||||
})
|
||||
|
||||
default.register_fence(":usesdirt:dirt_brick_fence", {
|
||||
description = "Dirt Brick Fence",
|
||||
texture = dirt_brick_tex,
|
||||
inventory_image = "default_fence_overlay.png^("..dirt_brick_tex..")^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_overlay.png^("..dirt_brick_tex..")^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
material = "usesdirt:dirt_brick",
|
||||
groups = {cracky=3, stone=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
check_for_pole = true
|
||||
})
|
||||
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
minetest.register_craft({
|
||||
output = 'usesdirt:dirt_brick 24',
|
||||
recipe = {
|
||||
{'moreblocks:dirt_compressed', 'moreblocks:dirt_compressed', '' },
|
||||
{'moreblocks:dirt_compressed', 'moreblocks:dirt_compressed', '' }
|
||||
}
|
||||
})
|
||||
else
|
||||
minetest.register_craft({
|
||||
output = 'usesdirt:dirt_brick 6',
|
||||
recipe = {
|
||||
{'default:dirt', 'default:dirt', 'default:dirt'},
|
||||
{'default:dirt', 'default:dirt', 'default:dirt'},
|
||||
{'default:dirt', 'default:dirt', 'default:dirt'},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node(":usesdirt:dirt_ladder", {
|
||||
description = "Dirt Ladder",
|
||||
drawtype = "signlike",
|
||||
tiles = { dirt_ladder_tex },
|
||||
inventory_image = dirt_ladder_tex,
|
||||
wield_image = dirt_ladder_tex,
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
is_ground_content = true,
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
--wall_top = = <default>
|
||||
--wall_bottom = = <default>
|
||||
--wall_side = = <default>
|
||||
},
|
||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3},
|
||||
legacy_wallmounted = true,
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'usesdirt:dirt_ladder 3',
|
||||
recipe = {
|
||||
{'usesdirt:dirt_brick', '', 'usesdirt:dirt_brick'},
|
||||
{'usesdirt:dirt_brick', 'usesdirt:dirt_brick','usesdirt:dirt_brick'},
|
||||
{'usesdirt:dirt_brick','','usesdirt:dirt_brick'},
|
||||
}
|
||||
})
|
||||
|
||||
default.register_fence(":usesdirt:dirt_fence", {
|
||||
description = "Dirt Fence",
|
||||
texture = "default_dirt.png",
|
||||
inventory_image = "default_fence_overlay.png^default_dirt.png^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_overlay.png^default_dirt.png^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
material = "default:dirt",
|
||||
groups = {snappy=2,choppy=1,oddly_breakable_by_hand=3},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
check_for_pole = true
|
||||
})
|
||||
|
||||
----
|
||||
|
||||
minetest.register_node(":usesdirt:dirt_cobble_stone", {
|
||||
tiles = { dirt_cobble_tex },
|
||||
description = "Dirt Cobble Stone",
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3, stone=2},
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = '"usesdirt:dirt_cobble_stone" 3',
|
||||
recipe = {
|
||||
{'usesdirt:dirt_brick', 'usesdirt:dirt_brick', 'usesdirt:dirt_brick'},
|
||||
{'usesdirt:dirt_brick', 'usesdirt:dirt_brick', 'usesdirt:dirt_brick'},
|
||||
{'usesdirt:dirt_brick', 'usesdirt:dirt_brick', 'usesdirt:dirt_brick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node(":usesdirt:dirt_cobble_stone_ladder", {
|
||||
description = "Dirt Cobble Stone Ladder",
|
||||
drawtype = "signlike",
|
||||
tiles = { dirt_cobble_ladder_tex },
|
||||
inventory_image = dirt_cobble_ladder_tex,
|
||||
wield_image = dirt_cobble_ladder_tex,
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
is_ground_content = true,
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
--wall_top = = <default>
|
||||
--wall_bottom = = <default>
|
||||
--wall_side = = <default>
|
||||
},
|
||||
groups = {cracky=3, stone=2},
|
||||
legacy_wallmounted = true,
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'usesdirt:dirt_cobble_stone_ladder 3',
|
||||
recipe = {
|
||||
{'usesdirt:dirt_cobble_stone', '', 'usesdirt:dirt_cobble_stone'},
|
||||
{'usesdirt:dirt_cobble_stone', 'usesdirt:dirt_cobble_stone','usesdirt:dirt_cobble_stone'},
|
||||
{'usesdirt:dirt_cobble_stone','','usesdirt:dirt_cobble_stone'},
|
||||
}
|
||||
})
|
||||
|
||||
default.register_fence(":usesdirt:dirt_cobble_stone_fence", {
|
||||
description = "Dirt Cobble Stone Fence",
|
||||
texture = dirt_cobble_tex,
|
||||
inventory_image = "default_fence_overlay.png^("..dirt_cobble_tex..")^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_overlay.png^("..dirt_cobble_tex..")^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
material = "usesdirt:dirt_cobble_stone",
|
||||
groups = {cracky=3, stone=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
check_for_pole = true
|
||||
})
|
||||
|
||||
----
|
||||
|
||||
minetest.register_node(":usesdirt:dirt_stone", {
|
||||
tiles = { dirt_stone_tex },
|
||||
description = "Dirt Stone",
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3, stone=2},
|
||||
})
|
||||
|
||||
minetest.register_node(":usesdirt:dirt_stone_ladder", {
|
||||
description = "Dirt Stone Ladder",
|
||||
drawtype = "signlike",
|
||||
tiles = { dirt_stone_ladder_tex },
|
||||
inventory_image = dirt_stone_ladder_tex,
|
||||
wield_image = dirt_stone_ladder_tex,
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
is_ground_content = true,
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
--wall_top = = <default>
|
||||
--wall_bottom = = <default>
|
||||
--wall_side = = <default>
|
||||
},
|
||||
groups = {cracky=3, stone=2},
|
||||
legacy_wallmounted = true,
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'usesdirt:dirt_stone_ladder 3',
|
||||
recipe = {
|
||||
{'usesdirt:dirt_stone', '', 'usesdirt:dirt_stone'},
|
||||
{'usesdirt:dirt_stone', 'usesdirt:dirt_stone','usesdirt:dirt_stone'},
|
||||
{'usesdirt:dirt_stone','','usesdirt:dirt_stone'},
|
||||
}
|
||||
})
|
||||
|
||||
default.register_fence(":usesdirt:dirt_stone_fence", {
|
||||
description = "Dirt Stone Fence",
|
||||
texture = dirt_stone_tex,
|
||||
inventory_image = "default_fence_overlay.png^("..dirt_stone_tex..")^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_overlay.png^("..dirt_stone_tex..")^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
material = "usesdirt:dirt_stone",
|
||||
groups = {cracky=3, stone=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
check_for_pole = true
|
||||
})
|
||||
end
|
||||
|
||||
-- Stairs/slabs defs, conversion of normal -> mossy items
|
||||
|
||||
if minetest.setting_getbool("gloopblocks_mossy_conversion") ~= false then
|
||||
|
||||
function gloopblocks_register_mossy_conversion(mossyobjects)
|
||||
for i in ipairs(mossyobjects) do
|
||||
minetest.register_abm({
|
||||
nodenames = { mossyobjects[i][1] },
|
||||
neighbors = {"default:water_source", "default:water_flowing"},
|
||||
interval = 120,
|
||||
chance = 50,
|
||||
action = function(pos, node)
|
||||
if minetest.find_node_near(pos, 2, "air") then
|
||||
local fdir = node.param2
|
||||
minetest.add_node(pos, {name = mossyobjects[i][2], param2 = fdir})
|
||||
end
|
||||
end,
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
|
||||
stairsplus:register_all("gloopblocks", "oerkki_block", "gloopblocks:oerkki_block", {
|
||||
description = S("Oerkki Block"),
|
||||
tiles = {
|
||||
"gloopblocks_oerkkiblock_tb.png",
|
||||
"gloopblocks_oerkkiblock_tb.png",
|
||||
"gloopblocks_oerkkiblock_sides.png",
|
||||
"gloopblocks_oerkkiblock_sides.png",
|
||||
"gloopblocks_oerkkiblock_sides.png",
|
||||
"gloopblocks_oerkkiblock_front.png"
|
||||
},
|
||||
groups = {cracky=2, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("gloopblocks", "stone_brick_mossy", "gloopblocks:stone_brick_mossy", {
|
||||
description = S("Mossy Stone Brick"),
|
||||
tiles = {"gloopblocks_stone_brick_mossy.png"},
|
||||
groups = {cracky=1, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("gloopblocks", "stone_mossy", "gloopblocks:stone_mossy", {
|
||||
description = S("Mossy Stone"),
|
||||
tiles = {"gloopblocks_stone_mossy.png"},
|
||||
groups = {cracky=1, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("gloopblocks", "cobble_road", "gloopblocks:cobble_road", {
|
||||
description = S("Cobblestone Roadbed"),
|
||||
tiles = {"gloopblocks_cobble_road.png"},
|
||||
groups = {cracky=3, stone=1, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("gloopblocks", "cobble_road_mossy", "gloopblocks:cobble_road_mossy", {
|
||||
description = S("Mossy Cobblestone Roadbed"),
|
||||
tiles = {"gloopblocks_cobble_road_mossy.png"},
|
||||
groups = {cracky=3, stone=1, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("gloopblocks", "pavement", "gloopblocks:pavement", {
|
||||
description = S("Pavement"),
|
||||
tiles = {"gloopblocks_pavement.png"},
|
||||
groups = {cracky=2, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("gloopblocks", "rainbow_block", "gloopblocks:rainbow_block", {
|
||||
description = S("Rainbow Block"),
|
||||
tiles = {"gloopblocks_rainbow_block.png"},
|
||||
groups = {cracky=3, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("gloopblocks", "evil_block", "gloopblocks:evil_block", {
|
||||
description = S("Evil Block"),
|
||||
tiles = {"gloopblocks_evil_block.png"},
|
||||
groups = {cracky=3, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_defaults(),
|
||||
light_source = 5,
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("gloopblocks", "basalt", "gloopblocks:basalt", {
|
||||
description = S("Basalt"),
|
||||
tiles = {"gloopblocks_basalt.png"},
|
||||
groups = {cracky=2, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("gloopblocks", "pumice", "gloopblocks:pumice", {
|
||||
description = S("Pumice"),
|
||||
tiles = {"gloopblocks_pumice.png"},
|
||||
groups = {cracky=3, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("gloopblocks", "gravel", "default:gravel", {
|
||||
description = S("Gravel"),
|
||||
tiles = {"default_gravel.png"},
|
||||
groups = {crumbly = 2, falling_node = 1, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = false,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("caverealms") then
|
||||
stairsplus:register_all("caverealms", "glow_crystal", "caverealms:glow_crystal", {
|
||||
description = S("Glow Crystal"),
|
||||
tiles = {"caverealms_glow_crystal.png"},
|
||||
groups = {cracky=3, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
light_source = 12,
|
||||
use_texture_alpha = true,
|
||||
paramtype="light",
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("caverealms", "glow_emerald", "caverealms:glow_emerald", {
|
||||
description = S("Glow Emerald"),
|
||||
tiles = {"caverealms_glow_emerald.png"},
|
||||
groups = {cracky=3, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
light_source = 12,
|
||||
use_texture_alpha = true,
|
||||
paramtype="light",
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("caverealms", "glow_mese", "caverealms:glow_mese", {
|
||||
description = S("Glow Mese"),
|
||||
tiles = {"caverealms_glow_mese.png"},
|
||||
groups = {cracky=3, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
light_source = 12,
|
||||
use_texture_alpha = true,
|
||||
paramtype="light",
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
end
|
||||
|
||||
-- ABMs for mossy objects
|
||||
|
||||
if minetest.setting_getbool("gloopblocks_mossy_conversion") ~= false then
|
||||
|
||||
gloopblocks_register_mossy_conversion({
|
||||
{ "moreblocks:stair_cobble", "moreblocks:stair_mossycobble" },
|
||||
{ "moreblocks:stair_cobble_inner", "moreblocks:stair_mossycobble_inner" },
|
||||
{ "moreblocks:stair_cobble_outer", "moreblocks:stair_mossycobble_outer" },
|
||||
{ "moreblocks:stair_cobble_half", "moreblocks:stair_mossycobble_half" },
|
||||
{ "moreblocks:slab_cobble_quarter", "moreblocks:slab_mossycobble_quarter" },
|
||||
{ "moreblocks:slab_cobble", "moreblocks:slab_mossycobble" },
|
||||
{ "moreblocks:slab_cobble_three_quarter", "moreblocks:slab_mossycobble_three_quarter" },
|
||||
{ "moreblocks:panel_cobble", "moreblocks:panel_mossycobble" },
|
||||
{ "moreblocks:micro_cobble", "moreblocks:micro_mossycobble" },
|
||||
{ "moreblocks:stair_cobble_alt", "moreblocks:stair_mossycobble_alt" },
|
||||
|
||||
{ "gloopblocks:cobble_road", "gloopblocks:cobble_road_mossy" },
|
||||
{ "gloopblocks:stair_cobble_road", "gloopblocks:stair_cobble_road_mossy" },
|
||||
{ "gloopblocks:slab_cobble_road", "gloopblocks:slab_cobble_road_mossy" },
|
||||
{ "gloopblocks:stair_cobble_road", "gloopblocks:stair_cobble_road_mossy" },
|
||||
{ "gloopblocks:stair_cobble_road_inner", "gloopblocks:stair_cobble_road_mossy_inner" },
|
||||
{ "gloopblocks:stair_cobble_road_outer", "gloopblocks:stair_cobble_road_mossy_outer" },
|
||||
{ "gloopblocks:stair_cobble_road_half", "gloopblocks:stair_cobble_road_mossy_half" },
|
||||
{ "gloopblocks:slab_cobble_road_quarter", "gloopblocks:slab_cobble_road_mossy_quarter" },
|
||||
{ "gloopblocks:slab_cobble_road", "gloopblocks:slab_cobble_road_mossy" },
|
||||
{ "gloopblocks:slab_cobble_road_three_quarter", "gloopblocks:slab_cobble_road_mossy_three_quarter" },
|
||||
{ "gloopblocks:panel_cobble_road", "gloopblocks:panel_cobble_road_mossy" },
|
||||
{ "gloopblocks:micro_cobble_road", "gloopblocks:micro_cobble_road_mossy" },
|
||||
{ "gloopblocks:stair_cobble_road_alt", "gloopblocks:stair_cobble_road_mossy_alt" },
|
||||
|
||||
{ "default:stonebrick", "gloopblocks:stone_brick_mossy" },
|
||||
{ "default:stair_stonebrick", "gloopblocks:stair_stone_brick_mossy" },
|
||||
{ "default:slab_stonebrick", "gloopblocks:slab_stone_brick_mossy" },
|
||||
{ "moreblocks:stair_stonebrick", "gloopblocks:stair_stone_brick_mossy" },
|
||||
{ "moreblocks:stair_stonebrick_inner", "gloopblocks:stair_stone_brick_mossy_inner" },
|
||||
{ "moreblocks:stair_stonebrick_outer", "gloopblocks:stair_stone_brick_mossy_outer" },
|
||||
{ "moreblocks:stair_stonebrick_half", "gloopblocks:stair_stone_brick_mossy_half" },
|
||||
{ "moreblocks:slab_stonebrick_quarter", "gloopblocks:slab_stone_brick_mossy_quarter" },
|
||||
{ "moreblocks:slab_stonebrick", "gloopblocks:slab_stone_brick_mossy" },
|
||||
{ "moreblocks:slab_stonebrick_three_quarter", "gloopblocks:slab_stone_brick_mossy_three_quarter" },
|
||||
{ "moreblocks:panel_stonebrick", "gloopblocks:panel_stone_brick_mossy" },
|
||||
{ "moreblocks:micro_stonebrick", "gloopblocks:micro_stone_brick_mossy" },
|
||||
{ "moreblocks:stair_stonebrick_alt", "gloopblocks:stair_stone_brick_mossy_alt" },
|
||||
|
||||
{ "default:stone", "gloopblocks:stone_mossy" },
|
||||
{ "default:stair_stone", "gloopblocks:stair_stone_mossy" },
|
||||
{ "default:slab_stone", "gloopblocks:slab_stone_mossy" },
|
||||
{ "moreblocks:stair_stone", "gloopblocks:stair_stone_mossy" },
|
||||
{ "moreblocks:stair_stone_inner", "gloopblocks:stair_stone_mossy_inner" },
|
||||
{ "moreblocks:stair_stone_outer", "gloopblocks:stair_stone_mossy_outer" },
|
||||
{ "moreblocks:stair_stone_half", "gloopblocks:stair_stone_mossy_half" },
|
||||
|
||||
{ "moreblocks:slab_stone_quarter", "gloopblocks:slab_stone_mossy_quarter" },
|
||||
{ "moreblocks:slab_stone", "gloopblocks:slab_stone_mossy" },
|
||||
{ "moreblocks:slab_stone_three_quarter", "gloopblocks:slab_stone_mossy_three_quarter" },
|
||||
{ "moreblocks:panel_stone", "gloopblocks:panel_stone_mossy" },
|
||||
{ "moreblocks:micro_stone", "gloopblocks:micro_stone_mossy" },
|
||||
{ "moreblocks:stair_stone_alt", "gloopblocks:stair_stone_mossy_alt" },
|
||||
})
|
||||
end
|
||||
|
||||
elseif minetest.get_modpath("stairs") then
|
||||
|
||||
--stairs.register_stair(subname, recipeitem, groups, images, description, sounds)
|
||||
|
||||
-- stairs:xxxx_stone_mossy ; xxxx = stair or slab
|
||||
stairs.register_stair_and_slab("stone_mossy", "gloopblocks:stone_mossy",
|
||||
{cracky=3},
|
||||
{"gloopblocks_stone_mossy.png"},
|
||||
S("Mossy Stone Stair"),
|
||||
S("Mossy Stone Slab"),
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
-- stairs:xxxx_mossycobble
|
||||
stairs.register_stair_and_slab("mossycobble", "default:mossycobble",
|
||||
{cracky=3},
|
||||
{"default_mossycobble.png"},
|
||||
S("Mossy Cobble Stair"),
|
||||
S("Mossy Cobble Slab"),
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
-- stairs:xxxx_stone_brick_mossy
|
||||
stairs.register_stair_and_slab("stone_brick_mossy", "gloopblocks:stone_brick_mossy",
|
||||
{cracky=3},
|
||||
{"gloopblocks_stone_brick_mossy.png"},
|
||||
S("Mossy Stone Brick Stair"),
|
||||
S("Mossy Stone Brick Slab"),
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
-- stairs:xxxx_cobble_road
|
||||
stairs.register_stair_and_slab("cobble_road", "gloopblocks:cobble_road",
|
||||
{cracky=3},
|
||||
{"gloopblocks_cobble_road.png"},
|
||||
S("Cobble Roadbed Stair"),
|
||||
S("Cobble Roadbed Slab"),
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
-- stairs:xxxx_cobble_road_mossy
|
||||
stairs.register_stair_and_slab("cobble_road_mossy", "gloopblocks:cobble_road_mossy",
|
||||
{cracky=3},
|
||||
{"gloopblocks_cobble_road_mossy.png"},
|
||||
S("Mossy Cobble Roadbed Stair"),
|
||||
S("Mossy Cobble Roadbed Slab"),
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
-- stairs:xxxx_cement
|
||||
stairs.register_stair_and_slab("cement", "gloopblocks:cement",
|
||||
{cracky=2},
|
||||
{"basic_materials_cement_block.png"},
|
||||
S("Cement Stair"),
|
||||
S("Cement Slab"),
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
-- stairs:xxxx_pavement
|
||||
stairs.register_stair_and_slab("pavement", "gloopblocks:pavement",
|
||||
{cracky=3, oddly_breakable_by_hand=3},
|
||||
{"gloopblocks_pavement.png"},
|
||||
S("Pavement Stair"),
|
||||
S("Pavement Slab"),
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("basalt", "gloopblocks:basalt",
|
||||
{cracky=2},
|
||||
{"gloopblocks_basalt.png"},
|
||||
S("Basalt Stair"),
|
||||
S("Basalt Slab"),
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("pumice", "gloopblocks:pumice",
|
||||
{cracky=3},
|
||||
{"gloopblocks_pumice.png"},
|
||||
S("Pumice Stair"),
|
||||
S("Pumice Slab"),
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("rainbow_block", "gloopblocks:rainbow_block",
|
||||
{cracky=3},
|
||||
{"gloopblocks_rainbow_block.png"},
|
||||
S("Rainbow Block Stair"),
|
||||
S("Rainbow Block Slab"),
|
||||
default.node_sound_defaults())
|
||||
|
||||
if minetest.setting_getbool("gloopblocks_mossy_conversion") ~= false then
|
||||
|
||||
gloopblocks_register_mossy_conversion({
|
||||
{ "default:cobble", "default:mossycobble" },
|
||||
{ "stairs:stair_cobble", "stairs:stair_mossycobble" },
|
||||
{ "stairs:slab_cobble", "stairs:slab_mossycobble" },
|
||||
{ "gloopblocks:cobble_road", "gloopblocks:cobble_road_mossy" },
|
||||
{ "stairs:stair_cobble_road", "stairs:stair_cobble_road_mossy" },
|
||||
{ "stairs:slab_cobble_road", "stairs:slab_cobble_road_mossy" },
|
||||
{ "default:stonebrick", "gloopblocks:stone_brick_mossy" },
|
||||
{ "stairs:stair_stonebrick", "stairs:stair_stone_brick_mossy" },
|
||||
{ "stairs:slab_stonebrick", "stairs:slab_stone_brick_mossy" },
|
||||
{ "default:stone", "gloopblocks:stone_mossy" },
|
||||
{ "stairs:stair_stone", "stairs:stair_stone_mossy" },
|
||||
{ "stairs:slab_stone", "stairs:slab_stone_mossy" },
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_alias("default:stair_mossycobble", "stairs:stair_mossycobble")
|
||||
minetest.register_alias("default:slab_mossycobble", "stairs:slab_mossycobble")
|
||||
minetest.register_alias("gloopblocks:stair_cobble_road", "stairs:stair_cobble_road")
|
||||
minetest.register_alias("gloopblocks:slab_cobble_road", "stairs:slab_cobble_road")
|
||||
minetest.register_alias("gloopblocks:stair_cobble_road_mossy", "stairs:stair_cobble_road_mossy")
|
||||
minetest.register_alias("gloopblocks:slab_cobble_road_mossy", "stairs:slab_cobble_road_mossy")
|
||||
minetest.register_alias("gloopblocks:stair_stone_brick_mossy", "stairs:stair_stone_brick_mossy")
|
||||
minetest.register_alias("gloopblocks:slab_stone_brick_mossy", "stairs:slab_stone_brick_mossy")
|
||||
minetest.register_alias("gloopblocks:stair_stone_mossy", "stairs:stair_stone_mossy")
|
||||
minetest.register_alias("gloopblocks:slab_stone_mossy", "stairs:slab_stone_mossy")
|
||||
minetest.register_alias("gloopblocks:stair_cement", "stairs:stair_cement")
|
||||
minetest.register_alias("gloopblocks:slab_cement", "stairs:slab_cement")
|
||||
minetest.register_alias("gloopblocks:stair_pavement", "stairs:stair_pavement")
|
||||
minetest.register_alias("gloopblocks:slab_pavement", "stairs:slab_pavement")
|
||||
minetest.register_alias("gloopblocks:stair_pumice", "stairs:stair_pumice")
|
||||
minetest.register_alias("gloopblocks:slab_pumice", "stairs:slab_pumice")
|
||||
minetest.register_alias("gloopblocks:stair_basalt", "stairs:stair_basalt")
|
||||
minetest.register_alias("gloopblocks:slab_basalt", "stairs:slab_basalt")
|
||||
minetest.register_alias("gloopblocks:stair_rainbow_block", "stairs:stair_rainbow_block")
|
||||
minetest.register_alias("gloopblocks:slab_rainbow_block", "stairs:slab_rainbow_block")
|
||||
end
|
||||
|
||||
-- Tools
|
||||
|
||||
minetest.register_tool("gloopblocks:pick_cement", {
|
||||
description = S("Cement Pickaxe"),
|
||||
inventory_image = "gloopblocks_cement_pick.png",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 1.0,
|
||||
max_drop_level=1,
|
||||
groupcaps={
|
||||
cracky={times={[1]=3.50, [2]=1.40, [3]=0.90}, uses=25, maxlevel=2}
|
||||
},
|
||||
damage_groups = {fleshy=4},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_tool("gloopblocks:shovel_cement", {
|
||||
description = S("Cement Shovel"),
|
||||
inventory_image = "gloopblocks_cement_shovel.png",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 1.0,
|
||||
max_drop_level=1,
|
||||
groupcaps={
|
||||
crumbly={times={[1]=1.50, [2]=0.60, [3]=0.45}, uses=25, maxlevel=2}
|
||||
},
|
||||
damage_groups = {fleshy=4},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_tool("gloopblocks:axe_cement", {
|
||||
description = S("Cement Axe"),
|
||||
inventory_image = "gloopblocks_cement_axe.png",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 1.0,
|
||||
max_drop_level=1,
|
||||
groupcaps={
|
||||
choppy={times={[1]=3.00, [2]=1.30, [3]=0.80}, uses=25, maxlevel=2},
|
||||
fleshy={times={[2]=1.20, [3]=0.65}, uses=30, maxlevel=1}
|
||||
},
|
||||
damage_groups = {fleshy=4},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_tool("gloopblocks:sword_cement", {
|
||||
description = S("Cement Sword"),
|
||||
inventory_image = "gloopblocks_cement_sword.png",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 1.0,
|
||||
max_drop_level=1,
|
||||
groupcaps={
|
||||
fleshy={times={[1]=1.60, [2]=0.80, [3]=0.40}, uses=15, maxlevel=2},
|
||||
snappy={times={[2]=0.75, [3]=0.35}, uses=30, maxlevel=1},
|
||||
choppy={times={[3]=0.80}, uses=30, maxlevel=0}
|
||||
},
|
||||
damage_groups = {fleshy=6},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_tool("gloopblocks:pick_evil", {
|
||||
description = S("Evil Pickaxe"),
|
||||
inventory_image = "gloopblocks_evil_pick.png",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 1.0,
|
||||
max_drop_level=3,
|
||||
groupcaps={
|
||||
cracky={times={[1]=0.10, [2]=0.10, [3]=0.10}, uses=10, maxlevel=2}
|
||||
},
|
||||
damage_groups = {fleshy=6},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_tool("gloopblocks:shovel_evil", {
|
||||
description = S("Evil Shovel"),
|
||||
inventory_image = "gloopblocks_evil_shovel.png",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 1.0,
|
||||
max_drop_level=3,
|
||||
groupcaps={
|
||||
crumbly={times={[1]=0.05, [2]=0.05, [3]=0.05}, uses=10, maxlevel=2}
|
||||
},
|
||||
damage_groups = {fleshy=6},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_tool("gloopblocks:axe_evil", {
|
||||
description = S("Evil Axe"),
|
||||
inventory_image = "gloopblocks_evil_axe.png",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 1.0,
|
||||
max_drop_level=3,
|
||||
groupcaps={
|
||||
choppy={times={[1]=0.15, [2]=0.15, [3]=0.15}, uses=10, maxlevel=2},
|
||||
fleshy={times={[1]=0.15, [2]=0.15, [3]=0.15}, uses=10, maxlevel=2}
|
||||
},
|
||||
damage_groups = {fleshy=6},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_tool("gloopblocks:sword_evil", {
|
||||
description = S("Evil Sword"),
|
||||
inventory_image = "gloopblocks_evil_sword.png",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 1.0,
|
||||
max_drop_level=3,
|
||||
groupcaps={
|
||||
fleshy={times={[1]=0.20, [2]=0.20, [3]=0.20}, uses=10, maxlevel=2},
|
||||
snappy={times={[1]=0.20, [2]=0.20, [3]=0.20}, uses=10, maxlevel=2},
|
||||
choppy={times={[1]=0.20, [2]=0.20, [3]=0.20}, uses=10, maxlevel=2}
|
||||
},
|
||||
damage_groups = {fleshy=8},
|
||||
}
|
||||
})
|
||||
|
||||
-- Other items
|
||||
|
||||
minetest.register_craftitem("gloopblocks:evil_stick", {
|
||||
description = S("Evil Stick"),
|
||||
inventory_image = "gloopblocks_evil_stick.png",
|
||||
})
|
||||
|
||||
|
||||
local fence_texture =
|
||||
"default_fence_overlay.png^default_steel_block.png^default_fence_overlay.png^[makealpha:255,126,126"
|
||||
|
||||
minetest.register_node("gloopblocks:fence_steel", {
|
||||
description = S("Steel Fence"),
|
||||
drawtype = "fencelike",
|
||||
tiles = {"default_steel_block.png"},
|
||||
inventory_image = fence_texture,
|
||||
wield_image = fence_texture,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
|
||||
},
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2 },
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_alias("nyancat:nyancat_rainbow", "gloopblocks:rainbow_block_horizontal")
|
||||
minetest.register_alias("default:nyancat_rainbow", "gloopblocks:rainbow_block_horizontal")
|
2
mods/gloopblocks/mod.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
name = gloopblocks
|
||||
min_minetest_version = 5.2.0
|
197
mods/gloopblocks/models/gloopblocks_ash_pile.obj
Normal file
@@ -0,0 +1,197 @@
|
||||
# Blender v2.73 (sub 0) OBJ File: 'anthill.blend'
|
||||
# www.blender.org
|
||||
o Cylinder_Cylinder.001
|
||||
v 0.099056 -0.499969 -0.498228
|
||||
v 0.038417 -0.200463 -0.141682
|
||||
v 0.255808 -0.499933 -0.402046
|
||||
v 0.095605 -0.174690 -0.147239
|
||||
v 0.423075 -0.499913 -0.296918
|
||||
v 0.102439 -0.169033 -0.075679
|
||||
v 0.444026 -0.499843 -0.095234
|
||||
v 0.125298 -0.217477 -0.063343
|
||||
v 0.468682 -0.499958 0.074790
|
||||
v 0.157655 -0.214352 0.001348
|
||||
v 0.396548 -0.500000 0.246048
|
||||
v 0.133778 -0.189245 0.108513
|
||||
v 0.280708 -0.500000 0.383197
|
||||
v 0.070517 -0.218946 0.104754
|
||||
v 0.089852 -0.499943 0.434316
|
||||
v 0.048523 -0.205247 0.128681
|
||||
v -0.093309 -0.499902 0.467111
|
||||
v -0.039037 -0.211895 0.149030
|
||||
v -0.272965 -0.499875 0.396496
|
||||
v -0.108297 -0.175918 0.104100
|
||||
v -0.388317 -0.499877 0.239075
|
||||
v -0.139068 -0.179051 0.073370
|
||||
v -0.437531 -0.499999 0.063918
|
||||
v -0.141812 -0.255882 0.005117
|
||||
v -0.458429 -0.499805 -0.104397
|
||||
v -0.189265 -0.217436 -0.065303
|
||||
v -0.385597 -0.499914 -0.288584
|
||||
v -0.112692 -0.207830 -0.096879
|
||||
v -0.248347 -0.499927 -0.384586
|
||||
v -0.083136 -0.202256 -0.170048
|
||||
v -0.095346 -0.499958 -0.514449
|
||||
v -0.023049 -0.216681 -0.204058
|
||||
v 0.071880 -0.343843 -0.343933
|
||||
v 0.189128 -0.354687 -0.277980
|
||||
v 0.311273 -0.378789 -0.248498
|
||||
v 0.296760 -0.346318 -0.056661
|
||||
v 0.332231 -0.342427 0.044933
|
||||
v 0.259921 -0.360316 0.147910
|
||||
v 0.213270 -0.362883 0.253745
|
||||
v 0.059007 -0.360067 0.351374
|
||||
v -0.068448 -0.357957 0.335642
|
||||
v -0.164888 -0.343166 0.232553
|
||||
v -0.269761 -0.352370 0.140734
|
||||
v -0.367168 -0.370891 0.062326
|
||||
v -0.294491 -0.324099 -0.079712
|
||||
v -0.276314 -0.352585 -0.236032
|
||||
v -0.206169 -0.372829 -0.314307
|
||||
v -0.065547 -0.371444 -0.355380
|
||||
v 0.000709 -0.156135 -0.047193
|
||||
vt 0.572002 0.826281
|
||||
vt 0.535907 0.620231
|
||||
vt 0.597591 0.625892
|
||||
vt 0.604963 0.552988
|
||||
vt 0.830215 0.729053
|
||||
vt 0.629619 0.540419
|
||||
vt 0.814561 0.533613
|
||||
vt 0.664520 0.474514
|
||||
vt 0.638766 0.365335
|
||||
vt 0.774826 0.325198
|
||||
vt 0.570532 0.369165
|
||||
vt 0.724507 0.217375
|
||||
vt 0.546808 0.344788
|
||||
vt 0.452364 0.324057
|
||||
vt 0.420641 0.133939
|
||||
vt 0.377660 0.369831
|
||||
vt 0.316619 0.238965
|
||||
vt 0.344469 0.401138
|
||||
vt 0.203502 0.332509
|
||||
vt 0.341509 0.470674
|
||||
vt 0.290325 0.542416
|
||||
vt 0.176827 0.557096
|
||||
vt 0.372919 0.574586
|
||||
vt 0.196433 0.716353
|
||||
vt 0.404798 0.649130
|
||||
vt 0.469609 0.683778
|
||||
vt 0.272092 0.796098
|
||||
vt 0.770390 0.885486
|
||||
vt 0.973405 0.572910
|
||||
vt 0.591386 0.033412
|
||||
vt 0.226599 0.867698
|
||||
vt 0.423770 0.837943
|
||||
vt 0.601314 0.983475
|
||||
vt 0.078559 0.769893
|
||||
vt 0.000000 0.582245
|
||||
vt 0.098436 0.412390
|
||||
vt 0.075624 0.232320
|
||||
vt 0.200045 0.071942
|
||||
vt 0.558116 0.117912
|
||||
vt 0.922195 0.225217
|
||||
vt 0.852821 0.430110
|
||||
vt 0.698467 0.759089
|
||||
vt 0.495235 0.523967
|
||||
vt 0.391629 1.000000
|
||||
vt 0.022541 0.410768
|
||||
vt 0.797247 0.085491
|
||||
vt 0.393825 0.000000
|
||||
vt 0.950807 0.778383
|
||||
vt 1.000000 0.399692
|
||||
g Cylinder_Cylinder.001_None
|
||||
s 1
|
||||
f 33/1 2/2 4/3
|
||||
f 4/3 6/4 35/5
|
||||
f 35/5 6/4 8/6
|
||||
f 36/7 8/6 10/8
|
||||
f 10/8 12/9 38/10
|
||||
f 12/9 14/11 39/12
|
||||
f 39/12 14/11 16/13
|
||||
f 16/13 18/14 41/15
|
||||
f 18/14 20/16 42/17
|
||||
f 20/16 22/18 43/19
|
||||
f 43/19 22/18 24/20
|
||||
f 24/20 26/21 45/22
|
||||
f 26/21 28/23 46/24
|
||||
f 46/24 28/23 30/25
|
||||
f 32/26 2/2 33/1
|
||||
f 47/27 30/25 32/26
|
||||
f 3/28 7/29 15/30
|
||||
f 29/31 47/27 48/32
|
||||
f 48/32 33/1 1/33
|
||||
f 27/34 46/24 47/27
|
||||
f 25/35 45/22 46/24
|
||||
f 44/36 45/22 25/35
|
||||
f 21/37 43/19 44/36
|
||||
f 42/17 43/19 21/37
|
||||
f 41/15 42/17 19/38
|
||||
f 15/30 40/39 41/15
|
||||
f 39/12 40/39 15/30
|
||||
f 11/40 38/10 39/12
|
||||
f 37/41 38/10 11/40
|
||||
f 7/29 36/7 37/41
|
||||
f 35/5 36/7 7/29
|
||||
f 3/28 34/42 35/5
|
||||
f 33/1 34/42 3/28
|
||||
f 4/3 2/2 49/43
|
||||
f 2/2 32/26 49/43
|
||||
f 32/26 30/25 49/43
|
||||
f 30/25 28/23 49/43
|
||||
f 28/23 26/21 49/43
|
||||
f 26/21 24/20 49/43
|
||||
f 24/20 22/18 49/43
|
||||
f 22/18 20/16 49/43
|
||||
f 20/16 18/14 49/43
|
||||
f 18/14 16/13 49/43
|
||||
f 16/13 14/11 49/43
|
||||
f 14/11 12/9 49/43
|
||||
f 12/9 10/8 49/43
|
||||
f 10/8 8/6 49/43
|
||||
f 8/6 6/4 49/43
|
||||
f 6/4 4/3 49/43
|
||||
f 34/42 33/1 4/3
|
||||
f 34/42 4/3 35/5
|
||||
f 36/7 35/5 8/6
|
||||
f 37/41 36/7 10/8
|
||||
f 37/41 10/8 38/10
|
||||
f 38/10 12/9 39/12
|
||||
f 40/39 39/12 16/13
|
||||
f 40/39 16/13 41/15
|
||||
f 41/15 18/14 42/17
|
||||
f 42/17 20/16 43/19
|
||||
f 44/36 43/19 24/20
|
||||
f 44/36 24/20 45/22
|
||||
f 45/22 26/21 46/24
|
||||
f 47/27 46/24 30/25
|
||||
f 48/32 32/26 33/1
|
||||
f 48/32 47/27 32/26
|
||||
f 29/31 31/44 1/33
|
||||
f 23/45 27/34 29/31
|
||||
f 27/34 23/45 25/35
|
||||
f 15/30 19/38 21/37
|
||||
f 11/40 13/46 15/30
|
||||
f 15/30 17/47 19/38
|
||||
f 3/28 23/45 29/31
|
||||
f 29/31 1/33 3/28
|
||||
f 3/28 5/48 7/29
|
||||
f 7/29 9/49 11/40
|
||||
f 23/45 15/30 21/37
|
||||
f 15/30 23/45 3/28
|
||||
f 15/30 7/29 11/40
|
||||
f 31/44 29/31 48/32
|
||||
f 31/44 48/32 1/33
|
||||
f 29/31 27/34 47/27
|
||||
f 27/34 25/35 46/24
|
||||
f 23/45 44/36 25/35
|
||||
f 23/45 21/37 44/36
|
||||
f 19/38 42/17 21/37
|
||||
f 17/47 41/15 19/38
|
||||
f 17/47 15/30 41/15
|
||||
f 13/46 39/12 15/30
|
||||
f 13/46 11/40 39/12
|
||||
f 9/49 37/41 11/40
|
||||
f 9/49 7/29 37/41
|
||||
f 5/48 35/5 7/29
|
||||
f 5/48 3/28 35/5
|
||||
f 1/33 33/1 3/28
|
BIN
mods/gloopblocks/screenshot.png
Normal file
After Width: | Height: | Size: 137 KiB |
BIN
mods/gloopblocks/textures/gloopblocks_ashes.png
Normal file
After Width: | Height: | Size: 564 B |
BIN
mods/gloopblocks/textures/gloopblocks_basalt.png
Normal file
After Width: | Height: | Size: 575 B |
BIN
mods/gloopblocks/textures/gloopblocks_cement_axe.png
Normal file
After Width: | Height: | Size: 187 B |
BIN
mods/gloopblocks/textures/gloopblocks_cement_pick.png
Normal file
After Width: | Height: | Size: 211 B |
BIN
mods/gloopblocks/textures/gloopblocks_cement_shovel.png
Normal file
After Width: | Height: | Size: 189 B |
BIN
mods/gloopblocks/textures/gloopblocks_cement_sword.png
Normal file
After Width: | Height: | Size: 210 B |
BIN
mods/gloopblocks/textures/gloopblocks_cobble_road.png
Normal file
After Width: | Height: | Size: 763 B |
BIN
mods/gloopblocks/textures/gloopblocks_cobble_road_mossy.png
Normal file
After Width: | Height: | Size: 828 B |
BIN
mods/gloopblocks/textures/gloopblocks_dirt_brick_overlay.png
Normal file
After Width: | Height: | Size: 430 B |
BIN
mods/gloopblocks/textures/gloopblocks_dirt_cobble_mask.png
Normal file
After Width: | Height: | Size: 224 B |
BIN
mods/gloopblocks/textures/gloopblocks_dirt_stone_mask.png
Normal file
After Width: | Height: | Size: 268 B |
BIN
mods/gloopblocks/textures/gloopblocks_evil_axe.png
Normal file
After Width: | Height: | Size: 223 B |
BIN
mods/gloopblocks/textures/gloopblocks_evil_block.png
Normal file
After Width: | Height: | Size: 588 B |
BIN
mods/gloopblocks/textures/gloopblocks_evil_pick.png
Normal file
After Width: | Height: | Size: 194 B |
BIN
mods/gloopblocks/textures/gloopblocks_evil_shovel.png
Normal file
After Width: | Height: | Size: 204 B |
BIN
mods/gloopblocks/textures/gloopblocks_evil_stick.png
Normal file
After Width: | Height: | Size: 327 B |
BIN
mods/gloopblocks/textures/gloopblocks_evil_sword.png
Normal file
After Width: | Height: | Size: 221 B |
BIN
mods/gloopblocks/textures/gloopblocks_ladder_mask.png
Normal file
After Width: | Height: | Size: 110 B |
BIN
mods/gloopblocks/textures/gloopblocks_ladder_overlay.png
Normal file
After Width: | Height: | Size: 141 B |
BIN
mods/gloopblocks/textures/gloopblocks_oerkkiblock_front.png
Normal file
After Width: | Height: | Size: 426 B |
BIN
mods/gloopblocks/textures/gloopblocks_oerkkiblock_sides.png
Normal file
After Width: | Height: | Size: 692 B |
BIN
mods/gloopblocks/textures/gloopblocks_oerkkiblock_tb.png
Normal file
After Width: | Height: | Size: 696 B |
BIN
mods/gloopblocks/textures/gloopblocks_pavement.png
Normal file
After Width: | Height: | Size: 206 B |
BIN
mods/gloopblocks/textures/gloopblocks_pumice.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
mods/gloopblocks/textures/gloopblocks_rainbow_block.png
Normal file
After Width: | Height: | Size: 196 B |
BIN
mods/gloopblocks/textures/gloopblocks_rainbow_horizontal.png
Normal file
After Width: | Height: | Size: 137 B |
BIN
mods/gloopblocks/textures/gloopblocks_scaffold.png
Normal file
After Width: | Height: | Size: 190 B |
BIN
mods/gloopblocks/textures/gloopblocks_stone_brick_mossy.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
mods/gloopblocks/textures/gloopblocks_stone_mossy.png
Normal file
After Width: | Height: | Size: 708 B |