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,10 +3,13 @@ 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 },
 | 
				
			||||||
        { type = "item", name = "gold-cable",          amount = 10 },
 | 
					        basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 10 } or
 | 
				
			||||||
 | 
					        { type = "item", name = "gold-cable", amount = 10 },
 | 
				
			||||||
        { type = "item", name = "wood-transport-belt", amount = 1 }
 | 
					        { type = "item", name = "wood-transport-belt", amount = 1 }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    energy_required = 1
 | 
					    energy_required = 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")
 | 
				
			||||||
    localised_name = { "entity-name.aai-wood-loader" },
 | 
					    nauvis_recipe:assign({
 | 
				
			||||||
    icons = table.assign(
 | 
					        localised_name = { "entity-name.aai-wood-loader" },
 | 
				
			||||||
        table.deepcopy(data.raw.item["aai-wood-loader"].icons),
 | 
					        icons = table.assign(
 | 
				
			||||||
        { { icon = "__base__/graphics/icons/electronic-circuit.png", scale = 0.25, shift = { 8, 8 } } }
 | 
					            table.deepcopy(data.raw.item["aai-wood-loader"].icons),
 | 
				
			||||||
    )
 | 
					            { { 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,7 +224,8 @@ 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 },
 | 
				
			||||||
        { type = "item", name = "gold-cable",        amount = 10 }
 | 
					        basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 5 } or
 | 
				
			||||||
 | 
					        { type = "item", name = "gold-cable", amount = 10 }
 | 
				
			||||||
    }),
 | 
					    }),
 | 
				
			||||||
    generator("gold"),
 | 
					    generator("gold"),
 | 
				
			||||||
    generator_item("gold", 0),
 | 
					    generator_item("gold", 0),
 | 
				
			||||||
| 
						 | 
					@ -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",
 | 
				
			||||||
| 
						 | 
					@ -77,10 +79,10 @@ data:extend({
 | 
				
			||||||
        category = "crafting-with-steam",
 | 
					        category = "crafting-with-steam",
 | 
				
			||||||
        energy_required = 10,
 | 
					        energy_required = 10,
 | 
				
			||||||
        ingredients = {
 | 
					        ingredients = {
 | 
				
			||||||
            { 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
 | 
				
			||||||
    type = "unlock-recipe",
 | 
					    data:extend({
 | 
				
			||||||
    recipe = "burner-agricultural-tower-electronic-circuit"
 | 
					        {
 | 
				
			||||||
})
 | 
					            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",
 | 
				
			||||||
 | 
					        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
 | 
				
			||||||
    type = "unlock-recipe",
 | 
					    data:extend({
 | 
				
			||||||
    recipe = "burner-assembling-machine-electronic-circuit"
 | 
					        {
 | 
				
			||||||
})
 | 
					            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",
 | 
				
			||||||
 | 
					        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"])
 | 
				
			||||||
| 
						 | 
					@ -65,8 +66,9 @@ data:extend({
 | 
				
			||||||
        enabled = false,
 | 
					        enabled = false,
 | 
				
			||||||
        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,25 +47,27 @@ 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
 | 
				
			||||||
    :ingredients({
 | 
					    LumberMill.RecipeBuilder:new()
 | 
				
			||||||
        { type = "item", name = "stone-brick",          amount = 40 },
 | 
					        :ingredients({
 | 
				
			||||||
        { type = "item", name = "lumber",               amount = 50 },
 | 
					            { type = "item", name = "stone-brick",          amount = 40 },
 | 
				
			||||||
        { type = "item", name = "iron-gear-wheel",      amount = 50 },
 | 
					            { type = "item", name = "lumber",               amount = 50 },
 | 
				
			||||||
        { type = "item", name = "electronic-circuit",   amount = 20 },
 | 
					            { type = "item", name = "iron-gear-wheel",      amount = 50 },
 | 
				
			||||||
        { type = "item", name = "assembling-machine-1", amount = 2 }
 | 
					            { type = "item", name = "electronic-circuit",   amount = 20 },
 | 
				
			||||||
    })
 | 
					            { type = "item", name = "assembling-machine-1", amount = 2 }
 | 
				
			||||||
    :apply({
 | 
					        })
 | 
				
			||||||
        name = "lumber-mill-electronic-circuit",
 | 
					        :apply({
 | 
				
			||||||
        localised_name = { "entity-name.lumber-mill" },
 | 
					            name = "lumber-mill-electronic-circuit",
 | 
				
			||||||
        category = "wood-processing-or-assembling",
 | 
					            localised_name = { "entity-name.lumber-mill" },
 | 
				
			||||||
        icons = {
 | 
					            category = "wood-processing-or-assembling",
 | 
				
			||||||
            { icon = lumber_mill_item.icon },
 | 
					            icons = {
 | 
				
			||||||
            { icon = "__base__/graphics/icons/electronic-circuit.png", scale = 0.25, shift = { 8, 8 } }
 | 
					                { icon = lumber_mill_item.icon },
 | 
				
			||||||
        }
 | 
					                { icon = "__base__/graphics/icons/electronic-circuit.png", scale = 0.25, shift = { 8, 8 } }
 | 
				
			||||||
    })
 | 
					            }
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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,7 +38,8 @@ 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 },
 | 
				
			||||||
        { type = "item", name = "gold-cable",          amount = 10 }
 | 
					        basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 5 } or
 | 
				
			||||||
 | 
					        { type = "item", name = "gold-cable", amount = 10 }
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
    :apply()
 | 
					    :apply()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -47,27 +50,29 @@ Belt.TechnologyBuilder:new()
 | 
				
			||||||
    :time(10)
 | 
					    :time(10)
 | 
				
			||||||
    :apply()
 | 
					    :apply()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
data:extend({
 | 
					if not basic_circuit_board then
 | 
				
			||||||
    Belt.RecipeBuilder:new()
 | 
					    data:extend({
 | 
				
			||||||
        :ingredients("splitter", {
 | 
					        Belt.RecipeBuilder:new()
 | 
				
			||||||
            { type = "item", name = "wood-transport-belt", amount = 2 },
 | 
					            :ingredients("splitter", {
 | 
				
			||||||
            { type = "item", name = "lumber",              amount = 2 },
 | 
					                { type = "item", name = "wood-transport-belt", amount = 2 },
 | 
				
			||||||
            { type = "item", name = "electronic-circuit",  amount = 2 }
 | 
					                { type = "item", name = "lumber",              amount = 2 },
 | 
				
			||||||
        })
 | 
					                { type = "item", name = "electronic-circuit",  amount = 2 }
 | 
				
			||||||
        :build({
 | 
					            })
 | 
				
			||||||
            splitter = {
 | 
					            :build({
 | 
				
			||||||
                name = "wood-splitter-electronic-circuit",
 | 
					                splitter = {
 | 
				
			||||||
                localised_name = { "entity-name.wood-splitter" },
 | 
					                    name = "wood-splitter-electronic-circuit",
 | 
				
			||||||
                icons = {
 | 
					                    localised_name = { "entity-name.wood-splitter" },
 | 
				
			||||||
                    { icon = splitter_item.icon },
 | 
					                    icons = {
 | 
				
			||||||
                    { icon = "__base__/graphics/icons/electronic-circuit.png", scale = 0.25, shift = { 8, 8 } }
 | 
					                        { icon = splitter_item.icon },
 | 
				
			||||||
 | 
					                        { icon = "__base__/graphics/icons/electronic-circuit.png", scale = 0.25, shift = { 8, 8 } }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            })
 | 
				
			||||||
        })
 | 
					            .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,7 +71,8 @@ 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 },
 | 
				
			||||||
    { type = "item", name = "gold-cable",        amount = 100 }
 | 
					    basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 100 } or
 | 
				
			||||||
 | 
					    { type = "item", name = "gold-cable", amount = 100 }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local rocket = table.deepcopy(data.raw["rocket-silo-rocket"]["rocket-silo-rocket"])
 | 
					local rocket = table.deepcopy(data.raw["rocket-silo-rocket"]["rocket-silo-rocket"])
 | 
				
			||||||
| 
						 | 
					@ -90,11 +93,12 @@ 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 },
 | 
				
			||||||
        { type = "item",  name = "gold-cable",        amount = 5 },
 | 
					        basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 5 } or
 | 
				
			||||||
        { type = "fluid", name = "wood-pulp",         amount = 5 }
 | 
					        { type = "item", name = "gold-cable", amount = 5 },
 | 
				
			||||||
 | 
					        { type = "fluid", name = "wood-pulp", amount = 5 }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    results = { { type = "item", name = "rocket-part", amount = 1 } },
 | 
					    results = { { type = "item", name = "rocket-part", amount = 1 } },
 | 
				
			||||||
    allow_productivity = true
 | 
					    allow_productivity = true
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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