From 6f492914db9f0a65fa650cfa2160508a7316a3fe Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Sun, 27 Jul 2014 12:03:52 -0400 Subject: [PATCH] Added jp's fork of LazyJ's fork of semmet9's fake fire mod Used and re-licensed with permission of LazyJ and jp: ``` [07-27 10:02] Hi Vanessa. I replaced the LazyJ's smokes nodes by few particules : https://forum.minetest.net/viewtopic.php?p=149534#p149534 [07-27 10:03] Now I think this mod is mature for integrate Homedecor... [07-27 10:17] LazyJ: homedecor is LGPL. your code is GPL. by extension so is jp's fork. [07-27 10:18] I'd like to include his fork of your mod into homedecor modpack. [07-27 10:18] your permission is required :) [07-27 10:18] Ok. [07-27 10:18] What's the difference between LGPL and GPL? I just go with whatever the original author uses. [07-27 10:19] beats the hell out of me exactly except LGPL is supposed to make it easier to use code so-licensed in proprietary projects or something. [07-27 10:19] I only use it because minetest_game did and I got some code from there. [07-27 10:20] Ok with me to use it. [07-27 10:21] Credit to semmett9 too. ``` --- fake_fire/LICENSE.txt | 694 ++++++++++++++++++ fake_fire/README.txt | 62 ++ fake_fire/changelog.txt | 86 +++ fake_fire/depends.txt | 1 + fake_fire/init.lua | 37 + fake_fire/modfiles/abms.lua | 77 ++ fake_fire/modfiles/crafts.lua | 169 +++++ fake_fire/modfiles/nodes.lua | 455 ++++++++++++ fake_fire/sounds/fire_extinguish.ogg | Bin 0 -> 13610 bytes fake_fire/sounds/fire_ignite.ogg | Bin 0 -> 7000 bytes fake_fire/sounds/fire_small.ogg | Bin 0 -> 50004 bytes fake_fire/textures/chimney_top_sandstone.png | Bin 0 -> 659 bytes fake_fire/textures/chimney_top_sandstone.xcf | Bin 0 -> 2004 bytes fake_fire/textures/chimney_top_stone.png | Bin 0 -> 474 bytes fake_fire/textures/chimney_top_stone.xcf | Bin 0 -> 1489 bytes fake_fire/textures/embers_animated.png | Bin 0 -> 2316 bytes fake_fire/textures/embers_animated.xcf | Bin 0 -> 16716 bytes fake_fire/textures/fake_fire.png | Bin 0 -> 847 bytes fake_fire/textures/fake_fire_animated.png | Bin 0 -> 4836 bytes fake_fire/textures/fake_fire_animated_old.png | Bin 0 -> 4890 bytes fake_fire/textures/fake_fire_embers.png | Bin 0 -> 460 bytes fake_fire/textures/fake_fire_embers.xcf | Bin 0 -> 1399 bytes fake_fire/textures/flint.png | Bin 0 -> 1309 bytes fake_fire/textures/flint_and_steel.png | Bin 0 -> 1427 bytes fake_fire/textures/ice_fire.png | Bin 0 -> 866 bytes fake_fire/textures/ice_fire.xcf | Bin 0 -> 1550 bytes fake_fire/textures/ice_fire_animated.png | Bin 0 -> 3701 bytes fake_fire/textures/ice_fire_animated.xcf | Bin 0 -> 6110 bytes fake_fire/textures/smoke_particle.png | Bin 0 -> 200 bytes 29 files changed, 1581 insertions(+) create mode 100644 fake_fire/LICENSE.txt create mode 100644 fake_fire/README.txt create mode 100644 fake_fire/changelog.txt create mode 100644 fake_fire/depends.txt create mode 100644 fake_fire/init.lua create mode 100644 fake_fire/modfiles/abms.lua create mode 100644 fake_fire/modfiles/crafts.lua create mode 100644 fake_fire/modfiles/nodes.lua create mode 100644 fake_fire/sounds/fire_extinguish.ogg create mode 100644 fake_fire/sounds/fire_ignite.ogg create mode 100644 fake_fire/sounds/fire_small.ogg create mode 100644 fake_fire/textures/chimney_top_sandstone.png create mode 100644 fake_fire/textures/chimney_top_sandstone.xcf create mode 100644 fake_fire/textures/chimney_top_stone.png create mode 100644 fake_fire/textures/chimney_top_stone.xcf create mode 100644 fake_fire/textures/embers_animated.png create mode 100644 fake_fire/textures/embers_animated.xcf create mode 100644 fake_fire/textures/fake_fire.png create mode 100644 fake_fire/textures/fake_fire_animated.png create mode 100644 fake_fire/textures/fake_fire_animated_old.png create mode 100644 fake_fire/textures/fake_fire_embers.png create mode 100644 fake_fire/textures/fake_fire_embers.xcf create mode 100644 fake_fire/textures/flint.png create mode 100644 fake_fire/textures/flint_and_steel.png create mode 100644 fake_fire/textures/ice_fire.png create mode 100644 fake_fire/textures/ice_fire.xcf create mode 100644 fake_fire/textures/ice_fire_animated.png create mode 100644 fake_fire/textures/ice_fire_animated.xcf create mode 100644 fake_fire/textures/smoke_particle.png diff --git a/fake_fire/LICENSE.txt b/fake_fire/LICENSE.txt new file mode 100644 index 00000000..7015bc8c --- /dev/null +++ b/fake_fire/LICENSE.txt @@ -0,0 +1,694 @@ +JP's Fork of LazyJ's Minetest Mod, "Fake Fire" +by : JP. + +Replaced LazyJ's smoke nodes pictures by smoke particles. Lighter, prettier, configurable smoke. + +====================================================================== + + +LazyJ's Fork of Semmett9's Minetest Mod, "Fake Fire" +by: +LazyJ + +This is my fork of Semmett9's "Fake Fire" mod. Some code clean-up, a +bunch of changes and a few new things have been added. + + + +====================================================================== + + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file diff --git a/fake_fire/README.txt b/fake_fire/README.txt new file mode 100644 index 00000000..01fd377c --- /dev/null +++ b/fake_fire/README.txt @@ -0,0 +1,62 @@ +##### JP's Fork of LazyJ's Minetest Mod, "Fake Fire" + +Replaced LazyJ's smoke nodes pictures by smoke particles. Lighter, prettier, configurable smoke. + + + +##### LazyJ's Fork of Semmett9's "Fake Fire" Mod + +This fork of 'Fake Fire' is based off of Semmett9's 2014_03_14 release of the +mod. + +At LinuxGaming.us, we have a creative-leaning Minetest server. Destruction by +arson is not something we like. When the Fake Fire mod was installed we finally +could make warm hearths and campfires without fear of burning down our builds. +We could also use Fake Fire to simulate things burning without worrying our +neighbors about the fires spreading and destroying their stuff. + +As a creative bunch of Minetesters, we often come up with new ideas for things. +This fork of "Fake Fire" incorporates some of those ideas. + + +Semmett9's original version of this mod can be found here: + +* Minetest.net +http://forum.minetest.net/viewtopic.php?id=6145 + +* Ad.Fly +http://adf.ly/RbzwV + +Yes, it has advertisements. That's what helps to pay for hosting Semmett9's +website and server costs. Everything has a cost. Someone pays. Even when it +comes to so-called free, open-source software. Someone pays. Everything has a +cost. Try running your own business and you will understand. There are no +free lunches in life. + +Ok, done ranting. ;)- + + +~ LazyJ, 2014_06_19 + + + +Minetest version: 0.4.9 +Depends: default +Recommended Additional Mods: none +License: GPL v2 +Source Code: http://github.com/LazyJ/fake_fire +Download (.zip): http://github.com/LazyJ/fake_fire/archive/master.zip + +Install: + * After downloading, unzip the file. + * Rename the directory "fake_fire_fork-master" to "fake_fire" + * Copy the "fake_fire" directory into either + ../minetest/worlds/yourworld'sname/worldmods/ + or + ../minetest/mods/ + * If you put "fake_fire" in the ../minetest/mods/ directory, either + enable the mod from within Minetest's "Configure" button + (main menu, bottom right) or by adding this line to the + world's "world.mt" file: + load_mod_fake_fire = true + diff --git a/fake_fire/changelog.txt b/fake_fire/changelog.txt new file mode 100644 index 00000000..9afe9f3b --- /dev/null +++ b/fake_fire/changelog.txt @@ -0,0 +1,86 @@ +CHANGELOG +~~~~~~~~~~~~~~~~~ + +2014_07_27: + +* Replaced LazyJ's smoke nodes pictures by smoke particles. Lighter, prettier, configurable smoke. +* Code clean-up. + + +2014_06_21: + + * Added changelog.txt, 2014_06_19. Some changes are much older than this. + I've been making little tweaks to it for several months and finally decided + to give it an overhaul. + * Code clean-up. + * Split the init.lua file stuff into separate files and moved them into the + "modfiles" folder. + * I had added a lump of coal to be dropped when the flame was dug but, as + one of our moderators pointed out, once word got out, new players would + snuff-out every fake_fire they found just to get easy coal. The coal drop + was removed. + * Changed the flint crafting recipe to require 2 gravel instead of one. + This resolves a crafting conflict with another mod. The recipe is also + shapless now. + * Added crafting recipes for 1 cobble to 1 gravel, then 1 gravel to 1 sand. + For Wazuland2 these recipes are commented out because another mod takes + care of them (the reason for changing the flint recipe). + * Health-damage disabled. This fork is strictly for decoration. + * Waving added to flames and smoke. + * Rising, disappearing smoke-puffs added. Smoke columns will rise to 14 + spaces above the flame or chimney top. + * Smoke can be punched to remove. + * Never-ending flint and steel disabled. May add it as a priv later. + * Extinguishing with water and lava(??) disabled. Again, this fork is + strictly for decoration so dousing the flames with water or lava would just + make a big, needless mess. Much easier and cleaner to just punch the flame. + * Flame images are hidden from creative inventory but are still provided + for in the code and image files if you want them to be visible. Just remove + the "not_in_creative_inventory" part from the groups of the flame types and + they will be visible again. Having the images in inventory is useful when + playing in creative mode or if you want to torture griefers who put in the + time and effort to get the materials to make the fire hoping to be able to + burn things only to discover that it is *fake* and *harmless*. Bwa-hahaha! + * Added ice-fire, a blue-colored flame that only ignites on snow and ice + stuff. + * Added added ability to switch between smoking and non-smoking flames by + punching them. Default is non-smoking. + * Added stone and sandstone chimney caps that can produce smoke when punched + (smoking and non-smoking versions). Useful for small builds where a 3x3 + chimney would be too oversized in proportion to the reset of the build. + * Added animated, glowing embers. This hearth-warming block emits a + mid-level light and simulates the hot coals under a flame. Flames are not + required and the embers blocks are smokeless. + + + +2014_06_23: + + * Flames - "sunlight_propagates = true," + -- Adding sunlight_propagtes and leaving comments as a future reference. + -- If true, sunlight will go infinitely through this (no shadow is cast). + -- Because fire produces light it should be "true" so fire *doesn't* have + -- a shadow. + + * Embers - "sunlight_propagates = true," + -- Adding sunlight_propagtes and leaving comments as a future reference. + -- If true, sunlight will go infinitely through this (no shadow is cast). + -- Because embers produce some light it should be somewhat "true" but this + -- is an area where Minetest lacks in subtlety so I'm opting for 100% that + -- embers *don't* have a shadow. + + * Bug Fix - Server Crash when Flint-Steel Clicked on Nothing (sky). + -- Players can see farther than they can reach. Even though the player + -- was aiming for a node several spaces ahead of them, Minetest's targeting + -- range doesn't extend that far. The player saw the node they were aiming + -- at, Minetest's target range ended and Minetest saw "nothing" + -- (a nil value). The bug was a conflict in the code so when that + -- particular nil value popped up, Minetest was confused by the bug, threw + -- up it's hands in frustration and said "I quit!" by crashing. + + * Original init.lua Added + -- What I thought was the original init.lua file turned out to be one I had + -- tinkered with months ago. So I extracted the actual original init.lua + -- file from a zip file of the original mod. Why bother including it in my + -- fork? Because it's a reference to compare to and learn from. + \ No newline at end of file diff --git a/fake_fire/depends.txt b/fake_fire/depends.txt new file mode 100644 index 00000000..562cf632 --- /dev/null +++ b/fake_fire/depends.txt @@ -0,0 +1 @@ +default diff --git a/fake_fire/init.lua b/fake_fire/init.lua new file mode 100644 index 00000000..207e06b1 --- /dev/null +++ b/fake_fire/init.lua @@ -0,0 +1,37 @@ +--[[ + +The 'Fake-Fire' mod was originally created by Semmett9. + +URL to the 'Fake-Fire' thread on Minetest.net: +http://forum.minetest.net/viewtopic.php?id=6145 + +I've customized it a bit. Please see the changelog.txt file for more details. + +~ LazyJ, 2014_03_15 + +--]] + +dofile(minetest.get_modpath("fake_fire").."/modfiles/nodes.lua") +dofile(minetest.get_modpath("fake_fire").."/modfiles/crafts.lua") +dofile(minetest.get_modpath("fake_fire").."/modfiles/abms.lua") + + + +--[[ + + The lines below, at the end, are from the original author, Semmett9. + + Thanks for a nice mod, Semmett9. ;) + + ~ LazyJ, 2014_03_14 + +--]] + + + +-- Thanks- + +-- Many thanks for addi for his help in coding. -- + +-- Many thanks for the players on the King Arthur's land server for giving -- +-- me support, ideas and allowing me to add the mod to the server itself. -- diff --git a/fake_fire/modfiles/abms.lua b/fake_fire/modfiles/abms.lua new file mode 100644 index 00000000..2d179d88 --- /dev/null +++ b/fake_fire/modfiles/abms.lua @@ -0,0 +1,77 @@ +--[[ + + I commented out this part because: + 1. water and lava buckets are disabled on some servers, + 2. putting out fire with water and especially lava would only make + a big mess, and... + + As for 'realism': + * C'mon... This is *fake* fire. + * Torches have long been impervious to water. + * Minetest creates surreal worlds so it's OK if some things aren't + perfectly realistic. + + Besides, the fake-fire can be put out by punching it - simple and effective. + ~ LazyJ, 2014_03_14 + + + +-- water and lava puts out fake fire -- +minetest.register_abm({ + nodenames = {"fake_fire:fake_fire"}, + interval = 1, + chance = 1, + action = function(pos, node) + if minetest.env:find_node_near(pos, 1, {"default:water_source", + "default:water_flowing","default:lava_source", + "default:lava_flowing"}) then + minetest.sound_play("fire_extinguish", + {gain = 1.0, max_hear_distance = 20,}) + node.name = "air" + minetest.env:set_node(pos, node) + end + end +}) +--]] + + + +-- ADVISING ABOUT SMOKE PARTICLES SETTINGS + + -- For the best visual result... + -- If you increase the particles size, + -- you should decrease the particles amount and/or increase the smoke column lenght. + -- If you increase the particle time duration and/or particle course, + -- you should decrease the particles amount or increase the smoke column lenght. + -- Or conversely... + -- ~ JP + +minetest.register_abm({ + nodenames = { + "fake_fire:fake_fire", + "fake_fire:ice_fire", + "fake_fire:chimney_top_stone", + "fake_fire:chimney_top_sandstone" + }, + interval = 1, + chance = 2, + action = function(pos, node) + minetest.add_particlespawner( + 10, --particles amount + 5, --time + {x=pos.x-0.3, y=pos.y-0, z=pos.z-0.3}, --smoke column starting + {x=pos.x+0.3, y=pos.y+8, z=pos.z+0.3}, --smoke column ending + {x=-0.2, y=0.1, z=-0.2}, --min. particle course + {x=0.2, y=2, z=0.2}, --max. particle course + {x=0,y=0,z=0}, --min. particle deviation + {x=0,y=0,z=0}, --max. particle deviation + 0.5, --min. time particle expiration + 3, --max. time particle expiration + 8, --min. particle size + 10, --max. particle size + false, --collision detection + "smoke_particle.png" --textures + ) + end, +}) + diff --git a/fake_fire/modfiles/crafts.lua b/fake_fire/modfiles/crafts.lua new file mode 100644 index 00000000..94848070 --- /dev/null +++ b/fake_fire/modfiles/crafts.lua @@ -0,0 +1,169 @@ +--[[ + + NEVER-ENDING FLINT and STEEL + + Uncraftable, at the moment, and I'm not sure yet how many wanna-be-firebug + griefers are going to litter with fake-fire. Why give them this if it only + makes the mess bigger? ~ LazyJ, 2014_03_13 + + May add a priv for this later so trusted players can use it. + ~ LazyJ, 2014_06_19 + +minetest.register_craftitem("fake_fire:old_flint_and_steel", { + description = "Never ending flint and steel", + inventory_image = "flint_and_steel.png", + stack_max = 1, + liquids_pointable = false, + on_use = function(itemstack, user, pointed_thing) + n = minetest.env:get_node(pointed_thing) + if pointed_thing.type == "node" then + minetest.env:add_node(pointed_thing.above, + {name="fake_fire:fake_fire"}) + minetest.sound_play("", + {gain = 1.0, max_hear_distance = 20,}) + end + end +}) +--]] + + +-- RECIPE ITEM - FLINT +minetest.register_craftitem("fake_fire:flint", { + description = "flint", + inventory_image = "flint.png", + stack_max = 99, + liquids_pointable = false, +}) + + + +-- FLINT +minetest.register_craft({ + type = "shapeless", + output = 'fake_fire:flint', + recipe = { + "default:gravel", + "default:gravel", + } +}) + + + +-- FLINT & STEEL +minetest.register_craft({ + type = "shapeless", + output = 'fake_fire:flint_and_steel', + recipe = { + "fake_fire:flint", + "default:steel_ingot", + } +}) + + + +-- EMBERS +minetest.register_craft({ + type = "shapeless", + output = 'fake_fire:embers', + recipe = { + "default:torch", + "group:wood", + } +}) + + + +-- CHIMNEY TOPS - SMOKELESS + + -- Only the smokeless kind will be craftable and shown in the inventory. + -- The nodes are coded to switch to the smoking chimney tops when punched. + -- ~ LazyJ + +-- STONE CHIMNEY TOP +minetest.register_craft({ + type = "shapeless", + output = 'fake_fire:smokeless_chimney_top_stone', + recipe = { + "default:torch", + "stairs:slab_stone", + } +}) + + + +-- SANDSTONE CHIMNEY TOP +minetest.register_craft({ + type = "shapeless", + output = 'fake_fire:smokeless_chimney_top_sandstone', + recipe = { + "default:torch", + "stairs:slab_sandstone", + } +}) + + + +-- Crafting Chain - Cobble-to-Gravel-to-Sand and Convert Sands + +--[[ + + Craft one cobble into one gravel. + Craft one gravel into one sand. + Convert-craft sand to desert sand and vice-versa. + + This was suggested by klappspaten and it makes sense in both its natural + progression and as a practical way for players to get some of the non- + renewable resources that they need. + + Because the gravel-to-sand recipe (from one of our other custom mods) + conflicted with the Fake Fire mod's flint recipe, the Fake Fire mod's + recipe was changed to require 2 gravel. + + I've added the cobble-gravel-sand and convert sands recipes as a bonus and + to make-up for the more expensive flint recipe. You can comment-out these + recipes because they aren't *required* by this fork of Fake Fire, but they + *are* handy recipes to have. + + ~ LazyJ + + + +--]] + +-- Cobble to Gravel +minetest.register_craft({ + output = 'default:gravel', + recipe = { + {'default:cobble'}, + } +}) + + + +-- Gravel to Sand +minetest.register_craft({ + output = 'default:sand', + recipe = { + {'default:gravel'}, + } +}) + + + +-- Desert Sand to Sand +minetest.register_craft({ + output = 'default:sand', + recipe = { + {'default:desert_sand'}, + } +}) + + + +-- Sand to Desert Sand +minetest.register_craft({ + output = 'default:desert_sand', + recipe = { + {'default:sand'}, + } +}) \ No newline at end of file diff --git a/fake_fire/modfiles/nodes.lua b/fake_fire/modfiles/nodes.lua new file mode 100644 index 00000000..51cfd913 --- /dev/null +++ b/fake_fire/modfiles/nodes.lua @@ -0,0 +1,455 @@ +-- FLAME TYPES + +-- SMOKEY FIRE (TRIGGERS SMOKE ABM) +minetest.register_node("fake_fire:fake_fire", { + description = "Smokey, Fake Fire", + tiles = { + {name="fake_fire_animated.png", animation={type="vertical_frames", + aspect_w=16, aspect_h=16, length=1.5}}, + }, + is_ground_content = true, + inventory_image = 'fake_fire.png', + wield_image = { + {name="fake_fire_animated.png", animation={type="vertical_frames", + aspect_w=16, aspect_h=16, length=1.5}}, + }, + drawtype = "plantlike", + -- Waving wasn't an option when this mod was written. ~ LazyJ, 2014_03_13 + waving = 1, + light_source = 14, + -- Adding sunlight_propagtes and leaving comments as a future reference. + -- If true, sunlight will go infinitely through this (no shadow is cast). + -- Because fire produces light it should be "true" so fire *doesn't* have + -- a shadow. + sunlight_propagates = true, + -- damage_per_second = 2*0.5, -- It's *fake* fire. PvP on our server has + -- been disabled for a reason. I don't want griefers lighting players on + -- fire or trapping them in blazes. ~ LazyJ, 2014_0_13 + --groups = {dig_immediate=3,attached_node=1}, + groups = { + oddly_breakable_by_hand=3, dig_immediate=2, attached_node=1, + not_in_creative_inventory=1 + }, + paramtype = "light", + walkable = false, + drop = "", -- So fire won't return to the inventory. ~ LazyJ + sounds = minetest.sound_play("fire_small", {pos=cp, loop=true}), + on_punch = function (pos,node,puncher) + -- A max_hear_distance of 20 may freak some players out by the "hiss" + -- so I reduced it to 5. + minetest.sound_play("fire_extinguish", {pos = pos, gain = 1.0, + max_hear_distance = 5,}) + -- This swaps the smoky version with the smokeless version. ~ LazyJ + minetest.set_node(pos, {name = "fake_fire:smokeless_fire"}) + end +}) + + + +-- SMOKELESS FIRE (DOES NOT TRIGGER SMOKE ABM) +minetest.register_node("fake_fire:smokeless_fire", { + description = "Smokeless, Fake Fire", + tiles = { + {name="fake_fire_animated.png", animation={type="vertical_frames", + aspect_w=16, aspect_h=16, length=1.5}}, + }, + is_ground_content = true, + inventory_image = 'fake_fire.png', + wield_image = { + {name="fake_fire_animated.png", animation={type="vertical_frames", + aspect_w=16, aspect_h=16, length=1.5}}, + }, + drawtype = "plantlike", + -- Waving wasn't an option when this mod was written. ~ LazyJ, 2014_03_13 + waving = 1, + light_source = 14, + -- Adding sunlight_propagtes and leaving comments as a future reference. + -- If true, sunlight will go infinitely through this (no shadow is cast). + -- Because fire produces light it should be "true" so fire *doesn't* have + -- a shadow. + sunlight_propagates = true, + -- damage_per_second = 2*0.5, -- It's *fake* fire. PvP on our server has + -- been disabled for a reason. I don't want griefers lighting players on + -- fire or trapping them in blazes. ~ LazyJ, 2014_0_13 + --groups = {dig_immediate=3,attached_node=1}, + groups = { + oddly_breakable_by_hand=3, dig_immediate=2, attached_node=1, + not_in_creative_inventory=1 + }, + paramtype = "light", + walkable = false, + drop = "", -- So fire won't return to the inventory. ~ LazyJ + sounds = minetest.sound_play("fire_small", {pos=cp, loop=true}), + on_punch = function (pos,node,puncher) + -- A max_hear_distance of 20 may freak some players out by the "hiss" + -- so I reduced it to 5. + minetest.sound_play("fire_extinguish", {pos = pos, gain = 1.0, + max_hear_distance = 5,}) + -- This swaps the smokeless version with the smoky version. ~ LazyJ + minetest.set_node(pos, {name = "fake_fire:fake_fire"}) + end +}) + + + +-- SMOKEY ICE FIRE (TRIGGERS SMOKE ABM) +minetest.register_node("fake_fire:ice_fire", { + description = "Smoky, Fake, Ice Fire", + tiles = { + {name="ice_fire_animated.png", animation={type="vertical_frames", + aspect_w=16, aspect_h=16, length=1.5}}, + }, + is_ground_content = true, + inventory_image = 'ice_fire.png', + wield_image = { + {name="ice_fire_animated.png", animation={type="vertical_frames", + aspect_w=16, aspect_h=16, length=1.5}}, + }, + drawtype = "plantlike", + -- Waving wasn't an option when this mod was written. ~ LazyJ, 2014_03_13 + waving = 1, + light_source = 14, + -- Adding sunlight_propagtes and leaving comments as a future reference. + -- If true, sunlight will go infinitely through this (no shadow is cast). + -- Because fire produces light it should be "true" so fire *doesn't* have + -- a shadow. + sunlight_propagates = true, + -- damage_per_second = 2*0.5, -- It's *fake* fire. PvP on our server has + -- been disabled for a reason. I don't want griefers lighting players on + -- fire or trapping them in blazes. ~ LazyJ, 2014_0_13 + --groups = {dig_immediate=3,attached_node=1}, + groups = { + oddly_breakable_by_hand=3, dig_immediate=2, attached_node=1, + not_in_creative_inventory=1 + }, + paramtype = "light", + walkable = false, + drop = "", -- So fire won't return to the inventory. ~ LazyJ + sounds = minetest.sound_play("fire_small", {pos=cp, loop=true}), + on_punch = function (pos,node,puncher) + -- A max_hear_distance of 20 may freak some players out by the "hiss" + -- so I reduced it to 5. + minetest.sound_play("fire_extinguish", {pos = pos, gain = 1.0, + max_hear_distance = 5,}) + -- This swaps the smoky version with the smokeless version. ~ LazyJ + minetest.set_node(pos, {name = "fake_fire:smokeless_ice_fire"}) + end +}) + + + +-- SMOKELESS ICE FIRE (DOES NOT TRIGGER SMOKE ABM) +minetest.register_node("fake_fire:smokeless_ice_fire", { + description = "Smokeless, Fake, Ice Fire", + tiles = { + {name="ice_fire_animated.png", animation={type="vertical_frames", + aspect_w=16, aspect_h=16, length=1.5}}, + }, + is_ground_content = true, + inventory_image = 'ice_fire.png', + wield_image = { + {name="ice_fire_animated.png", animation={type="vertical_frames", + aspect_w=16, aspect_h=16, length=1.5}}, + }, + drawtype = "plantlike", + -- Waving wasn't an option when this mod was written. ~ LazyJ, 2014_03_13 + waving = 1, + light_source = 14, + -- Adding sunlight_propagtes and leaving comments as a future reference. + -- If true, sunlight will go infinitely through this (no shadow is cast). + -- Because fire produces light it should be "true" so fire *doesn't* have + -- a shadow. + sunlight_propagates = true, + -- damage_per_second = 2*0.5, -- It's *fake* fire. PvP on our server has + -- been disabled for a reason. I don't want griefers lighting players on + -- fire or trapping them in blazes. ~ LazyJ, 2014_0_13 + --groups = {dig_immediate=3,attached_node=1}, + groups = { + oddly_breakable_by_hand=3, dig_immediate=2, attached_node=1, + not_in_creative_inventory=1 + }, + paramtype = "light", + walkable = false, + drop = "", -- So fire won't return to the inventory. ~ LazyJ + sounds = minetest.sound_play("fire_small", {pos=cp, loop=true}), + on_punch = function (pos,node,puncher) + -- A max_hear_distance of 20 may freak some players out by the "hiss" + -- so I reduced it to 5. + minetest.sound_play("fire_extinguish", {pos = pos, gain = 1.0, + max_hear_distance = 5,}) + -- This swaps the smokeless version with the smoky version. ~ LazyJ + minetest.set_node(pos, {name = "fake_fire:ice_fire"}) + end +}) + + + +-- FLINT and STEEL + +minetest.register_tool("fake_fire:flint_and_steel", { + description = "Flint and steel", + inventory_image = "flint_and_steel.png", + liquids_pointable = false, + stack_max = 1, + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=0, + groupcaps={flamable = {uses=65, maxlevel=1}, + } + }, + on_use = function(itemstack, user, pointed_thing) + -- This next section took me a lot of keyboard bashing to figure out. + -- The lua documentation and examples for Minetest are terrible. + -- ~ LazyJ, 2014_06_23 + + local snow_ice_list = {"snow", "ice",} + + for _, which_one_is_it in pairs(snow_ice_list) do + local snow_ice = which_one_is_it + + if + -- A *node*, not a player or sprite. ~ LazyJ + pointed_thing.type == "node" + + --[[ + These next two "and nots" tell Minetest not to put the + red flame on snow and ice stuff. This "string" bit was + the workable solution that took many hours, over + several days, to finally come around to. It's a search + for any node name that contains whatever is between the + double-quotes, ie. "snow" or "ice". I had been trying + to identify the nodes by their group properties and I + couldn't figure out how to do it. The clue for the + "string"came from Blockmen's "Landscape" mod. + + Another quirk is that the "string" doesn't work well + with variable lists (see "snow_ice_list") when using + "and not". Ice-fire would light on snow but when I + clicked on ice, the regular flame appeared. I couldn't + understand what was happening until I mentally changed + the wording "and not" to "is not" and spoke out-loud + each thing that line of code was to accomplish: + + "Is not snow, then make fake-fire." + "Is not ice, then make fake-fire." + + That's when I caught the problem. + + Ice *is not* snow, so Minetest was correctly following + the instruction, "Is not snow, then make fake-fire." + and that is why fake-fire appeared instead of ice-fire + when I clicked on ice. + + ~ LazyJ + --]] + + and not + string.find(minetest.get_node(pointed_thing.under).name, "snow") + and not + string.find(minetest.get_node(pointed_thing.under).name, "ice") + and + minetest.get_node(pointed_thing.above).name == "air" + then + minetest.set_node(pointed_thing.above, + {name="fake_fire:smokeless_fire"}) + + elseif + + pointed_thing.type == "node" + and + -- Split this "string" across several lines because I ran out + -- of room while trying to adhere to the 80-column wide rule + -- of coding style. + string.find( + minetest.get_node(pointed_thing.under).name, + snow_ice + ) + and + minetest.get_node(pointed_thing.above).name == "air" + then + minetest.set_node(pointed_thing.above, + {name="fake_fire:smokeless_ice_fire"}) + end -- Line 210, if + end -- Line 207, for/do + + minetest.sound_play("", + {gain = 1.0, max_hear_distance = 2,}) + itemstack:add_wear(65535/65) + return itemstack + end +}) -- Closes the flint and steel tool registration + + + +--[[ + + SOME LESSONS LEARNED (and keeping this because I'll forget) + + flint_and_steel is registered as a tool. Tools do not materialize something + like placing a block (on_construct) makes that block appear. Tools are + *used* so "on_use" works but not "on_construct". + + on_rightclick is meant for the code of the thing being clicked on, not the + code of the thing doing the clicking. + + ~ LazyJ + +--]] + + + +-- ANIMATED, RISING, DISPAPPEARING SMOKE + +--[[ + + These next two sections of code are a real bonus that I figured out how + to pull-off. ;) + + The first section creates animated smoke. Trying to figure out how to make + the animation appear to go upward was a headache. + + The second section places the animated smoke *only* above the fake-fire + *if* there is nothing but air straight above the fake-fire. I also made + the smoke skip a space so it looks more like puffs of smoke and made it + stretch high enough to be used in chimneys. For large builds, a second + fake-fire will have to be hidden close to the top of the chimney so the + smoke will be visible. The smoke also emmits a low-level light. + + Yup, I'm proud of this little addition I've made to Semmett9's mod. :D + + ~ LazyJ, 2014_03_15 + +--]] + + + +-- EMBERS + +minetest.register_node("fake_fire:embers", { + description = "Glowing Embers", + tiles = { + {name="embers_animated.png", animation={type="vertical_frames", + aspect_w=16, aspect_h=16, length=2}}, + }, + inventory_image = minetest.inventorycube('fake_fire_embers.png'), + is_ground_content = true, + light_source = 9, + -- Adding sunlight_propagtes and leaving comments as a future reference. + -- If true, sunlight will go infinitely through this (no shadow is cast). + -- Because embers produce some light it should be somewhat "true" but this + -- is an area where Minetest lacks in subtlety so I'm opting for 100% that + -- embers *don't* have a shadow. + sunlight_propagates = true, + -- It's almost soft, brittle charcoal. ~ LazyJ + groups = {choppy=3, crumbly=3, oddly_breakable_by_hand=3}, + paramtype = "light", + -- You never know when a creative builder may use the screwdriver or + -- position to create a subtle effect that makes their creation just + -- that little bit nicer looking. ~ Lazyj + paramtype2 = "facedir", + walkable = true, + sounds = minetest.sound_play("fire_small", {pos=cp, loop=true}), +}) + + + +-- CHIMNEY TOPS + + -- Stone (cool tone) to go with cool colors. + -- Sandstone (warm tone) to go with warm colors. + +-- CHIMNEY TOP - STONE +minetest.register_node("fake_fire:chimney_top_stone", { + description = "Chimney Top - Stone", + tiles = {"chimney_top_stone.png", "default_stone.png"}, + is_ground_content = true, + groups = {cracky=3, oddly_breakable_by_hand=1, not_in_creative_inventory=1}, + paramtype = "light", + sounds = default.node_sound_stone_defaults(), + drop = "fake_fire:smokeless_chimney_top_stone", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + on_punch = function (pos,node,puncher) + -- This swaps the smokeless version with the smoky version when punched. + -- ~ LazyJ + minetest.set_node(pos, {name = "fake_fire:smokeless_chimney_top_stone"}) + end +}) + + + +-- CHIMNEY TOP - SANDSTONE +minetest.register_node("fake_fire:chimney_top_sandstone", { + description = "Chimney Top - Sandstone", + tiles = {"chimney_top_sandstone.png", "default_sandstone.png"}, + is_ground_content = true, + groups = {cracky=3, oddly_breakable_by_hand=1, not_in_creative_inventory=1}, + paramtype = "light", + sounds = default.node_sound_stone_defaults(), + drop = "fake_fire:smokeless_chimney_top_sandstone", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + on_punch = function (pos,node,puncher) + -- This swaps the smokeless version with the smoky version when punched. + -- ~ LazyJ + minetest.set_node(pos, + {name = "fake_fire:smokeless_chimney_top_sandstone"}) + end +}) + + + +-- SMOKELESS CHIMNEY TOPS + + -- Some players may want a chimney top *without* smoke. This is the node + -- that will be craftable. To get the smoking variety, simply punch the + -- node. Same approach is used with the smoking and non-smoking flames. + -- ~ LazyJ + +-- SMOKELESS CHIMNEY TOP - STONE +minetest.register_node("fake_fire:smokeless_chimney_top_stone", { + description = "Chimney Top - Stone", + tiles = {"chimney_top_stone.png", "default_stone.png"}, + is_ground_content = true, + groups = {cracky=3, oddly_breakable_by_hand=1}, + paramtype = "light", + sounds = default.node_sound_stone_defaults(), + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + on_punch = function (pos,node,puncher) + -- This swaps the smokeless version with the smoky version when punched. + -- ~ LazyJ + minetest.set_node(pos, {name = "fake_fire:chimney_top_stone"}) + end +}) + + + +-- SMOKELESS CHIMNEY TOP - SANDSTONE +minetest.register_node("fake_fire:smokeless_chimney_top_sandstone", { + description = "Chimney Top - Sandstone", + tiles = {"chimney_top_sandstone.png", "default_sandstone.png"}, + is_ground_content = true, + groups = {cracky=3, oddly_breakable_by_hand=1}, + paramtype = "light", + sounds = default.node_sound_stone_defaults(), + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + on_punch = function (pos,node,puncher) + -- This swaps the smokeless version with the smoky version when punched. + -- ~ LazyJ + minetest.set_node(pos, {name = "fake_fire:chimney_top_sandstone"}) + end +}) diff --git a/fake_fire/sounds/fire_extinguish.ogg b/fake_fire/sounds/fire_extinguish.ogg new file mode 100644 index 0000000000000000000000000000000000000000..38c56d6a6f8c8eb76d1a6ddb8cf8122fb648325c GIT binary patch literal 13610 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 _P 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 Jt|_Dn{ST1a5;gz; literal 0 HcmV?d00001 diff --git a/fake_fire/sounds/fire_small.ogg b/fake_fire/sounds/fire_small.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5aac595b94264e8d7c7f74b1894ca4e90b4950db GIT binary patch literal 50004 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

;_waAvZwXMX45f8r^0Q=`HLo- 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 vjYP)Wab06^jA$#@*w zjpNX`O$usJAT4ZAMUi?H_S}O72jBvTJvU%Yr7qZ4&`K4hm7IhmZGIdl{)>kjRC)XN z8NbfH=<#^W&h9QdLBRR>IjyIAm zkGxp3<ncD literal 0 HcmV?d00001 diff --git a/fake_fire/textures/chimney_top_sandstone.xcf b/fake_fire/textures/chimney_top_sandstone.xcf new file mode 100644 index 0000000000000000000000000000000000000000..2edfc4736da5b318fd7c6efef057cf2f364cb84c GIT binary patch literal 2004 zcmd5)+jA0E7$-5MYTKz!Z67*)V06aOhd9wu+r0Wm^sx>m1h*3|0*OG7kSib%z+4H0 zC0UZN0Tz~B*l=IMa!D{$sX8Y5($4tWKLLAA0-bbfr!PMA+xgD=Ye)~faNQor|&qrJWv6?0JIBoK)-2W==U}7zXSGjVvx2QkqE`2 zZm|OC2NVz3J9t-=D$Srspp*?F{a4Rk84&l$24xDtm7}d&A-*RR^jzyXk`I9EEz?yH zdhY|FZM)##0Sr|u<-$HhDi&OC*8-&GLu8BV9+Dy|0V3_YFH*vI*}#BOr26ZEF#4a= zG4uCO*ayB?D3J(T9pPQ*xpwmw_13Zah+y(zQJoc>il{$0n#=7m-&~Q^^b>Ke!jnH=3R$X z3@o2*24HT-CH|!*`|;4UgYRgnkE{ITm>apszu5GBJS0T;Nb|>|Dreq*!uxN% z0o&W|Kg8em-A5!+k>;*SCcmo`O8b>6nN)O5emqJ4hY4y=Gq`NmCcH9`_8)-h>PjC| zZLX^Z&xQ`(tDV<>P_=TUS_#EVFG7jNP9t(qtL@Ue1>)r)OT0)V@Yiwnccz-Gq`B$} zMZe%;RJN3UyB~kL!aidX2SqYPRo^!1H9Vi-%Kln`Es*7>htE=JoGT?8RQ8~}nMzh0 z`|skxWNssbvve_#3s+;w(tf^FD?TNIbiGpK(A^!1%qRBP@ZQU4^*LFN()rwWAykP+ z3w!(27Jj%+6=*!%C~{mXlO*z~S~#_v%M#ff_9{b%in~d6lPlJqy~$8)zD!bhCRxta zekm21e4@UWA+o>i1uF-Y0vRfijW=m7`J9e}7VHqELo^kSGYPk!-f^$9M9x!ArWkBH z>fx#p4~t>*oImn>g9*fODq%&}c4FSu5RKQ;{`BKW-j9`|UVM$Iv6@sSQS zKOEQEG1r_^KCQFb5T|j{CkXlFB+i^mtf1HTh`jflaHJusPLI$?DGyM)YFIL+w@f(aEhg=l)@d76 XjBnWGR@7=7mKulVy?Ud5L8JW>`Ssrt literal 0 HcmV?d00001 diff --git a/fake_fire/textures/chimney_top_stone.png b/fake_fire/textures/chimney_top_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..367b2bed4fe04f53cfe16dbe29e84d6b873f5de6 GIT binary patch literal 474 zcmV<00VV#4P)t_V7P1Uk#3lZ^`}a)$*Ya?GXCi`#0AOYu z4hPH(%m7F^m11PbdCA$a2p71(Y|tJ~a8v Q_W%F@07*qoM6N<$g3-^-BLDyZ literal 0 HcmV?d00001 diff --git a/fake_fire/textures/chimney_top_stone.xcf b/fake_fire/textures/chimney_top_stone.xcf new file mode 100644 index 0000000000000000000000000000000000000000..aab3449cbfafadbd3d57e9624a19c0aa6a0c77fd GIT binary patch literal 1489 zcma)*OK;mo5XZ$;#OB#J$m7%lkpO{naFFC9&+wHqeDw@pJHyw3aa?0R z0GP4N>6^Jgh-}u0W)+Z2J@<2n`TUefKxgF(WyPB%8FMQ0HAlZ12N({(CNCidj? z4@xmsruXc7<%CB+umaw2rQJ+m*muE0!#R(UJGs7u2Olg}jcd3gsaG`CLFKC-{ z@iMj3`2kd>0@@Kl=)Xs=wPvvSf^#jJqNLD$@r+VVxFwp@;tl$dVKcwGySvpT-G6+R zXs*M-?(TjZ4`3~NeVtMl!rj3Dnp66-%ioUe@#*ibyN=7!ckR37m|2YQif3bg;0sDo zpN+S-SqcMIJYcXA->_zeVNl=SUg|K$>0hJnem2gsLwQbFC|} z$x9cyFE$~YFxXwXaABe+R&{^OKYQJcbQF%_JaabXFu}jo{PO0yoq+Z|*X_r;7Ox}@ l-vkFUHwWd~TE7CA8GzpUvkuf+>u>yi(zx`g^&S4C@fpznZ14a8 literal 0 HcmV?d00001 diff --git a/fake_fire/textures/embers_animated.png b/fake_fire/textures/embers_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..632505a2f70ad5ab88fb10be70aa7e2df3ba8819 GIT binary patch literal 2316 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

# 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 literal 0 HcmV?d00001 diff --git a/fake_fire/textures/fake_fire.png b/fake_fire/textures/fake_fire.png new file mode 100644 index 0000000000000000000000000000000000000000..a5c2afda7adc180e68b3403f803dba72f00cf24e GIT binary patch literal 847 zcmV-V1F-ywP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RX1P2x;JF*&V4gdfG;Ymb6R5;6x zlU-<&cNE5d|2J=A^5)HF^U$HpWm8rh;C0 zw~I}r2;0OPwJ37~8O)27*)c%}MwHf8N!m0Y7?LJ2O_SqADO%>hb9H#m;W^K9;DOhu zqhSw6!=6{+@*i-g6Zt=)v6O?clw;Lg9SoUruCSn1fQ$V|Z+C=|zvdOdJAMa%7$~+m zItmb_=?ai+W-jbgq^xz@%?^fOM~hn|C{1DpH={O zM%=PC5u#qN6TOmC&BK;V-z#DbgwgWp68`TWDZ6Q~Xme0L(kB2jkEQ`=e6d!1ekYpV zB(y#VfISf={&s@K<{q@j#f$>TOwAG7;={Wq!sMrJNvsPjKgo)d97<7^MVdRbWshc_ zg^@a~*$mo>Z^J3H!!}4eiG68Niz(!{k43jTS5*0QU3nwJ0|vy2uRvoQbw002ovPDHLkV1gaximm_v literal 0 HcmV?d00001 diff --git a/fake_fire/textures/fake_fire_animated.png b/fake_fire/textures/fake_fire_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..d419ae2f4858b39973912926776fe1761a49c239 GIT binary patch literal 4836 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 b7(8VX>^oLAlDum2-!I?T0H^;(*ERlsU0-3M literal 0 HcmV?d00001 diff --git a/fake_fire/textures/fake_fire_animated_old.png b/fake_fire/textures/fake_fire_animated_old.png new file mode 100644 index 0000000000000000000000000000000000000000..20abe231bd349671d21da4091fb7a3e7475fcc0f GIT binary patch literal 4890 zcmd^C_ct33v`?z)Ywy_*iU_gyR(q$2O_f@uw$dT0MPsi}YSrGOC{?3IQ@i%4Er}I7 zXpK^ycix}zKIe1Ky`OvTPxst=?zu50a9wH&4hjGOK&`K*Wp?A~007|q|4444@F}Vr z0RRS?>1qIKM?hOQ;wBQuwzDYY|Ggcu9PmA{H%-%@o0&51qCHCvph>dDHLYV`h+5z97wN`Ju{u#0H*>1hXe52K#Q0%-__LNZVvQ_P|+32{@ z>O^RCCNz2y+Fb~3UfT`NcA8&ow+HUDhi-N~-u&)C=yD}=du(-i6MlGaVFGqAueSSx zb_S5U?cuvW!uK$7yF=l7L$Uiq=-n~Y-gx}}MC!q0=D}<>apWU$GMzY`O`OdoP8AU6 zi;k8mkC*F?ur$?;6v`WeF4?b&mu z09SyClZVeUQMk4_cd(SGjHraT`0s#%n{t1BEp>Bi-CXO?7v@$Ds-iO%&D6U<8x zQV|&og6F$0tuf=lZMUj+tg5^QZrQFDl1mk4!xzn|kApTrl&C<2fZVZDgK0Bc`iO3p zwIs&zNryP}Ej#KrB=@c~=G)qGOGZoA;-WW;5=n{kB!ot6j@IH7QF(s5ZUMzkChXWNv_HRK)71-$D$x3 zD*i&gdsVB^aqejbIi*LbtH>l|C;;bD;G!QhGIB)+7EE6)mn*PK7iHBzG-S#6ctW|} zi&WjS4XpG?s7Mc@MM}RmQ#ZD#_LLzZ#{c{9kK?ar=)>a-wkqeRmADcJYCH66Fty#} z22sJrqAHIkp2R|?Hh7!z&Mc$Pk!)Aljx2V3a&fF#t*xW!Ih)J@kE)uSoF2MwN%XZu zd=`z4`1&Z~`>L(LwG-XBKdqY9xrtsrP|*UUVP7uitEIoIA*3A=>-nF5O1y0*19U}` ze0Yn8PiwlNWCPK7pm9|k9147=X;xD0K1^QWl2|Th{4AXnX6Z3#Mm+?wZWmC!3L}|| zpGBI3{pOO4EtJBt>P1Za&TMh|ysD9RZ7g)(@X)LZ^}g%eqqr7v7BfRRgp$fNz36*@ z)jQp{(vK}fJt_klncYTQ5{Fz+`RObliILymoi?B5((BR{$H zz7_xIh_)|`Ms;z$OQGA^HRO6Y0WnFAEv-)*zcZoz?SU-SZyHXRRazteRyw;wyDN`& za!oeMi`l}Ec4S2i+yq|zZ(8vY>ig<`#v=A(O;=Q3ShB?Pi$^o5pCnFJu^Gb)p-m5z z$P!<^Y{11>cF@$95qZ>DF|Qe{TYv%*^Q|QJf$VhBO(KmM_h?JI*~8CA9O=NSLFhsn zA$#F>_pJe7U9DT>sc2Xx*DdCctm{B6kD0NOD-A0bv;7ol>Tkwqlwi-0RD(z41~ua_ zqW&?o@V%9A!fTWIXb#Ay+_oAAYbndeI}+;e z(EaqCkUL3MbKSKfzdb1Q3+T?9w8R!UIWvi}RE<#qCZ7GXABq+E;H#S`t5G;h)}kRl zF{wZ1W0cCkU6$r&Egz!}PMI^v8)mb|+|!P9dG=>&T)H4-fOifSS5B!bBXV~-bq>vv zBl3RCRnkW^W_70cvCvwBQ-Rr0r{PA>lF_3k^X2pinUx}29h=T4)_?W3RL{@ihcV7F zUKg}WCqtSG9BdclJ}Zi9#CjHdc>PkIP4maI9B)7v?QBHNrsAT*Zt&M_w!oCoCw3|u z`Rk7H3nz`7rTIy+AOojQ)H6vQv{7H26|0ZgayE`viT|Pcw=$+3c>3v8U%l{j18E2r zvphKJakNh(Tr`BkSAh?WdWQ>0HG8is(#K_98%Z(E8HrlQ{g%xCma>y3qG@%(WXN1Q zheUEeaW$4T|Mqxb%yXaTLFZ-y^Yb;o3*5QDoG77A7TiqfEt1se)0qq2RsU7gmesO1 zDy!Z+7s3Abw_*lt%)fu{@Ct{r5?6?xX$sIHJ_mqj?{ZHiRVpyp^5rb_wd6W5c)shW z4=}vNuj=<7yFny<-(ineBpkhu(`OhODQIrVSA;|+Jb{Z~rNEVhFul$%eiF}B6n$gQ zs>yxyDA5&F4dT8JOTOH#9x`t!(5w9Fl4T=K(U5jJ^u8x0){U*%V1*Vu_9zVNjBF>$ zhmhm(vS4fm^|FPRRP}tj{cM~6Y3UL*_3-qr1S{D)*7n7_A$f;)kR3F1?wQsIQTYi09xqj3yXeSQdVFJfo7agh8yjUx9K)$J| zeAt|B(L9S(K5U@;)zDzvnN~nS_s{6JFD-8FciGB|NNBahe|?z)7EnB7 zR%uF5Vui@h!wcJ^h&;bX;pmbzkxZ)MJDf|HID$~=B%)p`Jx5k2)E!%ueSrV$shV0! zZ(*Mv5yTQ_3#VfwALthzQqP+BL+&ujbi5r;y#mcn{_6Zbytd>of19I4?;8YMC z`}H}~M*YICz4PC1U(s5-rsfKWDS3xJJ3EIE2J>vYEw50YDC)g|gMrJv%%iQLKJg3V z^PUGGSen*@APpLITJ_FvF@~CQ18-$D{;cf6i)d-kI4C&lhd}H>YX>6y(`zc)xQZ(% zxx-7aSk$VAk9{UyHxh0dH;*0sOcJYTF!iG+^{7I5EvjIvQgOK~X~4=%S3q68(lyat zN6WCuT+weya!h0h8%14Yc1snX<+?n%bo~{T-n^*t_C78pmkk|w{)+9d2o?AP$g|R| z`l{#7bpXcynWijuRL=kG4VV$y_@i!=k+KnCcFf8beHC;!vCBLY-`blr9qJ5R9AlQ3 zVAxtCF<0JKdfJBL^v#q0NtxzGaj9SjW;C~FgP8I8H_qmf^cqk$*vB9L`s+3#@Jz8Lk&-Wru&w5xE z>y&G1QHXfzPT+-7j_8-#0lUe^n`8?Nzk{Yso56RcdjUGt6o~@B#m%0A+UZUup|^LD zPH)SmG$qwHm1O6eb1#iRrHF}ar1STVivzs54_(r6xCtTCY*25&*rAmTf*xD>6~b4Z z`2;S7jxm|i6N^bBqe-^4^nk*$W1HS!0PI_(Bv z+=Q#M**fL?Fs8b^V`-JAa_o+)Tdt~>sWW00xS9m+#J`%s1ujzmL!g_iD%J#6S;FHeA$ljztQ;oCZOS&Ir(jb+W=zvLcEN^3# ziN+jhlN?8}fpl2xSfeOUMX`yhtexNo8<23?rb$ILPIP#zVdfssmI1rA`zPItqjW(# zj+M{1iCbDF`Qavw4Ms1AZ;m0Y$<-2Z?#n?drgr||P=-wj3s z3wvb_t1b_E{L}x%(7{;O_9s0KGa8?+lf^xvDPG2NFf4I)S+G(GpkA^h>9=KBBL89MM14{BCD6Dv? z8^d!4?vG<<+PRA-4Uh5x|8kRrzSh5`&Y8+<_9IHSmg-*phgH8T73Z^|UmeBLNkQ}x@ zDkknStKOX+Mq0n(>^q!Q_O1Hwjv8j>dN{x-YIMiLZQ-lVNuS^6IkC@bytC8W1Z?z$ z2&w8xwsB;~^8H&NGIDy529K)V){e+6s$K44JuwRYfG^gfV@wCQL^#S+ND1HfU7$-R6dJjy?Yl59z!vgmRoLB~BJ4FKzoqHima6YX#;457cq) zbDv10I0+Skr^rf-^fttirfkzE##=T!a4TRTry#T^D!QCyZv-_l(`FS`Gvm!y`Wp>a9^nZlKnePbEC zV!A!7QZ)FJG5Hcvm%gs&dW%M@B>IY0?t<|{8)*jD|9F|F;2rk5Zsy7IX)+L z1V!$oK+Fd~)OiFHDezCgFNDTlprJufQ1Ad#jAL0yCrfubGdnwLi(s3Q14Cc0z&53V z9Qrx{LthtUm#6Crtmr0mm#L>VrIK{uDZzmNNXvnnoGZGi>}Nf3gbSdm1zFK2!rWRQ z;ndTCiY`kc+~jODQ_X?>Hmx-eU_uCkNihjSDX3(*ruZO(dV6L`*BU2;VhL#5Bfipd>5$ ztfCCMOmkr7sHp~(r2zcXBF!Gt`1AW~W@Z-NKQ5cqIF6rR-{Ux%*~4ypeO?F9%-&u$ zrdafQJtdrut#+*S`FS~tzRR@P<+3KiGJsvvsPqSxU{a1(5`k?100004m#mW>f!H94@fqBnA z*k@|MPhm5#W!OrEwGKXY@Gg!(+szMmM_G3?$qx`}AWx0;>1i>}lIig{KiCM?hok-D z@$n>CFQ4vYw6~k|d;Rh}0yeAE23q$XX|40g|ADriO;2|B^P^F+S~JreOnWCs zBds-6gT<@M{{{0ZtjqT+jHjW0g4XB>U^Sk-hv)9$@E%?OR^IwF0qXwxkFT{LWnNT; z^+zybFCWItSpD~Y%&r+*C(fo$nnBE|G-HpqS=ezBc+Ac=V`1^w21$TAVdPQ{QWqqN zNtxTTUDuYN?}UWhyVQ#7cF@u3+W}bMN=H236VLVro&|x@#lE)|h{T=_PwiUZi>%>i zQ_{c982* z$J>LpbUWPJG7Sm~nnc17%GYEeNgQ&3@|g2=QeBKQasT@@4=Lr9hG4@1U8MqQ@M zh|pl7sDb(gS}hjH%z*&a*IKh`0Wa;G*(&=BvV?XJ%x>YHp|6;vWSFJHqY~2>kO6{G zMa>rI(DJ(i6R(OD1R!!AQKAb-Q^Bfto@fiw5!M-Zh|p~WL3GiA*rGsFYYQSRz7?OK zGH;Z76?O}{bBGDiAL7Pk7}`ocrt^>@1~C#?3ASN4VtAl9*I{fz#uDKBW-0X5M@q|o zhD%yy%=cJ*0xz%XEKU<^Z& l5TO{d!LFjN^)kNR^eu$kP*ue~L6OQZcPjEm;Sx+&@Eh+z!nyze literal 0 HcmV?d00001 diff --git a/fake_fire/textures/flint.png b/fake_fire/textures/flint.png new file mode 100644 index 0000000000000000000000000000000000000000..f53881d5e6bc7e9b30390ba8da29de2d40b72552 GIT binary patch literal 1309 zcmeAS@N?(olHy`uVBq!ia0vp^d_c^@!3-o*<7!?2DVB6cUq=Rpjs4tz5?L7-m>B|m zLR^93?Ck7fVqzK^8pg)PVPRqQ_4Su8Uj~Ygg3%Bd_91X&*_9Lq21bUGAiv=MBO5RT ze`i+(MmT4IM`SSr1Gf+eGhVt|_XjA*UgGKN%6^AMfStp*?t7I1P)M@GHKN2hKQ}iu zuY|$5C^fMpHASI3vm`^o-P1Q9ypc~Fs7MN=C^$c@q&%@Gl_4N8Gp|I?&oxA$%vjG< z&(Of&OVL80Do;-r#}J8d*K>h<2Mjov0yeJO{l8N-VfM%5ID?BB>4|AQ_iW8p#%|NF zooZycYRcoTC67y%S_ytwrfjyt^kI>C-A{qM@_P-7&F!Mr*y~o$oBRW4D1)b~pUXO@ GgeCw91zmvv literal 0 HcmV?d00001 diff --git a/fake_fire/textures/flint_and_steel.png b/fake_fire/textures/flint_and_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..1fc4f9210d32d3262b0ca113de955b41e6b7d73b GIT binary patch literal 1427 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvNA9*GX(gA zxB|u5+1bU!#56QCjE#*=O-)@~T*AV_GBPrXii+y%>zkUIrcIl+V#SKfmoMMAapV90 z|3EFHU^E1VM+nS$E*j0iz{pS%<>&kwIMSz`0t=uj8K2S)q#5JPCIX^cyHLrxhxhOTUBsE2$JhLQ2!QIn0AiR-J z9H>YNq$oH)t)x7$D3u`~F*C13&(AePq0Cs%RL{`B;7id$psM|zE{-7<{#z#=6lzxB zadDj>cI4Fm|2k*e5?mjD3D|A^Y_Ez#+b7k-y-lWBn{!)gU9V;^eSBf!%<`dKT68hj z)ZKxG5dwaPZZ=%7h?>L0(e}HzWTC{PZO=;1R(Tem?6$cab7i`k$l*Y{-{*4k-q!Zc z;a7H;rn+9Fu&l{p*&NnbyC#3lV5wTA%Ui^Y{G1L76^Voynav2|*xRtuut-&5-4)KG zzbpF;6@*=@m$h$bF8EcyVBXqIe{aW^U3~xNyI{VV@_)zcr?@?UUSaTb^>bP0l+XkK D(PX3^ literal 0 HcmV?d00001 diff --git a/fake_fire/textures/ice_fire.png b/fake_fire/textures/ice_fire.png new file mode 100644 index 0000000000000000000000000000000000000000..9d218f4a2efd7f4d78f57f178d08406a731f4668 GIT binary patch literal 866 zcmV-o1D*VdP)QyT@nGnuJp+3E)#ZI`&PeZ){-n_Y+Q~WV2Z0mvmZi>y`kR0>1d^y08NZ zT36R2gN|dzcx(|mcTO6S2(e_61BnF1bXt5Dvxr>2EaNwCKB`fDMC>LTQ&R#!yf8N> z7e`0MKP^t&zAe30i^ko%G|Oeoc$}|385Nc4E(3j0^uQKlAI-`Gs)~4jbyfaRtI?E_ z^7b~llP3khs|ySA=VVdjji z3CrT3-_LBZD8I?)c|929IbCP(c&}x%vLz*{aF|~oJm6*9W+D_4^QDr^R4O={Mo81} zD+;~3j@NFpRIQ?%%4Q|Nd?Fz%RRv(v^Oy*Q1i)IYM%*-cN>P|Am#MT`95M_x8V$m_ zj$*1R@7=j00k)e>^7T45jvf^NAFi!QN7KkuDtw;HF=SZ`nkH{8FZ1d2G>vu}aidU> zJ-W`2ZSSo!xw0Z7hQWw!W2!3Omr8uQzRtTxj!@g(W!!OiCzHYL>qE?!O7eQK$hhNR zt12^v0;hsO;-*P@Yl}hC1mK5q85QU;45nvispfLDJr5DRaz##^JxiuiA#R!!JP+6J s=YyV}J)`am7o==7*t~X4{QE=y2JOxmsumZ1-v9sr07*qoM6N<$f{m|@uK)l5 literal 0 HcmV?d00001 diff --git a/fake_fire/textures/ice_fire.xcf b/fake_fire/textures/ice_fire.xcf new file mode 100644 index 0000000000000000000000000000000000000000..62ce3f5e8d14725dd534d5d48799342e8b14f6ac GIT binary patch literal 1550 zcmd5*ZA?>F7=CUkQa+WbKy}d@H4LIHg@M4F(O{g>Kr}kd5;m6F_TJuvQqp3g5}488 zk1Zi4WKo0hkI`Ji3>w8m1!L4rr}7~nTR}Svu+hR`u*?LNUf%<^qs`cV-`n>+Pv5U| zp7S9}j&lB>Mc@Ug)CQ78sxq8N%5h{Clj;giXwNVuyo6Lssv%8MG0R&@`2{pC5~;00 za+pP%L3Bx0a)II;(%cn?N^QK`St?o6W6}iC;w*K#__Ue9;1c(nd6UsJBlCbvHIz=J z`{yYQ#`*sTtn{F}+-#A`L_RY(7da2j=Tv=$17%VLFO^yBHaDwx3WD2K@$Ujz^?zNn zp72t(4+})I!(mo;1WQcD>>T>?^Yime+1dH)bJypvm@3@GAfhpNG;F8iC5!EAL2}uQ zU zTY(~ZFK|jeRZ>5Eu5p(QpHLHLgJ3xMXyZz`;Q_7CTU>SX$4X;uP3O9T7UAk$`=#FF zO-)W$?HYY@sw~u1)lt&4J_QkscoGq}Fyfyv;;WBPEKp2l@(8`Q#O;N8>v9Qpa=bC0 zlRjs}`8Cz3FUFV0x=&;6ch|7`W8elO-um+o^$!bj_m;Fh^>nm11MR?t)_dr>()Ac! zcb-8;XLDN*p7*>2Zh1y-x8a57$uPV_9^fZ$zwg-}{ZD(xMw(ys10C(YULVH11H=A_ z@xczD)7K3Q`G$V^eQJ25>sPc=lRm%a`p`sMwa-66EA;kw|NP5)YoPz{EA3;R(Q%Le zpO>SfeSHIU){=UkXV5!HNz-=oEb)Xe;<|9+y6uHg*4S|3T>R)9@dP5CNSASr_`p~Gf|Q#7Pg^m5t9Awr47Yl8ICC@idFyh$P2bdg2PF1X!31 kr@Uo_D(0XKiExOgf*DT~0oE>BdCgiwiKc1!nW?pS2PQ!HYXATM literal 0 HcmV?d00001 diff --git a/fake_fire/textures/ice_fire_animated.png b/fake_fire/textures/ice_fire_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..0fce37312a97e570dc355a7b7eaa2b38c9c431ee GIT binary patch literal 3701 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 TX<3s600000NkvXXu0mjfC43~i literal 0 HcmV?d00001 diff --git a/fake_fire/textures/ice_fire_animated.xcf b/fake_fire/textures/ice_fire_animated.xcf new file mode 100644 index 0000000000000000000000000000000000000000..b663b8ffdf7b9c8e9e6b44415dc7be75c0756735 GIT binary patch literal 6110 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 literal 0 HcmV?d00001