From 73ca5c8386a69998e3885015947a8d525622dcd5 Mon Sep 17 00:00:00 2001 From: Simon Brodtmann Date: Tue, 11 Nov 2025 23:58:49 +0100 Subject: [PATCH] Split mod into mainstream and directors cut --- lignumis-cf/info.json | 19 + lignumis-cf/license.txt | 674 ++++++++++++++++++ lignumis-cf/settings.lua | 31 + lignumis-cf/thumbnail.png | Bin 0 -> 42353 bytes lignumis/info.json | 12 +- .../integrations/astroponics-updates.lua | 2 + .../prototypes/integrations/astroponics.lua | 2 + lignumis/settings.lua | 26 +- 8 files changed, 747 insertions(+), 19 deletions(-) create mode 100644 lignumis-cf/info.json create mode 100644 lignumis-cf/license.txt create mode 100644 lignumis-cf/settings.lua create mode 100644 lignumis-cf/thumbnail.png diff --git a/lignumis-cf/info.json b/lignumis-cf/info.json new file mode 100644 index 0000000..9e4cdba --- /dev/null +++ b/lignumis-cf/info.json @@ -0,0 +1,19 @@ +{ + "name": "lignumis-cf", + "version": "1.2.0", + "title": "Lignumis - Directors Cut", + "description": "Dive into the world of Lignumis, a moon of Nauvis offering only the most basic technologies.\n\nThis is the version that represents the original idea of the mod author. For a more isolated planet mod experience, install the regular version.", + "author": "cackling fiend", + "homepage": "https://discord.gg/ufvFUJtVwk", + "factorio_version": "2.0", + "space_travel_required": true, + "dependencies": [ + "lignumis-base", + "aquilo-seabloom-algaculture", + "astroponics >= 1.2.0", + "Diversitree", + "fulgora-coralmium-agriculture", + "gleba-water-cane", + "vulcanus-sulfuric-bacteria" + ] +} \ No newline at end of file diff --git a/lignumis-cf/license.txt b/lignumis-cf/license.txt new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/lignumis-cf/license.txt @@ -0,0 +1,674 @@ + 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 +. diff --git a/lignumis-cf/settings.lua b/lignumis-cf/settings.lua new file mode 100644 index 0000000..2e299f7 --- /dev/null +++ b/lignumis-cf/settings.lua @@ -0,0 +1,31 @@ +local Settings = require("__cf-lib__/settings/Settings") +local force = Settings.force +local forceDefault = Settings.forceDefault + +-- Lignumis +force("lignumis-restrict-sciences", true) +force("lignumis-basic-circuit-board", true) +force("lignumis-belt-progression", true) +force("lignumis-ammo-progression", true) +force("lignumis-technology-progression", true) +force("lignumis-circuit-progression", true) +force("lignumis-fulgora-wood", false) +force("lignumis-vanilla-lab", false) +force("lignumis-lumber-mill-more-recipes", true) +force("lignumis-electric-lumber-mill", false) + +if not mods["aai-industry"] then + force("lignumis-inserter-progression", true) + force("lignumis-assembler-progression", true) +end + +if not mods["wood-military"] then + force("lignumis-ammo-progression", true) +end + +-- Wood Walls +forceDefault("wood-walls-fuelvalue") +forceDefault("wood-walls-wall-cost") +forceDefault("wood-walls-wall-output") +forceDefault("wood-walls-hp") +forceDefault("wood-walls-disable-wall") \ No newline at end of file diff --git a/lignumis-cf/thumbnail.png b/lignumis-cf/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..497345415e405b81835db5123699e9a97ba3459b GIT binary patch literal 42353 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 2.0.53", - "astroponics >= 1.2.0", "bioprocessing-tab", "cf-lib >= 1.1.0", "flib", - "gleba-water-cane", "lignumis-assets >= 1.0.3", "PlanetsLib >= 1.14.7", "pollution-as-surface-property", "Wood-Walls >= 1.2.0", - "vulcanus-sulfuric-bacteria", "? aai-industry", "? aai-loaders", "? aai-loaders-sane", "? any-planet-start", + "? astroponics >= 1.2.0", + "? canal-excavator >= 1.9.0", "? crushing-industry", "? fulgora-coralmium-agriculture", + "? gleba-water-cane", "? hot-metals >= 1.1.0", "? lane-splitters", + "? vulcanus-sulfuric-bacteria", "? wood-industry", "? wood-military >= 2.3.3", - "? canal-excavator >= 1.9.0", "? wood-logistics", "(?) atan-nuclear-science", "(?) Diversitree", diff --git a/lignumis/prototypes/integrations/astroponics-updates.lua b/lignumis/prototypes/integrations/astroponics-updates.lua index c0ef83f..437bdf1 100644 --- a/lignumis/prototypes/integrations/astroponics-updates.lua +++ b/lignumis/prototypes/integrations/astroponics-updates.lua @@ -1,3 +1,5 @@ +if not mods["astroponics"] then return end + local Technology = require("__cf-lib__/data/Technology") -- This just undoes what astroponics changes to tree seeding diff --git a/lignumis/prototypes/integrations/astroponics.lua b/lignumis/prototypes/integrations/astroponics.lua index 491069f..bee736e 100644 --- a/lignumis/prototypes/integrations/astroponics.lua +++ b/lignumis/prototypes/integrations/astroponics.lua @@ -1,3 +1,5 @@ +if not mods["astroponics"] then return end + local infinite = settings.startup["lignumis-infinite-astroponics-productivity-research"].value local base_levels = { diff --git a/lignumis/settings.lua b/lignumis/settings.lua index f043c65..57bd015 100644 --- a/lignumis/settings.lua +++ b/lignumis/settings.lua @@ -1,9 +1,12 @@ +local Settings = require("__cf-lib__/settings/Settings") +local force = Settings.force + data:extend({ { type = "bool-setting", name = "lignumis-restrict-sciences", setting_type = "startup", - default_value = false, + default_value = true, order = "a" }, { @@ -17,35 +20,35 @@ data:extend({ type = "bool-setting", name = "lignumis-belt-progression", setting_type = "startup", - default_value = true, + default_value = false, order = "c" }, { type = "bool-setting", name = "lignumis-inserter-progression", setting_type = "startup", - default_value = true, + default_value = false, order = "d" }, { type = "bool-setting", name = "lignumis-ammo-progression", setting_type = "startup", - default_value = true, + default_value = false, order = "e" }, { type = "bool-setting", name = "lignumis-technology-progression", setting_type = "startup", - default_value = true, + default_value = false, order = "f" }, { type = "bool-setting", name = "lignumis-circuit-progression", setting_type = "startup", - default_value = false, + default_value = true, order = "g" }, { @@ -66,7 +69,7 @@ data:extend({ type = "bool-setting", name = "lignumis-vanilla-lab", setting_type = "startup", - default_value = false, + default_value = true, order = "j" }, { @@ -122,13 +125,10 @@ data:extend({ }) if mods["aai-industry"] then - data.raw["bool-setting"]["lignumis-inserter-progression"].forced_value = false - data.raw["bool-setting"]["lignumis-inserter-progression"].hidden = true - data.raw["bool-setting"]["lignumis-assembler-progression"].forced_value = false - data.raw["bool-setting"]["lignumis-assembler-progression"].hidden = true + force("lignumis-inserter-progression", false) + force("lignumis-assembler-progression", false) end if mods["wood-military"] then - data.raw["bool-setting"]["lignumis-ammo-progression"].forced_value = false - data.raw["bool-setting"]["lignumis-ammo-progression"].hidden = true + force("lignumis-ammo-progression", false) end