forked from cacklingfiend/lignumis
		
	Add optional Basic circuit board
This commit is contained in:
		
							parent
							
								
									d0818722ae
								
							
						
					
					
						commit
						b30eb0b019
					
				
					 19 changed files with 269 additions and 129 deletions
				
			
		
							
								
								
									
										13
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										13
									
								
								README.md
									
										
									
									
									
								
							|  | @ -2,6 +2,8 @@ This mod extends the early game of Space Age by putting you on the moon "Lignumi | ||||||
| 
 | 
 | ||||||
| The duration of the stay on Lignumis will be rather short. The impact of the later game will still be substantial (once implemented). | The duration of the stay on Lignumis will be rather short. The impact of the later game will still be substantial (once implemented). | ||||||
| 
 | 
 | ||||||
|  | **If you start a new game, check out the setting for adding Basic circuit boards.** | ||||||
|  | 
 | ||||||
| ## Mod recommendations | ## Mod recommendations | ||||||
| 
 | 
 | ||||||
| The following mods can be a great addition for this mod: | The following mods can be a great addition for this mod: | ||||||
|  | @ -10,6 +12,10 @@ The following mods can be a great addition for this mod: | ||||||
| 
 | 
 | ||||||
| There will be fewer inserters that need to be fueled manually. | There will be fewer inserters that need to be fueled manually. | ||||||
| 
 | 
 | ||||||
|  | #### [Diversitree](https://mods.factorio.com/mod/Diversitree) | ||||||
|  | 
 | ||||||
|  | Planted trees will have more than one variant. | ||||||
|  | 
 | ||||||
| #### [Hot metals](https://mods.factorio.com/mod/hot-metals) | #### [Hot metals](https://mods.factorio.com/mod/hot-metals) | ||||||
| 
 | 
 | ||||||
| If you like the idea that metals need to cool down after being smolten in a furnace, Lignumis gold has support for hot metals. | If you like the idea that metals need to cool down after being smolten in a furnace, Lignumis gold has support for hot metals. | ||||||
|  | @ -22,10 +28,14 @@ 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. | If you like go more into the charcoal direction. It has no overlap with Lignumis and starts to get relevant on Nauvis. | ||||||
| 
 | 
 | ||||||
| #### [Fulgora: Coralmium Agriculture](https://mods.factorio.com/mod/fulgora-coralmium-agriculture) and [Wooden Vulcanus: Sulfuric Bacteria](https://mods.factorio.com/mod/vulcanus-sulfuric-bacteria) | #### [Wooden Fulgora: Coralmium Agriculture](https://mods.factorio.com/mod/fulgora-coralmium-agriculture), [Wooden Vulcanus: Sulfuric Bacteria](https://mods.factorio.com/mod/vulcanus-sulfuric-bacteria) and [Wooden Aquilo: Seabloom Algaculture](https://mods.factorio.com/mod/aquilo-seabloom-algaculture) | ||||||
| 
 | 
 | ||||||
| For wood on the other planets. | For wood on the other planets. | ||||||
| 
 | 
 | ||||||
|  | #### [AAI Loaders](https://mods.factorio.com/mod/aai-loaders) | ||||||
|  | 
 | ||||||
|  | A wooden loader is added when this mod is active. Also supports [AAI Loaders, a sane rebalance](https://mods.factorio.com/mod/aai-loaders-sane). | ||||||
|  | 
 | ||||||
| ## Compatibility with other planet mods | ## Compatibility with other planet mods | ||||||
| 
 | 
 | ||||||
| The following planet mods are tested for (at least technical) compatibility: | The following planet mods are tested for (at least technical) compatibility: | ||||||
|  | @ -90,7 +100,6 @@ If your modded lab is special and it should not support these science packs, use | ||||||
|     - https://lua-api.factorio.com/latest/types/TreeVariation.html |     - https://lua-api.factorio.com/latest/types/TreeVariation.html | ||||||
| - Improve transition to Nauvis a bit more | - Improve transition to Nauvis a bit more | ||||||
| - Add late-game recipe for oil from wood pulp | - Add late-game recipe for oil from wood pulp | ||||||
| - Replace usage of gold cable with basic circuits made of wood and gold cable, add option for progressive circuit recipes and add recipe prod research |  | ||||||
| - Find a better message when transitioning to Nauvis | - Find a better message when transitioning to Nauvis | ||||||
| - Add information in Factoriopedia | - Add information in Factoriopedia | ||||||
| - Compatibility with [On Wayward Seas](https://mods.factorio.com/mod/wayward-seas) | - Compatibility with [On Wayward Seas](https://mods.factorio.com/mod/wayward-seas) | ||||||
|  |  | ||||||
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/icons/basic-circuit-board.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								lignumis/graphics/icons/basic-circuit-board.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 7.8 KiB | 
|  | @ -75,6 +75,7 @@ dead-cupriavidus-necator=Dead Cupriavidus necator | ||||||
| gold-quality-catalyst=Gold quality catalyst | gold-quality-catalyst=Gold quality catalyst | ||||||
| wood-armor=Wood armor | wood-armor=Wood armor | ||||||
| wood-darts-magazine=Wood darts magazine | wood-darts-magazine=Wood darts magazine | ||||||
|  | basic-circuit-board=Basic circuit board | ||||||
| 
 | 
 | ||||||
| [item-description] | [item-description] | ||||||
| wooden-wall=Use wooden walls to protect your base from the locals and to reduce noise levels. | wooden-wall=Use wooden walls to protect your base from the locals and to reduce noise levels. | ||||||
|  | @ -163,12 +164,16 @@ lignumis-belt-progression=Enable progressive belt recipes | ||||||
| lignumis-inserter-progression=Enable progressive inserter recipes | lignumis-inserter-progression=Enable progressive inserter recipes | ||||||
| lignumis-ammo-progression=Enable progressive ammo recipes | lignumis-ammo-progression=Enable progressive ammo recipes | ||||||
| lignumis-technology-progression=Enable progressive technologies | lignumis-technology-progression=Enable progressive technologies | ||||||
|  | lignumis-basic-circuit-board=Enable basic circuit board | ||||||
|  | lignumis-circuit-progression=Enable progressive circuit recipes | ||||||
| 
 | 
 | ||||||
| [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. | ||||||
| lignumis-inserter-progression=Yellow electric inserter will require burner inserter to craft. | lignumis-inserter-progression=Yellow electric inserter will require burner inserter to craft. | ||||||
| lignumis-ammo-progression=Firearm magazines will require wooden darts magazines to craft. | lignumis-ammo-progression=Firearm magazines will require wooden darts magazines to craft. | ||||||
| lignumis-technology-progression=Adds wood and steam science packs to most late game technologies. Disabling this removes the relevance of Lignumis' science packs in the late game. | lignumis-technology-progression=Adds wood and steam science packs to most late game technologies. Disabling this removes the relevance of Lignumis' science packs in the late game. | ||||||
|  | lignumis-basic-circuit-board=Recipes use basic circuit boards instead of gold cables and gold plates where appropriate. Both gold and copper recipes will be added. | ||||||
|  | lignumis-circuit-progression=Electric circuits will require basic circuit boards to craft. | ||||||
| 
 | 
 | ||||||
| [entity-status] | [entity-status] | ||||||
| no-quality-catalyst=No quality catalyst | no-quality-catalyst=No quality catalyst | ||||||
|  |  | ||||||
|  | @ -23,3 +23,10 @@ wall.emissions_per_second.noise = -30 / 60 | ||||||
| data.raw["lab"]["wood-lab"].next_upgrade = "burner-lab" | data.raw["lab"]["wood-lab"].next_upgrade = "burner-lab" | ||||||
| 
 | 
 | ||||||
| table.insert(data.raw["agricultural-tower"]["burner-agricultural-tower"].energy_source.fuel_categories, "processed-chemical") | table.insert(data.raw["agricultural-tower"]["burner-agricultural-tower"].energy_source.fuel_categories, "processed-chemical") | ||||||
|  | 
 | ||||||
|  | if settings.startup["lignumis-basic-circuit-board"].value then | ||||||
|  |     table.insert(data.raw["recipe"]["electric-mining-drill"].ingredients, { type = "item", name = "basic-circuit-board", amount = 2 }) | ||||||
|  |     table.insert(data.raw["recipe"]["inserter"].ingredients, { type = "item", name = "basic-circuit-board", amount = 1 }) | ||||||
|  |     table.insert(data.raw["recipe"]["burner-lab"].ingredients, { type = "item", name = "basic-circuit-board", amount = 10 }) | ||||||
|  |     table.insert(data.raw["recipe"]["assembling-machine-1"].ingredients, { type = "item", name = "basic-circuit-board", amount = 5 }) | ||||||
|  | end | ||||||
|  | @ -3,9 +3,12 @@ local Technology = require("__cf-lib__/data/Technology") | ||||||
| 
 | 
 | ||||||
| if not mods["aai-loaders"] then return end | if not mods["aai-loaders"] then return end | ||||||
| 
 | 
 | ||||||
|  | local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value | ||||||
|  | 
 | ||||||
| local recipe = { | local recipe = { | ||||||
|     ingredients = { |     ingredients = { | ||||||
|         { type = "item", name = "lumber",              amount = 5 }, |         { type = "item", name = "lumber",              amount = 5 }, | ||||||
|  |         basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 10 } or | ||||||
|         { type = "item", name = "gold-cable", amount = 10 }, |         { type = "item", name = "gold-cable", amount = 10 }, | ||||||
|         { type = "item", name = "wood-transport-belt", amount = 1 } |         { type = "item", name = "wood-transport-belt", amount = 1 } | ||||||
|     }, |     }, | ||||||
|  | @ -40,17 +43,19 @@ AAILoaders.make_tier({ | ||||||
|     localise = false |     localise = false | ||||||
| }) | }) | ||||||
| 
 | 
 | ||||||
| local nauvis_recipe = Recipe:new("aai-wood-loader"):clone("wood-loader-electronic-circuit") | if not basic_circuit_board then | ||||||
| nauvis_recipe:replaceIngredient("gold-cable", "electronic-circuit") |     local nauvis_recipe = Recipe:new("aai-wood-loader"):clone("wood-loader-electronic-circuit") | ||||||
| nauvis_recipe:unlockedByTechnology("electronics") |     nauvis_recipe:replaceIngredient("gold-cable", "electronic-circuit") | ||||||
| nauvis_recipe:assign({ |     nauvis_recipe:unlockedByTechnology("electronics") | ||||||
|  |     nauvis_recipe:assign({ | ||||||
|         localised_name = { "entity-name.aai-wood-loader" }, |         localised_name = { "entity-name.aai-wood-loader" }, | ||||||
|         icons = table.assign( |         icons = table.assign( | ||||||
|             table.deepcopy(data.raw.item["aai-wood-loader"].icons), |             table.deepcopy(data.raw.item["aai-wood-loader"].icons), | ||||||
|             { { icon = "__base__/graphics/icons/electronic-circuit.png", scale = 0.25, shift = { 8, 8 } } } |             { { icon = "__base__/graphics/icons/electronic-circuit.png", scale = 0.25, shift = { 8, 8 } } } | ||||||
|         ) |         ) | ||||||
| }) |     }) | ||||||
| nauvis_recipe:apply() |     nauvis_recipe:apply() | ||||||
|  | end | ||||||
| 
 | 
 | ||||||
| if mods["aai-loaders-sane"] then | if mods["aai-loaders-sane"] then | ||||||
|     Technology:new("wood-logistics"):addRecipe("aai-wood-loader") |     Technology:new("wood-logistics"):addRecipe("aai-wood-loader") | ||||||
|  |  | ||||||
							
								
								
									
										58
									
								
								lignumis/prototypes/content/basic-circuit-boards.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								lignumis/prototypes/content/basic-circuit-boards.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,58 @@ | ||||||
|  | local item_sounds = require("__base__.prototypes.item_sounds") | ||||||
|  | local Technology = require("__cf-lib__/data/Technology") | ||||||
|  | 
 | ||||||
|  | if not settings.startup["lignumis-basic-circuit-board"].value then return end | ||||||
|  | 
 | ||||||
|  | data:extend({ | ||||||
|  |     { | ||||||
|  |         type = "item", | ||||||
|  |         name = "basic-circuit-board", | ||||||
|  |         icon = "__lignumis__/graphics/icons/basic-circuit-board.png", | ||||||
|  |         subgroup = "intermediate-product", | ||||||
|  |         order = "c[circuits]-0[basic-circuit-board]", | ||||||
|  |         inventory_move_sound = item_sounds.electric_small_inventory_move, | ||||||
|  |         pick_sound = item_sounds.electric_small_inventory_pickup, | ||||||
|  |         drop_sound = item_sounds.electric_small_inventory_move, | ||||||
|  |         stack_size = 200, | ||||||
|  |         weight = 0.5 * kg | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "recipe", | ||||||
|  |         name = "basic-circuit-board", | ||||||
|  |         category = "wood-processing-or-assembling", | ||||||
|  |         icons = { | ||||||
|  |             { icon = "__lignumis__/graphics/icons/basic-circuit-board.png" }, | ||||||
|  |             { icon = "__lignumis__/graphics/icons/gold-cable.png", scale = 0.25, shift = { 8, 8 } } | ||||||
|  |         }, | ||||||
|  |         ingredients = { | ||||||
|  |             { type = "item", name = "lumber",     amount = 1 }, | ||||||
|  |             { type = "item", name = "gold-cable", amount = 2 } | ||||||
|  |         }, | ||||||
|  |         results = { { type = "item", name = "basic-circuit-board", amount = 2 } }, | ||||||
|  |         enabled = true, | ||||||
|  |         allow_productivity = true | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "recipe", | ||||||
|  |         name = "basic-circuit-board-copper", | ||||||
|  |         localised_name = { "item-name.basic-circuit-board" }, | ||||||
|  |         category = "wood-processing-or-assembling", | ||||||
|  |         icons = { | ||||||
|  |             { icon = "__lignumis__/graphics/icons/basic-circuit-board.png" }, | ||||||
|  |             { icon = "__base__/graphics/icons/copper-cable.png", scale = 0.25, shift = { 8, 8 } } | ||||||
|  |         }, | ||||||
|  |         ingredients = { | ||||||
|  |             { type = "item", name = "lumber",       amount = 1 }, | ||||||
|  |             { type = "item", name = "copper-cable", amount = 2 } | ||||||
|  |         }, | ||||||
|  |         results = { { type = "item", name = "basic-circuit-board", amount = 2 } }, | ||||||
|  |         enabled = false, | ||||||
|  |         allow_productivity = true | ||||||
|  |     } | ||||||
|  | }) | ||||||
|  | 
 | ||||||
|  | Technology:new("copper-processing"):addRecipe("basic-circuit-board-copper") | ||||||
|  | 
 | ||||||
|  | if settings.startup["lignumis-circuit-progression"].value then | ||||||
|  |     table.insert(data.raw.recipe["electronic-circuit"].ingredients, { type = "item", name = "basic-circuit-board", amount = 1 }) | ||||||
|  | end | ||||||
|  | @ -1,6 +1,8 @@ | ||||||
| local item_sounds = require("__base__.prototypes.item_sounds") | local item_sounds = require("__base__.prototypes.item_sounds") | ||||||
| local item_tints = require("__base__.prototypes.item-tints") | local item_tints = require("__base__.prototypes.item-tints") | ||||||
| 
 | 
 | ||||||
|  | local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value | ||||||
|  | 
 | ||||||
| local function robot(color) | local function robot(color) | ||||||
|     local result = table.deepcopy(data.raw["construction-robot"]["construction-robot"]) |     local result = table.deepcopy(data.raw["construction-robot"]["construction-robot"]) | ||||||
|     result.name = "basic-construction-robot-" .. color |     result.name = "basic-construction-robot-" .. color | ||||||
|  | @ -222,6 +224,7 @@ data:extend({ | ||||||
|     robot_recipe("gold", { |     robot_recipe("gold", { | ||||||
|         { type = "item", name = "gold-plate",        amount = 2 }, |         { type = "item", name = "gold-plate",        amount = 2 }, | ||||||
|         { type = "item", name = "wooden-gear-wheel", amount = 5 }, |         { type = "item", name = "wooden-gear-wheel", amount = 5 }, | ||||||
|  |         basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 5 } or | ||||||
|         { type = "item", name = "gold-cable", amount = 10 } |         { type = "item", name = "gold-cable", amount = 10 } | ||||||
|     }), |     }), | ||||||
|     generator("gold"), |     generator("gold"), | ||||||
|  | @ -233,7 +236,8 @@ data:extend({ | ||||||
|     roboport("gold"), |     roboport("gold"), | ||||||
|     roboport_item("gold", 0), |     roboport_item("gold", 0), | ||||||
|     roboport_recipe("gold", { |     roboport_recipe("gold", { | ||||||
|         { type = "item", name = "gold-plate",        amount = 10 }, |         { type = "item", name = "gold-plate",        amount = basic_circuit_board and 5 or 10 }, | ||||||
|  |         basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 10 } or nil, | ||||||
|         { type = "item", name = "wooden-gear-wheel", amount = 10 } |         { type = "item", name = "wooden-gear-wheel", amount = 10 } | ||||||
|     }), |     }), | ||||||
| 
 | 
 | ||||||
|  | @ -241,9 +245,9 @@ data:extend({ | ||||||
|     robot("copper"), |     robot("copper"), | ||||||
|     robot_item("copper", 1), |     robot_item("copper", 1), | ||||||
|     robot_recipe("copper", { |     robot_recipe("copper", { | ||||||
|         { type = "item", name = "iron-plate",         amount = 2 }, |         { type = "item", name = "copper-plate",       amount = 2 }, | ||||||
|         { type = "item", name = "iron-gear-wheel",    amount = 5 }, |         { type = "item", name = "iron-gear-wheel",    amount = 5 }, | ||||||
|         { type = "item", name = "electronic-circuit", amount = 10 } |         { type = "item", name = "electronic-circuit", amount = 5 } | ||||||
|     }), |     }), | ||||||
|     generator("copper"), |     generator("copper"), | ||||||
|     generator_item("copper", 1), |     generator_item("copper", 1), | ||||||
|  | @ -254,9 +258,9 @@ data:extend({ | ||||||
|     roboport("copper"), |     roboport("copper"), | ||||||
|     roboport_item("copper", 1), |     roboport_item("copper", 1), | ||||||
|     roboport_recipe("copper", { |     roboport_recipe("copper", { | ||||||
|         { type = "item", name = "copper-plate",       amount = 10 }, |         { type = "item", name = "copper-plate",       amount = 5 }, | ||||||
|         { type = "item", name = "iron-gear-wheel",    amount = 10 }, |         { type = "item", name = "electronic-circuit", amount = 10 }, | ||||||
|         { type = "item", name = "electronic-circuit", amount = 20 } |         { type = "item", name = "iron-gear-wheel",    amount = 10 } | ||||||
|     }), |     }), | ||||||
| 
 | 
 | ||||||
|     -- Technology |     -- Technology | ||||||
|  |  | ||||||
|  | @ -2,6 +2,8 @@ local hit_effects = require("__base__.prototypes.entity.hit-effects") | ||||||
| local item_sounds = require("__base__.prototypes.item_sounds") | local item_sounds = require("__base__.prototypes.item_sounds") | ||||||
| local item_tints = require("__base__.prototypes.item-tints") | local item_tints = require("__base__.prototypes.item-tints") | ||||||
| 
 | 
 | ||||||
|  | local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value | ||||||
|  | 
 | ||||||
| data:extend({ | data:extend({ | ||||||
|     { |     { | ||||||
|         type = "radar", |         type = "radar", | ||||||
|  | @ -80,7 +82,7 @@ data:extend({ | ||||||
|             { type = "item", name = "stone-brick",                                                 amount = 4 }, |             { type = "item", name = "stone-brick",                                                 amount = 4 }, | ||||||
|             { type = "item", name = "wooden-gear-wheel",                                           amount = 4 }, |             { type = "item", name = "wooden-gear-wheel",                                           amount = 4 }, | ||||||
|             { type = "item", name = "gold-plate",                                                  amount = 4 }, |             { type = "item", name = "gold-plate",                                                  amount = 4 }, | ||||||
|             { type = "item",  name = "gold-cable",        amount = 4 } |             { type = "item", name = basic_circuit_board and "basic-circuit-board" or "gold-cable", amount = 4 } | ||||||
|         }, |         }, | ||||||
|         results = { { type = "item", name = "basic-radar", amount = 1 } }, |         results = { { type = "item", name = "basic-radar", amount = 1 } }, | ||||||
|         enabled = false |         enabled = false | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| local item_sounds = require("__base__.prototypes.item_sounds") | local item_sounds = require("__base__.prototypes.item_sounds") | ||||||
| 
 | 
 | ||||||
|  | local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value | ||||||
| local gfx = "__lignumis__/graphics/entity/burner-agricultural-tower/" | local gfx = "__lignumis__/graphics/entity/burner-agricultural-tower/" | ||||||
| 
 | 
 | ||||||
| local agricultural_tower = table.deepcopy(data.raw["agricultural-tower"]["agricultural-tower"]) | local agricultural_tower = table.deepcopy(data.raw["agricultural-tower"]["agricultural-tower"]) | ||||||
|  | @ -10,7 +11,7 @@ agricultural_tower.corpses = "burner-agricultural-tower-remnants" | ||||||
| agricultural_tower.icon = "__lignumis__/graphics/icons/burner-agricultural-tower.png" | agricultural_tower.icon = "__lignumis__/graphics/icons/burner-agricultural-tower.png" | ||||||
| agricultural_tower.graphics_set.animation.layers[1].filename = gfx .. "burner-agricultural-tower-base.png" | agricultural_tower.graphics_set.animation.layers[1].filename = gfx .. "burner-agricultural-tower-base.png" | ||||||
| agricultural_tower.graphics_set.working_visualisations[1].animation.filename = gfx .. | agricultural_tower.graphics_set.working_visualisations[1].animation.filename = gfx .. | ||||||
| "burner-agricultural-tower-base.png" |     "burner-agricultural-tower-base.png" | ||||||
| agricultural_tower.energy_source = { | agricultural_tower.energy_source = { | ||||||
|     type = "burner", |     type = "burner", | ||||||
|     fuel_categories = { "chemical" }, |     fuel_categories = { "chemical" }, | ||||||
|  | @ -86,25 +87,8 @@ data:extend({ | ||||||
|             { type = "item", name = "stone-brick",       amount = 5 }, |             { type = "item", name = "stone-brick",       amount = 5 }, | ||||||
|             { type = "item", name = "wooden-gear-wheel", amount = 20 }, |             { type = "item", name = "wooden-gear-wheel", amount = 20 }, | ||||||
|             { type = "item", name = "lumber",            amount = 20 }, |             { type = "item", name = "lumber",            amount = 20 }, | ||||||
|             { type = "item", name = "gold-plate",        amount = 20 } |             { type = "item", name = "gold-plate",        amount = basic_circuit_board and 10 or 20 }, | ||||||
|         }, |             basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 10 } or nil | ||||||
|         results = { { type = "item", name = "burner-agricultural-tower", amount = 1 } }, |  | ||||||
|         enabled = false |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         type = "recipe", |  | ||||||
|         name = "burner-agricultural-tower-electronic-circuit", |  | ||||||
|         localised_name = { "entity-name.burner-agricultural-tower" }, |  | ||||||
|         icons = { |  | ||||||
|             { icon = "__lignumis__/graphics/icons/burner-agricultural-tower.png" }, |  | ||||||
|             { icon = "__base__/graphics/icons/electronic-circuit.png",           scale = 0.25, shift = { 8, 8 } } |  | ||||||
|         }, |  | ||||||
|         energy_required = 10, |  | ||||||
|         ingredients = { |  | ||||||
|             { type = "item", name = "stone-brick",        amount = 5 }, |  | ||||||
|             { type = "item", name = "wooden-gear-wheel",  amount = 20 }, |  | ||||||
|             { type = "item", name = "lumber",             amount = 20 }, |  | ||||||
|             { type = "item", name = "electronic-circuit", amount = 10 } |  | ||||||
|         }, |         }, | ||||||
|         results = { { type = "item", name = "burner-agricultural-tower", amount = 1 } }, |         results = { { type = "item", name = "burner-agricultural-tower", amount = 1 } }, | ||||||
|         enabled = false |         enabled = false | ||||||
|  | @ -125,7 +109,30 @@ tech.ignore_tech_cost_multiplier = true | ||||||
| 
 | 
 | ||||||
| data.raw.technology["fish-breeding"].prerequisites = { "agricultural-science-pack" } | data.raw.technology["fish-breeding"].prerequisites = { "agricultural-science-pack" } | ||||||
| 
 | 
 | ||||||
| table.insert(data.raw.technology["electronics"].effects, { | if not basic_circuit_board then | ||||||
|  |     data:extend({ | ||||||
|  |         { | ||||||
|  |             type = "recipe", | ||||||
|  |             name = "burner-agricultural-tower-electronic-circuit", | ||||||
|  |             localised_name = { "entity-name.burner-agricultural-tower" }, | ||||||
|  |             icons = { | ||||||
|  |                 { icon = "__lignumis__/graphics/icons/burner-agricultural-tower.png" }, | ||||||
|  |                 { icon = "__base__/graphics/icons/electronic-circuit.png",           scale = 0.25, shift = { 8, 8 } } | ||||||
|  |             }, | ||||||
|  |             energy_required = 10, | ||||||
|  |             ingredients = { | ||||||
|  |                 { type = "item", name = "stone-brick",        amount = 5 }, | ||||||
|  |                 { type = "item", name = "wooden-gear-wheel",  amount = 20 }, | ||||||
|  |                 { type = "item", name = "lumber",             amount = 20 }, | ||||||
|  |                 { type = "item", name = "electronic-circuit", amount = 10 } | ||||||
|  |             }, | ||||||
|  |             results = { { type = "item", name = "burner-agricultural-tower", amount = 1 } }, | ||||||
|  |             enabled = false | ||||||
|  |         } | ||||||
|  |     }) | ||||||
|  | 
 | ||||||
|  |     table.insert(data.raw.technology["electronics"].effects, { | ||||||
|         type = "unlock-recipe", |         type = "unlock-recipe", | ||||||
|         recipe = "burner-agricultural-tower-electronic-circuit" |         recipe = "burner-agricultural-tower-electronic-circuit" | ||||||
| }) |     }) | ||||||
|  | end | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| local item_sounds = require("__base__.prototypes.item_sounds") | local item_sounds = require("__base__.prototypes.item_sounds") | ||||||
| 
 | 
 | ||||||
|  | local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value | ||||||
| local gfx = "__lignumis__/graphics/entity/burner-assembling-machine/" | local gfx = "__lignumis__/graphics/entity/burner-assembling-machine/" | ||||||
| 
 | 
 | ||||||
| local assembling_machine = table.deepcopy(data.raw["assembling-machine"]["assembling-machine-1"]) | local assembling_machine = table.deepcopy(data.raw["assembling-machine"]["assembling-machine-1"]) | ||||||
|  | @ -71,24 +72,8 @@ data:extend({ | ||||||
|         ingredients = { |         ingredients = { | ||||||
|             { type = "item", name = "wooden-gear-wheel", amount = 5 }, |             { type = "item", name = "wooden-gear-wheel", amount = 5 }, | ||||||
|             { type = "item", name = "lumber",            amount = 8 }, |             { type = "item", name = "lumber",            amount = 8 }, | ||||||
|             { type = "item", name = "gold-cable",        amount = 20 } |             basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 5 } or | ||||||
|         }, |             { type = "item", name = "gold-cable", amount = 10 } | ||||||
|         results = { { type = "item", name = "burner-assembling-machine", amount = 1 } }, |  | ||||||
|         energy_required = 4 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         type = "recipe", |  | ||||||
|         name = "burner-assembling-machine-electronic-circuit", |  | ||||||
|         localised_name = { "entity-name.burner-assembling-machine" }, |  | ||||||
|         icons = { |  | ||||||
|             { icon = "__lignumis__/graphics/icons/burner-assembling-machine.png" }, |  | ||||||
|             { icon = "__base__/graphics/icons/electronic-circuit.png",           scale = 0.25, shift = { 8, 8 } } |  | ||||||
|         }, |  | ||||||
|         enabled = false, |  | ||||||
|         ingredients = { |  | ||||||
|             { type = "item", name = "wooden-gear-wheel",  amount = 5 }, |  | ||||||
|             { type = "item", name = "lumber",             amount = 8 }, |  | ||||||
|             { type = "item", name = "electronic-circuit", amount = 10 } |  | ||||||
|         }, |         }, | ||||||
|         results = { { type = "item", name = "burner-assembling-machine", amount = 1 } }, |         results = { { type = "item", name = "burner-assembling-machine", amount = 1 } }, | ||||||
|         energy_required = 4 |         energy_required = 4 | ||||||
|  | @ -118,7 +103,29 @@ data:extend({ | ||||||
|     } |     } | ||||||
| }) | }) | ||||||
| 
 | 
 | ||||||
| table.insert(data.raw.technology["electronics"].effects, { | if not basic_circuit_board then | ||||||
|  |     data:extend({ | ||||||
|  |         { | ||||||
|  |             type = "recipe", | ||||||
|  |             name = "burner-assembling-machine-electronic-circuit", | ||||||
|  |             localised_name = { "entity-name.burner-assembling-machine" }, | ||||||
|  |             icons = { | ||||||
|  |                 { icon = "__lignumis__/graphics/icons/burner-assembling-machine.png" }, | ||||||
|  |                 { icon = "__base__/graphics/icons/electronic-circuit.png",           scale = 0.25, shift = { 8, 8 } } | ||||||
|  |             }, | ||||||
|  |             enabled = false, | ||||||
|  |             ingredients = { | ||||||
|  |                 { type = "item", name = "wooden-gear-wheel",  amount = 5 }, | ||||||
|  |                 { type = "item", name = "lumber",             amount = 8 }, | ||||||
|  |                 { type = "item", name = "electronic-circuit", amount = 5 } | ||||||
|  |             }, | ||||||
|  |             results = { { type = "item", name = "burner-assembling-machine", amount = 1 } }, | ||||||
|  |             energy_required = 4 | ||||||
|  |         } | ||||||
|  |     }) | ||||||
|  | 
 | ||||||
|  |     table.insert(data.raw.technology["electronics"].effects, { | ||||||
|         type = "unlock-recipe", |         type = "unlock-recipe", | ||||||
|         recipe = "burner-assembling-machine-electronic-circuit" |         recipe = "burner-assembling-machine-electronic-circuit" | ||||||
| }) |     }) | ||||||
|  | end | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| local item_sounds = require("__base__.prototypes.item_sounds") | local item_sounds = require("__base__.prototypes.item_sounds") | ||||||
| 
 | 
 | ||||||
|  | local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value | ||||||
| local gfx = "__lignumis__/graphics/entity/burner-long-handed-inserter/" | local gfx = "__lignumis__/graphics/entity/burner-long-handed-inserter/" | ||||||
| 
 | 
 | ||||||
| local long_handed_inserter = table.deepcopy(data.raw["inserter"]["long-handed-inserter"]) | local long_handed_inserter = table.deepcopy(data.raw["inserter"]["long-handed-inserter"]) | ||||||
|  | @ -66,7 +67,8 @@ data:extend({ | ||||||
|         ingredients = { |         ingredients = { | ||||||
|             { type = "item", name = "wooden-gear-wheel", amount = 1 }, |             { type = "item", name = "wooden-gear-wheel", amount = 1 }, | ||||||
|             { type = "item", name = "burner-inserter",   amount = 1 }, |             { type = "item", name = "burner-inserter",   amount = 1 }, | ||||||
|             { type = "item", name = "gold-cable", amount = 4 } |             basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 1 } or | ||||||
|  |             { type = "item", name = "gold-cable", amount = 2 } | ||||||
|         }, |         }, | ||||||
|         results = { { type = "item", name = "burner-long-handed-inserter", amount = 1 } } |         results = { { type = "item", name = "burner-long-handed-inserter", amount = 1 } } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | @ -29,5 +29,6 @@ require("active-noise-cancelling-tower") | ||||||
| require("quality-assembler") | require("quality-assembler") | ||||||
| require("decoratives") | require("decoratives") | ||||||
| require("wood-military") | require("wood-military") | ||||||
|  | require("basic-circuit-boards") | ||||||
| 
 | 
 | ||||||
| require("noise") | require("noise") | ||||||
|  |  | ||||||
|  | @ -1,6 +1,8 @@ | ||||||
| local LumberMillFactory = require(MF.buildings .. "LumberMill") | local LumberMillFactory = require(MF.buildings .. "LumberMill") | ||||||
| local LumberMill = LumberMillFactory() | local LumberMill = LumberMillFactory() | ||||||
| 
 | 
 | ||||||
|  | local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value | ||||||
|  | 
 | ||||||
| data:extend({ | data:extend({ | ||||||
|     { |     { | ||||||
|         type = "recipe-category", |         type = "recipe-category", | ||||||
|  | @ -30,7 +32,8 @@ LumberMill.RecipeBuilder:new() | ||||||
|         { type = "item", name = "stone-brick",               amount = 40 }, |         { type = "item", name = "stone-brick",               amount = 40 }, | ||||||
|         { type = "item", name = "lumber",                    amount = 100 }, |         { type = "item", name = "lumber",                    amount = 100 }, | ||||||
|         { type = "item", name = "wooden-gear-wheel",         amount = 100 }, |         { type = "item", name = "wooden-gear-wheel",         amount = 100 }, | ||||||
|         { type = "item", name = "gold-plate",                amount = 60 }, |         { type = "item", name = "gold-plate",                amount = basic_circuit_board and 30 or 60 }, | ||||||
|  |         basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 30 } or nil, | ||||||
|         { type = "item", name = "burner-assembling-machine", amount = 5 } |         { type = "item", name = "burner-assembling-machine", amount = 5 } | ||||||
|     }) |     }) | ||||||
|     :apply({ |     :apply({ | ||||||
|  | @ -44,7 +47,8 @@ LumberMill.TechnologyBuilder:new() | ||||||
|     :ingredients({ { "wood-science-pack", 1 }, { "steam-science-pack", 1 } }) |     :ingredients({ { "wood-science-pack", 1 }, { "steam-science-pack", 1 } }) | ||||||
|     :apply() |     :apply() | ||||||
| 
 | 
 | ||||||
| LumberMill.RecipeBuilder:new() | if not basic_circuit_board then | ||||||
|  |     LumberMill.RecipeBuilder:new() | ||||||
|         :ingredients({ |         :ingredients({ | ||||||
|             { type = "item", name = "stone-brick",          amount = 40 }, |             { type = "item", name = "stone-brick",          amount = 40 }, | ||||||
|             { type = "item", name = "lumber",               amount = 50 }, |             { type = "item", name = "lumber",               amount = 50 }, | ||||||
|  | @ -62,7 +66,8 @@ LumberMill.RecipeBuilder:new() | ||||||
|             } |             } | ||||||
|         }) |         }) | ||||||
| 
 | 
 | ||||||
| table.insert(data.raw.technology["electronics"].effects, { |     table.insert(data.raw.technology["electronics"].effects, { | ||||||
|         type = "unlock-recipe", |         type = "unlock-recipe", | ||||||
|         recipe = "lumber-mill-electronic-circuit" |         recipe = "lumber-mill-electronic-circuit" | ||||||
| }) |     }) | ||||||
|  | end | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| local item_sounds = require("__base__.prototypes.item_sounds") | local item_sounds = require("__base__.prototypes.item_sounds") | ||||||
| 
 | 
 | ||||||
|  | local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value | ||||||
| local gfx = "__lignumis__/graphics/entity/wood-lab/" | local gfx = "__lignumis__/graphics/entity/wood-lab/" | ||||||
| 
 | 
 | ||||||
| data:extend({ | data:extend({ | ||||||
|  | @ -148,7 +149,8 @@ data:extend({ | ||||||
|             { type = "item", name = "lumber",            amount = 10 }, |             { type = "item", name = "lumber",            amount = 10 }, | ||||||
|             { type = "item", name = "wooden-gear-wheel", amount = 10 }, |             { type = "item", name = "wooden-gear-wheel", amount = 10 }, | ||||||
|             { type = "item", name = "stone-brick",       amount = 10 }, |             { type = "item", name = "stone-brick",       amount = 10 }, | ||||||
|             { type = "item", name = "gold-plate",        amount = 20 } |             { type = "item", name = "gold-plate",        amount = basic_circuit_board and 10 or 20 }, | ||||||
|  |             basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 10 } or nil | ||||||
|         }, |         }, | ||||||
|         results = { { type = "item", name = "wood-lab", amount = 1 } }, |         results = { { type = "item", name = "wood-lab", amount = 1 } }, | ||||||
|         enabled = false |         enabled = false | ||||||
|  |  | ||||||
|  | @ -1,6 +1,8 @@ | ||||||
| local BeltFactory = require(MF.logistics .. "Belts") | local BeltFactory = require(MF.logistics .. "Belts") | ||||||
| local Belt = BeltFactory("wood", "brown", "slow") | local Belt = BeltFactory("wood", "brown", "slow") | ||||||
| 
 | 
 | ||||||
|  | local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value | ||||||
|  | 
 | ||||||
| Belt.EntityBuilder:new() | Belt.EntityBuilder:new() | ||||||
|     :itemsPerSecond(7.5) |     :itemsPerSecond(7.5) | ||||||
|     :nextTier("") |     :nextTier("") | ||||||
|  | @ -36,6 +38,7 @@ Belt.RecipeBuilder:new() | ||||||
|     :ingredients("splitter", { |     :ingredients("splitter", { | ||||||
|         { type = "item", name = "wood-transport-belt", amount = 2 }, |         { type = "item", name = "wood-transport-belt", amount = 2 }, | ||||||
|         { type = "item", name = "lumber",              amount = 2 }, |         { type = "item", name = "lumber",              amount = 2 }, | ||||||
|  |         basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 5 } or | ||||||
|         { type = "item", name = "gold-cable", amount = 10 } |         { type = "item", name = "gold-cable", amount = 10 } | ||||||
|     }) |     }) | ||||||
|     :apply() |     :apply() | ||||||
|  | @ -47,7 +50,8 @@ Belt.TechnologyBuilder:new() | ||||||
|     :time(10) |     :time(10) | ||||||
|     :apply() |     :apply() | ||||||
| 
 | 
 | ||||||
| data:extend({ | if not basic_circuit_board then | ||||||
|  |     data:extend({ | ||||||
|         Belt.RecipeBuilder:new() |         Belt.RecipeBuilder:new() | ||||||
|             :ingredients("splitter", { |             :ingredients("splitter", { | ||||||
|                 { type = "item", name = "wood-transport-belt", amount = 2 }, |                 { type = "item", name = "wood-transport-belt", amount = 2 }, | ||||||
|  | @ -65,9 +69,10 @@ data:extend({ | ||||||
|                 } |                 } | ||||||
|             }) |             }) | ||||||
|             .splitter |             .splitter | ||||||
| }) |     }) | ||||||
| 
 | 
 | ||||||
| table.insert(data.raw.technology["electronics"].effects, { |     table.insert(data.raw.technology["electronics"].effects, { | ||||||
|         type = "unlock-recipe", |         type = "unlock-recipe", | ||||||
|         recipe = "wood-splitter-electronic-circuit" |         recipe = "wood-splitter-electronic-circuit" | ||||||
| }) |     }) | ||||||
|  | end | ||||||
|  |  | ||||||
|  | @ -1,6 +1,8 @@ | ||||||
| local pipecovers = require("prototypes/content/gold/pipecovers") | local pipecovers = require("prototypes/content/gold/pipecovers") | ||||||
| local machinepipes = require("prototypes/content/gold/machinepipes") | local machinepipes = require("prototypes/content/gold/machinepipes") | ||||||
| 
 | 
 | ||||||
|  | local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value | ||||||
|  | 
 | ||||||
| local silo = table.deepcopy(data.raw["rocket-silo"]["rocket-silo"]) | local silo = table.deepcopy(data.raw["rocket-silo"]["rocket-silo"]) | ||||||
| silo.name = "provisional-rocket-silo" | silo.name = "provisional-rocket-silo" | ||||||
| silo.icon = "__lignumis__/graphics/icons/provisional-rocket-silo.png" | silo.icon = "__lignumis__/graphics/icons/provisional-rocket-silo.png" | ||||||
|  | @ -69,6 +71,7 @@ silo_recipe.ingredients = { | ||||||
|     { type = "item", name = "wooden-gear-wheel", amount = 250 }, |     { type = "item", name = "wooden-gear-wheel", amount = 250 }, | ||||||
|     { type = "item", name = "stone-brick",       amount = 500 }, |     { type = "item", name = "stone-brick",       amount = 500 }, | ||||||
|     { type = "item", name = "gold-plate",        amount = 500 }, |     { type = "item", name = "gold-plate",        amount = 500 }, | ||||||
|  |     basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 100 } or | ||||||
|     { type = "item", name = "gold-cable", amount = 100 } |     { type = "item", name = "gold-cable", amount = 100 } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -90,9 +93,10 @@ local rocket_part_recipe = { | ||||||
|     hide_from_player_crafting = true, |     hide_from_player_crafting = true, | ||||||
|     category = "rocket-building", |     category = "rocket-building", | ||||||
|     ingredients = { |     ingredients = { | ||||||
|         { type = "item",  name = "lumber",            amount = 5 }, |         { type = "item", name = "lumber",            amount = basic_circuit_board and 3 or 5 }, | ||||||
|         { type = "item",  name = "wooden-gear-wheel", amount = 5 }, |         { type = "item", name = "wooden-gear-wheel", amount = basic_circuit_board and 4 or 5 }, | ||||||
|         { type = "item", name = "gold-plate",        amount = 5 }, |         { type = "item", name = "gold-plate",        amount = 5 }, | ||||||
|  |         basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 5 } or | ||||||
|         { type = "item", name = "gold-cable", amount = 5 }, |         { type = "item", name = "gold-cable", amount = 5 }, | ||||||
|         { type = "fluid", name = "wood-pulp", amount = 5 } |         { type = "fluid", name = "wood-pulp", amount = 5 } | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|  | @ -1,6 +1,8 @@ | ||||||
| local Technology = require("__cf-lib__/data/Technology") | local Technology = require("__cf-lib__/data/Technology") | ||||||
| local Recipe = require("__cf-lib__/data/Recipe") | local Recipe = require("__cf-lib__/data/Recipe") | ||||||
| 
 | 
 | ||||||
|  | local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value | ||||||
|  | 
 | ||||||
| -- Burner mining drill | -- Burner mining drill | ||||||
| 
 | 
 | ||||||
| local drill = data.raw["mining-drill"]["burner-mining-drill"] | local drill = data.raw["mining-drill"]["burner-mining-drill"] | ||||||
|  | @ -19,9 +21,10 @@ drill_item.icon = "__lignumis__/graphics/icons/burner-mining-drill.png" | ||||||
| 
 | 
 | ||||||
| local drill_recipe = data.raw["recipe"]["burner-mining-drill"] | local drill_recipe = data.raw["recipe"]["burner-mining-drill"] | ||||||
| drill_recipe.ingredients = { | drill_recipe.ingredients = { | ||||||
|     { type = "item", name = "wooden-gear-wheel", amount = 3 }, |  | ||||||
|     { type = "item", name = "stone-furnace",     amount = 1 }, |     { type = "item", name = "stone-furnace",     amount = 1 }, | ||||||
|     { type = "item", name = "lumber",            amount = 3 } |     { type = "item", name = "wooden-gear-wheel", amount = basic_circuit_board and 2 or 3 }, | ||||||
|  |     { type = "item", name = "lumber",            amount = basic_circuit_board and 2 or 3 }, | ||||||
|  |     basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 2 } or nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -26,6 +26,20 @@ data:extend({ | ||||||
|         setting_type = "startup", |         setting_type = "startup", | ||||||
|         default_value = true, |         default_value = true, | ||||||
|         order = "d" |         order = "d" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "bool-setting", | ||||||
|  |         name = "lignumis-basic-circuit-board", | ||||||
|  |         setting_type = "startup", | ||||||
|  |         default_value = false, | ||||||
|  |         order = "e" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "bool-setting", | ||||||
|  |         name = "lignumis-circuit-progression", | ||||||
|  |         setting_type = "startup", | ||||||
|  |         default_value = false, | ||||||
|  |         order = "f" | ||||||
|     } |     } | ||||||
| }) | }) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										
											BIN
										
									
								
								sources/icons/basic-circuit-board.afphoto
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								sources/icons/basic-circuit-board.afphoto
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Simon Brodtmann
						Simon Brodtmann