forked from cacklingfiend/lignumis
Compare commits
9 commits
jvella94-p
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
61c2d30dd7 | ||
|
|
996fd2f7c4 | ||
|
|
663779901d | ||
|
|
c6432920cf | ||
|
|
14badb6b6f | ||
|
|
df7c8bac98 | ||
|
|
bb52fad493 | ||
|
|
3c222237ce | ||
| e03f854222 |
28 changed files with 443 additions and 316 deletions
|
|
@ -1,4 +1,13 @@
|
|||
---------------------------------------------------------------------------------------------------
|
||||
Version: 1.0.75
|
||||
Date: 09.12.2025
|
||||
Changes:
|
||||
- Add is_satellite to PlanetsLib:extend
|
||||
- Remove default item weights as the code has been moved to PlanetsLib
|
||||
Bug Fixes:
|
||||
- Recycling in Factoriopedia: Add order to bioprocessing subgroup for compatibility (thanks jvella94)
|
||||
- Crushing Industry: Use additional_categories for quality assembling so the rocket silo recipe will use concrete mix again
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 1.0.74
|
||||
Date: 18.11.2025
|
||||
Bug Fixes:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "lignumis",
|
||||
"version": "1.0.74",
|
||||
"version": "1.0.75",
|
||||
"title": "Lignumis",
|
||||
"description": "Dive into the world of Lignumis, a moon of Nauvis offering only the most basic technologies.\n\nThis planet mod effects other planets and space ships. Make sure to read the description on the mod portal and check the mod settings.",
|
||||
"author": "cackling fiend",
|
||||
|
|
@ -12,39 +12,40 @@
|
|||
"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",
|
||||
"mf-buildings >= 1.0.7",
|
||||
"mf-core >= 1.0.3",
|
||||
"mf-logistics >= 1.0.1",
|
||||
"PlanetsLib >= 1.1.26",
|
||||
"PlanetsLib >= 1.14.7",
|
||||
"pollution-as-surface-property",
|
||||
"Wood-Walls >= 1.2.0",
|
||||
"vulcanus-sulfuric-bacteria",
|
||||
"?aai-industry",
|
||||
"?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",
|
||||
"!apm_power_ldinc",
|
||||
"!early-agriculture",
|
||||
"!planet-picker",
|
||||
"!wood-logistics",
|
||||
"!wood-universe-modpack",
|
||||
"!rso-mod"
|
||||
"? aai-industry",
|
||||
"? aai-loaders",
|
||||
"? aai-loaders-sane",
|
||||
"? any-planet-start",
|
||||
"? crushing-industry",
|
||||
"? fulgora-coralmium-agriculture",
|
||||
"? hot-metals >= 1.1.0",
|
||||
"? lane-splitters",
|
||||
"? 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-universe-modpack",
|
||||
"! rso-mod"
|
||||
]
|
||||
}
|
||||
|
|
@ -46,7 +46,7 @@ AAILoaders.make_tier({
|
|||
order = "d[loader]-a00[aai-wood-loader]"
|
||||
})
|
||||
|
||||
data.raw.recipe["aai-wood-loader"].category = "wood-processing-or-assembling"
|
||||
data.raw.recipe["aai-wood-loader"].additional_categories = { "wood-processing" }
|
||||
|
||||
if not basic_circuit_board then
|
||||
local nauvis_recipe = Recipe:new("aai-wood-loader"):clone("wood-loader-electronic-circuit")
|
||||
|
|
|
|||
14
lignumis/prototypes/compatibility/canal-excavator.lua
Normal file
14
lignumis/prototypes/compatibility/canal-excavator.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
if not mods["canal-excavator"] then return end
|
||||
|
||||
data:extend({{
|
||||
type = "mod-data",
|
||||
name = "canex-lignumis-config",
|
||||
data_type = "canex-surface-config",
|
||||
data = {
|
||||
surfaceName = "lignumis",
|
||||
localisation = {"space-location-name.lignumis"},
|
||||
mineResult = "stone",
|
||||
oreStartingAmount = 10,
|
||||
tint = {r = 102, g = 78, b = 6}
|
||||
},
|
||||
}})
|
||||
|
|
@ -90,10 +90,9 @@ end
|
|||
local gold_recipe = Recipe:new("burner-crusher")
|
||||
:replaceIngredient("iron-gear-wheel", "wooden-gear-wheel")
|
||||
:replaceIngredient("iron-plate", "gold-plate")
|
||||
:assign({
|
||||
category = settings.startup["lignumis-lumber-mill-more-recipes"].value and "wood-processing-or-assembling" or
|
||||
"crafting"
|
||||
})
|
||||
if settings.startup["lignumis-lumber-mill-more-recipes"].value then
|
||||
gold_recipe.prototype.additional_categories = { "wood-processing" }
|
||||
end
|
||||
|
||||
gold_recipe:clone("burner-crusher-copper")
|
||||
:replaceIngredient("gold-plate", "copper-plate")
|
||||
|
|
|
|||
|
|
@ -7,3 +7,5 @@ require("nuclear-science")
|
|||
require("lane-splitters")
|
||||
require("wood-industry")
|
||||
require("crushing-industry")
|
||||
require("canal-excavator")
|
||||
require("diversitree")
|
||||
12
lignumis/prototypes/compatibility/diversitree.lua
Normal file
12
lignumis/prototypes/compatibility/diversitree.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
if not mods["Diversitree"] then
|
||||
return
|
||||
end
|
||||
|
||||
data.raw.plant["s6xdvt-fake-tree"].surface_conditions[1].min = 900
|
||||
|
||||
local tree_plant = data.raw.plant["s6xdvt-fake-tree"]
|
||||
tree_plant.growth_ticks = 5 * minute
|
||||
tree_plant.minable.results = { { type = "item", name = "wood", amount = 5 } }
|
||||
tree_plant.minable.count = nil
|
||||
tree_plant.surface_conditions[1].min = 900
|
||||
table.insert(tree_plant.autoplace.tile_restriction, "natural-gold-soil")
|
||||
|
|
@ -23,7 +23,7 @@ lane_splitter.prototype.structure_patch.west.filename = data.raw.splitter["wood-
|
|||
lane_splitter.prototype.structure_patch.north.filename = data.raw.splitter["wood-splitter"].structure_patch.north.filename
|
||||
lane_splitter.item.icon = Lignumis.graphics .. "icons/wood-lane-splitter.png"
|
||||
lane_splitter.item.order = "d[lane-splitter]-0[wood-lane-splitter]"
|
||||
lane_splitter.recipe.category = "wood-processing-or-assembling"
|
||||
lane_splitter.recipe.additional_categories = { "wood-processing" }
|
||||
|
||||
data:extend({
|
||||
lane_splitter.prototype,
|
||||
|
|
|
|||
|
|
@ -19,7 +19,8 @@ data:extend({
|
|||
{
|
||||
type = "recipe",
|
||||
name = "basic-circuit-board",
|
||||
category = "wood-processing-or-assembling",
|
||||
category = "crafting",
|
||||
additional_categories = { "wood-processing" },
|
||||
icons = {
|
||||
{ icon = Lignumis.graphics .. "icons/basic-circuit-board.png" },
|
||||
{ icon = Lignumis.graphics .. "icons/gold-cable.png", scale = 0.25, shift = { 8, 8 } }
|
||||
|
|
@ -36,7 +37,8 @@ data:extend({
|
|||
type = "recipe",
|
||||
name = "basic-circuit-board-copper",
|
||||
localised_name = { "item-name.basic-circuit-board" },
|
||||
category = "wood-processing-or-assembling",
|
||||
category = "crafting",
|
||||
additional_categories = { "wood-processing" },
|
||||
icons = {
|
||||
{ icon = Lignumis.graphics .. "icons/basic-circuit-board.png" },
|
||||
{ icon = "__base__/graphics/icons/copper-cable.png", scale = 0.25, shift = { 8, 8 } }
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ local turret_recipe = {
|
|||
results = { { type = "item", name = "basic-gun-turret", amount = 1 } }
|
||||
}
|
||||
if settings.startup["lignumis-lumber-mill-more-recipes"].value then
|
||||
turret_recipe.category = "wood-processing-or-assembling"
|
||||
turret_recipe.additional_categories = { "wood-processing" }
|
||||
end
|
||||
|
||||
local turret_technology = {
|
||||
|
|
|
|||
|
|
@ -84,7 +84,8 @@ data:extend({
|
|||
{
|
||||
type = "recipe",
|
||||
name = "burner-agricultural-tower",
|
||||
category = "wood-processing-or-assembling",
|
||||
category = "crafting",
|
||||
additional_categories = { "wood-processing" },
|
||||
energy_required = 10,
|
||||
ingredients = {
|
||||
{ type = "item", name = "stone-brick", amount = 5 },
|
||||
|
|
@ -116,7 +117,8 @@ data:extend({
|
|||
{
|
||||
type = "recipe",
|
||||
name = "burner-agricultural-tower-copper",
|
||||
category = "wood-processing-or-assembling",
|
||||
category = "crafting",
|
||||
additional_categories = { "wood-processing" },
|
||||
localised_name = { "entity-name.burner-agricultural-tower" },
|
||||
icons = {
|
||||
{ icon = Lignumis.graphics .. "icons/burner-agricultural-tower.png" },
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ assembling_machine.crafting_categories = {
|
|||
"crafting",
|
||||
"electronics",
|
||||
"pressing",
|
||||
"wood-processing-or-assembling",
|
||||
"organic-or-assembling",
|
||||
"electronics-or-assembling",
|
||||
"metallurgy-or-assembling"
|
||||
|
|
@ -50,8 +49,6 @@ remnants.animation[2].filename = gfx .. "burner-assembling-machine-remnants.png"
|
|||
remnants.animation[3].filename = gfx .. "burner-assembling-machine-remnants.png"
|
||||
remnants.order = "0[burner-assembling-machine]"
|
||||
|
||||
local crafting_category = settings.startup["lignumis-lumber-mill-more-recipes"].value and "wood-processing-or-assembling" or "crafting"
|
||||
|
||||
data:extend({
|
||||
assembling_machine,
|
||||
remnants,
|
||||
|
|
@ -70,7 +67,8 @@ data:extend({
|
|||
{
|
||||
type = "recipe",
|
||||
name = "burner-assembling-machine",
|
||||
category = crafting_category,
|
||||
category = "crafting",
|
||||
additional_categories = settings.startup["lignumis-lumber-mill-more-recipes"].value and { "wood-processing" } or nil,
|
||||
enabled = false,
|
||||
ingredients = {
|
||||
{ type = "item", name = "wooden-gear-wheel", amount = 5 },
|
||||
|
|
|
|||
|
|
@ -44,8 +44,6 @@ remnants.animation[3].filename = gfx .. "burner-long-handed-inserter-remnants.pn
|
|||
remnants.animation[4].filename = gfx .. "burner-long-handed-inserter-remnants.png"
|
||||
remnants.order = "a-c-0"
|
||||
|
||||
local crafting_category = settings.startup["lignumis-lumber-mill-more-recipes"].value and "wood-processing-or-assembling" or "crafting"
|
||||
|
||||
data:extend({
|
||||
long_handed_inserter,
|
||||
remnants,
|
||||
|
|
@ -65,7 +63,8 @@ data:extend({
|
|||
{
|
||||
type = "recipe",
|
||||
name = "burner-long-handed-inserter",
|
||||
category = crafting_category,
|
||||
category = "crafting",
|
||||
additional_categories = settings.startup["lignumis-lumber-mill-more-recipes"].value and { "wood-processing" } or nil,
|
||||
enabled = false,
|
||||
ingredients = {
|
||||
{ type = "item", name = "wooden-gear-wheel", amount = 1 },
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ data:extend({
|
|||
{
|
||||
type = "item-subgroup",
|
||||
name = "lignumis-bioprocessing",
|
||||
group = "bioprocessing"
|
||||
group = "bioprocessing",
|
||||
order = "lignumis-bioprocessing"
|
||||
}
|
||||
})
|
||||
|
|
@ -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()
|
||||
|
|
@ -7,19 +8,18 @@ local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].val
|
|||
data:extend({
|
||||
{
|
||||
type = "recipe-category",
|
||||
name = "wood-processing-or-assembling"
|
||||
name = "wood-processing"
|
||||
}
|
||||
})
|
||||
|
||||
table.insert(data.raw["character"]["character"].crafting_categories, "wood-processing-or-assembling")
|
||||
|
||||
local has_oxygen = data.raw["surface-property"]["oxygen"] ~= nil
|
||||
|
||||
LumberMill.EntityBuilder:new()
|
||||
if not mods["wood-logistics"] then
|
||||
LumberMill.EntityBuilder:new()
|
||||
:burnerEnergySource({ emissions_per_minute = { noise = 100 } })
|
||||
:baseProductivity(0.5)
|
||||
:apply({
|
||||
crafting_categories = { "wood-processing-or-assembling" },
|
||||
crafting_categories = { "wood-processing" },
|
||||
crafting_speed = 2,
|
||||
energy_usage = "1000kW",
|
||||
surface_conditions = {
|
||||
|
|
@ -34,13 +34,13 @@ LumberMill.EntityBuilder:new()
|
|||
}
|
||||
})
|
||||
|
||||
local lumber_mill_item = LumberMill.ItemBuilder:new()
|
||||
local lumber_mill_item = LumberMill.ItemBuilder:new()
|
||||
:apply({
|
||||
default_import_location = "lignumis",
|
||||
order = "2[lumber-mill]"
|
||||
})
|
||||
|
||||
LumberMill.RecipeBuilder:new()
|
||||
LumberMill.RecipeBuilder:new()
|
||||
:ingredients(table.trim({
|
||||
{ type = "item", name = "stone-brick", amount = 40 },
|
||||
{ type = "item", name = "lumber", amount = 50 },
|
||||
|
|
@ -50,17 +50,17 @@ LumberMill.RecipeBuilder:new()
|
|||
{ type = "item", name = "burner-assembling-machine", amount = 2 }
|
||||
}))
|
||||
:apply({
|
||||
category = "wood-processing-or-assembling"
|
||||
additional_categories = { "wood-processing" }
|
||||
})
|
||||
|
||||
LumberMill.TechnologyBuilder:new()
|
||||
LumberMill.TechnologyBuilder:new()
|
||||
:prerequisites({ "steam-science-pack" })
|
||||
:count(250)
|
||||
:time(15)
|
||||
:ingredients({ { "wood-science-pack", 1 }, { "steam-science-pack", 1 } })
|
||||
:apply()
|
||||
|
||||
LumberMill.RecipeBuilder:new()
|
||||
LumberMill.RecipeBuilder:new()
|
||||
:ingredients({
|
||||
{ type = "item", name = "stone-brick", amount = 40 },
|
||||
{ type = "item", name = "lumber", amount = 50 },
|
||||
|
|
@ -72,11 +72,79 @@ LumberMill.RecipeBuilder:new()
|
|||
:apply({
|
||||
name = "lumber-mill-copper",
|
||||
localised_name = { "entity-name.lumber-mill" },
|
||||
category = "wood-processing-or-assembling",
|
||||
additional_categories = { "wood-processing" },
|
||||
icons = {
|
||||
{ icon = lumber_mill_item.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 } }
|
||||
}
|
||||
})
|
||||
|
||||
Technology:new(basic_circuit_board and "copper-processing" or "electronics"):addRecipe("lumber-mill-copper")
|
||||
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,6 +1,8 @@
|
|||
local item_sounds = require("__base__.prototypes.item_sounds")
|
||||
local Recipe = require("__cf-lib__/data/Recipe")
|
||||
|
||||
data:extend({
|
||||
if not mods["wood-logistics"] then
|
||||
data:extend({
|
||||
{
|
||||
type = "item",
|
||||
name = "lumber",
|
||||
|
|
@ -23,11 +25,15 @@ data:extend({
|
|||
{
|
||||
type = "recipe",
|
||||
name = "lumber",
|
||||
category = "wood-processing-or-assembling",
|
||||
category = "crafting",
|
||||
additional_categories = { "wood-processing" },
|
||||
allow_productivity = true,
|
||||
allow_as_intermediate = true,
|
||||
ingredients = { { type = "item", name = "wood", amount = 2 } },
|
||||
results = { { type = "item", name = "lumber", amount = 1 } },
|
||||
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)
|
||||
|
|
|
|||
|
|
@ -77,7 +77,8 @@ QualityAssembler.EntityBuilder:new()
|
|||
crafting_speed = 4,
|
||||
module_slots = 6,
|
||||
allowed_effects = { "consumption", "pollution", "quality" },
|
||||
effect_receiver = { base_effect = { quality = 3.5 } }
|
||||
effect_receiver = { base_effect = { quality = 3.5 } },
|
||||
crafting_categories = { "quality-assembling" }
|
||||
})
|
||||
|
||||
QualityAssembler.ItemBuilder:new():apply()
|
||||
|
|
@ -91,7 +92,8 @@ QualityAssembler.RecipeBuilder:new()
|
|||
{ type = "item", name = "quantum-processor", amount = 10 }
|
||||
})
|
||||
:apply({
|
||||
category = "electromagnetics-or-quality-assembling",
|
||||
category = "electromagnetics",
|
||||
additional_categories = { "quality-assembling" }
|
||||
})
|
||||
|
||||
QualityAssembler.TechnologyBuilder:new()
|
||||
|
|
@ -147,71 +149,49 @@ data:extend({
|
|||
},
|
||||
research_trigger = { type = "craft-item", item = "gold-quality-catalyst", count = 10000 },
|
||||
prerequisites = { "experienced-quality-assembling-1" }
|
||||
},
|
||||
{
|
||||
type = "recipe-category",
|
||||
name = "quality-assembling"
|
||||
}
|
||||
})
|
||||
|
||||
local function convert_category(name)
|
||||
local quality_name = name .. "-or-quality-assembling"
|
||||
data:extend({
|
||||
{
|
||||
type = "recipe-category",
|
||||
name = quality_name
|
||||
}
|
||||
})
|
||||
|
||||
for _, assembler in pairs(data.raw["assembling-machine"]) do
|
||||
if assembler.crafting_categories and table.contains(assembler.crafting_categories, name) then
|
||||
table.insert(assembler.crafting_categories, quality_name)
|
||||
end
|
||||
end
|
||||
for _, character in pairs(data.raw["character"]) do
|
||||
if character.crafting_categories and table.contains(character.crafting_categories, name) then
|
||||
table.insert(character.crafting_categories, quality_name)
|
||||
end
|
||||
end
|
||||
table.insert(data.raw["assembling-machine"]["quality-assembler"].crafting_categories, quality_name)
|
||||
local function qa(recipeName)
|
||||
local recipe = data.raw.recipe[recipeName]
|
||||
recipe.additional_categories = recipe.additional_categories or {}
|
||||
table.insert(recipe.additional_categories, "quality-assembling")
|
||||
end
|
||||
|
||||
convert_category("wood-processing-or-assembling")
|
||||
convert_category("metallurgy-or-assembling")
|
||||
convert_category("metallurgy")
|
||||
convert_category("electronics")
|
||||
convert_category("electronics-or-assembling")
|
||||
convert_category("electromagnetics")
|
||||
convert_category("organic-or-assembling")
|
||||
convert_category("crafting")
|
||||
convert_category("cryogenics-or-assembling")
|
||||
|
||||
-- Lignumis
|
||||
data.raw.recipe["lumber-mill"].category = "wood-processing-or-assembling-or-quality-assembling"
|
||||
qa("lumber-mill")
|
||||
|
||||
-- Nauvis
|
||||
data.raw.recipe["logistic-robot"].category = "crafting-or-quality-assembling"
|
||||
data.raw.recipe["construction-robot"].category = "crafting-or-quality-assembling"
|
||||
data.raw.recipe["roboport"].category = "crafting-or-quality-assembling"
|
||||
data.raw.recipe["speed-module-3"].category = "electronics-or-quality-assembling"
|
||||
data.raw.recipe["productivity-module-3"].category = "electronics-or-quality-assembling"
|
||||
data.raw.recipe["efficiency-module-3"].category = "electronics-or-quality-assembling"
|
||||
data.raw.recipe["rocket-silo"].category = "crafting-or-quality-assembling"
|
||||
data.raw.recipe["cargo-bay"].category = "crafting-or-quality-assembling"
|
||||
data.raw.recipe["asteroid-collector"].category = "crafting-or-quality-assembling"
|
||||
data.raw.recipe["thruster"].category = "crafting-or-quality-assembling"
|
||||
qa("logistic-robot")
|
||||
qa("construction-robot")
|
||||
qa("roboport")
|
||||
qa("speed-module-3")
|
||||
qa("productivity-module-3")
|
||||
qa("efficiency-module-3")
|
||||
qa("rocket-silo")
|
||||
qa("cargo-bay")
|
||||
qa("asteroid-collector")
|
||||
qa("thruster")
|
||||
|
||||
-- Vulcanus
|
||||
data.raw.recipe["foundry"].category = "metallurgy-or-assembling-or-quality-assembling"
|
||||
data.raw.recipe["big-mining-drill"].category = "metallurgy-or-quality-assembling"
|
||||
qa("foundry")
|
||||
qa("big-mining-drill")
|
||||
|
||||
-- Fulgora
|
||||
data.raw.recipe["electromagnetic-plant"].category = "electronics-or-assembling-or-quality-assembling"
|
||||
data.raw.recipe["lightning-collector"].category = "electromagnetics-or-quality-assembling"
|
||||
data.raw.recipe["mech-armor"].category = "crafting-or-quality-assembling"
|
||||
data.raw.recipe["quality-module-3"].category = "electronics-or-quality-assembling"
|
||||
data.raw.recipe["recycler"].category = "crafting-or-quality-assembling"
|
||||
qa("electromagnetic-plant")
|
||||
qa("lightning-collector")
|
||||
qa("mech-armor")
|
||||
qa("quality-module-3")
|
||||
qa("recycler")
|
||||
|
||||
-- Gleba
|
||||
data.raw.recipe["biochamber"].category = "organic-or-assembling-or-quality-assembling"
|
||||
data.raw.recipe["stack-inserter"].category = "crafting-or-quality-assembling"
|
||||
data.raw.recipe["spidertron"].category = "crafting-or-quality-assembling"
|
||||
qa("biochamber")
|
||||
qa("stack-inserter")
|
||||
qa("spidertron")
|
||||
|
||||
-- Aquilo
|
||||
data.raw.recipe["cryogenic-plant"].category = "cryogenics-or-assembling-or-quality-assembling"
|
||||
qa("cryogenic-plant")
|
||||
|
|
@ -20,7 +20,6 @@ assembling_machine.crafting_categories = {
|
|||
"crafting",
|
||||
"electronics",
|
||||
"pressing",
|
||||
"wood-processing-or-assembling",
|
||||
"organic-or-assembling",
|
||||
"electronics-or-assembling",
|
||||
"metallurgy-or-assembling",
|
||||
|
|
|
|||
|
|
@ -144,7 +144,8 @@ data:extend({
|
|||
{
|
||||
type = "recipe",
|
||||
name = "wood-lab",
|
||||
category = "wood-processing-or-assembling",
|
||||
category = "crafting",
|
||||
additional_categories = { "wood-processing" },
|
||||
energy_required = 2,
|
||||
ingredients = {
|
||||
{ type = "item", name = "lumber", amount = 6 },
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
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
|
||||
|
||||
Belt.EntityBuilder:new()
|
||||
if not mods["wood-logistics"] then
|
||||
Belt.EntityBuilder:new()
|
||||
:itemsPerSecond(7.5)
|
||||
:nextTier("")
|
||||
:undergroundDistance(4)
|
||||
|
|
@ -32,7 +35,7 @@ Belt.EntityBuilder:new()
|
|||
}
|
||||
})
|
||||
|
||||
local splitter_item = Belt.ItemBuilder:new()
|
||||
local splitter_item = Belt.ItemBuilder:new()
|
||||
:itemsPerRocket("transportBelt", 200)
|
||||
:itemsPerRocket("undergroundBelt", 100)
|
||||
:itemsPerRocket("splitter", 100)
|
||||
|
|
@ -40,7 +43,7 @@ local splitter_item = Belt.ItemBuilder:new()
|
|||
:apply()
|
||||
.splitter
|
||||
|
||||
Belt.RecipeBuilder:new()
|
||||
Belt.RecipeBuilder:new()
|
||||
:beltAmount(2)
|
||||
:ingredients("transportBelt", {
|
||||
{ type = "item", name = "lumber", amount = 1 },
|
||||
|
|
@ -58,24 +61,24 @@ Belt.RecipeBuilder:new()
|
|||
})
|
||||
:apply({
|
||||
transportBelt = {
|
||||
category = "wood-processing-or-assembling"
|
||||
additional_categories = { "wood-processing" }
|
||||
},
|
||||
undergroundBelt = {
|
||||
category = "wood-processing-or-assembling"
|
||||
additional_categories = { "wood-processing" }
|
||||
},
|
||||
splitter = {
|
||||
category = "wood-processing-or-assembling"
|
||||
additional_categories = { "wood-processing" }
|
||||
}
|
||||
})
|
||||
|
||||
Belt.TechnologyBuilder:new()
|
||||
Belt.TechnologyBuilder:new()
|
||||
:prerequisites({ "wood-science-pack" })
|
||||
:ingredients({ { "wood-science-pack", 1 } })
|
||||
:count(10)
|
||||
:time(10)
|
||||
:apply()
|
||||
|
||||
if not basic_circuit_board then
|
||||
if not basic_circuit_board then
|
||||
data:extend({
|
||||
Belt.RecipeBuilder:new()
|
||||
:ingredients("splitter", {
|
||||
|
|
@ -91,7 +94,7 @@ if not basic_circuit_board then
|
|||
{ icon = splitter_item.icon },
|
||||
{ icon = "__base__/graphics/icons/electronic-circuit.png", scale = 0.25, shift = { 8, 8 } }
|
||||
},
|
||||
category = "wood-processing-or-assembling"
|
||||
additional_categories = { "wood-processing" }
|
||||
}
|
||||
})
|
||||
.splitter
|
||||
|
|
@ -101,4 +104,48 @@ if not basic_circuit_board then
|
|||
type = "unlock-recipe",
|
||||
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
|
||||
|
|
@ -82,7 +82,8 @@ data:extend({
|
|||
{
|
||||
type = "recipe",
|
||||
name = "wood-darts-magazine",
|
||||
category = "wood-processing-or-assembling",
|
||||
category = "crafting",
|
||||
additional_categories = { "wood-processing" },
|
||||
energy_required = 1,
|
||||
ingredients = { { type = "item", name = "wood", amount = 2 } },
|
||||
results = { { type = "item", name = "wood-darts-magazine", amount = 1 } }
|
||||
|
|
|
|||
|
|
@ -17,7 +17,8 @@ data:extend({
|
|||
{
|
||||
type = "recipe",
|
||||
name = "wooden-gear-wheel",
|
||||
category = "wood-processing-or-assembling",
|
||||
category = "crafting",
|
||||
additional_categories = { "wood-processing" },
|
||||
ingredients = { { type = "item", name = "lumber", amount = 1 } },
|
||||
results = { { type = "item", name = "wooden-gear-wheel", amount = 2 } },
|
||||
allow_productivity = true
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
local recipe = data.raw.recipe["wooden-wall"]
|
||||
recipe.ingredients = { { type = "item", name = "lumber", amount = 4 } }
|
||||
recipe.results = { { type = "item", name = "wooden-wall", amount = 1 } }
|
||||
recipe.category = "wood-processing-or-assembling"
|
||||
recipe.additional_categories = { "wood-processing" }
|
||||
|
|
@ -21,7 +21,8 @@ local drill_item = data.raw["item"]["burner-mining-drill"]
|
|||
drill_item.icon = Lignumis.graphics .. "icons/burner-mining-drill.png"
|
||||
|
||||
local drill_recipe = data.raw["recipe"]["burner-mining-drill"]
|
||||
drill_recipe.category = "wood-processing-or-assembling"
|
||||
drill_recipe.category = "crafting"
|
||||
drill_recipe.additional_categories = { "wood-processing" }
|
||||
drill_recipe.ingredients = {
|
||||
{ type = "item", name = "stone-furnace", amount = 1 },
|
||||
{ type = "item", name = "wooden-gear-wheel", amount = basic_circuit_board and 2 or 3 },
|
||||
|
|
@ -48,7 +49,7 @@ burner_inserter_recipe.ingredients = {
|
|||
{ type = "item", name = "lumber", amount = 1 }
|
||||
}
|
||||
if settings.startup["lignumis-lumber-mill-more-recipes"].value then
|
||||
burner_inserter_recipe.category = "wood-processing-or-assembling"
|
||||
burner_inserter_recipe.additional_categories = { "wood-processing" }
|
||||
end
|
||||
|
||||
|
||||
|
|
@ -110,7 +111,7 @@ for _, tree in pairs(data.raw.tree) do
|
|||
if not isRegularTree then goto continue end
|
||||
tree.minable.result = nil
|
||||
tree.minable.count = nil
|
||||
local woodResult = { type = "item", name = "wood", amount = nil, amount_min = 2, amount_max = 10 }
|
||||
local woodResult = { type = "item", name = "wood", amount = nil, amount_min = 2, amount_max = 8 }
|
||||
if minable.results and #woodResults > 0 then
|
||||
table.assign(woodResults[1], woodResult)
|
||||
woodResults[1].amount = nil
|
||||
|
|
@ -127,14 +128,7 @@ tree_plant.minable.count = nil
|
|||
tree_plant.surface_conditions[1].min = 900
|
||||
table.insert(tree_plant.autoplace.tile_restriction, "natural-gold-soil")
|
||||
|
||||
if mods["Diversitree"] then
|
||||
data.raw.plant["s6xdvt-fake-tree"].surface_conditions[1].min = 900
|
||||
end
|
||||
|
||||
table.insert(data.raw["assembling-machine"]["assembling-machine-1"].crafting_categories, "wood-processing-or-assembling")
|
||||
table.insert(data.raw["assembling-machine"]["assembling-machine-1"].crafting_categories, "organic-or-assembling")
|
||||
table.insert(data.raw["assembling-machine"]["assembling-machine-2"].crafting_categories, "wood-processing-or-assembling")
|
||||
table.insert(data.raw["assembling-machine"]["assembling-machine-3"].crafting_categories, "wood-processing-or-assembling")
|
||||
|
||||
|
||||
-- Disable vanilla early game recipes
|
||||
|
|
@ -336,35 +330,3 @@ if settings.startup["lignumis-fulgora-wood"].value then
|
|||
recycler.result_inventory_size = recycling_result_count
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- Fix item weights
|
||||
|
||||
local function set_default_weight(item, items_per_rocket, type)
|
||||
data.raw[type or "item"][item].weight = data.raw[type or "item"][item].weight or 1000 * kg / items_per_rocket
|
||||
end
|
||||
set_default_weight("electronic-circuit", 2000)
|
||||
set_default_weight("advanced-circuit", 1000)
|
||||
set_default_weight("processing-unit", 300)
|
||||
set_default_weight("low-density-structure", 200)
|
||||
set_default_weight("rocket-fuel", 100)
|
||||
set_default_weight("inserter", 50)
|
||||
set_default_weight("fast-inserter", 50)
|
||||
set_default_weight("electric-mining-drill", 50)
|
||||
set_default_weight("pumpjack", 20)
|
||||
set_default_weight("repair-pack", 100, "repair-tool")
|
||||
set_default_weight("big-electric-pole", 50)
|
||||
set_default_weight("assembling-machine-1", 50)
|
||||
set_default_weight("assembling-machine-2", 50)
|
||||
set_default_weight("oil-refinery", 10)
|
||||
set_default_weight("accumulator", 50)
|
||||
set_default_weight("steam-engine", 10)
|
||||
set_default_weight("substation", 50)
|
||||
set_default_weight("radar", 50)
|
||||
set_default_weight("storage-tank", 50)
|
||||
set_default_weight("fast-transport-belt", 100)
|
||||
set_default_weight("fast-underground-belt", 50)
|
||||
set_default_weight("fast-splitter", 50)
|
||||
set_default_weight("steel-plate", 400)
|
||||
set_default_weight("steam-turbine", 10)
|
||||
set_default_weight("battery", 400)
|
||||
|
|
@ -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)
|
||||
|
|
@ -2,10 +2,12 @@ if not mods["wood-military"] then
|
|||
return
|
||||
end
|
||||
|
||||
data.raw["bool-setting"]["wood-military-rockets"].default_value = false
|
||||
data.raw["bool-setting"]["wood-military-artillery"].default_value = false
|
||||
data.raw["bool-setting"]["wood-military-damage-buff"].default_value = false
|
||||
data.raw["bool-setting"]["wood-military-armor"].hidden = true
|
||||
data.raw["bool-setting"]["wood-military-armor"].forced_value = true
|
||||
data.raw["bool-setting"]["wood-military-nerf-start"].hidden = true
|
||||
data.raw["bool-setting"]["wood-military-nerf-start"].forced_value = true
|
||||
local Settings = require("__cf-lib__/settings/Settings")
|
||||
local force = Settings.force
|
||||
local default = Settings.default
|
||||
|
||||
default("wood-military-rockets", false)
|
||||
default("wood-military-artillery", false)
|
||||
default("wood-military-damage-buff", false)
|
||||
force("wood-military-armor", true)
|
||||
force("wood-military-nerf-start", true)
|
||||
Loading…
Add table
Add a link
Reference in a new issue