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).
|
||||
|
||||
**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)
|
||||
|
|
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
|
||||
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
|
||||
|
|
|
@ -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
|
|
@ -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")
|
||||
|
|
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_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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 } }
|
||||
}
|
||||
})
|
||||
})
|
||||
|
|
|
@ -29,5 +29,6 @@ require("active-noise-cancelling-tower")
|
|||
require("quality-assembler")
|
||||
require("decoratives")
|
||||
require("wood-military")
|
||||
require("basic-circuit-boards")
|
||||
|
||||
require("noise")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
})
|
||||
|
||||
|
|
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
Reference in a new issue