Add optional Basic circuit board

This commit is contained in:
Simon Brodtmann 2025-02-28 00:56:40 +01:00
parent d0818722ae
commit b30eb0b019
19 changed files with 269 additions and 129 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

View file

@ -75,6 +75,7 @@ dead-cupriavidus-necator=Dead Cupriavidus necator
gold-quality-catalyst=Gold quality catalyst
wood-armor=Wood armor
wood-darts-magazine=Wood darts magazine
basic-circuit-board=Basic circuit board
[item-description]
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-ammo-progression=Enable progressive ammo recipes
lignumis-technology-progression=Enable progressive technologies
lignumis-basic-circuit-board=Enable basic circuit board
lignumis-circuit-progression=Enable progressive circuit recipes
[mod-setting-description]
lignumis-belt-progression=Yellow belts will require wood belts 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-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]
no-quality-catalyst=No quality catalyst

View file

@ -22,4 +22,11 @@ wall.emissions_per_second.noise = -30 / 60
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

View file

@ -3,10 +3,13 @@ local Technology = require("__cf-lib__/data/Technology")
if not mods["aai-loaders"] then return end
local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value
local recipe = {
ingredients = {
{ 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 }
},
energy_required = 1
@ -40,17 +43,19 @@ AAILoaders.make_tier({
localise = false
})
local nauvis_recipe = Recipe:new("aai-wood-loader"):clone("wood-loader-electronic-circuit")
nauvis_recipe:replaceIngredient("gold-cable", "electronic-circuit")
nauvis_recipe:unlockedByTechnology("electronics")
nauvis_recipe:assign({
localised_name = { "entity-name.aai-wood-loader" },
icons = table.assign(
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()
if not basic_circuit_board then
local nauvis_recipe = Recipe:new("aai-wood-loader"):clone("wood-loader-electronic-circuit")
nauvis_recipe:replaceIngredient("gold-cable", "electronic-circuit")
nauvis_recipe:unlockedByTechnology("electronics")
nauvis_recipe:assign({
localised_name = { "entity-name.aai-wood-loader" },
icons = table.assign(
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()
end
if mods["aai-loaders-sane"] then
Technology:new("wood-logistics"):addRecipe("aai-wood-loader")

View 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

View file

@ -1,6 +1,8 @@
local item_sounds = require("__base__.prototypes.item_sounds")
local item_tints = require("__base__.prototypes.item-tints")
local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value
local function robot(color)
local result = table.deepcopy(data.raw["construction-robot"]["construction-robot"])
result.name = "basic-construction-robot-" .. color
@ -222,7 +224,8 @@ data:extend({
robot_recipe("gold", {
{ type = "item", name = "gold-plate", amount = 2 },
{ 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_item("gold", 0),
@ -233,7 +236,8 @@ data:extend({
roboport("gold"),
roboport_item("gold", 0),
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 }
}),
@ -241,9 +245,9 @@ data:extend({
robot("copper"),
robot_item("copper", 1),
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 = "electronic-circuit", amount = 10 }
{ type = "item", name = "electronic-circuit", amount = 5 }
}),
generator("copper"),
generator_item("copper", 1),
@ -254,9 +258,9 @@ data:extend({
roboport("copper"),
roboport_item("copper", 1),
roboport_recipe("copper", {
{ type = "item", name = "copper-plate", amount = 10 },
{ type = "item", name = "iron-gear-wheel", amount = 10 },
{ type = "item", name = "electronic-circuit", amount = 20 }
{ type = "item", name = "copper-plate", amount = 5 },
{ type = "item", name = "electronic-circuit", amount = 10 },
{ type = "item", name = "iron-gear-wheel", amount = 10 }
}),
-- Technology

View file

@ -2,6 +2,8 @@ local hit_effects = require("__base__.prototypes.entity.hit-effects")
local item_sounds = require("__base__.prototypes.item_sounds")
local item_tints = require("__base__.prototypes.item-tints")
local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value
data:extend({
{
type = "radar",
@ -77,10 +79,10 @@ data:extend({
category = "crafting-with-steam",
energy_required = 10,
ingredients = {
{ type = "item", name = "stone-brick", amount = 4 },
{ type = "item", name = "wooden-gear-wheel", amount = 4 },
{ type = "item", name = "gold-plate", amount = 4 },
{ type = "item", name = "gold-cable", amount = 4 }
{ type = "item", name = "stone-brick", amount = 4 },
{ type = "item", name = "wooden-gear-wheel", amount = 4 },
{ type = "item", name = "gold-plate", 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 } },
enabled = false

View file

@ -1,5 +1,6 @@
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 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.graphics_set.animation.layers[1].filename = gfx .. "burner-agricultural-tower-base.png"
agricultural_tower.graphics_set.working_visualisations[1].animation.filename = gfx ..
"burner-agricultural-tower-base.png"
"burner-agricultural-tower-base.png"
agricultural_tower.energy_source = {
type = "burner",
fuel_categories = { "chemical" },
@ -86,25 +87,8 @@ data:extend({
{ type = "item", name = "stone-brick", amount = 5 },
{ type = "item", name = "wooden-gear-wheel", amount = 20 },
{ type = "item", name = "lumber", amount = 20 },
{ type = "item", name = "gold-plate", amount = 20 }
},
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 }
{ 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
@ -125,7 +109,30 @@ tech.ignore_tech_cost_multiplier = true
data.raw.technology["fish-breeding"].prerequisites = { "agricultural-science-pack" }
table.insert(data.raw.technology["electronics"].effects, {
type = "unlock-recipe",
recipe = "burner-agricultural-tower-electronic-circuit"
})
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",
recipe = "burner-agricultural-tower-electronic-circuit"
})
end

View file

@ -1,5 +1,6 @@
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 assembling_machine = table.deepcopy(data.raw["assembling-machine"]["assembling-machine-1"])
@ -71,24 +72,8 @@ data:extend({
ingredients = {
{ type = "item", name = "wooden-gear-wheel", amount = 5 },
{ type = "item", name = "lumber", amount = 8 },
{ type = "item", name = "gold-cable", amount = 20 }
},
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 }
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
@ -118,7 +103,29 @@ data:extend({
}
})
table.insert(data.raw.technology["electronics"].effects, {
type = "unlock-recipe",
recipe = "burner-assembling-machine-electronic-circuit"
})
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",
recipe = "burner-assembling-machine-electronic-circuit"
})
end

View file

@ -1,5 +1,6 @@
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 long_handed_inserter = table.deepcopy(data.raw["inserter"]["long-handed-inserter"])
@ -65,9 +66,10 @@ data:extend({
enabled = false,
ingredients = {
{ type = "item", name = "wooden-gear-wheel", amount = 1 },
{ type = "item", name = "burner-inserter", amount = 1 },
{ type = "item", name = "gold-cable", amount = 4 }
{ type = "item", name = "burner-inserter", amount = 1 },
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 } }
}
})
})

View file

@ -29,5 +29,6 @@ require("active-noise-cancelling-tower")
require("quality-assembler")
require("decoratives")
require("wood-military")
require("basic-circuit-boards")
require("noise")

View file

@ -1,6 +1,8 @@
local LumberMillFactory = require(MF.buildings .. "LumberMill")
local LumberMill = LumberMillFactory()
local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value
data:extend({
{
type = "recipe-category",
@ -30,7 +32,8 @@ LumberMill.RecipeBuilder:new()
{ type = "item", name = "stone-brick", amount = 40 },
{ type = "item", name = "lumber", 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 }
})
:apply({
@ -44,25 +47,27 @@ LumberMill.TechnologyBuilder:new()
:ingredients({ { "wood-science-pack", 1 }, { "steam-science-pack", 1 } })
:apply()
LumberMill.RecipeBuilder:new()
:ingredients({
{ type = "item", name = "stone-brick", amount = 40 },
{ type = "item", name = "lumber", amount = 50 },
{ type = "item", name = "iron-gear-wheel", amount = 50 },
{ type = "item", name = "electronic-circuit", amount = 20 },
{ type = "item", name = "assembling-machine-1", amount = 2 }
})
:apply({
name = "lumber-mill-electronic-circuit",
localised_name = { "entity-name.lumber-mill" },
category = "wood-processing-or-assembling",
icons = {
{ icon = lumber_mill_item.icon },
{ icon = "__base__/graphics/icons/electronic-circuit.png", scale = 0.25, shift = { 8, 8 } }
}
})
if not basic_circuit_board then
LumberMill.RecipeBuilder:new()
:ingredients({
{ type = "item", name = "stone-brick", amount = 40 },
{ type = "item", name = "lumber", amount = 50 },
{ type = "item", name = "iron-gear-wheel", amount = 50 },
{ type = "item", name = "electronic-circuit", amount = 20 },
{ type = "item", name = "assembling-machine-1", amount = 2 }
})
:apply({
name = "lumber-mill-electronic-circuit",
localised_name = { "entity-name.lumber-mill" },
category = "wood-processing-or-assembling",
icons = {
{ 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, {
type = "unlock-recipe",
recipe = "lumber-mill-electronic-circuit"
})
table.insert(data.raw.technology["electronics"].effects, {
type = "unlock-recipe",
recipe = "lumber-mill-electronic-circuit"
})
end

View file

@ -1,5 +1,6 @@
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/"
data:extend({
@ -148,7 +149,8 @@ data:extend({
{ type = "item", name = "lumber", amount = 10 },
{ type = "item", name = "wooden-gear-wheel", 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 } },
enabled = false

View file

@ -1,6 +1,8 @@
local BeltFactory = require(MF.logistics .. "Belts")
local Belt = BeltFactory("wood", "brown", "slow")
local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value
Belt.EntityBuilder:new()
:itemsPerSecond(7.5)
:nextTier("")
@ -36,7 +38,8 @@ Belt.RecipeBuilder:new()
:ingredients("splitter", {
{ type = "item", name = "wood-transport-belt", 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()
@ -47,27 +50,29 @@ Belt.TechnologyBuilder:new()
:time(10)
:apply()
data:extend({
Belt.RecipeBuilder:new()
:ingredients("splitter", {
{ type = "item", name = "wood-transport-belt", amount = 2 },
{ type = "item", name = "lumber", amount = 2 },
{ type = "item", name = "electronic-circuit", amount = 2 }
})
:build({
splitter = {
name = "wood-splitter-electronic-circuit",
localised_name = { "entity-name.wood-splitter" },
icons = {
{ icon = splitter_item.icon },
{ icon = "__base__/graphics/icons/electronic-circuit.png", scale = 0.25, shift = { 8, 8 } }
if not basic_circuit_board then
data:extend({
Belt.RecipeBuilder:new()
:ingredients("splitter", {
{ type = "item", name = "wood-transport-belt", amount = 2 },
{ type = "item", name = "lumber", amount = 2 },
{ type = "item", name = "electronic-circuit", amount = 2 }
})
:build({
splitter = {
name = "wood-splitter-electronic-circuit",
localised_name = { "entity-name.wood-splitter" },
icons = {
{ 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, {
type = "unlock-recipe",
recipe = "wood-splitter-electronic-circuit"
})
table.insert(data.raw.technology["electronics"].effects, {
type = "unlock-recipe",
recipe = "wood-splitter-electronic-circuit"
})
end

View file

@ -1,6 +1,8 @@
local pipecovers = require("prototypes/content/gold/pipecovers")
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"])
silo.name = "provisional-rocket-silo"
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 = "stone-brick", 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"])
@ -90,11 +93,12 @@ local rocket_part_recipe = {
hide_from_player_crafting = true,
category = "rocket-building",
ingredients = {
{ type = "item", name = "lumber", amount = 5 },
{ type = "item", name = "wooden-gear-wheel", amount = 5 },
{ type = "item", name = "gold-plate", amount = 5 },
{ type = "item", name = "gold-cable", amount = 5 },
{ type = "fluid", name = "wood-pulp", amount = 5 }
{ type = "item", name = "lumber", amount = basic_circuit_board and 3 or 5 },
{ type = "item", name = "wooden-gear-wheel", amount = basic_circuit_board and 4 or 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 = "fluid", name = "wood-pulp", amount = 5 }
},
results = { { type = "item", name = "rocket-part", amount = 1 } },
allow_productivity = true

View file

@ -1,6 +1,8 @@
local Technology = require("__cf-lib__/data/Technology")
local Recipe = require("__cf-lib__/data/Recipe")
local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value
-- 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"]
drill_recipe.ingredients = {
{ type = "item", name = "wooden-gear-wheel", amount = 3 },
{ 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
}

View file

@ -26,6 +26,20 @@ data:extend({
setting_type = "startup",
default_value = true,
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"
}
})