From 6a2c9435e4477a3c469e715e8ae75737ecf3d77a Mon Sep 17 00:00:00 2001 From: Simon Brodtmann Date: Sun, 28 Sep 2025 01:14:41 +0200 Subject: [PATCH] Convert cactus to entity mined into cactus-tissue --- .gitignore | 3 + README.md | 5 +- wooden-arig/data-final-fixes.lua | 51 ++ .../graphics/icons/pile-dust-yellowcake-1.png | Bin 0 -> 10546 bytes .../graphics/icons/pile-dust-yellowcake-2.png | Bin 0 -> 10611 bytes .../graphics/icons/pile-dust-yellowcake-3.png | Bin 0 -> 10010 bytes wooden-arig/info.json | 13 + wooden-arig/license.txt | 674 ++++++++++++++++++ wooden-arig/locale/en/en.cfg | 2 + wooden-arig/migrations/1.0.0.lua | 10 + 10 files changed, 757 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 wooden-arig/data-final-fixes.lua create mode 100644 wooden-arig/graphics/icons/pile-dust-yellowcake-1.png create mode 100644 wooden-arig/graphics/icons/pile-dust-yellowcake-2.png create mode 100644 wooden-arig/graphics/icons/pile-dust-yellowcake-3.png create mode 100644 wooden-arig/info.json create mode 100644 wooden-arig/license.txt create mode 100644 wooden-arig/locale/en/en.cfg create mode 100644 wooden-arig/migrations/1.0.0.lua diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d929479 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.zip +.idea +.vscode \ No newline at end of file diff --git a/README.md b/README.md index fc616a2..08675d3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ -# wooden-arig +[![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/ufvFUJtVwk)[![Forgejo](https://img.shields.io/badge/source%20code-%23f4f4f5?style=for-the-badge&logo=forgejo&logoColor=%23c2410c)](https://git.cacklingfiend.info/cacklingfiend/wooden-arig)[![Downloads](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fmods.factorio.com%2Fapi%2Fmods%2Fwooden-arig&query=%24.downloads_count&suffix=%20Downloads&style=for-the-badge&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI%2FPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI%2BCjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iMTIxNnB0IiBoZWlnaHQ9IjEyODBwdCIgdmlld0JveD0iMCAwIDEyMTYgMTI4MCIKIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDEyODApIHNjYWxlKDAuMSwtMC4xKSIKZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTM0NzAgOTYwMCBsMCAtMzIwMCAtMTczMSAwIGMtOTUyIDAgLTE3MjkgLTQgLTE3MjcgLTggNCAtMTIgNjA2MgotNjM5MCA2MDY4IC02MzkwIDYgMCA2MDY0IDYzNzggNjA2OCA2MzkwIDIgNCAtNzc1IDggLTE3MjcgOCBsLTE3MzEgMCAwIDMyMDAKMCAzMjAwIC0yNjEwIDAgLTI2MTAgMCAwIC0zMjAweiIvPgo8L2c%2BCjwvc3ZnPgo%3D&label=&labelColor=%23e39827&color=%23e39827)](https://mods.factorio.com/mod/wooden-arig/metrics?range=last_two_months&type=mod_downloads) +_________________ + +## Wooden Arig \ No newline at end of file diff --git a/wooden-arig/data-final-fixes.lua b/wooden-arig/data-final-fixes.lua new file mode 100644 index 0000000..34cf2bc --- /dev/null +++ b/wooden-arig/data-final-fixes.lua @@ -0,0 +1,51 @@ +local space_age_item_sounds = require("__space-age__.prototypes.item_sounds") + +local cactus = table.deepcopy(data.raw["optimized-decorative"]["arig-small-cactus"]) +cactus.type = "simple-entity" +cactus.minable = { + mining_time = 1, + results = { + { type = "item", name = "cactus-tissue", amount_min = 1, amount_max = 5 } + } +} +cactus.localised_name = { "decorative-name.arig-small-cactus" } +cactus.max_health = 100 +cactus.healing_per_tick = 1 / 60 +cactus.collision_box = { {-0.25, -0.25}, { 0.25, 0.25 } } +cactus.selection_box = { {-0.5, -0.5}, { 0.5, 0.5 } } +cactus.mining_sound = sound_variations("__space-age__/sound/mining/mining-cuttlepop", 6, 0.8) +cactus.mined_sound = sound_variations("__space-age__/sound/mining/mined-cuttlepop", 5, 0.7) +cactus.flags = {"placeable-neutral", "placeable-off-grid"} +cactus.map_color = { 125, 149, 54 } +cactus.icon = "__planetaris-unbounded__/graphics/decorative/arig-small-cactus/arig-cactus-9.png" + +data:extend({ + cactus, + { + type = "item-subgroup", + name = "arig-bioprocessing", + group = "bioprocessing" + }, + { + type = "item", + name = "cactus-tissue", + icon = "__wooden-arig__/graphics/icons/pile-dust-yellowcake-1.png", + pictures = { + { filename = "__wooden-arig__/graphics/icons/pile-dust-yellowcake-1.png", size = 64, scale = 0.5, mipmap_count = 4 }, + { filename = "__wooden-arig__/graphics/icons/pile-dust-yellowcake-2.png", size = 64, scale = 0.5, mipmap_count = 4 }, + { filename = "__wooden-arig__/graphics/icons/pile-dust-yellowcake-3.png", size = 64, scale = 0.5, mipmap_count = 4 } + }, + stack_size = 200, + weight = 1 * kg, + inventory_move_sound = space_age_item_sounds.agriculture_inventory_move, + pick_sound = space_age_item_sounds.agriculture_inventory_pickup, + drop_sound = space_age_item_sounds.agriculture_inventory_move, + flags = { "always-show" }, + subgroup = "arig-bioprocessing", + order = "a[cactus-tissue]", + } +}) + +local autoplace = data.raw.planet["arig"].map_gen_settings.autoplace_settings +autoplace.decorative.settings["arig-small-cactus"] = nil +autoplace.entity.settings["arig-small-cactus"] = {} \ No newline at end of file diff --git a/wooden-arig/graphics/icons/pile-dust-yellowcake-1.png b/wooden-arig/graphics/icons/pile-dust-yellowcake-1.png new file mode 100644 index 0000000000000000000000000000000000000000..3c5b3746c1bc922f0438f06f15a746d7a8408893 GIT binary patch literal 10546 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 + 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 +. diff --git a/wooden-arig/locale/en/en.cfg b/wooden-arig/locale/en/en.cfg new file mode 100644 index 0000000..a6e947b --- /dev/null +++ b/wooden-arig/locale/en/en.cfg @@ -0,0 +1,2 @@ +[item-name] +cactus-tissue=Cactus tissue \ No newline at end of file diff --git a/wooden-arig/migrations/1.0.0.lua b/wooden-arig/migrations/1.0.0.lua new file mode 100644 index 0000000..4b5f70f --- /dev/null +++ b/wooden-arig/migrations/1.0.0.lua @@ -0,0 +1,10 @@ +local arig = game.get_surface("arig") + +local mgs = arig.map_gen_settings +mgs.autoplace_settings.decorative.settings["arig-small-cactus"] = nil +mgs.autoplace_settings.entity.settings["arig-small-cactus"] = {} +arig.map_gen_settings = mgs + +game.regenerate_entity("arig-small-cactus") + +arig.destroy_decoratives({ name = "arig-small-cactus" }) \ No newline at end of file