minor refactor to use nicer library functions

This commit is contained in:
Brevven 2021-03-15 02:54:28 -07:00
parent a41d3954ab
commit ee7753a6d0
10 changed files with 246 additions and 220 deletions

View file

@ -1,4 +1,3 @@
---------------------------------------------------------------------------------------------------
Version: 0.10.2 Version: 0.10.2
Date: 2021-03-10 Date: 2021-03-10
Features: Features:

View file

@ -24,6 +24,21 @@ function data_util.get_stack_size(default)
return default return default
end end
function data_util.steel_to_titanium(name)
data_util.replace_ingredient(name, "steel-plate", "titanium-plate")
end
function data_util.add_titanium_ingredient(amount, name)
data_util.add_ingredient(name, "titanium-plate", amount)
end
function data_util.rare_to_titanium(name)
data_util.replace_ingredient(name, "rare-metals", "titanium-plate")
end
function data_util.add_titanium_prerequisite(name)
data_util.add_prerequisite(name, data_util.titanium_processing)
end
-- Remove an element of type t and name from data.raw -- Remove an element of type t and name from data.raw
@ -36,34 +51,13 @@ function data_util.remove_raw(t, name)
end end
end end
function data_util.check_for_ingredient(recipe, name) -- Add a prerequisite to a given technology
if recipe ~= nil and recipe.ingredients ~= nil then function data_util.add_prerequisite(technology_name, prerequisite)
for i, ingredient in pairs(recipe.ingredients) do technology = data.raw.technology[technology_name]
if ingredient.name == name then if technology then
return true table.insert(technology.prerequisites, prerequisite)
end end
end end
end
return false
end
--- Add a given quantity of titanium plates to a given recipe
function data_util.add_titanium_ingredient(quantity, recipe)
if recipe ~= nil and recipe.ingredients ~= nil then
if data_util.check_for_ingredient(recipe, data_util.titanium_plate) then
return
end
table.insert(recipe.ingredients, {data_util.titanium_plate, quantity})
end
end
--- Add titanium processing as a prerequisite to a given technology
function data_util.add_titanium_prerequisite(technology)
if (mods["pyrawores"] or mods["bobplates"] or mods["angelssmelting"]) then
return
end
table.insert(technology.prerequisites, data_util.titanium_processing)
end
--- removes a prerequisite tech --- removes a prerequisite tech
function data_util.remove_prerequisite(tech, prereq) function data_util.remove_prerequisite(tech, prereq)
@ -77,21 +71,37 @@ function data_util.remove_prerequisite(tech, prereq)
end end
end end
--- Change all occurances of steel plates to titanium plates in a given recipe -- Add a given quantity of ingredient to a given recipe
function data_util.steel_to_titanium(recipe) function data_util.add_ingredient(recipe_name, ingredient, quantity)
data_util.replace_ingredient(recipe, "steel-plate", data_util.titanium_plate) if data.raw.recipe[recipe_name] then
add_ingredient(data.raw.recipe[recipe_name], ingredient, quantity)
add_ingredient(data.raw.recipe[recipe_name].normal, ingredient, quantity)
add_ingredient(data.raw.recipe[recipe_name].expensive, ingredient, quantity)
end
end end
--- Change all occurances of rare metals to titanium plates in a given recipe function add_ingredient(recipe, ingredient, quantity)
function data_util.rare_to_titanium(recipe)
data_util.replace_ingredient(recipe, "rare-metals", data_util.titanium_plate)
end
function data_util.replace_ingredient(recipe, old, new)
if recipe ~= nil and recipe.ingredients ~= nil then if recipe ~= nil and recipe.ingredients ~= nil then
if data_util.check_for_ingredient(recipe, new) then for _, existing in ipairs(recipe.ingredients) do
if ingredient == existing.name or ingredient == existing[1] then
return return
end end
end
table.insert(recipe.ingredients, {ingredient, quantity})
end
end
-- Replace one ingredien with another in a recipe
function data_util.replace_ingredient(recipe_name, old, new)
if data.raw.recipe[recipe_name] then
replace_ingredient(data.raw.recipe[recipe_name], old, new)
replace_ingredient(data.raw.recipe[recipe_name].normal, old, new)
replace_ingredient(data.raw.recipe[recipe_name].expensive, old, new)
end
end
function replace_ingredient(recipe, old, new)
if recipe ~= nil and recipe.ingredients ~= nil then
for i, ingredient in pairs(recipe.ingredients) do for i, ingredient in pairs(recipe.ingredients) do
-- For final fixes -- For final fixes
if ingredient.name == old then ingredient.name = new end if ingredient.name == old then ingredient.name = new end
@ -101,4 +111,120 @@ function data_util.replace_ingredient(recipe, old, new)
end end
end end
-- Remove an ingredient from a recipe
function data_util.remove_ingredient(recipe_name, old)
if data.raw.recipe[recipe_name] then
remove_ingredient(data.raw.recipe[recipe_name], old)
remove_ingredient(data.raw.recipe[recipe_name].normal, old)
remove_ingredient(data.raw.recipe[recipe_name].expensive, old)
end
end
function remove_ingredient(recipe, old)
index = -1
if recipe ~= nil and recipe.ingredients ~= nil then
for i, ingredient in pairs(recipe.ingredients) do
if ingredient.name == old or ingredient[1] == old then
index = i
break
end
end
if index > -1 then
table.remove(recipe.ingredients, index)
end
end
end
-- Replace an amount of an ingredient in a recipe. Keep at least 1 of old.
function data_util.replace_some_ingredient(recipe_name, old, old_amount, new, new_amount)
replace_some_ingredient(data.raw.recipe[recipe_name], old, old_amount, new, new_amount)
replace_some_ingredient(data.raw.recipe[recipe_name].normal, old, old_amount, new, new_amount)
replace_some_ingredient(data.raw.recipe[recipe_name].expensive, old, old_amount, new, new_amount)
end
function replace_some_ingredient(recipe, old, old_amount, new, new_amount)
if recipe ~= nil and recipe.ingredients ~= nil then
for i, ingredient in pairs(recipe.ingredients) do
if ingredient.name == old then
ingredient.amount = math.max(1, ingredient.amount - old_amount)
end
if ingredient[1] == old then
ingredient[2] = math.max(1, ingredient[2] - old_amount)
end
end
add_ingredient(recipe, new, new_amount)
end
end
-- Add an effect to a given technology
function data_util.add_effect(technology_name, effect)
technology = data.raw.technology[technology_name]
if technology then
table.insert(technology.effects, effect)
end
end
-- check if a table contains a sought value
function data_util.contains(table, sought)
for i, value in pairs(table) do
if value == sought then
return true
end
end
return false
end
-- multiply the cost, energy, and results of a recipe by a multiple
function data_util.multiply_recipe(recipe_name, multiple)
multiply_recipe(data.raw.recipe[recipe_name], multiple)
multiply_recipe(data.raw.recipe[recipe_name].normal, multiple)
multiply_recipe(data.raw.recipe[recipe_name].expensive, multiple)
end
function multiply_recipe(recipe, multiple)
if recipe then
if recipe.energy_required then
recipe.energy_required = recipe.energy_required * multiple
end
if recipe.result_count then
recipe.result_count = recipe.result_count * multiple
end
if recipe.results then
for i, result in pairs(recipe.results) do
if result.name then
if result.amount then
result.amount = result.amount * multiple
end
if result.amount_min ~= nil then
result.amount_min = result.amount_min * multiple
result.amount_max = result.amount_max * multiple
end
if result.catalyst_amount then
result.catalyst_amount = result.catalyst_amount * multiple
end
end
if result[1] then
result[2] = result[2] * multiple
end
end
end
if not recipe.results and not recipe.result_count then
-- implicit one item result
recipe.result_count = multiple
end
if recipe.ingredients then
for i, ingredient in pairs(recipe.ingredients) do
if ingredient.name then
ingredient.amount = ingredient.amount * multiple
end
if ingredient[1] then
ingredient[2] = ingredient[2] * multiple
end
end
end
end
end
return data_util return data_util

View file

@ -1,6 +1,6 @@
{ {
"name": "bztitanium", "name": "bztitanium",
"version": "0.10.2", "version": "0.10.3",
"factorio_version": "1.1", "factorio_version": "1.1",
"title": "Titanium", "title": "Titanium",
"author": "Brevven", "author": "Brevven",

View file

@ -90,55 +90,32 @@ if mods["5dim_core"] then
{type = "unlock-recipe", recipe="titanium-plate-industrial-dust"}) {type = "unlock-recipe", recipe="titanium-plate-industrial-dust"})
if mods["5dim_automation"] then if mods["5dim_automation"] then
util.steel_to_titanium(data.raw.recipe["5d-assembling-machine-07"]) for i, name in ipairs(
util.steel_to_titanium(data.raw.recipe["5d-assembling-machine-07"].normal) {"5d-assembling-machine-07","5d-assembling-machine-08","5d-lab-06","5d-lab-07"}) do
util.steel_to_titanium(data.raw.recipe["5d-assembling-machine-07"].expensive) util.steel_to_titanium(name)
util.steel_to_titanium(data.raw.recipe["5d-assembling-machine-08"]) end
util.steel_to_titanium(data.raw.recipe["5d-assembling-machine-08"].normal)
util.steel_to_titanium(data.raw.recipe["5d-assembling-machine-08"].expensive)
util.steel_to_titanium(data.raw.recipe["5d-lab-06"])
util.steel_to_titanium(data.raw.recipe["5d-lab-06"].normal)
util.steel_to_titanium(data.raw.recipe["5d-lab-06"].expensive)
util.steel_to_titanium(data.raw.recipe["5d-lab-07"])
util.steel_to_titanium(data.raw.recipe["5d-lab-07"].normal)
util.steel_to_titanium(data.raw.recipe["5d-lab-07"].expensive)
end end
if mods["5dim_nuclear"] then if mods["5dim_nuclear"] then
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-02"]) for i, name in ipairs(
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-02"].normal) {
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-02"].expensive) "5d-steam-turbine-02",
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-03"]) "5d-steam-turbine-03",
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-03"].normal) "5d-steam-turbine-04",
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-03"].expensive) "5d-steam-turbine-05",
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-04"]) "5d-steam-turbine-06",
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-04"].normal) "5d-steam-turbine-07",
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-04"].expensive) "5d-steam-turbine-08",
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-05"]) "5d-steam-turbine-09",
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-05"].normal) "5d-steam-turbine-10"
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-05"].expensive) }) do
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-06"]) util.add_ingredient(name, "titanium-plate", 20)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-06"].normal) end
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-06"].expensive)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-07"])
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-07"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-07"].expensive)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-08"])
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-08"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-08"].expensive)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-09"])
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-09"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-09"].expensive)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-10"])
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-10"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-10"].expensive)
end end
if mods["5dim_battlefield"] then if mods["5dim_battlefield"] then
util.steel_to_titanium(data.raw.recipe["5d-stone-wall-09"]) util.steel_to_titanium(name)
util.steel_to_titanium(data.raw.recipe["5d-stone-wall-09"].normal)
util.steel_to_titanium(data.raw.recipe["5d-stone-wall-09"].expensive)
end end
end end

View file

@ -4,26 +4,22 @@
local util = require("__bztitanium__.data-util"); local util = require("__bztitanium__.data-util");
if mods["Krastorio2"] then if mods["Krastorio2"] then
-- Titanium modifies flying robot frames, so use them in a reasonable tech card in Krastorio 2 -- Titanium modifies flying robot frames, so use them in a reasonable tech card in Krastorio 2
util.replace_ingredient(data.raw.recipe["advanced-tech-card"], "electric-engine-unit", "flying-robot-frame") util.replace_ingredient("advanced-tech-card", "electric-engine-unit", "flying-robot-frame")
-- Flavor changes -- Flavor changes
util.rare_to_titanium(data.raw.recipe["kr-electric-mining-drill-mk2"]) util.rare_to_titanium("kr-electric-mining-drill-mk2")
util.rare_to_titanium(data.raw.recipe["kr-advanced-transport-belt"]) util.rare_to_titanium("kr-advanced-transport-belt")
util.rare_to_titanium(data.raw.recipe["kr-advanced-loader"]) util.rare_to_titanium("kr-advanced-loader")
if mods["deadlock-beltboxes-loaders"] then if mods["deadlock-beltboxes-loaders"] then
util.rare_to_titanium(data.raw.recipe["kr-advanced-transport-belt-beltbox"]) util.rare_to_titanium("kr-advanced-transport-belt-beltbox")
util.rare_to_titanium(data.raw.recipe["kr-advanced-transport-belt-loader"]) util.rare_to_titanium("kr-advanced-transport-belt-loader")
end end
util.steel_to_titanium(data.raw.recipe["kr-quarry-drill"]) util.steel_to_titanium("kr-quarry-drill")
util.steel_to_titanium(data.raw.recipe["kr-singularity-lab"]) util.steel_to_titanium("kr-singularity-lab")
util.steel_to_titanium(data.raw.recipe["stack-inserter"]) util.steel_to_titanium("stack-inserter")
util.steel_to_titanium(data.raw.recipe["stack-inserter"].normal) util.steel_to_titanium("stack-filter-inserter")
util.steel_to_titanium(data.raw.recipe["stack-inserter"].expensive)
util.steel_to_titanium(data.raw.recipe["stack-filter-inserter"])
util.steel_to_titanium(data.raw.recipe["stack-filter-inserter"].normal)
util.steel_to_titanium(data.raw.recipe["stack-filter-inserter"].expensive)
util.add_titanium_ingredient(40, data.raw.recipe["kr-advanced-steam-turbine"]) util.add_titanium_ingredient(40, "kr-advanced-steam-turbine")
end end

View file

@ -18,18 +18,10 @@ if mods["modmashsplinter"] then
end end
if mods["modmashsplinterlogistics"] then if mods["modmashsplinterlogistics"] then
util.steel_to_titanium(data.raw.recipe["regenerative-transport-belt"]) util.steel_to_titanium("regenerative-transport-belt")
util.steel_to_titanium(data.raw.recipe["regenerative-transport-belt"].normal) util.steel_to_titanium("regenerative-splitter")
util.steel_to_titanium(data.raw.recipe["regenerative-transport-belt"].expensive) util.steel_to_titanium("regenerative-underground-belt-structure")
util.steel_to_titanium(data.raw.recipe["regenerative-splitter"]) util.steel_to_titanium("regenerative-mini-loader")
util.steel_to_titanium(data.raw.recipe["regenerative-splitter"].normal)
util.steel_to_titanium(data.raw.recipe["regenerative-splitter"].expensive)
util.steel_to_titanium(data.raw.recipe["regenerative-underground-belt-structure"])
util.steel_to_titanium(data.raw.recipe["regenerative-underground-belt-structure"].normal)
util.steel_to_titanium(data.raw.recipe["regenerative-underground-belt-structure"].expensive)
util.steel_to_titanium(data.raw.recipe["regenerative-mini-loader"])
util.steel_to_titanium(data.raw.recipe["regenerative-mini-loader"].normal)
util.steel_to_titanium(data.raw.recipe["regenerative-mini-loader"].expensive)
end end
end end

View file

@ -3,42 +3,22 @@ local util = require("__bztitanium__.data-util");
if data.raw.recipe["se-space-pipe"] then if data.raw.recipe["se-space-pipe"] then
-- Space Exploration space stuff -- Space Exploration space stuff
util.steel_to_titanium(data.raw.recipe["se-space-pipe"]) util.steel_to_titanium("se-space-pipe")
util.steel_to_titanium(data.raw.recipe["se-space-pipe"].normal) util.steel_to_titanium("se-space-transport-belt")
util.steel_to_titanium(data.raw.recipe["se-space-pipe"].expensive) util.steel_to_titanium("se-space-underground-belt")
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt"]) util.steel_to_titanium("se-space-splitter")
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt"].normal) util.steel_to_titanium("se-space-rail")
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt"].expensive) util.add_titanium_ingredient(1, "se-space-platform-scaffold")
util.steel_to_titanium(data.raw.recipe["se-space-underground-belt"])
util.steel_to_titanium(data.raw.recipe["se-space-underground-belt"].normal)
util.steel_to_titanium(data.raw.recipe["se-space-underground-belt"].expensive)
util.steel_to_titanium(data.raw.recipe["se-space-splitter"])
util.steel_to_titanium(data.raw.recipe["se-space-splitter"].normal)
util.steel_to_titanium(data.raw.recipe["se-space-splitter"].expensive)
util.steel_to_titanium(data.raw.recipe["se-space-rail"])
util.steel_to_titanium(data.raw.recipe["se-space-rail"].normal)
util.steel_to_titanium(data.raw.recipe["se-space-rail"].expensive)
util.add_titanium_ingredient(1, data.raw.recipe["se-space-platform-scaffold"])
util.add_titanium_ingredient(1, data.raw.recipe["se-space-platform-scaffold"].normal)
util.add_titanium_ingredient(1, data.raw.recipe["se-space-platform-scaffold"].expensive)
-- Space Exploration alternative LDS -- Space Exploration alternative LDS
util.steel_to_titanium(data.raw.recipe["se-low-density-structure-beryllium"]) util.steel_to_titanium("se-low-density-structure-beryllium")
util.steel_to_titanium(data.raw.recipe["se-low-density-structure-beryllium"].normal)
util.steel_to_titanium(data.raw.recipe["se-low-density-structure-beryllium"].expensive)
-- Space Exploration buildings -- Space Exploration buildings
util.add_titanium_ingredient(20, data.raw.recipe["se-condenser-turbine"]) util.add_titanium_ingredient(20, "se-condenser-turbine")
util.add_titanium_ingredient(20, data.raw.recipe["se-condenser-turbine"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["se-condenser-turbine"].expensive)
-- A couple more deeper tech thematic items to use titanium in. -- A couple more deeper tech thematic items to use titanium in.
util.add_titanium_ingredient(2, data.raw.recipe["se-lattice-pressure-vessel"]) util.add_titanium_ingredient(2, "se-lattice-pressure-vessel")
util.add_titanium_ingredient(2, data.raw.recipe["se-lattice-pressure-vessel"].normal) util.add_titanium_ingredient(2, "se-aeroframe-bulkhead")
util.add_titanium_ingredient(2, data.raw.recipe["se-lattice-pressure-vessel"].expensive)
util.add_titanium_ingredient(2, data.raw.recipe["se-aeroframe-bulkhead"])
util.add_titanium_ingredient(2, data.raw.recipe["se-aeroframe-bulkhead"].normal)
util.add_titanium_ingredient(2, data.raw.recipe["se-aeroframe-bulkhead"].expensive)
-- Organization -- Organization
data.raw.item["titanium-plate"].subgroup = "plates" data.raw.item["titanium-plate"].subgroup = "plates"
@ -46,14 +26,10 @@ if data.raw.recipe["se-space-pipe"] then
-- deadlock loaders for SE -- mods["deadlock-beltboxes-loaders"] -- deadlock loaders for SE -- mods["deadlock-beltboxes-loaders"]
if mods["Deadlock-SE-bridge"] then if mods["Deadlock-SE-bridge"] then
if data.raw.recipe["se-space-transport-belt-loader"] then if data.raw.recipe["se-space-transport-belt-loader"] then
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt-loader"]) util.steel_to_titanium("se-space-transport-belt-loader")
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt-loader"].normal)
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt-loader"].expensive)
end end
if data.raw.recipe["se-space-transport-belt-beltbox"] then if data.raw.recipe["se-space-transport-belt-beltbox"] then
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt-beltbox"]) util.steel_to_titanium("se-space-transport-belt-beltbox")
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt-beltbox"].normal)
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt-beltbox"].expensive)
end end
end end
end end

View file

@ -2,69 +2,43 @@ local util = require("__bztitanium__.data-util");
-- Various vehicle/transport mod changes -- Various vehicle/transport mod changes
if mods["Aircraft"] then if mods["Aircraft"] then
util.steel_to_titanium(data.raw.recipe["gunship"]) util.steel_to_titanium("gunship")
util.steel_to_titanium(data.raw.recipe["gunship"].normal) util.steel_to_titanium("cargo-plane")
util.steel_to_titanium(data.raw.recipe["gunship"].expensive) util.steel_to_titanium("flying-fortress")
util.steel_to_titanium(data.raw.recipe["cargo-plane"]) util.add_titanium_ingredient(10, "aircraft-afterburner")
util.steel_to_titanium(data.raw.recipe["cargo-plane"].normal)
util.steel_to_titanium(data.raw.recipe["cargo-plane"].expensive)
util.steel_to_titanium(data.raw.recipe["flying-fortress"])
util.steel_to_titanium(data.raw.recipe["flying-fortress"].normal)
util.steel_to_titanium(data.raw.recipe["flying-fortress"].expensive)
util.add_titanium_ingredient(10, data.raw.recipe["aircraft-afterburner"])
util.add_titanium_ingredient(10, data.raw.recipe["aircraft-afterburner"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["aircraft-afterburner"].expensive)
-- jet doesn't use steel in base aircraft mod, but leave this here just in case that changes -- jet doesn't use steel in base aircraft mod, but leave this here just in case that changes
util.steel_to_titanium(data.raw.recipe["jet"]) util.steel_to_titanium("jet")
util.steel_to_titanium(data.raw.recipe["jet"].normal)
util.steel_to_titanium(data.raw.recipe["jet"].expensive)
end end
if mods["betterCargoPlanes"] then if mods["betterCargoPlanes"] then
util.steel_to_titanium(data.raw.recipe["better-cargo-plane"]) util.steel_to_titanium("better-cargo-plane")
util.steel_to_titanium(data.raw.recipe["better-cargo-plane"].normal)
util.steel_to_titanium(data.raw.recipe["better-cargo-plane"].expensive)
end end
if mods["HelicopterRevival"] or mods["Helicopters"] then if mods["HelicopterRevival"] or mods["Helicopters"] then
util.steel_to_titanium(data.raw.recipe["heli-recipe"]) util.steel_to_titanium("heli-recipe")
util.steel_to_titanium(data.raw.recipe["heli-recipe"].normal)
util.steel_to_titanium(data.raw.recipe["heli-recipe"].expensive)
end end
if mods["adamo-chopper"] then if mods["adamo-chopper"] then
util.steel_to_titanium(data.raw.recipe["chopper-recipe"]) util.steel_to_titanium("chopper-recipe")
util.steel_to_titanium(data.raw.recipe["chopper-recipe"].normal)
util.steel_to_titanium(data.raw.recipe["chopper-recipe"].expensive)
end end
if mods["jetpack"] then if mods["jetpack"] then
util.steel_to_titanium(data.raw.recipe["jetpack-1"]) util.steel_to_titanium("jetpack-1")
util.steel_to_titanium(data.raw.recipe["jetpack-1"].normal)
util.steel_to_titanium(data.raw.recipe["jetpack-1"].expensive)
end end
if mods["Hovercrafts"] or mods["Hovercrafts_Realism"] then if mods["Hovercrafts"] or mods["Hovercrafts_Realism"] then
util.steel_to_titanium(data.raw.recipe["hcraft-recipe"]) util.steel_to_titanium("hcraft-recipe")
util.steel_to_titanium(data.raw.recipe["hcraft-recipe"].normal) util.add_titanium_prerequisite("hcraft-tech")
util.steel_to_titanium(data.raw.recipe["hcraft-recipe"].expensive)
util.add_titanium_prerequisite(data.raw.technology["hcraft-tech"])
end end
if mods["Raven"] then if mods["Raven"] then
util.add_titanium_ingredient(100, data.raw.recipe["raven"]) util.add_titanium_ingredient(100, "raven")
util.add_titanium_ingredient(100, data.raw.recipe["raven"].normal)
util.add_titanium_ingredient(100, data.raw.recipe["raven"].expensive)
end end
if mods["Hover-Car"] then if mods["Hover-Car"] then
util.steel_to_titanium(data.raw.recipe["hover-car-recipe"]) util.steel_to_titanium("hover-car-recipe")
util.steel_to_titanium(data.raw.recipe["hover-car-recipe"].normal) util.steel_to_titanium("hover-car-mk2-recipe")
util.steel_to_titanium(data.raw.recipe["hover-car-recipe"].expensive)
util.steel_to_titanium(data.raw.recipe["hover-car-mk2-recipe"])
util.steel_to_titanium(data.raw.recipe["hover-car-mk2-recipe"].normal)
util.steel_to_titanium(data.raw.recipe["hover-car-mk2-recipe"].expensive)
end end
-- Just a general compatiblity improvement with py alien life enabled alongside jetpack or other equipment mods -- Just a general compatiblity improvement with py alien life enabled alongside jetpack or other equipment mods

View file

@ -3,39 +3,27 @@
local util = require("__bztitanium__.data-util"); local util = require("__bztitanium__.data-util");
util.steel_to_titanium(data.raw.recipe["low-density-structure"]) util.steel_to_titanium("low-density-structure")
util.steel_to_titanium(data.raw.recipe["low-density-structure"].normal)
util.steel_to_titanium(data.raw.recipe["low-density-structure"].expensive)
if not mods["bobrevamp"] then if not mods["bobrevamp"] then
util.add_titanium_prerequisite(data.raw.technology["low-density-structure"]) util.add_titanium_prerequisite("low-density-structure")
end end
if (not mods["bobplates"] and not mods["angelssmelting"]) then if (not mods["bobplates"] and not mods["angelssmelting"]) then
util.steel_to_titanium(data.raw.recipe["flying-robot-frame"]) util.steel_to_titanium("flying-robot-frame")
util.steel_to_titanium(data.raw.recipe["flying-robot-frame"].normal) util.add_titanium_prerequisite("robotics")
util.steel_to_titanium(data.raw.recipe["flying-robot-frame"].expensive)
util.add_titanium_prerequisite(data.raw.technology["robotics"])
end end
if (mods["bobrevamp"] and not mods["bobplates"] and not mods["angelssmelting"]) then if (mods["bobrevamp"] and not mods["bobplates"] and not mods["angelssmelting"]) then
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-2"]) util.steel_to_titanium("flying-robot-frame-2")
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-2"].normal) util.steel_to_titanium("flying-robot-frame-3")
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-2"].expensive) util.steel_to_titanium("flying-robot-frame-4")
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-3"])
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-3"].normal)
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-3"].expensive)
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-4"])
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-4"].normal)
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-4"].expensive)
end end
-- Memory storage changes -- Memory storage changes
if data.raw.item["memory-unit"] then if data.raw.item["memory-unit"] then
util.steel_to_titanium(data.raw.recipe["memory-unit"]) util.steel_to_titanium("memory-unit")
util.steel_to_titanium(data.raw.recipe["memory-unit"].normal)
util.steel_to_titanium(data.raw.recipe["memory-unit"].expensive)
end end
-- Underwater pipes changes -- Underwater pipes changes
@ -51,10 +39,8 @@ if data.raw.item["underwater-pipe"] then
table.remove(data.raw.technology["underwater-pipes"].prerequisites, index) table.remove(data.raw.technology["underwater-pipes"].prerequisites, index)
end end
end end
util.add_titanium_prerequisite(data.raw.technology["underwater-pipes"]) util.add_titanium_prerequisite("underwater-pipes")
util.steel_to_titanium(data.raw.recipe["underwater-pipe"]) util.steel_to_titanium("underwater-pipe")
util.steel_to_titanium(data.raw.recipe["underwater-pipe"].normal)
util.steel_to_titanium(data.raw.recipe["underwater-pipe"].expensive)
end end

View file

@ -3,8 +3,8 @@
local util = require("__bztitanium__.data-util"); local util = require("__bztitanium__.data-util");
if (not mods["bobplates"] and not mods["angelssmelting"]) then if (not mods["bobplates"] and not mods["angelssmelting"]) then
util.steel_to_titanium(data.raw.recipe["power-armor"]) util.replace_ingredient("power-armor", "steel", "titanium")
util.add_titanium_prerequisite(data.raw.technology["power-armor"]) util.add_prerequisite("power-armor", util.titanium_processing)
-- All equipment that uses steel now uses titanium. Who wants to carry around steel! -- All equipment that uses steel now uses titanium. Who wants to carry around steel!
for name, recipe in pairs(data.raw.recipe) do for name, recipe in pairs(data.raw.recipe) do
@ -16,22 +16,22 @@ end
-- Generally, steel-based equipment techs require solar panel tech, so only require -- Generally, steel-based equipment techs require solar panel tech, so only require
-- titanium processing for that. -- titanium processing for that.
util.add_titanium_prerequisite(data.raw.technology["solar-panel-equipment"]) util.add_prerequisite("solar-panel-equipment", util.titanium_processing)
-- Also add titanium to some nuclear steam-handling stuff -- Also add titanium to some nuclear steam-handling stuff
util.add_titanium_ingredient(20, data.raw.recipe["steam-turbine"]) util.add_titanium_ingredient(20, "steam-turbine")
if not mods["pyrawores"] then if not mods["pyrawores"] then
util.add_titanium_ingredient(20, data.raw.recipe["heat-exchanger"]) util.add_titanium_ingredient(20, "heat-exchanger")
util.add_prerequisite("nuclear-power", util.titanium_processing)
end end
util.add_titanium_prerequisite(data.raw.technology["nuclear-power"])
-- Krastorio 2 changes -- Krastorio 2 changes
if mods["Krastorio2"] then if mods["Krastorio2"] then
util.add_titanium_prerequisite(data.raw.technology["kr-electric-mining-drill-mk2"]) util.add_prerequisite("kr-electric-mining-drill-mk2", util.titanium_processing)
util.add_titanium_prerequisite(data.raw.technology["kr-quarry-minerals-extraction"]) util.add_prerequisite("kr-quarry-minerals-extraction", util.titanium_processing)
end end
if mods["Aircraft"] then if mods["Aircraft"] then
util.add_titanium_prerequisite(data.raw.technology["advanced-aerodynamics"]) util.add_prerequisite("advanced-aerodynamics", util.titanium_processing)
end end