Compare commits

..

2 commits

Author SHA1 Message Date
Simon Brodtmann
1d52eca253 Update Lignumis settings 2025-12-23 00:01:56 +01:00
Simon Brodtmann
df0bf957f6 Muluna / Crushing Industry compatibility 2025-12-22 23:59:39 +01:00
6 changed files with 62 additions and 17 deletions

View file

@ -0,0 +1 @@
require("planets/tier1/muluna/updates")

View file

@ -0,0 +1,2 @@
[technology-name]
asteroid-crushing=Asteroid crushing

View file

@ -1,17 +1,12 @@
local Settings = require("__cf-lib__/settings/Settings") local Settings = require("__cf-lib__/settings/Settings")
local force = Settings.force local force = Settings.force
local forceDefault = Settings.forceDefault local forceDefault = Settings.forceDefault
local default = Settings.default
-- Lignumis -- Lignumis
force("lignumis-restrict-sciences", true) force("lignumis-restrict-sciences", true)
force("lignumis-technology-progression", true) force("lignumis-technology-progression", true)
force("lignumis-basic-circuit-board", true) force("lignumis-basic-circuit-board", true)
force("lignumis-circuit-progression", true) force("lignumis-circuit-progression", true)
default("lignumis-belt-progression", false)
default("lignumis-inserter-progression", false)
default("lignumis-ammo-progression", false)
default("lignumis-assembler-progression", false)
-- Wood Walls -- Wood Walls
forceDefault("wood-walls-fuelvalue") forceDefault("wood-walls-fuelvalue")

View file

@ -0,0 +1,11 @@
local Technology = require("__cf-lib__/data/Technology")
-- Crushing productivity
Technology:new("ore-crushing-productivity-1")
:setPrerequisites({ "space-science-pack" })
:setIngredients({ "wood-science-pack", "steam-science-pack", "automation-science-pack", "logistic-science-pack", "space-science-pack" })
Technology:new("ore-crushing-productivity-2")
:addPrerequisite("production-science-pack")
:setIngredients({ "wood-science-pack", "steam-science-pack", "automation-science-pack", "logistic-science-pack", "space-science-pack", "production-science-pack" })
Technology:new("ore-crushing-productivity-3")
:removePrerequisite("production-science-pack")

View file

@ -3,26 +3,61 @@ local Recipe = require("__cf-lib__/data/Recipe")
-- Move crusher to Muluna -- Move crusher to Muluna
Technology:new("engine"):removeRecipe("electric-crusher") Technology:new("engine"):removeRecipe("electric-crusher")
Technology:new("planet-discovery-muluna"):addRecipe("electric-crusher")
Technology:new("ore-crushing") Technology:new("ore-crushing")
:setPrerequisites({ "space-science-pack" }) :setPrerequisites({ "space-science-pack" })
:addIngredient("space-science-pack") :addIngredient("space-science-pack")
-- Remove steam entities -- Remove Muluna crushers in favor of Crushing Industry crushers
data.raw.technology["muluna-steam-crusher"] = nil data.raw.technology["muluna-steam-crusher"] = nil
data.raw.technology["crusher-2"] = nil
data.raw.recipe["muluna-steam-crusher"] = nil data.raw.recipe["muluna-steam-crusher"] = nil
data.raw.recipe["crusher-2"] = nil
data.raw.item["muluna-steam-crusher"] = nil data.raw.item["muluna-steam-crusher"] = nil
data.raw.item["crusher-2"] = nil
data.raw["assembling-machine"]["muluna-steam-crusher"] = nil data.raw["assembling-machine"]["muluna-steam-crusher"] = nil
data.raw["assembling-machine"]["crusher-2"] = nil
Technology:new("space-science-pack") Technology:new("space-science-pack")
:replacePrerequisite("muluna-steam-crusher", "muluna-advanced-boiler") :replacePrerequisite("muluna-steam-crusher", "muluna-advanced-boiler")
.prototype.research_trigger.entity = "electric-crusher" .prototype.research_trigger.entity = "electric-crusher"
Recipe:new("interstellar-science-pack"):replaceIngredient("muluna-steam-crusher", "electric-crusher") Recipe:new("interstellar-science-pack"):replaceIngredient("muluna-steam-crusher", "electric-crusher")
-- Crushing productivity -- Only hide vanilla crusher to not cause problems with compatibility code
Technology:new("ore-crushing-productivity-1") local prototypes = {
:setIngredients({ "wood-science-pack", "steam-science-pack", "automation-science-pack", "logistic-science-pack", "space-science-pack" }) data.raw["assembling-machine"]["crusher"],
Technology:new("ore-crushing-productivity-2") data.raw.item["crusher"],
:addPrerequisite("production-science-pack") data.raw.recipe["crusher"]
:setIngredients({ "wood-science-pack", "steam-science-pack", "automation-science-pack", "logistic-science-pack", "space-science-pack", "production-science-pack" }) }
Technology:new("ore-crushing-productivity-3") for _, prototype in pairs(prototypes) do
:removePrerequisite("production-science-pack") table.assign(prototype, {
hidden = true,
hidden_in_factoriopedia = true
})
end
data.raw["assembling-machine"]["crusher"].next_upgrade = nil
-- Change vanilla crusher technology so it unlocks all asteroid crushing at once
Technology:new("crusher")
:removeRecipe("crusher")
:addRecipe("electric-crusher")
:addRecipe("carbonic-asteroid-crushing")
:addRecipe("metallic-asteroid-crushing")
:addRecipe("oxide-asteroid-crushing")
:addRecipe("anorthite-crushing")
:assign({
localised_name = { "asteroid-crushing" },
prerequisites = { "planet-discovery-muluna" },
unit = {
count = 500,
time = 30,
ingredients = {
{"automation-science-pack", 1},
{"logistic-science-pack", 1},
{"chemical-science-pack", 1}
}
}
-- TODO: icon
})
Technology:new("carbonic-asteroid-crushing"):removeRecipe("carbonic-asteroid-crushing")
Technology:new("metallic-asteroid-crushing"):removeRecipe("metallic-asteroid-crushing")
Technology:new("oxide-asteroid-crushing"):removeRecipe("oxide-asteroid-crushing")
--Technology:new("anorthite-crushing"):removeRecipe("anorthite-crushing")

View file

@ -0,0 +1 @@
require("crushing-updates")