forked from cacklingfiend/lignumis
		
	Compare commits
	
		
			40 commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
							 | 
						48f6b5594d | ||
| 
							 | 
						2909937765 | ||
| 
							 | 
						9b268afba9 | ||
| 
							 | 
						c3e7ba5a2f | ||
| 
							 | 
						1e7800e4bb | ||
| 
							 | 
						50aa8a956d | ||
| 
							 | 
						5cd457fbb8 | ||
| 
							 | 
						03f58c1493 | ||
| 
							 | 
						f8cfa91b70 | ||
| 
							 | 
						f76c7e6564 | ||
| 
							 | 
						0d93d1989d | ||
| 
							 | 
						9d1d5d8cbd | ||
| 
							 | 
						a28be675ca | ||
| 
							 | 
						ab24e7f496 | ||
| 
							 | 
						0e3c7c4819 | ||
| 
							 | 
						74eb162d9a | ||
| 
							 | 
						429e8a3a41 | ||
| 
							 | 
						443eee9e17 | ||
| 
							 | 
						e4fdd67bdf | ||
| 
							 | 
						eb6b0d6384 | ||
| 
							 | 
						82ea8f3862 | ||
| 
							 | 
						7ccd4d3a82 | ||
| 
							 | 
						a158a42cfe | ||
| 
							 | 
						702e218a62 | ||
| 
							 | 
						aaea504cef | ||
| 
							 | 
						2336ad4d44 | ||
| 
							 | 
						5c556646d9 | ||
| 
							 | 
						607ce9feb8 | ||
| 
							 | 
						9bf4a5d6ff | ||
| 
							 | 
						ee9eb8faf1 | ||
| 
							 | 
						c1797dfcfe | ||
| 
							 | 
						8fb0fac800 | ||
| 
							 | 
						9cff8c4401 | ||
| 
							 | 
						25b396affc | ||
| 
							 | 
						7385751f2d | ||
| 
							 | 
						2d327c805d | ||
| 
							 | 
						014eed03aa | ||
| 
							 | 
						e14789ee81 | ||
| 
							 | 
						3fb93faea5 | ||
| b746a7c88c | 
					 34 changed files with 393 additions and 96 deletions
				
			
		| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
[](https://discord.gg/ufvFUJtVwk)[](https://git.cacklingfiend.info/cacklingfiend/lignumis)[](https://mods.factorio.com/mod/lignumis/metrics?range=last_two_months&type=mod_downloads)
 | 
					[](https://discord.gg/ufvFUJtVwk)[](https://git.cacklingfiend.info/cacklingfiend/lignumis)[](https://mods.factorio.com/mod/lignumis/metrics?range=last_two_months&type=mod_downloads)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_________________
 | 
					_________________
 | 
				
			||||||

 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -73,6 +74,9 @@ Alternatives: [Burner Leech Fork](https://mods.factorio.com/mod/Burner-Leech-For
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- [Wooden Fulgora: Coralmium Agriculture](https://mods.factorio.com/mod/fulgora-coralmium-agriculture)
 | 
					- [Wooden Fulgora: Coralmium Agriculture](https://mods.factorio.com/mod/fulgora-coralmium-agriculture)
 | 
				
			||||||
- [Wooden Aquilo: Seabloom Algaculture](https://mods.factorio.com/mod/aquilo-seabloom-algaculture)
 | 
					- [Wooden Aquilo: Seabloom Algaculture](https://mods.factorio.com/mod/aquilo-seabloom-algaculture)
 | 
				
			||||||
 | 
					- [Wooden Cerys: Lunaponics](https://mods.factorio.com/mod/cerys-lunaponics)
 | 
				
			||||||
 | 
					- [Wooden Moshine: Solaponics](https://mods.factorio.com/mod/moshine-solaponics)
 | 
				
			||||||
 | 
					- [Wooden Arig](https://mods.factorio.com/mod/wooden-arig)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### [Any Planet Start](https://mods.factorio.com/mod/any-planet-start)
 | 
					#### [Any Planet Start](https://mods.factorio.com/mod/any-planet-start)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -117,7 +121,6 @@ _________________
 | 
				
			||||||
## Problematic / incompatible mods
 | 
					## Problematic / incompatible mods
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* The combination of AAI Industry and Any planet start is currently not supported.
 | 
					* The combination of AAI Industry and Any planet start is currently not supported.
 | 
				
			||||||
* Alien Biomes: Lignumis won't have any trees. It's playable, but not as intended.
 | 
					 | 
				
			||||||
* The rest of the Wooden Universe: I marked the ones incompatible that don't make sense to combine or that wouldn't add more that is not already included.
 | 
					* The rest of the Wooden Universe: I marked the ones incompatible that don't make sense to combine or that wouldn't add more that is not already included.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_________________
 | 
					_________________
 | 
				
			||||||
| 
						 | 
					@ -261,3 +264,7 @@ _________________
 | 
				
			||||||
[Larger Lamps](https://mods.factorio.com/mod/DeadlockLargerLamp)
 | 
					[Larger Lamps](https://mods.factorio.com/mod/DeadlockLargerLamp)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Burner lamp
 | 
					- Burner lamp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Talandar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Planet graphics
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,77 @@
 | 
				
			||||||
---------------------------------------------------------------------------------------------------
 | 
					---------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Version: 1.0.72
 | 
				
			||||||
 | 
					Date: 01.11.2025
 | 
				
			||||||
 | 
					  Bug Fixes:
 | 
				
			||||||
 | 
					    - Move parent planet calculation to data-updates
 | 
				
			||||||
 | 
					  Changes:
 | 
				
			||||||
 | 
					    - Buff quality assembling
 | 
				
			||||||
 | 
					---------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Version: 1.0.71
 | 
				
			||||||
 | 
					Date: 20.10.2025
 | 
				
			||||||
 | 
					  Changes:
 | 
				
			||||||
 | 
					    - Use 60 sec crafting time for active noise cancelling to visualise progress
 | 
				
			||||||
 | 
					    - Reduce energy usage of noise cancelling tower to 500kW
 | 
				
			||||||
 | 
					---------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Version: 1.0.70
 | 
				
			||||||
 | 
					Date: 07.10.2025
 | 
				
			||||||
 | 
					  Bug Fixes:
 | 
				
			||||||
 | 
					    - Any Planet Start: Prevent crashes
 | 
				
			||||||
 | 
					---------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Version: 1.0.69
 | 
				
			||||||
 | 
					Date: 02.10.2025
 | 
				
			||||||
 | 
					  Bug Fixes:
 | 
				
			||||||
 | 
					    - Fix more item weights
 | 
				
			||||||
 | 
					---------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Version: 1.0.68
 | 
				
			||||||
 | 
					Date: 28.09.2025
 | 
				
			||||||
 | 
					  Changes:
 | 
				
			||||||
 | 
					    - Remove enemies from starting area when leaving Lignumis
 | 
				
			||||||
 | 
					---------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Version: 1.0.67
 | 
				
			||||||
 | 
					Date: 24.09.2025
 | 
				
			||||||
 | 
					  Changes:
 | 
				
			||||||
 | 
					    - Reduce energy usage of Active noise cancelling tower
 | 
				
			||||||
 | 
					    - K2SO: Move K2 starting recipes to Nauvis technologies
 | 
				
			||||||
 | 
					  Bug Fixes:
 | 
				
			||||||
 | 
					    - Fix potential crash when escaping to Nauvis
 | 
				
			||||||
 | 
					---------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Version: 1.0.66
 | 
				
			||||||
 | 
					Date: 21.09.2025
 | 
				
			||||||
 | 
					  Changes:
 | 
				
			||||||
 | 
					    - Buff medium wrigglers
 | 
				
			||||||
 | 
					    - Buff wood liquefaction recipe by 50% for electric assemblers
 | 
				
			||||||
 | 
					    - Buff Cupriavidus Necator starter recipe chance
 | 
				
			||||||
 | 
					  Bug Fixes:
 | 
				
			||||||
 | 
					    - Fix more item weights
 | 
				
			||||||
 | 
					---------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Version: 1.0.65
 | 
				
			||||||
 | 
					Date: 14.09.2025
 | 
				
			||||||
 | 
					  Changes:
 | 
				
			||||||
 | 
					    - Remove warning for Alien Biomes
 | 
				
			||||||
 | 
					    - Add setting for infinite Astroponics productivity research
 | 
				
			||||||
 | 
					  Bug Fixes:
 | 
				
			||||||
 | 
					    - Fix more item weights
 | 
				
			||||||
 | 
					---------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Version: 1.0.64
 | 
				
			||||||
 | 
					Date: 10.09.2025
 | 
				
			||||||
 | 
					  Bug Fixes:
 | 
				
			||||||
 | 
					    - Fix more item weights
 | 
				
			||||||
 | 
					    - Fix steam assembler scaling with increased energy usage from modules
 | 
				
			||||||
 | 
					---------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Version: 1.0.63
 | 
				
			||||||
 | 
					Date: 09.09.2025
 | 
				
			||||||
 | 
					  Changes:
 | 
				
			||||||
 | 
					    - Wooden belts have half the weight
 | 
				
			||||||
 | 
					  Bug Fixes:
 | 
				
			||||||
 | 
					    - Fix vanilla more item weights
 | 
				
			||||||
 | 
					---------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Version: 1.0.62
 | 
				
			||||||
 | 
					Date: 02.09.2025
 | 
				
			||||||
 | 
					  Changes:
 | 
				
			||||||
 | 
					    - Add spanish locales (thanks DFOXpro)
 | 
				
			||||||
 | 
					    - Add compatibility for Alien Biomes (thanks Chromebomb)
 | 
				
			||||||
 | 
					    - The lumber mill can be built on Vulcanus again
 | 
				
			||||||
 | 
					---------------------------------------------------------------------------------------------------
 | 
				
			||||||
Version: 1.0.61
 | 
					Version: 1.0.61
 | 
				
			||||||
Date: 29.08.2025
 | 
					Date: 29.08.2025
 | 
				
			||||||
  Changes:
 | 
					  Changes:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,10 +1,10 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    "name": "lignumis",
 | 
					    "name": "lignumis",
 | 
				
			||||||
    "version": "1.0.61",
 | 
					    "version": "1.0.72",
 | 
				
			||||||
    "title": "Lignumis",
 | 
					    "title": "Lignumis",
 | 
				
			||||||
    "description": "Dive into the world of Lignumis, a moon of Nauvis offering only the most basic technologies.",
 | 
					    "description": "Dive into the world of Lignumis, a moon of Nauvis offering only the most basic technologies.",
 | 
				
			||||||
    "author": "cackling fiend",
 | 
					    "author": "cackling fiend",
 | 
				
			||||||
    "homepage": "https://discord.gg/5bevXf5W",
 | 
					    "homepage": "https://discord.gg/ufvFUJtVwk",
 | 
				
			||||||
    "factorio_version": "2.0",
 | 
					    "factorio_version": "2.0",
 | 
				
			||||||
    "space_travel_required": true,
 | 
					    "space_travel_required": true,
 | 
				
			||||||
    "dependencies": [
 | 
					    "dependencies": [
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -145,6 +145,7 @@ quality-assembler=Quality assembler
 | 
				
			||||||
aai-wood-loader=Wood loader
 | 
					aai-wood-loader=Wood loader
 | 
				
			||||||
basic-ore-crushing=Basic ore crushing
 | 
					basic-ore-crushing=Basic ore crushing
 | 
				
			||||||
astroponics-productivity=Astroponics productivity
 | 
					astroponics-productivity=Astroponics productivity
 | 
				
			||||||
 | 
					experienced-quality-assembling=Experienced quality assembling
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[technology-description]
 | 
					[technology-description]
 | 
				
			||||||
wood-science-pack=Allows research of basic technologies based on wood products.
 | 
					wood-science-pack=Allows research of basic technologies based on wood products.
 | 
				
			||||||
| 
						 | 
					@ -190,6 +191,7 @@ lignumis-early-robots=Even earlier personal robots
 | 
				
			||||||
lignumis-vanilla-lab=Keep vanilla lab recipe
 | 
					lignumis-vanilla-lab=Keep vanilla lab recipe
 | 
				
			||||||
lignumis-double-rocket=Double provisional rocket cargo capacity
 | 
					lignumis-double-rocket=Double provisional rocket cargo capacity
 | 
				
			||||||
lignumis-sciences-spoil=Lignumis science packs spoil
 | 
					lignumis-sciences-spoil=Lignumis science packs spoil
 | 
				
			||||||
 | 
					lignumis-infinite-astroponics-productivity-research=Infinite productivity research for Astroponics
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[mod-setting-description]
 | 
					[mod-setting-description]
 | 
				
			||||||
lignumis-belt-progression=Yellow belts will require wood belts to craft.
 | 
					lignumis-belt-progression=Yellow belts will require wood belts to craft.
 | 
				
			||||||
| 
						 | 
					@ -205,6 +207,7 @@ lignumis-early-robots=Personal robots are moved from steam to wood science and a
 | 
				
			||||||
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.
 | 
					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.
 | 
				
			||||||
lignumis-double-rocket=The provisional rocket can carry 80 instead of 40 slots.
 | 
					lignumis-double-rocket=The provisional rocket can carry 80 instead of 40 slots.
 | 
				
			||||||
lignumis-sciences-spoil=Both wood science packs and steam science packs spoil for additional difficulty.
 | 
					lignumis-sciences-spoil=Both wood science packs and steam science packs spoil for additional difficulty.
 | 
				
			||||||
 | 
					lignumis-infinite-astroponics-productivity-research=Productivity research for Astroponics is infinite instead of being capped to level 5 (which results in 50% productivity).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[autoplace-control-names]
 | 
					[autoplace-control-names]
 | 
				
			||||||
lignumis_enemy_base=Lignumis enemy bases
 | 
					lignumis_enemy_base=Lignumis enemy bases
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										67
									
								
								lignumis/prototypes/compatibility/alien-biomes-final.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								lignumis/prototypes/compatibility/alien-biomes-final.lua
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,67 @@
 | 
				
			||||||
 | 
					-- Lignumis + Alien Biomes Compatibility - Final Fixes
 | 
				
			||||||
 | 
					-- 
 | 
				
			||||||
 | 
					-- This runs AFTER alien-biomes data-updates.lua to ensure our fixes aren't overridden
 | 
				
			||||||
 | 
					-- Load order: data.lua -> data-updates.lua -> data-final-fixes.lua (THIS FILE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if not mods["alien-biomes"] then 
 | 
				
			||||||
 | 
					    return 
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Define Lignumis grass tiles (from mapgen.lua)
 | 
				
			||||||
 | 
					local lignumis_grass_tiles = {
 | 
				
			||||||
 | 
					    "grass-1",
 | 
				
			||||||
 | 
					    "grass-2", 
 | 
				
			||||||
 | 
					    "grass-3",
 | 
				
			||||||
 | 
					    "grass-4",
 | 
				
			||||||
 | 
					    "natural-gold-soil"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Fix tree plant for manual planting on Lignumis grass tiles
 | 
				
			||||||
 | 
					local tree_plant = data.raw.plant["tree-plant"]
 | 
				
			||||||
 | 
					if mods["Diversitree"] then
 | 
				
			||||||
 | 
					    tree_plant = data.raw.plant["s6xdvt-fake-tree"]
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if tree_plant then
 | 
				
			||||||
 | 
					    for _, tile in pairs(lignumis_grass_tiles) do
 | 
				
			||||||
 | 
					        local already_present = false
 | 
				
			||||||
 | 
					        for _, existing_tile in pairs(tree_plant.autoplace.tile_restriction) do
 | 
				
			||||||
 | 
					            if existing_tile == tile then
 | 
				
			||||||
 | 
					                already_present = true
 | 
				
			||||||
 | 
					                break
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					        if not already_present then
 | 
				
			||||||
 | 
					            table.insert(tree_plant.autoplace.tile_restriction, tile)
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Fix tree autoplace restrictions for natural tree spawning
 | 
				
			||||||
 | 
					for _, tree in pairs(data.raw.tree) do
 | 
				
			||||||
 | 
					    if tree.autoplace and tree.autoplace.tile_restriction then
 | 
				
			||||||
 | 
					        -- Skip gold stromatolites - they should remain exclusive to natural-gold-soil
 | 
				
			||||||
 | 
					        local is_gold_stromatolite = tree.name and (tree.name:find("stromatolite") or tree.name:find("gold"))
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if not is_gold_stromatolite then
 | 
				
			||||||
 | 
					            -- Check if Lignumis grass tiles are missing
 | 
				
			||||||
 | 
					            local has_lignumis_tiles = false
 | 
				
			||||||
 | 
					            for _, existing_tile in pairs(tree.autoplace.tile_restriction) do
 | 
				
			||||||
 | 
					                for _, lignumis_tile in pairs(lignumis_grass_tiles) do
 | 
				
			||||||
 | 
					                    if existing_tile == lignumis_tile then
 | 
				
			||||||
 | 
					                        has_lignumis_tiles = true
 | 
				
			||||||
 | 
					                        break
 | 
				
			||||||
 | 
					                    end
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					                if has_lignumis_tiles then break end
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            -- Add Lignumis grass tiles if missing
 | 
				
			||||||
 | 
					            if not has_lignumis_tiles then
 | 
				
			||||||
 | 
					                for _, tile_name in pairs(lignumis_grass_tiles) do
 | 
				
			||||||
 | 
					                    table.insert(tree.autoplace.tile_restriction, tile_name)
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -6,6 +6,7 @@ settings["small-rock"] = nil
 | 
				
			||||||
settings["tiny-rock"] = nil
 | 
					settings["tiny-rock"] = nil
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- Fix trees not being plantable on Alien Biomes tiles
 | 
					-- Fix trees not being plantable on Alien Biomes tiles
 | 
				
			||||||
 | 
					-- Note: Additional tree fixes for Lignumis grass tiles are handled in alien-biomes-final.lua
 | 
				
			||||||
local tile_restriction = data.raw["plant"]["tree-plant"].autoplace.tile_restriction
 | 
					local tile_restriction = data.raw["plant"]["tree-plant"].autoplace.tile_restriction
 | 
				
			||||||
for _, tile in pairs(alien_biomes.all_tiles()) do
 | 
					for _, tile in pairs(alien_biomes.all_tiles()) do
 | 
				
			||||||
    if tile.tags and (table.contains(tile.tags, "dirt") or table.contains(tile.tags, "grass")) then
 | 
					    if tile.tags and (table.contains(tile.tags, "dirt") or table.contains(tile.tags, "grass")) then
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,13 +4,14 @@ if not mods["any-planet-start"] then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local target_planet = settings.startup["aps-planet"].value
 | 
					local target_planet = settings.startup["aps-planet"].value
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if target_planet == "none" or target_planet == "nauvis" then return end
 | 
					if not target_planet or target_planet == "none" or target_planet == "nauvis" then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Technology:new("tree-seeding"):setPrerequisites({ "wood-science-pack" })
 | 
					Technology:new("tree-seeding"):setPrerequisites({ "wood-science-pack" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- Switch planet discovery technology to the new planet
 | 
					-- 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]
 | 
					local planet_discovery = data.raw.technology["planet-discovery-" .. target_planet] or data.raw.technology["moon-discovery-" .. target_planet]
 | 
				
			||||||
 | 
					if planet_discovery then
 | 
				
			||||||
    Technology:new(planet_discovery)
 | 
					    Technology:new(planet_discovery)
 | 
				
			||||||
        :assign({
 | 
					        :assign({
 | 
				
			||||||
            enabled = true,
 | 
					            enabled = true,
 | 
				
			||||||
| 
						 | 
					@ -27,6 +28,7 @@ Technology:new(planet_discovery)
 | 
				
			||||||
        :setPrerequisites({ "provisional-rocketry" })
 | 
					        :setPrerequisites({ "provisional-rocketry" })
 | 
				
			||||||
    Technology:new("iron-processing"):replacePrerequisite("planet-discovery-nauvis", planet_discovery.name)
 | 
					    Technology:new("iron-processing"):replacePrerequisite("planet-discovery-nauvis", planet_discovery.name)
 | 
				
			||||||
    Technology:new("copper-processing"):replacePrerequisite("planet-discovery-nauvis", planet_discovery.name)
 | 
					    Technology:new("copper-processing"):replacePrerequisite("planet-discovery-nauvis", planet_discovery.name)
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- Vulcanus
 | 
					-- Vulcanus
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
require("aai-loaders-final")
 | 
					require("aai-loaders-final")
 | 
				
			||||||
require("any-planet-start-final")
 | 
					require("any-planet-start-final")
 | 
				
			||||||
 | 
					require("alien-biomes-final")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if not data.raw.technology["legendary-quality"] then
 | 
					if not data.raw.technology["legendary-quality"] then
 | 
				
			||||||
    table.removeValue(data.raw.technology["quality-assembler"].prerequisites, "legendary-quality")
 | 
					    table.removeValue(data.raw.technology["quality-assembler"].prerequisites, "legendary-quality")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,44 @@
 | 
				
			||||||
 | 
					local Technology = require("__cf-lib__/data/Technology")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if not mods["Krastorio2-spaced-out"] then return end
 | 
					if not mods["Krastorio2-spaced-out"] then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
data.raw.recipe["burner-inserter"].ingredients = {
 | 
					data.raw.recipe["burner-inserter"].ingredients = {
 | 
				
			||||||
    { type = "item", name = "wooden-gear-wheel", amount = 1 },
 | 
					    { type = "item", name = "wooden-gear-wheel", amount = 1 },
 | 
				
			||||||
    { type = "item", name = "lumber",            amount = 1 }
 | 
					    { type = "item", name = "lumber",            amount = 1 }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Technology:new("kr-automation-core"):addPrerequisite("iron-processing")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local function lock_recipes(technology, recipes)
 | 
				
			||||||
 | 
					    local tech = Technology:new(technology)
 | 
				
			||||||
 | 
					    for _, recipe in pairs(recipes) do
 | 
				
			||||||
 | 
					        tech:addRecipe(recipe)
 | 
				
			||||||
 | 
					        data.raw.recipe[recipe].enabled = false
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					lock_recipes("iron-processing", {
 | 
				
			||||||
 | 
					    "iron-stick",
 | 
				
			||||||
 | 
					    "kr-wind-turbine",
 | 
				
			||||||
 | 
					    "kr-iron-beam",
 | 
				
			||||||
 | 
					    "kr-inserter-parts"
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					lock_recipes("copper-processing", {
 | 
				
			||||||
 | 
					    "copper-cable",
 | 
				
			||||||
 | 
					    "small-electric-pole"
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					lock_recipes("planet-discovery-nauvis", {
 | 
				
			||||||
 | 
					    "kr-rare-metals"
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Technology:new("electronics"):removeRecipe("kr-electronic-circuit-wood")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if settings.startup["kr-realistic-weapons"].value then
 | 
				
			||||||
 | 
					    local pistol_attack = data.raw.gun["pistol"].attack_parameters
 | 
				
			||||||
 | 
					    pistol_attack.ammo_categories = pistol_attack.ammo_categories or { pistol_attack.ammo_category }
 | 
				
			||||||
 | 
					    pistol_attack.ammo_category = nil
 | 
				
			||||||
 | 
					    table.insert(pistol_attack.ammo_categories, "bullet")
 | 
				
			||||||
 | 
					    data.raw.recipe["firearm-magazine"].enabled = false
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -22,7 +22,7 @@ data:extend({
 | 
				
			||||||
        max_health = 150,
 | 
					        max_health = 150,
 | 
				
			||||||
        crafting_speed = 1,
 | 
					        crafting_speed = 1,
 | 
				
			||||||
        crafting_categories = { "active-noise-cancelling" },
 | 
					        crafting_categories = { "active-noise-cancelling" },
 | 
				
			||||||
        energy_usage = "2MW",
 | 
					        energy_usage = "500kW",
 | 
				
			||||||
        energy_source = {
 | 
					        energy_source = {
 | 
				
			||||||
            type = "electric",
 | 
					            type = "electric",
 | 
				
			||||||
            usage_priority = "secondary-input",
 | 
					            usage_priority = "secondary-input",
 | 
				
			||||||
| 
						 | 
					@ -113,7 +113,7 @@ data:extend({
 | 
				
			||||||
        name = "active-noise-cancelling",
 | 
					        name = "active-noise-cancelling",
 | 
				
			||||||
        icons = { { icon = Lignumis.graphics .. "icons/active-noise-cancelling.png" } },
 | 
					        icons = { { icon = Lignumis.graphics .. "icons/active-noise-cancelling.png" } },
 | 
				
			||||||
        enabled = false,
 | 
					        enabled = false,
 | 
				
			||||||
        energy_required = 1000000,
 | 
					        energy_required = 60,
 | 
				
			||||||
        ingredients = {},
 | 
					        ingredients = {},
 | 
				
			||||||
        results = {},
 | 
					        results = {},
 | 
				
			||||||
        category = "active-noise-cancelling",
 | 
					        category = "active-noise-cancelling",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -78,7 +78,8 @@ data:extend({
 | 
				
			||||||
        drop_sound = item_sounds.mechanical_large_inventory_move,
 | 
					        drop_sound = item_sounds.mechanical_large_inventory_move,
 | 
				
			||||||
        place_result = "burner-agricultural-tower",
 | 
					        place_result = "burner-agricultural-tower",
 | 
				
			||||||
        stack_size = 20,
 | 
					        stack_size = 20,
 | 
				
			||||||
        default_import_location = "lignumis"
 | 
					        default_import_location = "lignumis",
 | 
				
			||||||
 | 
					        weight = 100 * kg
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        type = "recipe",
 | 
					        type = "recipe",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -146,7 +146,8 @@ data:extend({
 | 
				
			||||||
        subgroup = "circuit-network",     -- Copper lamp under circuit-network
 | 
					        subgroup = "circuit-network",     -- Copper lamp under circuit-network
 | 
				
			||||||
        order = "a[lamp]-b[copper-lamp]", -- Copper lamp after large lamp
 | 
					        order = "a[lamp]-b[copper-lamp]", -- Copper lamp after large lamp
 | 
				
			||||||
        place_result = "burner-lamp",
 | 
					        place_result = "burner-lamp",
 | 
				
			||||||
        stack_size = 50
 | 
					        stack_size = 50,
 | 
				
			||||||
 | 
					        weight = 20 * kg
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        name = "burner-lamp",
 | 
					        name = "burner-lamp",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -435,7 +435,7 @@ make_wriggler("lignumis-small-", 0.2, 10, 0.1,
 | 
				
			||||||
    space_age_sounds.wriggler_pentapod.small
 | 
					    space_age_sounds.wriggler_pentapod.small
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
make_wriggler("lignumis-medium-", 0.4, 20, 0.2,
 | 
					make_wriggler("lignumis-medium-", 0.5, 50, 1,
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        mask = fade(lerp_color(gleba_small_mask_tint, { 255, 200, 0, 255 }, 0.4), 0.2),
 | 
					        mask = fade(lerp_color(gleba_small_mask_tint, { 255, 200, 0, 255 }, 0.4), 0.2),
 | 
				
			||||||
        body = grey_overlay(lerp_color(gleba_small_body_tint, { 255, 0, 0, 255 }, 0.4), 0.2)
 | 
					        body = grey_overlay(lerp_color(gleba_small_body_tint, { 255, 0, 0, 255 }, 0.4), 0.2)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -84,6 +84,7 @@ local pipe_item = {
 | 
				
			||||||
    place_result = "gold-pipe",
 | 
					    place_result = "gold-pipe",
 | 
				
			||||||
    stack_size = 100,
 | 
					    stack_size = 100,
 | 
				
			||||||
    weight = 5 * kg,
 | 
					    weight = 5 * kg,
 | 
				
			||||||
 | 
					    default_import_location = "lignumis",
 | 
				
			||||||
    random_tint_color = item_tints.iron_rust
 | 
					    random_tint_color = item_tints.iron_rust
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -159,6 +160,8 @@ local pipe_to_ground_item = {
 | 
				
			||||||
    drop_sound = item_sounds.metal_small_inventory_move,
 | 
					    drop_sound = item_sounds.metal_small_inventory_move,
 | 
				
			||||||
    place_result = "gold-pipe-to-ground",
 | 
					    place_result = "gold-pipe-to-ground",
 | 
				
			||||||
    stack_size = 50,
 | 
					    stack_size = 50,
 | 
				
			||||||
 | 
					    weight = 5 * kg,
 | 
				
			||||||
 | 
					    default_import_location = "lignumis",
 | 
				
			||||||
    random_tint_color = item_tints.iron_rust
 | 
					    random_tint_color = item_tints.iron_rust
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -347,7 +350,9 @@ local tank_item = {
 | 
				
			||||||
    pick_sound = item_sounds.metal_large_inventory_pickup,
 | 
					    pick_sound = item_sounds.metal_large_inventory_pickup,
 | 
				
			||||||
    drop_sound = item_sounds.metal_large_inventory_move,
 | 
					    drop_sound = item_sounds.metal_large_inventory_move,
 | 
				
			||||||
    place_result = "gold-storage-tank",
 | 
					    place_result = "gold-storage-tank",
 | 
				
			||||||
    stack_size = 10
 | 
					    stack_size = 10,
 | 
				
			||||||
 | 
					    weight = 50 * kg,
 | 
				
			||||||
 | 
					    default_import_location = "lignumis"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local tank_recipe = {
 | 
					local tank_recipe = {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										14
									
								
								lignumis/prototypes/content/lignumis/planet-updates.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								lignumis/prototypes/content/lignumis/planet-updates.lua
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					local target_planet = settings.startup["lignumis-second-planet"].value or "nauvis"
 | 
				
			||||||
 | 
					if mods["any-planet-start"] then
 | 
				
			||||||
 | 
					    target_planet = settings.startup["aps-planet"].value ~= "none" and settings.startup["aps-planet"].value or target_planet
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local lignumis = data.raw.planet["lignumis"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Set final solar power depending on parent planet
 | 
				
			||||||
 | 
					local solar_power = data.raw.planet[target_planet].surface_properties["solar-power"] or 100
 | 
				
			||||||
 | 
					local solar_power_in_space = data.raw.planet[target_planet].solar_power_in_space or 300
 | 
				
			||||||
 | 
					solar_power = solar_power * 1.2
 | 
				
			||||||
 | 
					solar_power_in_space = solar_power_in_space * 1.2
 | 
				
			||||||
 | 
					lignumis.solar_power_in_space = solar_power_in_space
 | 
				
			||||||
 | 
					lignumis.surface_properties["solar-power"] = solar_power
 | 
				
			||||||
| 
						 | 
					@ -21,11 +21,6 @@ local nauvis_lignumis = {
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local solar_power = data.raw.planet[target_planet].surface_properties["solar-power"] or 100
 | 
					 | 
				
			||||||
local solar_power_in_space = data.raw.planet[target_planet].solar_power_in_space or 300
 | 
					 | 
				
			||||||
solar_power = solar_power * 1.2
 | 
					 | 
				
			||||||
solar_power_in_space = solar_power_in_space * 1.2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PlanetsLib:extend({
 | 
					PlanetsLib:extend({
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        type = "planet",
 | 
					        type = "planet",
 | 
				
			||||||
| 
						 | 
					@ -53,7 +48,7 @@ PlanetsLib:extend({
 | 
				
			||||||
        map_seed_offset = 100,
 | 
					        map_seed_offset = 100,
 | 
				
			||||||
        map_gen_settings = planet_map_gen,
 | 
					        map_gen_settings = planet_map_gen,
 | 
				
			||||||
        pollutant_type = "noise",
 | 
					        pollutant_type = "noise",
 | 
				
			||||||
        solar_power_in_space = solar_power_in_space,
 | 
					        solar_power_in_space = 300,
 | 
				
			||||||
        draw_orbit = false,
 | 
					        draw_orbit = false,
 | 
				
			||||||
        planet_procession_set = {
 | 
					        planet_procession_set = {
 | 
				
			||||||
            arrival = { "default-b" },
 | 
					            arrival = { "default-b" },
 | 
				
			||||||
| 
						 | 
					@ -63,7 +58,7 @@ PlanetsLib:extend({
 | 
				
			||||||
            ["day-night-cycle"] = 2 * minute,
 | 
					            ["day-night-cycle"] = 2 * minute,
 | 
				
			||||||
            ["gravity"] = 4,
 | 
					            ["gravity"] = 4,
 | 
				
			||||||
            ["pressure"] = 900,
 | 
					            ["pressure"] = 900,
 | 
				
			||||||
            ["solar-power"] = solar_power
 | 
					            ["solar-power"] = 100
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        asteroid_spawn_influence = 1,
 | 
					        asteroid_spawn_influence = 1,
 | 
				
			||||||
        asteroid_spawn_definitions = asteroid_util.spawn_definitions(nauvis_lignumis, 0.9),
 | 
					        asteroid_spawn_definitions = asteroid_util.spawn_definitions(nauvis_lignumis, 0.9),
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,7 +25,7 @@ LumberMill.EntityBuilder:new()
 | 
				
			||||||
        surface_conditions = {
 | 
					        surface_conditions = {
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              property = has_oxygen and "oxygen" or "pressure",
 | 
					              property = has_oxygen and "oxygen" or "pressure",
 | 
				
			||||||
              min = 10
 | 
					              min = 3
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              property = "gravity",
 | 
					              property = "gravity",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,7 +14,7 @@ data:extend({
 | 
				
			||||||
            { type = "fluid", name = "wood-pulp",              amount = 100 },
 | 
					            { type = "fluid", name = "wood-pulp",              amount = 100 },
 | 
				
			||||||
            { type = "fluid", name = "water",                  amount = 100 }
 | 
					            { type = "fluid", name = "water",                  amount = 100 }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        results = { { type = "item", name = "cupriavidus-necator", amount_min = 4, amount_max = 10, probability = 0.1 } },
 | 
					        results = { { type = "item", name = "cupriavidus-necator", amount_min = 4, amount_max = 10, probability = 0.15 } },
 | 
				
			||||||
        result_is_always_fresh = true,
 | 
					        result_is_always_fresh = true,
 | 
				
			||||||
        icons = {
 | 
					        icons = {
 | 
				
			||||||
            { icon = Lignumis.graphics .. "icons/cupriavidus-necator-1.png" },
 | 
					            { icon = Lignumis.graphics .. "icons/cupriavidus-necator-1.png" },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -43,7 +43,7 @@ data:extend({
 | 
				
			||||||
        drop_sound = item_sounds.metal_small_inventory_move,
 | 
					        drop_sound = item_sounds.metal_small_inventory_move,
 | 
				
			||||||
        stack_size = 50,
 | 
					        stack_size = 50,
 | 
				
			||||||
        fuel_category = "quality-catalyst",
 | 
					        fuel_category = "quality-catalyst",
 | 
				
			||||||
        fuel_value = "1MJ",
 | 
					        fuel_value = "2MJ",
 | 
				
			||||||
        weight = 1000 / 50 * kg,
 | 
					        weight = 1000 / 50 * kg,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -56,8 +56,8 @@ data:extend({
 | 
				
			||||||
            { type = "item", name = "tungsten-carbide", amount = 2 },
 | 
					            { type = "item", name = "tungsten-carbide", amount = 2 },
 | 
				
			||||||
            { type = "item", name = "supercapacitor",   amount = 2 }
 | 
					            { type = "item", name = "supercapacitor",   amount = 2 }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        results = { { type = "item", name = "gold-quality-catalyst", amount = 2 } },
 | 
					        results = { { type = "item", name = "gold-quality-catalyst", amount = 1 } },
 | 
				
			||||||
        allow_productivity = false,
 | 
					        allow_productivity = true,
 | 
				
			||||||
        allow_quality = false,
 | 
					        allow_quality = false,
 | 
				
			||||||
        enabled = false
 | 
					        enabled = false
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					@ -76,8 +76,8 @@ QualityAssembler.EntityBuilder:new()
 | 
				
			||||||
        energy_usage = "1MW",
 | 
					        energy_usage = "1MW",
 | 
				
			||||||
        crafting_speed = 4,
 | 
					        crafting_speed = 4,
 | 
				
			||||||
        module_slots = 6,
 | 
					        module_slots = 6,
 | 
				
			||||||
        allowed_effects = { "pollution", "quality" },
 | 
					        allowed_effects = { "consumption", "pollution", "quality" },
 | 
				
			||||||
        effect_receiver = { base_effect = { quality = 2.5 } }
 | 
					        effect_receiver = { base_effect = { quality = 3.5 } }
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
QualityAssembler.ItemBuilder:new():apply()
 | 
					QualityAssembler.ItemBuilder:new():apply()
 | 
				
			||||||
| 
						 | 
					@ -115,6 +115,41 @@ QualityAssembler.TechnologyBuilder:new()
 | 
				
			||||||
    :additionalRecipes({ "gold-quality-catalyst" })
 | 
					    :additionalRecipes({ "gold-quality-catalyst" })
 | 
				
			||||||
    :apply()
 | 
					    :apply()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					data:extend({
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        type = "technology",
 | 
				
			||||||
 | 
					        name = "experienced-quality-assembling-1",
 | 
				
			||||||
 | 
					        icons = {
 | 
				
			||||||
 | 
					            { icon = "__quality__/graphics/technology/legendary-quality.png", icon_size = 256 },
 | 
				
			||||||
 | 
					            { icon = Lignumis.graphics .. "icons/quality-gold-catalyst.png", icon_size = 64, scale = 1, shift = { 50, 50 }, draw_background = true }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        level = 1,
 | 
				
			||||||
 | 
					        max_level = 1,
 | 
				
			||||||
 | 
					        show_levels_info = true,
 | 
				
			||||||
 | 
					        effects = {
 | 
				
			||||||
 | 
					            { type = "change-recipe-productivity", recipe = "gold-quality-catalyst", change = 0.25 }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        research_trigger = { type = "craft-item", item = "gold-quality-catalyst", count = 1000 },
 | 
				
			||||||
 | 
					        prerequisites = { "quality-assembler" }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        type = "technology",
 | 
				
			||||||
 | 
					        name = "experienced-quality-assembling-2",
 | 
				
			||||||
 | 
					        icons = {
 | 
				
			||||||
 | 
					            { icon = "__quality__/graphics/technology/legendary-quality.png", icon_size = 256 },
 | 
				
			||||||
 | 
					            { icon = Lignumis.graphics .. "icons/quality-gold-catalyst.png", icon_size = 64, scale = 1, shift = { 50, 50 }, draw_background = true }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        level = 2,
 | 
				
			||||||
 | 
					        max_level = 2,
 | 
				
			||||||
 | 
					        show_levels_info = true,
 | 
				
			||||||
 | 
					        effects = {
 | 
				
			||||||
 | 
					            { type = "change-recipe-productivity", recipe = "gold-quality-catalyst", change = 0.5 }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        research_trigger = { type = "craft-item", item = "gold-quality-catalyst", count = 10000 },
 | 
				
			||||||
 | 
					        prerequisites = { "experienced-quality-assembling-1" }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local function convert_category(name)
 | 
					local function convert_category(name)
 | 
				
			||||||
    local quality_name = name .. "-or-quality-assembling"
 | 
					    local quality_name = name .. "-or-quality-assembling"
 | 
				
			||||||
    data:extend({
 | 
					    data:extend({
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,6 +31,7 @@ assembling_machine.energy_usage = "25kW"
 | 
				
			||||||
assembling_machine.energy_source = {
 | 
					assembling_machine.energy_source = {
 | 
				
			||||||
    type = "fluid",
 | 
					    type = "fluid",
 | 
				
			||||||
    maximum_temperature = 165,
 | 
					    maximum_temperature = 165,
 | 
				
			||||||
 | 
					    scale_fluid_usage = true,
 | 
				
			||||||
    effectivity = 1,
 | 
					    effectivity = 1,
 | 
				
			||||||
    emissions_per_minute = { noise = 50 },
 | 
					    emissions_per_minute = { noise = 50 },
 | 
				
			||||||
    fluid_box = {
 | 
					    fluid_box = {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1 +1,2 @@
 | 
				
			||||||
require("fuel-category-updates")
 | 
					require("fuel-category-updates")
 | 
				
			||||||
 | 
					require("lignumis/planet-updates")
 | 
				
			||||||
| 
						 | 
					@ -65,10 +65,10 @@ data:extend({
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        ingredients = {
 | 
					        ingredients = {
 | 
				
			||||||
            { type = "item",  name = "wood",  amount = 1 },
 | 
					            { type = "item",  name = "wood",  amount = 1 },
 | 
				
			||||||
            { type = "fluid", name = "steam", amount = 5 }
 | 
					            { type = "fluid", name = "steam", amount = 10 }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        results = {
 | 
					        results = {
 | 
				
			||||||
            { type = "fluid", name = "wood-pulp", amount = 10 }
 | 
					            { type = "fluid", name = "wood-pulp", amount = 15 }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        allow_productivity = true
 | 
					        allow_productivity = true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,9 +33,9 @@ Belt.EntityBuilder:new()
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local splitter_item = Belt.ItemBuilder:new()
 | 
					local splitter_item = Belt.ItemBuilder:new()
 | 
				
			||||||
    :itemsPerRocket("transportBelt", 100)
 | 
					    :itemsPerRocket("transportBelt", 200)
 | 
				
			||||||
    :itemsPerRocket("undergroundBelt", 50)
 | 
					    :itemsPerRocket("undergroundBelt", 100)
 | 
				
			||||||
    :itemsPerRocket("splitter", 50)
 | 
					    :itemsPerRocket("splitter", 100)
 | 
				
			||||||
    :order("0")
 | 
					    :order("0")
 | 
				
			||||||
    :apply()
 | 
					    :apply()
 | 
				
			||||||
    .splitter
 | 
					    .splitter
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -76,7 +76,8 @@ data:extend({
 | 
				
			||||||
        pick_sound = item_sounds.wood_inventory_pickup,
 | 
					        pick_sound = item_sounds.wood_inventory_pickup,
 | 
				
			||||||
        drop_sound = item_sounds.wood_inventory_move,
 | 
					        drop_sound = item_sounds.wood_inventory_move,
 | 
				
			||||||
        stack_size = 100,
 | 
					        stack_size = 100,
 | 
				
			||||||
        weight = 10 * kg
 | 
					        weight = 5 * kg,
 | 
				
			||||||
 | 
					        default_import_location = "lignumis"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        type = "recipe",
 | 
					        type = "recipe",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
data:extend({
 | 
					local infinite = settings.startup["lignumis-infinite-astroponics-productivity-research"].value
 | 
				
			||||||
    {
 | 
					
 | 
				
			||||||
 | 
					local base_levels = {
 | 
				
			||||||
    type = "technology",
 | 
					    type = "technology",
 | 
				
			||||||
    name = "astroponics-productivity",
 | 
					    name = "astroponics-productivity",
 | 
				
			||||||
    icons = {
 | 
					    icons = {
 | 
				
			||||||
| 
						 | 
					@ -35,4 +36,14 @@ data:extend({
 | 
				
			||||||
        time = 60
 | 
					        time = 60
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
})
 | 
					data:extend({ base_levels })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if infinite then
 | 
				
			||||||
 | 
					    local infinite_levels = table.deepcopy(base_levels)
 | 
				
			||||||
 | 
					    infinite_levels.name = "astroponics-productivity-6"
 | 
				
			||||||
 | 
					    infinite_levels.max_level = "infinite"
 | 
				
			||||||
 | 
					    infinite_levels.unit.count_formula = "2^(L-6)*1500"
 | 
				
			||||||
 | 
					    table.insert(infinite_levels.unit.ingredients, { "agricultural-science-pack", 1 })
 | 
				
			||||||
 | 
					    infinite_levels.prerequisites = { "astroponics-productivity", "agricultural-science-pack" }
 | 
				
			||||||
 | 
					    data:extend({ infinite_levels })
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -339,11 +339,30 @@ end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- Fix item weights
 | 
					-- Fix item weights
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local function set_default_weight(item, items_per_rocket)
 | 
					local function set_default_weight(item, items_per_rocket, type)
 | 
				
			||||||
    data.raw.item[item].weight = data.raw.item[item].weight or 1000 * kg / items_per_rocket
 | 
					    data.raw[type or "item"][item].weight = data.raw[type or "item"][item].weight or 1000 * kg / items_per_rocket
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
set_default_weight("electronic-circuit", 2000)
 | 
					set_default_weight("electronic-circuit", 2000)
 | 
				
			||||||
set_default_weight("advanced-circuit", 1000)
 | 
					set_default_weight("advanced-circuit", 1000)
 | 
				
			||||||
set_default_weight("processing-unit", 300)
 | 
					set_default_weight("processing-unit", 300)
 | 
				
			||||||
set_default_weight("low-density-structure", 200)
 | 
					set_default_weight("low-density-structure", 200)
 | 
				
			||||||
set_default_weight("rocket-fuel", 100)
 | 
					set_default_weight("rocket-fuel", 100)
 | 
				
			||||||
 | 
					set_default_weight("inserter", 50)
 | 
				
			||||||
 | 
					set_default_weight("fast-inserter", 50)
 | 
				
			||||||
 | 
					set_default_weight("electric-mining-drill", 50)
 | 
				
			||||||
 | 
					set_default_weight("pumpjack", 20)
 | 
				
			||||||
 | 
					set_default_weight("repair-pack", 100, "repair-tool")
 | 
				
			||||||
 | 
					set_default_weight("big-electric-pole", 50)
 | 
				
			||||||
 | 
					set_default_weight("assembling-machine-1", 50)
 | 
				
			||||||
 | 
					set_default_weight("assembling-machine-2", 50)
 | 
				
			||||||
 | 
					set_default_weight("oil-refinery", 10)
 | 
				
			||||||
 | 
					set_default_weight("accumulator", 50)
 | 
				
			||||||
 | 
					set_default_weight("steam-engine", 10)
 | 
				
			||||||
 | 
					set_default_weight("substation", 50)
 | 
				
			||||||
 | 
					set_default_weight("radar", 50)
 | 
				
			||||||
 | 
					set_default_weight("storage-tank", 50)
 | 
				
			||||||
 | 
					set_default_weight("fast-transport-belt", 100)
 | 
				
			||||||
 | 
					set_default_weight("fast-underground-belt", 50)
 | 
				
			||||||
 | 
					set_default_weight("fast-splitter", 50)
 | 
				
			||||||
 | 
					set_default_weight("steel-plate", 400)
 | 
				
			||||||
 | 
					set_default_weight("steam-turbine", 10)
 | 
				
			||||||
| 
						 | 
					@ -67,10 +67,6 @@ Init.events[defines.events.on_player_created] = function(event)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    storage.init[event.player_index] = true
 | 
					    storage.init[event.player_index] = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if script.active_mods["alien-biomes"] then
 | 
					 | 
				
			||||||
        game.print("While Alien Biomes is playable with Lignumis, it is not recommended as it prevents trees from being generated on Lignumis.")
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if not script.active_mods["Burner-Leech-Fork"] and not script.active_mods["Burner-Leech"] and not script.active_mods["InserterFuelLeech"] then
 | 
					    if not script.active_mods["Burner-Leech-Fork"] and not script.active_mods["Burner-Leech"] and not script.active_mods["InserterFuelLeech"] then
 | 
				
			||||||
        game.print("Lignumis: You are starting a new game without a burner leech mod. The intended experience is to use one of the available options. You can disable such a mod after the burner phase of the game. See the mod page for more details.")
 | 
					        game.print("Lignumis: You are starting a new game without a burner leech mod. The intended experience is to use one of the available options. You can disable such a mod after the burner phase of the game. See the mod page for more details.")
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,6 +25,21 @@ local function init_nauvis()
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Removes enemies around the crash site to not mess with the player start
 | 
				
			||||||
 | 
					local function clear_enemies()
 | 
				
			||||||
 | 
					    local nauvis = game.planets[storage.target_planet].surface
 | 
				
			||||||
 | 
					    local enemies = nauvis.find_entities_filtered({
 | 
				
			||||||
 | 
					        position = { 0, 0 },
 | 
				
			||||||
 | 
					        radius = 200,
 | 
				
			||||||
 | 
					        force = "enemy"
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					    for _, enemy in pairs(enemies) do
 | 
				
			||||||
 | 
					        enemy.destroy()
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- Teleport player to Nauvis and show welcome message
 | 
					-- Teleport player to Nauvis and show welcome message
 | 
				
			||||||
local function teleport_player(player)
 | 
					local function teleport_player(player)
 | 
				
			||||||
    local nauvis = game.planets[storage.target_planet].surface
 | 
					    local nauvis = game.planets[storage.target_planet].surface
 | 
				
			||||||
| 
						 | 
					@ -67,17 +82,20 @@ local function transit_player(player_index)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    init_nauvis()
 | 
					    init_nauvis()
 | 
				
			||||||
 | 
					    clear_enemies()
 | 
				
			||||||
    teleport_player(player)
 | 
					    teleport_player(player)
 | 
				
			||||||
    init_freeplay()
 | 
					    init_freeplay()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    -- Give the player the content of the rocket
 | 
					    -- Give the player the content of the rocket
 | 
				
			||||||
    if transition.rocket_entry.rocket_content then
 | 
					    if transition.rocket_entry.rocket_content then
 | 
				
			||||||
        local inventory = player.get_main_inventory()
 | 
					        local inventory = player.get_main_inventory()
 | 
				
			||||||
 | 
					        if inventory then
 | 
				
			||||||
            for _, item in pairs(transition.rocket_entry.rocket_content) do
 | 
					            for _, item in pairs(transition.rocket_entry.rocket_content) do
 | 
				
			||||||
                inventory.insert(item)
 | 
					                inventory.insert(item)
 | 
				
			||||||
            end
 | 
					            end
 | 
				
			||||||
            inventory.sort_and_merge()
 | 
					            inventory.sort_and_merge()
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
    table.remove(storage.rocket_silos, transition.rocket_entry_index)
 | 
					    table.remove(storage.rocket_silos, transition.rocket_entry_index)
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -90,6 +90,13 @@ data:extend({
 | 
				
			||||||
        default_value = false,
 | 
					        default_value = false,
 | 
				
			||||||
        order = "m"
 | 
					        order = "m"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        type = "bool-setting",
 | 
				
			||||||
 | 
					        name = "lignumis-infinite-astroponics-productivity-research",
 | 
				
			||||||
 | 
					        setting_type = "startup",
 | 
				
			||||||
 | 
					        default_value = false,
 | 
				
			||||||
 | 
					        order = "n"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        type = "string-setting",
 | 
					        type = "string-setting",
 | 
				
			||||||
        name = "lignumis-second-planet",
 | 
					        name = "lignumis-second-planet",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 38 KiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 8.6 KiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 9.5 KiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 6.9 KiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 7.4 KiB  | 
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue