Add support for wood logistics
This commit is contained in:
parent
663779901d
commit
996fd2f7c4
7 changed files with 326 additions and 183 deletions
|
|
@ -12,7 +12,7 @@
|
|||
"space-age >= 2.0.53",
|
||||
"astroponics >= 1.2.0",
|
||||
"bioprocessing-tab",
|
||||
"cf-lib >= 0.0.13",
|
||||
"cf-lib >= 1.1.0",
|
||||
"flib",
|
||||
"gleba-water-cane",
|
||||
"lignumis-assets >= 1.0.3",
|
||||
|
|
@ -27,24 +27,24 @@
|
|||
"? aai-loaders",
|
||||
"? aai-loaders-sane",
|
||||
"? any-planet-start",
|
||||
"?atan-nuclear-science",
|
||||
"? crushing-industry",
|
||||
"?Diversitree",
|
||||
"? fulgora-coralmium-agriculture",
|
||||
"?gleba-reborn",
|
||||
"? hot-metals >= 1.1.0",
|
||||
"?Krastorio2-spaced-out",
|
||||
"? lane-splitters",
|
||||
"?metal-and-stars",
|
||||
"(?)secretas",
|
||||
"(?)Wood_Gasification_updated",
|
||||
"? wood-industry",
|
||||
"? wood-military >= 2.3.3",
|
||||
"? canal-excavator >= 1.9.0",
|
||||
"? wood-logistics",
|
||||
"(?) atan-nuclear-science",
|
||||
"(?) Diversitree",
|
||||
"(?) gleba-reborn",
|
||||
"(?) Krastorio2-spaced-out",
|
||||
"(?) metal-and-stars",
|
||||
"(?) secretas",
|
||||
"(?) Wood_Gasification_updated",
|
||||
"! apm_power_ldinc",
|
||||
"! early-agriculture",
|
||||
"! planet-picker",
|
||||
"!wood-logistics",
|
||||
"! wood-universe-modpack",
|
||||
"! rso-mod"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
local Recipe = require("__cf-lib__/data/Recipe")
|
||||
local Technology = require("__cf-lib__/data/Technology")
|
||||
local LumberMillFactory = require(MF.buildings .. "LumberMill")
|
||||
local LumberMill = LumberMillFactory()
|
||||
|
|
@ -13,6 +14,7 @@ data:extend({
|
|||
|
||||
local has_oxygen = data.raw["surface-property"]["oxygen"] ~= nil
|
||||
|
||||
if not mods["wood-logistics"] then
|
||||
LumberMill.EntityBuilder:new()
|
||||
:burnerEnergySource({ emissions_per_minute = { noise = 100 } })
|
||||
:baseProductivity(0.5)
|
||||
|
|
@ -78,3 +80,71 @@ LumberMill.RecipeBuilder:new()
|
|||
})
|
||||
|
||||
Technology:new(basic_circuit_board and "copper-processing" or "electronics"):addRecipe("lumber-mill-copper")
|
||||
else
|
||||
table.assign(data.raw["assembling-machine"]["lumber-mill"], {
|
||||
energy_source = {
|
||||
type = "burner",
|
||||
fuel_categories = { "chemical" },
|
||||
effectivity = 1,
|
||||
fuel_inventory_size = 3,
|
||||
emissions_per_minute = { pollution = 10, noise = 100 },
|
||||
},
|
||||
crafting_categories = { "wood-processing" },
|
||||
energy_usage = "1000kW",
|
||||
module_slots = 4,
|
||||
max_health = 500,
|
||||
surface_conditions = {
|
||||
{
|
||||
property = has_oxygen and "oxygen" or "pressure",
|
||||
min = 3
|
||||
},
|
||||
{
|
||||
property = "gravity",
|
||||
min = 1
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
data.raw.item["lumber-mill"].default_import_location = "lignumis"
|
||||
|
||||
table.assign(data.raw.recipe["lumber-mill"], {
|
||||
additional_categories = { "wood-processing" },
|
||||
ingredients = table.trim({
|
||||
{ type = "item", name = "stone-brick", amount = 40 },
|
||||
{ type = "item", name = "lumber", amount = 50 },
|
||||
{ type = "item", name = "wooden-gear-wheel", amount = 50 },
|
||||
{ type = "item", name = "gold-plate", amount = basic_circuit_board and 20 or 40 },
|
||||
basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 20 } or nil,
|
||||
{ type = "item", name = "burner-assembling-machine", amount = 2 }
|
||||
})
|
||||
})
|
||||
|
||||
table.assign(data.raw.technology["advanced-carpentry"], {
|
||||
prerequisites = { "steam-science-pack" },
|
||||
unit = {
|
||||
count = 250,
|
||||
time = 15,
|
||||
ingredients = {
|
||||
{ "wood-science-pack", 1 },
|
||||
{ "steam-science-pack", 1 }
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Recipe:new("lumber-mill")
|
||||
:clone("lumber-mill-copper")
|
||||
:assign({
|
||||
localised_name = { "entity-name.lumber-mill" },
|
||||
icons = {
|
||||
{ icon = data.raw.item["lumber-mill"].icon },
|
||||
{ icon = basic_circuit_board and "__base__/graphics/icons/copper-plate.png" or "__base__/graphics/icons/electronic-circuit.png", scale = 0.25, shift = { 8, 8 } }
|
||||
}
|
||||
})
|
||||
:replaceIngredient("gold-plate", "copper-plate")
|
||||
:apply()
|
||||
|
||||
Technology:new(basic_circuit_board and "copper-processing" or "electronics"):addRecipe("lumber-mill-copper")
|
||||
end
|
||||
|
||||
Recipe:new("wooden-chest"):addCategory("wood-processing")
|
||||
Recipe:new("small-electric-pole"):addCategory("wood-processing")
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
local item_sounds = require("__base__.prototypes.item_sounds")
|
||||
local Recipe = require("__cf-lib__/data/Recipe")
|
||||
|
||||
if not mods["wood-logistics"] then
|
||||
data:extend({
|
||||
{
|
||||
type = "item",
|
||||
|
|
@ -32,3 +34,6 @@ data:extend({
|
|||
energy_required = 1
|
||||
}
|
||||
})
|
||||
else
|
||||
Recipe:new("lumber"):addCategory("wood-processing")
|
||||
end
|
||||
|
|
@ -100,17 +100,17 @@ emit("lab", "biolab", 20)
|
|||
emit("locomotive", "locomotive", 200)
|
||||
emit_constant("locomotive", "locomotive", 10)
|
||||
|
||||
--emit_constant("transport-belt", "wood-transport-belt", 2)
|
||||
emit_constant("transport-belt", "wood-transport-belt", 2)
|
||||
emit_constant("transport-belt", "transport-belt", 3)
|
||||
emit_constant("transport-belt", "fast-transport-belt", 4)
|
||||
emit_constant("transport-belt", "express-transport-belt", 6)
|
||||
emit_constant("transport-belt", "turbo-transport-belt", 8)
|
||||
--emit_constant("underground-belt", "wood-underground-belt", 7.5)
|
||||
emit_constant("underground-belt", "wood-underground-belt", 7.5)
|
||||
emit_constant("underground-belt", "underground-belt", 10)
|
||||
emit_constant("underground-belt", "fast-underground-belt", 20)
|
||||
emit_constant("underground-belt", "express-underground-belt", 30)
|
||||
emit_constant("underground-belt", "turbo-underground-belt", 40)
|
||||
--emit_constant("splitter", "wood-splitter", 20)
|
||||
emit_constant("splitter", "wood-splitter", 20)
|
||||
emit_constant("splitter", "splitter", 30)
|
||||
emit_constant("splitter", "fast-splitter", 40)
|
||||
emit_constant("splitter", "express-splitter", 50)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
local BeltFactory = require(MF.logistics .. "Belts")
|
||||
local Belt = BeltFactory("wood", "brown", "slow")
|
||||
local Recipe = require("__cf-lib__/data/Recipe")
|
||||
local Item = require("__cf-lib__/data/Item")
|
||||
|
||||
local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].value
|
||||
|
||||
if not mods["wood-logistics"] then
|
||||
Belt.EntityBuilder:new()
|
||||
:itemsPerSecond(7.5)
|
||||
:nextTier("")
|
||||
|
|
@ -102,3 +105,47 @@ if not basic_circuit_board then
|
|||
recipe = "wood-splitter-electronic-circuit"
|
||||
})
|
||||
end
|
||||
|
||||
else
|
||||
Recipe:new("wood-transport-belt")
|
||||
:replaceIngredient("copper-cable", "wooden-gear-wheel", 1)
|
||||
:assign({
|
||||
additional_categories = { "wood-processing" }
|
||||
})
|
||||
|
||||
Recipe:new("wood-underground-belt")
|
||||
:assign({
|
||||
additional_categories = { "wood-processing" }
|
||||
})
|
||||
|
||||
Recipe:new("wood-splitter")
|
||||
:replaceIngredient("copper-cable", basic_circuit_board and "basic-circuit-board" or "gold-cable", basic_circuit_board and 5 or nil)
|
||||
:assign({
|
||||
additional_categories = { "wood-processing" }
|
||||
})
|
||||
|
||||
if not basic_circuit_board then
|
||||
Recipe:new("wood-splitter")
|
||||
:clone("wood-splitter-electronic-circuit")
|
||||
:replaceIngredient(basic_circuit_board and "gold-cable" or "basic-circuit-board", "electronic-circuit", 2)
|
||||
:assign({
|
||||
localised_name = { "entity-name.wood-splitter" },
|
||||
icons = {
|
||||
{ icon = data.raw.item["wood-splitter"].icon },
|
||||
{ icon = "__base__/graphics/icons/electronic-circuit.png", scale = 0.25, shift = { 8, 8 } }
|
||||
}
|
||||
})
|
||||
:unlockedByTechnology("electronics")
|
||||
:apply()
|
||||
end
|
||||
|
||||
Item:new("wood-transport-belt")
|
||||
:itemsPerRocket(200)
|
||||
:defaultImportLocation("lignumis")
|
||||
Item:new("wood-underground-belt")
|
||||
:itemsPerRocket(100)
|
||||
:defaultImportLocation("lignumis")
|
||||
Item:new("wood-splitter")
|
||||
:itemsPerRocket(100)
|
||||
:defaultImportLocation("lignumis")
|
||||
end
|
||||
|
|
@ -1 +1,2 @@
|
|||
require("wood-logistics")
|
||||
require("wood-military")
|
||||
20
lignumis/settings/wood-logistics.lua
Normal file
20
lignumis/settings/wood-logistics.lua
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
if not mods["wood-logistics"] then
|
||||
return
|
||||
end
|
||||
|
||||
local Settings = require("__cf-lib__/settings/Settings")
|
||||
local force = Settings.force
|
||||
local default = Settings.default
|
||||
|
||||
force("wood-logistics-lumber", true)
|
||||
force("wood-logistics-lumber-mill", true)
|
||||
force("wood-logistics-woodtronics", false)
|
||||
force("wood-logistics-belts", true)
|
||||
force("wood-logistics-belts-modify", false)
|
||||
default("wood-logistics-belts-circuits", true)
|
||||
force("wood-logistics-inserter", false)
|
||||
default("wood-logistics-rail-cost", 0)
|
||||
default("wood-logistics-cargo-wagon", false)
|
||||
force("wood-logistics-assembling-machine", false)
|
||||
default("wood-logistics-nerf-small-electric-pole", false)
|
||||
force("wood-logistics-repair-pack-cost", 0)
|
||||
Loading…
Add table
Add a link
Reference in a new issue