Compare commits

..

1 commit

Author SHA1 Message Date
15d99aa45b Added order to subgroup
Fixes an issue with Recycling in Factoriopedia that expects all subgroups to have an order.
https://mods.factorio.com/mod/recycling-factoriopedia
2025-11-24 18:26:35 +01:00
27 changed files with 315 additions and 441 deletions

View file

@ -1,13 +1,4 @@
---------------------------------------------------------------------------------------------------
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:

View file

@ -1,6 +1,6 @@
{
"name": "lignumis",
"version": "1.0.75",
"version": "1.0.74",
"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,40 +12,39 @@
"space-age >= 2.0.53",
"astroponics >= 1.2.0",
"bioprocessing-tab",
"cf-lib >= 1.1.0",
"cf-lib >= 0.0.13",
"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.14.7",
"PlanetsLib >= 1.1.26",
"pollution-as-surface-property",
"Wood-Walls >= 1.2.0",
"vulcanus-sulfuric-bacteria",
"? 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"
"?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"
]
}

View file

@ -46,7 +46,7 @@ AAILoaders.make_tier({
order = "d[loader]-a00[aai-wood-loader]"
})
data.raw.recipe["aai-wood-loader"].additional_categories = { "wood-processing" }
data.raw.recipe["aai-wood-loader"].category = "wood-processing-or-assembling"
if not basic_circuit_board then
local nauvis_recipe = Recipe:new("aai-wood-loader"):clone("wood-loader-electronic-circuit")

View file

@ -1,14 +0,0 @@
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}
},
}})

View file

@ -90,9 +90,10 @@ end
local gold_recipe = Recipe:new("burner-crusher")
:replaceIngredient("iron-gear-wheel", "wooden-gear-wheel")
:replaceIngredient("iron-plate", "gold-plate")
if settings.startup["lignumis-lumber-mill-more-recipes"].value then
gold_recipe.prototype.additional_categories = { "wood-processing" }
end
:assign({
category = settings.startup["lignumis-lumber-mill-more-recipes"].value and "wood-processing-or-assembling" or
"crafting"
})
gold_recipe:clone("burner-crusher-copper")
:replaceIngredient("gold-plate", "copper-plate")

View file

@ -7,5 +7,3 @@ require("nuclear-science")
require("lane-splitters")
require("wood-industry")
require("crushing-industry")
require("canal-excavator")
require("diversitree")

View file

@ -1,12 +0,0 @@
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")

View file

@ -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.additional_categories = { "wood-processing" }
lane_splitter.recipe.category = "wood-processing-or-assembling"
data:extend({
lane_splitter.prototype,

View file

@ -19,8 +19,7 @@ data:extend({
{
type = "recipe",
name = "basic-circuit-board",
category = "crafting",
additional_categories = { "wood-processing" },
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 } }
@ -37,8 +36,7 @@ data:extend({
type = "recipe",
name = "basic-circuit-board-copper",
localised_name = { "item-name.basic-circuit-board" },
category = "crafting",
additional_categories = { "wood-processing" },
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 } }

View file

@ -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.additional_categories = { "wood-processing" }
turret_recipe.category = "wood-processing-or-assembling"
end
local turret_technology = {

View file

@ -84,8 +84,7 @@ data:extend({
{
type = "recipe",
name = "burner-agricultural-tower",
category = "crafting",
additional_categories = { "wood-processing" },
category = "wood-processing-or-assembling",
energy_required = 10,
ingredients = {
{ type = "item", name = "stone-brick", amount = 5 },
@ -117,8 +116,7 @@ data:extend({
{
type = "recipe",
name = "burner-agricultural-tower-copper",
category = "crafting",
additional_categories = { "wood-processing" },
category = "wood-processing-or-assembling",
localised_name = { "entity-name.burner-agricultural-tower" },
icons = {
{ icon = Lignumis.graphics .. "icons/burner-agricultural-tower.png" },

View file

@ -17,6 +17,7 @@ assembling_machine.crafting_categories = {
"crafting",
"electronics",
"pressing",
"wood-processing-or-assembling",
"organic-or-assembling",
"electronics-or-assembling",
"metallurgy-or-assembling"
@ -49,6 +50,8 @@ 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,
@ -67,8 +70,7 @@ data:extend({
{
type = "recipe",
name = "burner-assembling-machine",
category = "crafting",
additional_categories = settings.startup["lignumis-lumber-mill-more-recipes"].value and { "wood-processing" } or nil,
category = crafting_category,
enabled = false,
ingredients = {
{ type = "item", name = "wooden-gear-wheel", amount = 5 },

View file

@ -44,6 +44,8 @@ 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,
@ -63,8 +65,7 @@ data:extend({
{
type = "recipe",
name = "burner-long-handed-inserter",
category = "crafting",
additional_categories = settings.startup["lignumis-lumber-mill-more-recipes"].value and { "wood-processing" } or nil,
category = crafting_category,
enabled = false,
ingredients = {
{ type = "item", name = "wooden-gear-wheel", amount = 1 },

View file

@ -1,4 +1,3 @@
local Recipe = require("__cf-lib__/data/Recipe")
local Technology = require("__cf-lib__/data/Technology")
local LumberMillFactory = require(MF.buildings .. "LumberMill")
local LumberMill = LumberMillFactory()
@ -8,18 +7,19 @@ local basic_circuit_board = settings.startup["lignumis-basic-circuit-board"].val
data:extend({
{
type = "recipe-category",
name = "wood-processing"
name = "wood-processing-or-assembling"
}
})
table.insert(data.raw["character"]["character"].crafting_categories, "wood-processing-or-assembling")
local has_oxygen = data.raw["surface-property"]["oxygen"] ~= nil
if not mods["wood-logistics"] then
LumberMill.EntityBuilder:new()
LumberMill.EntityBuilder:new()
:burnerEnergySource({ emissions_per_minute = { noise = 100 } })
:baseProductivity(0.5)
:apply({
crafting_categories = { "wood-processing" },
crafting_categories = { "wood-processing-or-assembling" },
crafting_speed = 2,
energy_usage = "1000kW",
surface_conditions = {
@ -34,13 +34,13 @@ if not mods["wood-logistics"] then
}
})
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 @@ if not mods["wood-logistics"] then
{ type = "item", name = "burner-assembling-machine", amount = 2 }
}))
:apply({
additional_categories = { "wood-processing" }
category = "wood-processing-or-assembling"
})
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,79 +72,11 @@ if not mods["wood-logistics"] then
:apply({
name = "lumber-mill-copper",
localised_name = { "entity-name.lumber-mill" },
additional_categories = { "wood-processing" },
category = "wood-processing-or-assembling",
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")
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")
Technology:new(basic_circuit_board and "copper-processing" or "electronics"):addRecipe("lumber-mill-copper")

View file

@ -1,8 +1,6 @@
local item_sounds = require("__base__.prototypes.item_sounds")
local Recipe = require("__cf-lib__/data/Recipe")
if not mods["wood-logistics"] then
data:extend({
data:extend({
{
type = "item",
name = "lumber",
@ -25,15 +23,11 @@ if not mods["wood-logistics"] then
{
type = "recipe",
name = "lumber",
category = "crafting",
additional_categories = { "wood-processing" },
category = "wood-processing-or-assembling",
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
})

View file

@ -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)

View file

@ -77,8 +77,7 @@ QualityAssembler.EntityBuilder:new()
crafting_speed = 4,
module_slots = 6,
allowed_effects = { "consumption", "pollution", "quality" },
effect_receiver = { base_effect = { quality = 3.5 } },
crafting_categories = { "quality-assembling" }
effect_receiver = { base_effect = { quality = 3.5 } }
})
QualityAssembler.ItemBuilder:new():apply()
@ -92,8 +91,7 @@ QualityAssembler.RecipeBuilder:new()
{ type = "item", name = "quantum-processor", amount = 10 }
})
:apply({
category = "electromagnetics",
additional_categories = { "quality-assembling" }
category = "electromagnetics-or-quality-assembling",
})
QualityAssembler.TechnologyBuilder:new()
@ -149,49 +147,71 @@ 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 qa(recipeName)
local recipe = data.raw.recipe[recipeName]
recipe.additional_categories = recipe.additional_categories or {}
table.insert(recipe.additional_categories, "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)
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
qa("lumber-mill")
data.raw.recipe["lumber-mill"].category = "wood-processing-or-assembling-or-quality-assembling"
-- Nauvis
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")
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"
-- Vulcanus
qa("foundry")
qa("big-mining-drill")
data.raw.recipe["foundry"].category = "metallurgy-or-assembling-or-quality-assembling"
data.raw.recipe["big-mining-drill"].category = "metallurgy-or-quality-assembling"
-- Fulgora
qa("electromagnetic-plant")
qa("lightning-collector")
qa("mech-armor")
qa("quality-module-3")
qa("recycler")
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"
-- Gleba
qa("biochamber")
qa("stack-inserter")
qa("spidertron")
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"
-- Aquilo
qa("cryogenic-plant")
data.raw.recipe["cryogenic-plant"].category = "cryogenics-or-assembling-or-quality-assembling"

View file

@ -20,6 +20,7 @@ assembling_machine.crafting_categories = {
"crafting",
"electronics",
"pressing",
"wood-processing-or-assembling",
"organic-or-assembling",
"electronics-or-assembling",
"metallurgy-or-assembling",

View file

@ -144,8 +144,7 @@ data:extend({
{
type = "recipe",
name = "wood-lab",
category = "crafting",
additional_categories = { "wood-processing" },
category = "wood-processing-or-assembling",
energy_required = 2,
ingredients = {
{ type = "item", name = "lumber", amount = 6 },

View file

@ -1,12 +1,9 @@
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()
Belt.EntityBuilder:new()
:itemsPerSecond(7.5)
:nextTier("")
:undergroundDistance(4)
@ -35,7 +32,7 @@ if not mods["wood-logistics"] then
}
})
local splitter_item = Belt.ItemBuilder:new()
local splitter_item = Belt.ItemBuilder:new()
:itemsPerRocket("transportBelt", 200)
:itemsPerRocket("undergroundBelt", 100)
:itemsPerRocket("splitter", 100)
@ -43,7 +40,7 @@ if not mods["wood-logistics"] then
:apply()
.splitter
Belt.RecipeBuilder:new()
Belt.RecipeBuilder:new()
:beltAmount(2)
:ingredients("transportBelt", {
{ type = "item", name = "lumber", amount = 1 },
@ -61,24 +58,24 @@ if not mods["wood-logistics"] then
})
:apply({
transportBelt = {
additional_categories = { "wood-processing" }
category = "wood-processing-or-assembling"
},
undergroundBelt = {
additional_categories = { "wood-processing" }
category = "wood-processing-or-assembling"
},
splitter = {
additional_categories = { "wood-processing" }
category = "wood-processing-or-assembling"
}
})
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", {
@ -94,7 +91,7 @@ if not mods["wood-logistics"] then
{ icon = splitter_item.icon },
{ icon = "__base__/graphics/icons/electronic-circuit.png", scale = 0.25, shift = { 8, 8 } }
},
additional_categories = { "wood-processing" }
category = "wood-processing-or-assembling"
}
})
.splitter
@ -104,48 +101,4 @@ if not mods["wood-logistics"] 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

View file

@ -82,8 +82,7 @@ data:extend({
{
type = "recipe",
name = "wood-darts-magazine",
category = "crafting",
additional_categories = { "wood-processing" },
category = "wood-processing-or-assembling",
energy_required = 1,
ingredients = { { type = "item", name = "wood", amount = 2 } },
results = { { type = "item", name = "wood-darts-magazine", amount = 1 } }

View file

@ -17,8 +17,7 @@ data:extend({
{
type = "recipe",
name = "wooden-gear-wheel",
category = "crafting",
additional_categories = { "wood-processing" },
category = "wood-processing-or-assembling",
ingredients = { { type = "item", name = "lumber", amount = 1 } },
results = { { type = "item", name = "wooden-gear-wheel", amount = 2 } },
allow_productivity = true

View file

@ -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.additional_categories = { "wood-processing" }
recipe.category = "wood-processing-or-assembling"

View file

@ -21,8 +21,7 @@ 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 = "crafting"
drill_recipe.additional_categories = { "wood-processing" }
drill_recipe.category = "wood-processing-or-assembling"
drill_recipe.ingredients = {
{ type = "item", name = "stone-furnace", amount = 1 },
{ type = "item", name = "wooden-gear-wheel", amount = basic_circuit_board and 2 or 3 },
@ -49,7 +48,7 @@ burner_inserter_recipe.ingredients = {
{ type = "item", name = "lumber", amount = 1 }
}
if settings.startup["lignumis-lumber-mill-more-recipes"].value then
burner_inserter_recipe.additional_categories = { "wood-processing" }
burner_inserter_recipe.category = "wood-processing-or-assembling"
end
@ -111,7 +110,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 = 8 }
local woodResult = { type = "item", name = "wood", amount = nil, amount_min = 2, amount_max = 10 }
if minable.results and #woodResults > 0 then
table.assign(woodResults[1], woodResult)
woodResults[1].amount = nil
@ -128,7 +127,14 @@ 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
@ -330,3 +336,35 @@ 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)

View file

@ -1,2 +1 @@
require("wood-logistics")
require("wood-military")

View file

@ -1,20 +0,0 @@
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)

View file

@ -2,12 +2,10 @@ if not mods["wood-military"] then
return
end
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)
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