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

View file

@ -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).
**If you start a new game, check out the setting for adding Basic circuit boards.**
## Mod recommendations
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.
#### [Diversitree](https://mods.factorio.com/mod/Diversitree)
Planted trees will have more than one variant.
#### [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.
@ -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.
#### [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.
#### [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
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
- Improve transition to Nauvis a bit more
- 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
- Add information in Factoriopedia
- Compatibility with [On Wayward Seas](https://mods.factorio.com/mod/wayward-seas)

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"
}
})

Binary file not shown.