diff --git a/README.md b/README.md index d439a1a..d851ff8 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ [![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/lignumis) _________________ -![Lignumis poster](https://git.cacklingfiend.info/cacklingfiend/lignumis-assets/raw/commit/27e61170a897dc4a6afc7d518629899a3b05b6f0/sources/poster.jpg) +![Lignumis poster](https://git.cacklingfiend.info/cacklingfiend/lignumis-assets/raw/branch/main/sources/readme/poster.jpg) ## Lignumis This mod extends the early game of Space Age by putting you on the moon "Lignumis" before you escape to Nauvis. It concentrates on wood and steam technologies, giving you some early game production chains for those resources. -The duration of the stay on Lignumis will be rather short. The impact of the later game will still be substantial. +The duration of the stay on Lignumis will be rather short. The impact of the later game will still be substantial. There are several mod settings to alter the experience after leaving Lignumis to make it match your personal taste. **Warning when adding to existing games:** With the default settings, this mod will break a few things in your existing bases and space ships. Check out the settings to disable what you don't like. @@ -16,6 +16,47 @@ The duration of the stay on Lignumis will be rather short. The impact of the lat [![Factorio Multiplayer: Planetary Pioneers - Space Age - E01 - 02/06/25 - Laurence Streams](https://i.ytimg.com/vi/OMDpDhZdTmU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCVQhrlcmwsZbzRDNQo8vgMKtUHaA)](https://www.youtube.com/live/OMDpDhZdTmU?feature=shared&t=290&list=PLALTzJaRcgW97ItZgtZvkqFBcdVjKNVHz&index=2) [![Factorio Multiplayer: Planetary Pioneers - Space Age - E01.5 - 02/06/25 - Laurence Streams](https://i.ytimg.com/vi/d4n1H6Z4KPc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5TNZBTs7GpUFdVB1CG1-hzYw0tw)](https://www.youtube.com/live/d4n1H6Z4KPc?list=PLALTzJaRcgW97ItZgtZvkqFBcdVjKNVHz&index=3) [![Factorio Multiplayer: Planetary Pioneers - Space Age - E02 - 09/06/25 - Laurence Streams](https://i.ytimg.com/vi/guWhjqPrVN0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAP1kKquScBtrf5w41Eaarp-y5UPA)](https://www.youtube.com/live/guWhjqPrVN0?list=PLALTzJaRcgW97ItZgtZvkqFBcdVjKNVHz&index=4&t=362) _________________ +## Planet perks + +#### Early bots + +Unlock early personal bots with steam science even before reaching Nauvis. Start with 10 construction bots and upgrade to up to 30 with the heavy armor unlocked with automation science. + +There is even a setting to move personal bots to wood science and buff them a bit to get them basically at game start. + +#### New belt tier: Wooden belts + +This new low-fidelity tier of belts is incredibly cheap and can be used for those low throughput applications. + +#### Exported buildings: Lumber mill and burner agricultural tower + +These burner buildings help with wood production on other planets and the lumber mill grants a 50% productivity bonus for wood-based items. + +#### Exported products: Processing units and low density structures + +These items are especially cheap to craft on Lignumis and can be exported to other planets that could use the resources better for other things. + +#### Alternative recipes + +The Lignumis plastic recipe can be used on other planets just with wood and water. Bring some peat and gold stromatolite seeds for the starter culture. Improve it even more by using the biochamber once unlocked. + +Nutrients from wood pulp can be used on all planets for easy nutrients production. + +#### Increased astroids + +Lignumis orbit has increased amounts of astroids that also have an even distribution. That makes it ideal to jumpstart new space ships and for production platforms. + +#### Late game technology: Quality assembler + +Craft selected machines and items with a quality bonus of 25% by providing a special gold quality catalyst. +_________________ + +## Wood production + +Sources of wood per planet. + +![Wood production vanilla](https://git.cacklingfiend.info/cacklingfiend/lignumis-assets/raw/branch/main/sources/readme/vanilla-planets.png) + ## Mod recommendations The following mods can be a great addition for this mod: @@ -28,6 +69,11 @@ For UPS optimizations, you can disable this mod once the burner phase is over. Alternatives: [Burner Leech Fork](https://mods.factorio.com/mod/Burner-Leech-Fork), [Burner Leech](https://mods.factorio.com/mod/Burner-Leech) +#### Optional wood mods + +- [Wooden Fulgora: Coralmium Agriculture](https://mods.factorio.com/mod/fulgora-coralmium-agriculture) +- [Wooden Aquilo: Seabloom Algaculture](https://mods.factorio.com/mod/aquilo-seabloom-algaculture) + #### [Any Planet Start](https://mods.factorio.com/mod/any-planet-start) Allows you to choose the planet that Lignumis orbits. You can continue on Vulcanus, Fulgora or Gleba after leaving Lignumis. @@ -49,10 +95,6 @@ If you want more of it than Lignumis offers, add this mod. It adds ammo for shot If you like go more into the charcoal direction. It has no overlap with Lignumis and starts to get relevant on Nauvis. -#### [Wooden Aquilo: Seabloom Algaculture](https://mods.factorio.com/mod/aquilo-seabloom-algaculture) - -For wood on Aquilo. - #### [Crushing Industry](https://mods.factorio.com/mod/crushing-industry) with [Crushing Industry - Productivity Research](https://mods.factorio.com/mod/crushing-industry-productivity-research) Recommended with high science cost settings. It adds crushers and crushed ores to increase productivity. @@ -72,26 +114,6 @@ For even more complexity after Lignumis. They currently don't change anything on _________________ -## Compatibility with other planet mods - -The following planet mods are tested for (at least technical) compatibility. The ones marked with * have been successfully beaten by me. - -- [Castra](https://mods.factorio.com/mod/castra) -- [Cerys](https://mods.factorio.com/mod/Cerys-Moon-of-Fulgora) + [Wooden Cerys: Lunaponics](https://mods.factorio.com/mod/cerys-lunaponics) -- [Corrundum](https://mods.factorio.com/mod/corrundum) -- [Cubium](https://mods.factorio.com/mod/cubium) -- [Dea Dia System](https://mods.factorio.com/mod/dea-dia-system) -- [Janus](https://mods.factorio.com/mod/janus) -- [Maraxsis](https://mods.factorio.com/mod/maraxsis) -- [Moshine](https://mods.factorio.com/mod/Moshine)* -- [Muluna](https://mods.factorio.com/mod/planet-muluna)* -- [Terra Palus](https://mods.factorio.com/mod/terrapalus) -- [Secretas & Frozeta](https://mods.factorio.com/mod/secretas) - -This list is probably not up-to-date. In doubt, just try it out. - -_________________ - ## Problematic / incompatible mods * The combination of AAI Industry and Any planet start is currently not supported. @@ -219,10 +241,6 @@ _________________ - [Mute icon](https://icons8.com/icon/9414/no-audio) -[_CodeGreen](https://mods.factorio.com/user/_CodeGreen) - -- Lignumis as starting planet inspired by [Any Planet Start](https://mods.factorio.com/mod/any-planet-start) - [Free Music Archive](https://freemusicarchive.org) - [The Owl: telescope](https://freemusicarchive.org/music/The_Owl/Fairy_Forest/the_owl_-_fairy_forest_-_04_the_owl_-_telescope/) (CC BY-NC-ND) @@ -238,4 +256,8 @@ _________________ [SafTheLamb](https://mods.factorio.com/user/SafTheLamb) - [Early Agriculture](https://mods.factorio.com/mod/early-agriculture): Fix for trees not being plantable on Nauvis with Alien Biomes active. -- [Wooden Logistics](https://mods.factorio.com/mod/wood-logistics): Code for AAI Loader. \ No newline at end of file +- [Wooden Logistics](https://mods.factorio.com/mod/wood-logistics): Code for AAI Loader. + +[Larger Lamps](https://mods.factorio.com/mod/DeadlockLargerLamp) + +- Burner lamp \ No newline at end of file diff --git a/lignumis/changelog.txt b/lignumis/changelog.txt index 2b8af6b..e020342 100644 --- a/lignumis/changelog.txt +++ b/lignumis/changelog.txt @@ -1,4 +1,35 @@ --------------------------------------------------------------------------------------------------- +Version: 1.0.60 +Date: 25.08.2025 + Changes: + - Mark RSO as incompatible + Bug Fixes: + - AAI Loaders: Don't load code when mode is set to graphics only + - Fix item weights +--------------------------------------------------------------------------------------------------- +Version: 1.0.59 +Date: 22.08.2025 + Changes: + - Reduce mining time of the burner lamp + Bug Fixes: + - Fix possible crash when transitioning to Nauvis +--------------------------------------------------------------------------------------------------- +Version: 1.0.58 +Date: 22.08.2025 + Changes: + - Add setting for keeping the vanilla lab recipe (https://mods.factorio.com/mod/lignumis/discussion/68725ff2ad76390859ee01a7) + - Add burner lamp + - Add compatibility for "Krastorio 2 Spaced Out" + Bug Fixes: + - AAI Industry and Crushing industry: Fix burner crusher gold recipe (https://mods.factorio.com/mod/lignumis/discussion/68a70d74b6418d6882e78783) + - Any planet start: Move code to data final fixes +--------------------------------------------------------------------------------------------------- +Version: 1.0.57 +Date: 11.07.2025 + Changes: + - Update german translation (thanks Lucanoria) + - Add dependency: Wooden Gleba +--------------------------------------------------------------------------------------------------- Version: 1.0.56 Date: 07.07.2025 Changes: diff --git a/lignumis/info.json b/lignumis/info.json index a45cc7b..1baf964 100644 --- a/lignumis/info.json +++ b/lignumis/info.json @@ -1,6 +1,6 @@ { "name": "lignumis", - "version": "1.0.56", + "version": "1.0.60", "title": "Lignumis", "description": "Dive into the world of Lignumis, a moon of Nauvis offering only the most basic technologies.", "author": "cackling fiend", @@ -14,6 +14,7 @@ "bioprocessing-tab", "cf-lib >= 0.0.13", "flib", + "gleba-water-cane", "lignumis-assets >= 1.0.3", "mf-buildings >= 1.0.7", "mf-core >= 1.0.3", @@ -32,6 +33,7 @@ "?fulgora-coralmium-agriculture", "?gleba-reborn", "?hot-metals >= 1.1.0", + "?Krastorio2-spaced-out", "?lane-splitters", "?metal-and-stars", "(?)secretas", @@ -42,6 +44,7 @@ "!early-agriculture", "!planet-picker", "!wood-logistics", - "!wood-universe-modpack" + "!wood-universe-modpack", + "!rso-mod" ] } \ No newline at end of file diff --git a/lignumis/locale/de/strings.cfg b/lignumis/locale/de/strings.cfg index cae205f..3c723c8 100644 --- a/lignumis/locale/de/strings.cfg +++ b/lignumis/locale/de/strings.cfg @@ -72,7 +72,6 @@ gold-plate=Goldplatte gold-cable=Goldkabel moist-stromatolite-remnant=Feuchte Stromatolithenreste steam-science-pack=Wissenschaftspaket für Dampf -destination-nauvis=Reise nach Nauvis lumber=Holzbrett basic-repair-pack=Grundlegendes Reparaturkit cupriavidus-necator=Cupriavidus necator diff --git a/lignumis/locale/en/strings.cfg b/lignumis/locale/en/strings.cfg index 45d7b68..2cbe7db 100644 --- a/lignumis/locale/en/strings.cfg +++ b/lignumis/locale/en/strings.cfg @@ -49,6 +49,7 @@ wood-lane-splitter=Wood lane splitter lignumis-spawner-small=Lignumis egg raft lignumis-small-wriggler-pentapod=Lignumis small wiggler pentapod lignumis-medium-wriggler-pentapod=Lignumis medium wiggler pentapod +burner-lamp=Burner lamp [entity-description] lumber-mill=Advanced machine to process wood. @@ -72,7 +73,6 @@ gold-plate=Gold plate gold-cable=Gold cable moist-stromatolite-remnant=Moist stromatolite remnant steam-science-pack=Steam science pack -destination-nauvis=Travel to Nauvis lumber=Lumber basic-repair-pack=Basic repair pack cupriavidus-necator=Cupriavidus necator @@ -108,6 +108,7 @@ active-noise-cancelling=Active noise cancelling casting-gold=Casting gold gold-ore-crushing=Gold ore crushing processing-unit-gold=Processing unit (gold) +burner-lamp-burning=Generating light [recipe-description] moist-stromatolite-remnant-desiccation-without-steam=Used for balancing the production of steam. @@ -182,6 +183,7 @@ lignumis-assembler-progression=Enable progressive assembler recipes lignumis-lumber-mill-more-recipes=Enable more recipes for the lumber mill lignumis-fulgora-wood=Add wood to Fulgora lignumis-early-robots=Even earlier personal robots +lignumis-vanilla-lab=Keep vanilla lab recipe [mod-setting-description] lignumis-belt-progression=Yellow belts will require wood belts to craft. @@ -194,6 +196,7 @@ lignumis-assembler-progression=Assembling machine 1 will require burner assembli lignumis-lumber-mill-more-recipes=The lumber mill can also craft basic turrets, burner assemblers and burner inserters. Improves balancing wood usage when all progressive recipes are enabled and helps with marathon games. lignumis-fulgora-wood=This adds wooden gear wheels to scrap recycling as the main source of wood. Disable this is you have a different source of wood or import everything from other planets. lignumis-early-robots=Personal robots are moved from steam to wood science and are a tiny bit faster. +lignumis-vanilla-lab=Moves the transport belt recipe to Iron processing so the lab can be crafted with the original recipe without requiring to research logistics [autoplace-control-names] lignumis_enemy_base=Lignumis enemy bases diff --git a/lignumis/locale/pl/strings.cfg b/lignumis/locale/pl/strings.cfg index 63bbb52..4dfb484 100644 --- a/lignumis/locale/pl/strings.cfg +++ b/lignumis/locale/pl/strings.cfg @@ -66,7 +66,6 @@ gold-plate=Złota płytka gold-cable=Złoty kabel moist-stromatolite-remnant=Wilgotny fragment stromatolitu steam-science-pack=parowy pakiet naukowy -destination-nauvis=Podróż na Nauvis lumber=drewno basic-repair-pack=podstawowy zestaw naprawczy cupriavidus-necator=Cupriavidus necator @@ -78,7 +77,6 @@ wood-darts-magazine=drewniane rzutki (amunicja) [item-description] wooden-wall=Użyj drewnianych ścian, aby chronić swoją bazę przed miejscowymi i zredukować poziom hałasu. stone-wall=Lepsza ochrona akustyczna i fizyczna niż drewniana alternatywa.. -destination-nauvis=Włóż ten przedmiot do rakiety, aby podróżować na Nauvis. Pamiętaj, że nie wrócisz przez dłuższy czas.\n__REMARK_COLOR_BEGIN__BETA notice: Keep at most 40 item stack in your inventory before leaving as the current transition to Nauvis is a temporary implementation. Be sure to take material to jumpstart your iron, copper and wood production.__REMARK_COLOR_END__ [fluid-name] wood-pulp=Miazga drzewna diff --git a/lignumis/locale/ru/strings.cfg b/lignumis/locale/ru/strings.cfg index 77f5612..1d8c517 100644 --- a/lignumis/locale/ru/strings.cfg +++ b/lignumis/locale/ru/strings.cfg @@ -72,7 +72,6 @@ gold-plate=Золотая плита gold-cable=Золотой кабель moist-stromatolite-remnant=Влажный остаток строматолита steam-science-pack=Паровой исследовательский пакет -destination-nauvis=Путешествие на Наувис lumber=Пиломатериалы basic-repair-pack=Базовый ремонтный комплект cupriavidus-necator=Cupriavidus necator diff --git a/lignumis/locale/zh-CN/strings.cfg b/lignumis/locale/zh-CN/strings.cfg index 54a2640..999dfab 100644 --- a/lignumis/locale/zh-CN/strings.cfg +++ b/lignumis/locale/zh-CN/strings.cfg @@ -67,7 +67,6 @@ gold-plate=金板 gold-cable=金缆 moist-stromatolite-remnant=湿叠层石残余物 steam-science-pack=蒸汽科技包 -destination-nauvis=前往新地星 lumber=木料 basic-repair-pack=基础维修包 cupriavidus-necator=钩虫贪铜菌 @@ -78,7 +77,6 @@ wood-darts-magazine=木镖弹匣 [item-description] wooden-wall=使用木墙保护基地,防御土著的侵袭,同时降低噪音。 -destination-nauvis=将此物品放入火箭中,即可前往新地星。注意,你可能一段时间内回不来。\n__REMARK_COLOR_BEGIN__BETA 注意:背包中最多只能持有40堆叠的物品。目前前往新地星的方法是临时实现的。带一些资源有助于你在新地星上快速启动,生产铁板、铜板和木料。 [fluid-name] wood-pulp=木浆 diff --git a/lignumis/prototypes/compatibility/aai-loaders-final.lua b/lignumis/prototypes/compatibility/aai-loaders-final.lua index e44d68d..3953a8b 100644 --- a/lignumis/prototypes/compatibility/aai-loaders-final.lua +++ b/lignumis/prototypes/compatibility/aai-loaders-final.lua @@ -1,6 +1,7 @@ local Recipe = require("__cf-lib__/data/Recipe") if not mods["aai-loaders"] then return end +if settings.startup["aai-loaders-mode"].value == "graphics-only" then return end local recipe = Recipe:new("aai-loader") diff --git a/lignumis/prototypes/compatibility/aai-loaders.lua b/lignumis/prototypes/compatibility/aai-loaders.lua index a3ba668..2137280 100644 --- a/lignumis/prototypes/compatibility/aai-loaders.lua +++ b/lignumis/prototypes/compatibility/aai-loaders.lua @@ -2,6 +2,7 @@ local Recipe = require("__cf-lib__/data/Recipe") local Technology = require("__cf-lib__/data/Technology") if not mods["aai-loaders"] then return end +if settings.startup["aai-loaders-mode"].value == "graphics-only" then return end local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value diff --git a/lignumis/prototypes/compatibility/any-planet-start-final.lua b/lignumis/prototypes/compatibility/any-planet-start-final.lua index 072dfbe..c1bcb9c 100644 --- a/lignumis/prototypes/compatibility/any-planet-start-final.lua +++ b/lignumis/prototypes/compatibility/any-planet-start-final.lua @@ -6,10 +6,88 @@ local target_planet = settings.startup["aps-planet"].value if target_planet == "none" or target_planet == "nauvis" then return end +Technology:new("tree-seeding"):setPrerequisites({ "wood-science-pack" }) + + -- Switch planet discovery technology to the new planet local planet_discovery = data.raw.technology["planet-discovery-" .. target_planet] or data.raw.technology["moon-discovery-" .. target_planet] Technology:new(planet_discovery) :assign({ enabled = true, - hidden = false + hidden = false, + unit = { + count = 100, + ingredients = { + { "wood-science-pack", 1 }, + { "steam-science-pack", 1 } + }, + time = 30 + } }) + :setPrerequisites({ "provisional-rocketry" }) +Technology:new("iron-processing"):replacePrerequisite("planet-discovery-nauvis", planet_discovery.name) +Technology:new("copper-processing"):replacePrerequisite("planet-discovery-nauvis", planet_discovery.name) + + +-- Vulcanus +if target_planet == "vulcanus" then + Technology:new("automation"):addPrerequisite("iron-processing") + Technology:new("steel-processing"):addPrerequisite("iron-processing") + Technology:new("tungsten-carbide"):addPrerequisite("planet-discovery-vulcanus") + Technology:new("iron-processing").prototype.research_trigger.entity = "big-volcanic-rock" + Technology:new("copper-processing").prototype.research_trigger.entity = "big-volcanic-rock" + + data.raw.resource["tungsten-ore"].category = "basic-solid" + + if mods["bztitanium"] and mods["crushing-industry"] then + Technology:new("foundry"):addRecipe("crushed-titanium-ore") + data.raw.recipe["crushed-titanium-ore"].category = "basic-crushing" + end + + if mods["bzcarbon"] then + Technology:new("graphite-processing"):addPrerequisite("planet-discovery-vulcanus") + Technology:new("diamond-processing-2"):addPrerequisite("planet-discovery-vulcanus") + end + + if mods["bzsilicon"] then + Technology:new("silica-processing"):addPrerequisite("planet-discovery-vulcanus") + end + + if mods["bzzirconium"] then + Technology:new("zirconia-processing"):addPrerequisite("planet-discovery-vulcanus") + end +end + + +-- Fulgora +if target_planet == "fulgora" then + data.raw.recipe["medium-electric-pole"].enabled = false + Technology:new("recycling") + :addPrerequisite("planet-discovery-fulgora") + :addRecipe("medium-electric-pole") + Technology:new("iron-processing").prototype.research_trigger.entity = "scrap" + Technology:new("copper-processing").prototype.research_trigger.entity = "scrap" + + if mods["fulgora-coralmium-agriculture"] then + Technology:new("coralmium-recycling") + :addPrerequisite("recycling") + :removeRecipe("agricultural-tower") + end +end + + +-- Gleba +if target_planet == "gleba" then + Technology:new("landfill") + :setPrerequisites({ "burner-automation" }) + :assign({ + unit = { + count = 50, + ingredients = { { "wood-science-pack", 1 } }, + time = 15 + } + }) + .prototype.research_trigger = nil + Technology:new("iron-processing").prototype.research_trigger.entity = "iron-stromatolite" + Technology:new("copper-processing").prototype.research_trigger.entity = "copper-stromatolite" +end diff --git a/lignumis/prototypes/compatibility/any-planet-start.lua b/lignumis/prototypes/compatibility/any-planet-start.lua deleted file mode 100644 index ee57775..0000000 --- a/lignumis/prototypes/compatibility/any-planet-start.lua +++ /dev/null @@ -1,80 +0,0 @@ -local Technology = require("__cf-lib__/data/Technology") - -if not mods["any-planet-start"] then return end - -local target_planet = settings.startup["aps-planet"].value - -if target_planet == "none" or target_planet == "nauvis" then return end - -Technology:new("tree-seeding"):setPrerequisites({ "wood-science-pack" }) - - --- Switch planet discovery technology to the new planet -local planet_discovery = data.raw.technology["planet-discovery-" .. target_planet] or data.raw.technology["moon-discovery-" .. target_planet] -Technology:new(planet_discovery) - :assign({ - enabled = true, - hidden = false, - unit = { - count = 100, - ingredients = { - { "wood-science-pack", 1 }, - { "steam-science-pack", 1 } - }, - time = 30 - } - }) - :setPrerequisites({ "provisional-rocketry" }) -Technology:new("iron-processing"):replacePrerequisite("planet-discovery-nauvis", planet_discovery.name) -Technology:new("copper-processing"):replacePrerequisite("planet-discovery-nauvis", planet_discovery.name) - - --- Vulcanus -if target_planet == "vulcanus" then - Technology:new("automation"):addPrerequisite("iron-processing") - Technology:new("steel-processing"):addPrerequisite("iron-processing") - Technology:new("tungsten-carbide"):addPrerequisite("planet-discovery-vulcanus") - Technology:new("iron-processing").prototype.research_trigger.entity = "big-volcanic-rock" - Technology:new("copper-processing").prototype.research_trigger.entity = "big-volcanic-rock" - - data.raw.resource["tungsten-ore"].category = "basic-solid" - - if mods["bztitanium"] and mods["crushing-industry"] then - Technology:new("foundry"):addRecipe("crushed-titanium-ore") - data.raw.recipe["crushed-titanium-ore"].category = "basic-crushing" - end -end - - --- Fulgora -if target_planet == "fulgora" then - data.raw.recipe["medium-electric-pole"].enabled = false - Technology:new("recycling") - :addPrerequisite("planet-discovery-fulgora") - :addRecipe("medium-electric-pole") - Technology:new("iron-processing").prototype.research_trigger.entity = "scrap" - Technology:new("copper-processing").prototype.research_trigger.entity = "scrap" - - if mods["fulgora-coralmium-agriculture"] then - Technology:new("coralmium-recycling") - :addPrerequisite("recycling") - :removeRecipe("agricultural-tower") - end -end - - --- Gleba -if target_planet == "gleba" then - Technology:new("landfill") - :setPrerequisites({ "burner-automation" }) - :assign({ - unit = { - count = 50, - ingredients = { { "wood-science-pack", 1 } }, - time = 15 - } - }) - .prototype.research_trigger = nil - Technology:new("iron-processing").prototype.research_trigger.entity = "iron-stromatolite" - Technology:new("copper-processing").prototype.research_trigger.entity = "copper-stromatolite" -end diff --git a/lignumis/prototypes/compatibility/crushing-industry.lua b/lignumis/prototypes/compatibility/crushing-industry.lua index f716c16..9a88705 100644 --- a/lignumis/prototypes/compatibility/crushing-industry.lua +++ b/lignumis/prototypes/compatibility/crushing-industry.lua @@ -106,3 +106,7 @@ gold_recipe:clone("burner-crusher-copper") }) :unlockedByTechnology("copper-processing") :apply() + +if mods["aai-industry"] then + gold_recipe:replaceIngredient("motor", "wooden-gear-wheel") +end \ No newline at end of file diff --git a/lignumis/prototypes/compatibility/k2so.lua b/lignumis/prototypes/compatibility/k2so.lua new file mode 100644 index 0000000..afd1849 --- /dev/null +++ b/lignumis/prototypes/compatibility/k2so.lua @@ -0,0 +1,6 @@ +if not mods["Krastorio2-spaced-out"] then return end + +data.raw.recipe["burner-inserter"].ingredients = { + { type = "item", name = "wooden-gear-wheel", amount = 1 }, + { type = "item", name = "lumber", amount = 1 } +} \ No newline at end of file diff --git a/lignumis/prototypes/compatibility/updates.lua b/lignumis/prototypes/compatibility/updates.lua index 3bd7bd3..56e0bbe 100644 --- a/lignumis/prototypes/compatibility/updates.lua +++ b/lignumis/prototypes/compatibility/updates.lua @@ -1,4 +1,4 @@ require("aai-industry") require("gleba-reborn") -require("any-planet-start") -require("crushing-industry-updates") \ No newline at end of file +require("crushing-industry-updates") +require("k2so") \ No newline at end of file diff --git a/lignumis/prototypes/content/burner-lamp.lua b/lignumis/prototypes/content/burner-lamp.lua new file mode 100644 index 0000000..57add6e --- /dev/null +++ b/lignumis/prototypes/content/burner-lamp.lua @@ -0,0 +1,204 @@ +local Technology = require("__cf-lib__/data/Technology") + +local gfx = Lignumis.graphics .. "entity/burner-lamp/" + +data:extend({ + { + type = "recipe-category", + name = "lamp-burning" + }, + { + name = "burner-lamp", + type = "assembling-machine", + minable = { + mining_time = 0.1, + result = "burner-lamp", + }, + icon = Lignumis.graphics .. "icons/burner-lamp.png", + icon_size = 64, + icon_mipmaps = 4, + collision_mask = { layers = { object = true, water_tile = true, meltable = true, player = true } }, + crafting_speed = 1, + crafting_categories = { "lamp-burning" }, + fixed_recipe = "burner-lamp-burning", + dying_explosion = "lamp-explosion", + show_recipe_icon = false, + show_recipe_icon_on_map = false, + source_inventory_size = 1, + result_inventory_size = 1, + energy_source = { + emissions_per_minute = { pollution = 0.02 }, + type = "burner", + fuel_inventory_size = 1, + burnt_inventory_size = 1, + fuel_categories = { "chemical" }, + light_flicker = { + color = { 0, 0, 0, 0 }, -- to remove default burner glow + }, + render_no_power_icon = false, + }, + energy_usage = "9.6kW", + max_health = 100, + resistances = { + { + type = "fire", + percent = 95 + }, + }, + corpse = "small-remnants", + flags = { "placeable-player", "placeable-neutral", "player-creation" }, + collision_box = { { -0.15, -0.15 }, { 0.15, 0.15 } }, + selection_box = { { -0.5, -0.5 }, { 0.5, 0.5 } }, + graphics_set = { + animation = { + layers = { + { + draw_as_glow = false, + draw_as_light = false, + draw_as_shadow = false, + filename = gfx .. "burner-lamp-base.png", + height = 128, + priority = "high", + scale = 0.5, + shift = { 0, 0 }, + width = 128, + x = 0, + y = 0 + }, + { + draw_as_glow = false, + draw_as_light = false, + draw_as_shadow = true, + filename = gfx .. "burner-lamp-shadow.png", + height = 128, + priority = "high", + scale = 0.5, + shift = { 0, 0 }, + width = 128, + x = 0, + y = 0 + } + } + }, + working_visualisations = { + { + animation = { + animation_speed = 1, + blend_mode = "additive-soft", + draw_as_glow = true, + draw_as_light = false, + draw_as_shadow = false, + filename = gfx .. "burner-lamp-working.png", + frame_count = 30, + height = 128, + line_length = 6, + priority = "high", + scale = 0.5, + shift = { 0, 0 }, + width = 128, + x = 0, + y = 0 + }, + light = { + color = { 1.0, 0.82, 0.5 }, + intensity = 0.4, + size = 40, + type = "oriented", + picture = { + filename = gfx .. "light.png", + width = 256, + height = 256, + scale = 0.125 + }, + }, + } + } + }, + working_sound = { + sound = { + filename = "__base__/sound/furnace.ogg", + volume = 1.0 + } + }, + open_sound = { + filename = "__base__/sound/machine-open.ogg", + volume = 0.75 + }, + close_sound = { + filename = "__base__/sound/machine-close.ogg", + volume = 0.75 + }, + mined_sound = { + filename = "__base__/sound/deconstruct-bricks.ogg" + }, + vehicle_impact_sound = { + filename = "__base__/sound/car-metal-impact.ogg", + volume = 0.65 + }, + squeak_behaviour = false, + }, + { + type = "item", + name = "burner-lamp", + icon = Lignumis.graphics .. "icons/burner-lamp.png", + icon_size = 64, + icon_mipmaps = 4, + subgroup = "circuit-network", -- Copper lamp under circuit-network + order = "a[lamp]-b[copper-lamp]", -- Copper lamp after large lamp + place_result = "burner-lamp", + stack_size = 50 + }, + { + name = "burner-lamp", + type = "recipe", + enabled = true, + ingredients = { + { type = "item", name = "gold-plate", amount = 4 }, + { type = "item", name = "stone-brick", amount = 2 }, + }, + results = { + { type = "item", name = "burner-lamp", amount = 1 } + }, + subgroup = "circuit-network", -- Copper lamp under circuit-network + order = "a[lamp]-b[copper-lamp]", -- Place after large lamp + category = "crafting" -- Category for crafting + }, + { + name = "burner-lamp-copper", + type = "recipe", + enabled = false, + localised_name = { "entity-name.burner-lamp" }, + icons = { + { icon = Lignumis.graphics .. "icons/burner-lamp.png" }, + { icon = "__base__/graphics/icons/copper-plate.png", scale = 0.25, shift = { 8, 8 } } + }, + ingredients = { + { type = "item", name = "copper-plate", amount = 4 }, + { type = "item", name = "stone-brick", amount = 2 }, + }, + results = { + { type = "item", name = "burner-lamp", amount = 1 } + }, + subgroup = "circuit-network", -- Copper lamp under circuit-network + order = "a[lamp]-b[copper-lamp]", -- Place after large lamp + category = "crafting" -- Category for crafting + }, + -- Define the hidden burning recipe for the copper lamp + { + name = "burner-lamp-burning", -- Make sure this name matches the recipe you are referencing + type = "recipe", + enabled = true, + hidden = true, + hide_from_stats = true, + icon = Lignumis.graphics .. "icons/burner-lamp.png", -- Icon path for the recipe + icon_size = 64, + icon_mipmaps = 4, + category = "lamp-burning", -- Custom category for lamp burning + ingredients = {}, + results = {}, + subgroup = "other", -- Optional: Adjust this if needed + energy_required = 25000 / 60, -- Represents one "Factorio day" + } +}) + +Technology:new("copper-processing"):addRecipe("burner-lamp-copper") \ No newline at end of file diff --git a/lignumis/prototypes/content/data.lua b/lignumis/prototypes/content/data.lua index d3867e7..9dca318 100644 --- a/lignumis/prototypes/content/data.lua +++ b/lignumis/prototypes/content/data.lua @@ -8,6 +8,7 @@ require("wood-lab") require("wood-science") require("burner-agricultural-tower") require("burner-assembling-machine") +require("burner-lamp") require("burner-long-handed-inserter") require("lumber-mill") require("gold") diff --git a/lignumis/prototypes/content/lignumis/mapgen.lua b/lignumis/prototypes/content/lignumis/mapgen.lua index 570d274..f0cd9a2 100644 --- a/lignumis/prototypes/content/lignumis/mapgen.lua +++ b/lignumis/prototypes/content/lignumis/mapgen.lua @@ -13,7 +13,7 @@ return { }, autoplace_controls = { ["lignumis_gold"] = { richness = 1, frequency = 1, size = 1 }, - ["lignumis_peat"] = { richness = 1/2, frequency = 6, size = 2 }, + ["lignumis_peat"] = { richness = 1/6, frequency = 8, size = 2 }, ["stone"] = { richness = 1/6, frequency = 4, size = 4 }, ["water"] = {}, ["trees"] = { richness = 3, frequency = 4, size = 3 }, diff --git a/lignumis/prototypes/content/peat.lua b/lignumis/prototypes/content/peat.lua index e96f8d3..3b29ffb 100644 --- a/lignumis/prototypes/content/peat.lua +++ b/lignumis/prototypes/content/peat.lua @@ -46,7 +46,7 @@ data:extend({ autoplace = resource_autoplace.resource_autoplace_settings { name = "lignumis_peat", order = "b", - base_density = 2, + base_density = 8, base_spots_per_km2 = 5, has_starting_area_placement = true, regular_rq_factor_multiplier = 1, diff --git a/lignumis/prototypes/content/steam-assembling-machine.lua b/lignumis/prototypes/content/steam-assembling-machine.lua index 2a6871e..ed85a59 100644 --- a/lignumis/prototypes/content/steam-assembling-machine.lua +++ b/lignumis/prototypes/content/steam-assembling-machine.lua @@ -76,7 +76,8 @@ data:extend({ pick_sound = item_sounds.mechanical_inventory_pickup, drop_sound = item_sounds.mechanical_inventory_move, place_result = "steam-assembling-machine", - stack_size = 50 + stack_size = 50, + weight = 20 * kg }, { type = "recipe", diff --git a/lignumis/prototypes/content/wooden-rocket-silo.lua b/lignumis/prototypes/content/wooden-rocket-silo.lua index 4bfb828..9cfa7c3 100644 --- a/lignumis/prototypes/content/wooden-rocket-silo.lua +++ b/lignumis/prototypes/content/wooden-rocket-silo.lua @@ -115,7 +115,18 @@ local silo_ready = { inventory_type = "normal", quality_affects_inventory_size = false, placeable_by = { item = "provisional-rocket-silo", count = 1 }, - health = 1000, + max_health = 1000, + resistances = { + { + type = "fire", + percent = 100 + }, + { + type = "explosion", + percent = 100 + } + }, + create_ghost_on_death = false, surface_conditions = { { property = "pressure", diff --git a/lignumis/prototypes/integrations/vanilla.lua b/lignumis/prototypes/integrations/vanilla.lua index 7a25919..16b0477 100644 --- a/lignumis/prototypes/integrations/vanilla.lua +++ b/lignumis/prototypes/integrations/vanilla.lua @@ -65,7 +65,12 @@ stone_furnace_remnants.animation[1].filename = Lignumis.graphics .. "entity/ston -- Lab -Recipe:new("lab"):replaceIngredient("transport-belt", "wood-transport-belt") +if settings.startup["lignumis-vanilla-lab"].value then + Recipe:new("transport-belt"):unlockedByTechnology("iron-processing") +else + Recipe:new("lab"):replaceIngredient("transport-belt", "wood-transport-belt") + Recipe:new("transport-belt"):unlockedByTechnology("logistics") +end -- Gun turret @@ -185,12 +190,6 @@ end local automation_technology = data.raw.technology["automation"] automation_technology.ignore_tech_cost_multiplier = false -local logistics_technology = data.raw.technology["logistics"] -table.insert(logistics_technology.effects, { - type = "unlock-recipe", - recipe = "transport-belt" -}) - local landfill_technology = data.raw.technology["landfill"] landfill_technology.prerequisites = { "burner-automation" } landfill_technology.unit = { @@ -335,4 +334,16 @@ if settings.startup["lignumis-fulgora-wood"].value then if recycler.result_inventory_size < recycling_result_count then recycler.result_inventory_size = recycling_result_count end -end \ No newline at end of file +end + + +-- Fix item weights + +local function set_default_weight(item, items_per_rocket) + data.raw.item[item].weight = data.raw.item[item].weight or 1000 * kg / items_per_rocket +end +set_default_weight("electronic-circuit", 2000) +set_default_weight("advanced-circuit", 1000) +set_default_weight("processing-unit", 300) +set_default_weight("low-density-structure", 200) +set_default_weight("rocket-fuel", 100) \ No newline at end of file diff --git a/lignumis/scripts/to-nauvis.lua b/lignumis/scripts/to-nauvis.lua index 27cffdd..5d3d432 100644 --- a/lignumis/scripts/to-nauvis.lua +++ b/lignumis/scripts/to-nauvis.lua @@ -61,8 +61,10 @@ local function transit_player(player_index) local player = game.get_player(player_index) local transition = storage.transitions[player_index] - transition.rocket_entry.cargo_pod.set_passenger(nil) - transition.rocket_entry.cargo_pod.destroy() + if transition.rocket_entry.cargo_pod then + transition.rocket_entry.cargo_pod.set_passenger(nil) + transition.rocket_entry.cargo_pod.destroy() + end init_nauvis() teleport_player(player) diff --git a/lignumis/settings.lua b/lignumis/settings.lua index 61a92cc..b8f74e1 100644 --- a/lignumis/settings.lua +++ b/lignumis/settings.lua @@ -69,6 +69,13 @@ data:extend({ default_value = false, order = "j" }, + { + type = "bool-setting", + name = "lignumis-vanilla-lab", + setting_type = "startup", + default_value = false, + order = "k" + }, { type = "string-setting", name = "lignumis-second-planet",