fluid mining tech to replace uranium mining

and some cleanup and adjustment of fluid setting handling
This commit is contained in:
Brevven 2024-12-24 02:37:59 -08:00
parent 99b2c9229c
commit 22076c0522
9 changed files with 86 additions and 23 deletions

View file

@ -12,6 +12,19 @@ function decode(data)
return table.concat(str, "")
end
function util.check_fluid_mining()
for i, force in pairs(game.forces) do
if (
(force.technologies["uranium-processing"] and force.technologies["uranium-processing"].researched) or
(force.technologies["titanium-processing"] and force.technologies["titanium-processing"].researched) or
(force.technologies["dummy-processing"] and force.technologies["dummy-processing"].researched) or
false
) then
force.technologies["fluid-mining"].researched = true
end
end
end
function util.get_list()
local p = game.item_prototypes[me.name.."-list"]
if p then

View file

@ -1 +1,3 @@
local util = require("control-util")
script.on_init(util.check_fluid_mining)

View file

@ -49,12 +49,12 @@ require("titanium-recipe-final-modmash")
require("compatibility/248k-final")
-- Second part of hack for endgame combat
require("compatibility/titanium-endgame-combat-final")
-- Hack for AutoTrainDepot
require("compatibility/titanium-auto-train-depot-final")
local util = require("__bztitanium__.data-util");
util.use_fluid_mining_final()

View file

@ -11,6 +11,10 @@ util.get_setting = util.me.get_setting
util.titanium_plate = ""
util.titanium_processing = ""
util.A = {{"automation-science-pack", 1}}
util.AL = {{"automation-science-pack", 1}, {"logistic-science-pack", 1}}
util.ALC = {{"automation-science-pack", 1}, {"logistic-science-pack", 1}, {"chemical-science-pack", 1}}
if mods["FactorioExtended-Plus-Core"] then
util.titanium_plate = "titanium-alloy"
else
@ -109,6 +113,54 @@ function util.contains(table, sought)
return false
end
-- Replace 'uranium-mining' tech with 'fluid-mining', defaulting to same costs
function util.add_fluid_mining()
if data.raw.technology["fluid-mining"] then return end
util.remove_raw("technology", "uranium-mining")
data:extend({
{
type = "technology",
name = "fluid-mining",
icon = "__"..util.me.name.."__/graphics/technology/fluid-mining.png",
icon_size = 256,
effects =
{
{
type = "mining-with-fluid",
modifier = true
}
},
prerequisites = {"chemical-science-pack", "concrete"},
unit =
{
count = 100,
ingredients =
{
{"automation-science-pack", 1},
{"logistic-science-pack", 1},
{"chemical-science-pack", 1}
},
time = 30,
}
}
})
end
-- Final fix to make sure nothing uses "uranium-mining"
function util.use_fluid_mining_final()
for i, tech in pairs(data.raw.technology) do
if tech.prerequisites then
for j, pre in pairs(tech.prerequisites) do
if pre == "uranium-mining" then
util.add_prerequisite(tech.name, "fluid-mining")
util.remove_prerequisite(tech.name, "uranium-mining")
break
end
end
end
end
end
-- se landfill
-- params: ore, icon_size

View file

@ -25,8 +25,10 @@ vacuum=Vacuum
titanium-processing=Titanium Processing
enriched-titanium=Enriched Titanium
titanium-matter-processing=Titanium conversion
fluid-mining=Fluid mining
[technology-description]
fluid-mining=Allows supply of fluids to mining drills to enable mining of certain resources.
titanium-processing=Process titanium ore into titanium plates
enriched-titanium=Enrich titanium ore, purifying with hydrogen chloride [fluid=hydrogen-chloride] and water [fluid=water], improving the final yield. Produce dirty water [fluid=dirty-water] as a byproduct.

4
me.lua
View file

@ -4,7 +4,7 @@ me.name = "bztitanium"
me.titanium_plate = ""
me.titanium_processing = ""
if mods["FactorioExtended-Plus-Core"] then
if mods and mods["FactorioExtended-Plus-Core"] then
me.titanium_plate = "titanium-alloy"
else
me.titanium_plate = "titanium-plate"
@ -17,7 +17,7 @@ me.recipes = {me.titanium_plate,
"molten-titanium",
"enriched-titanium-smelting-vulcanite"}
if mods["pyrawores"] then
if mods and mods["pyrawores"] then
me.titanium_processing = "titanium-mk01"
else
me.titanium_processing = "titanium-processing"

View file

@ -10,17 +10,6 @@ end
if mining_fluid == "chlorine" and data.raw.fluid["chlorine"] and mods["Krastorio2"] then
data.raw.technology[util.me.titanium_processing].prerequisites = {"kr-fluids-chemistry"}
data.raw.technology[util.me.titanium_processing].unit.ingredients = {
{"basic-tech-card", 1}, {"automation-science-pack", 1}, {"logistic-science-pack", 1}}
elseif mining_fluid == "sulfuric-acid" then
data.raw.technology[util.me.titanium_processing].prerequisites = {"uranium-mining"}
data.raw.technology[util.me.titanium_processing].unit.ingredients = util.ALC
else
if not mods["Pre0-17-60Oil"] then
util.set_tech_recipe("solar-panel-equipment", {
{"automation-science-pack", 1}, {"logistic-science-pack", 1}, {"chemical-science-pack", 1}})
util.set_tech_recipe("belt-immunity-equipment", {
{"automation-science-pack", 1}, {"logistic-science-pack", 1}, {"chemical-science-pack", 1}})
util.set_tech_recipe("night-vision-equipment", {
{"automation-science-pack", 1}, {"logistic-science-pack", 1}, {"chemical-science-pack", 1}})
end
end

View file

@ -2,6 +2,7 @@
--
local util = require("__bztitanium__.data-util");
util.add_fluid_mining()
-- Space Age
if mods["space-age"] then
util.replace_some_ingredient("space-platform-foundation", "steel-plate", 15, util.me.titanium_plate, 15)
@ -18,11 +19,11 @@ if mods["space-age"] then
util.replace_ingredient("express-transport-belt", "iron-gear-wheel", "titanium-plate", 2)
util.replace_ingredient("bulk-inserter", "iron-gear-wheel", "titanium-plate", 3)
util.add_prerequisite("logistics-3", "titanium-processing")
util.set_tech_recipe("logistics-3", {{"automation-science-pack", 1}, {"logistic-science-pack", 1}, {"chemical-science-pack", 1}})
util.set_tech_recipe("logistics-3", util.ALC)
util.add_prerequisite("bulk-inserter", "titanium-processing")
util.set_tech_recipe("bulk-inserter", {{"automation-science-pack", 1}, {"logistic-science-pack", 1}, {"chemical-science-pack", 1}})
util.set_tech_recipe("inserter-capacity-bonus-1", {{"automation-science-pack", 1}, {"logistic-science-pack", 1}, {"chemical-science-pack", 1}})
util.set_tech_recipe("inserter-capacity-bonus-2", {{"automation-science-pack", 1}, {"logistic-science-pack", 1}, {"chemical-science-pack", 1}})
util.set_tech_recipe("bulk-inserter", util.ALC)
util.set_tech_recipe("inserter-capacity-bonus-1", util.ALC)
util.set_tech_recipe("inserter-capacity-bonus-2", util.ALC)
end
if (not mods["bobplates"]) then
@ -32,6 +33,10 @@ if (not mods["bobplates"]) then
-- Generally, steel-based equipment techs require solar panel tech, so only require
-- titanium processing for that.
util.add_prerequisite("solar-panel-equipment", util.me.titanium_processing)
util.set_tech_recipe("solar-panel-equipment", util.ALC)
util.set_tech_recipe("belt-immunity-equipment", util.ALC)
util.set_tech_recipe("night-vision-equipment", util.ALC)
-- All equipment that uses steel now uses titanium. Who wants to carry around steel!

View file

@ -68,7 +68,7 @@ data:extend({
} or nil,
},
research_trigger = {type="mine-entity", entity="titanium-ore"},
prerequisites = {"lubricant"},
prerequisites = {"lubricant", "uranium-mining"},
order = "b-b"
},
-- mods["TheBigFurnace"] and {