Skip to content

Commit

Permalink
Convert data-util and bzutil to x-util
Browse files Browse the repository at this point in the history
  • Loading branch information
tburrows13 committed Sep 24, 2024
1 parent f266d6a commit 1c22b64
Show file tree
Hide file tree
Showing 30 changed files with 510 additions and 364 deletions.
3 changes: 1 addition & 2 deletions compatibility/aai-industry/data-updates.lua
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
if not mods["aai-industry"] then return end

local restack = require "__FreightForwarding__.prototypes.data-util".set_stack_size

local restack = x_util.set_stack_size
restack("processed-fuel", 50)

if mods["Krastorio2"] then
Expand Down
6 changes: 2 additions & 4 deletions compatibility/aai-vehicles-ironclad/data-updates.lua
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
if not mods["aai-vehicles-ironclad"] then return end

local bzutil = require "__bzlead__.data-util"

bzutil.add_ingredient("ironclad", "lead-plate", 30)
bzutil.add_ingredient("ironclad-gunboat", "lead-plate", 30)
x_util.add_ingredient("ironclad", "lead-plate", 30)
x_util.add_ingredient("ironclad-gunboat", "lead-plate", 30)
13 changes: 5 additions & 8 deletions compatibility/advanced-centrifuge/data-updates.lua
Original file line number Diff line number Diff line change
@@ -1,27 +1,24 @@
if not mods["advanced-centrifuge"] then return end

local util = require "__FreightForwarding__.prototypes.data-util"
local bzutil = require "__bzlead__.data-util"

-- Entity rebalance
local k11 = data.raw["assembling-machine"]["k11-advanced-centrifuge"]
table.insert(k11.crafting_categories, "advanced-centrifuging")
k11.scale_entity_info_icon = true
if not mods["Krastorio2"] then k11.crafting_speed = 4 end

-- Recipe rebalance
bzutil.add_ingredient("k11-advanced-centrifuge", "lead-plate", 200)
x_util.add_ingredient("k11-advanced-centrifuge", "lead-plate", 200)

-- Recipe extensions
util.allow_productivity("ff-advanced-uranium-processing")
bzutil.add_unlock("k11-advanced-centrifuge", "ff-advanced-uranium-processing")
x_util.allow_productivity("ff-advanced-uranium-processing")
x_util.add_unlock("k11-advanced-centrifuge", "ff-advanced-uranium-processing")

-- Fix prerequisites
for ___, science in pairs({"production-science-pack", "utility-science-pack"}) do
local tech = data.raw.technology["k11-advanced-centrifuge"]
if tech ~= nil then
if util.contains_research_ingredient(tech.name, science) and not util.is_descendant_of(tech.name, science)then
util.add_prerequisite(tech.name, science)
if x_util.contains_research_ingredient(tech.name, science) and not x_util.is_descendant_of(tech.name, science)then
x_util.add_prerequisite(tech.name, science)
end
end
end
Expand Down
7 changes: 2 additions & 5 deletions compatibility/big-mining-drill/data-updates.lua
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
if not mods["big-mining-drill"] then return end

local util = require "__FreightForwarding__.prototypes.data-util"
local bzutil = require "__bzlead__.data-util"

bzutil.replace_ingredient("big-mining-drill", "steel-plate", "titanium-plate")
util.add_prerequisite("big-mining-drill", "titanium-processing")
x_util.replace_ingredient("big-mining-drill", "steel-plate", "titanium-plate")
x_util.add_prerequisite("big-mining-drill", "titanium-processing")
3 changes: 1 addition & 2 deletions compatibility/bismuth/data-updates.lua
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
if not mods["bismuth"] then return end

local resource_autoplace = require "resource-autoplace.resource-autoplace"
local restack = require "__FreightForwarding__.prototypes.data-util".set_stack_size

local restack = x_util.set_stack_size
local START_RADIUS = 175
local INNER_RADIUS = 775
local OUTER_RADIUS = 1200
Expand Down
31 changes: 14 additions & 17 deletions compatibility/bz/data-updates.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
if
if
not mods["bzaluminum"] and
not mods["bzcarbon"] and
not mods["bzchlorine"] and
Expand All @@ -9,14 +9,11 @@ if
not mods["bztungsten"] and
not mods["bzzirconium"]
then return end

if mods["bztin"] and not (mods["bztungsten"] or mods["bzzirconium"]) then
error("\nUsing BZ Tin without either Tungsten or Zirconium is not allowed for progression reasons")
end

local resource_autoplace = require "resource-autoplace.resource-autoplace"
local bzutil = require "__bzlead__.data-util"
local util = require "__FreightForwarding__.prototypes.data-util"

local START_RADIUS = 175
local INNER_RADIUS = 775
Expand Down Expand Up @@ -194,7 +191,7 @@ end
if mods["bzgold"] and data.raw.resource["rich-copper-ore"] then
data.raw.resource["rich-copper-ore"].autoplace = resource_autoplace.resource_autoplace_settings{
name = "rich-copper-ore",
autoplace_control_name = bzutil.se6() and "rich-copper-ore" or "copper-ore",
autoplace_control_name = x_util.se6() and "rich-copper-ore" or "copper-ore",
order = "b-z",
base_density = 4,
base_spots_per_km2 = 1,
Expand All @@ -209,7 +206,7 @@ if mods["bzgold"] and data.raw.resource["rich-copper-ore"] then
end

-- Stack size tweaks
local restack = util.set_stack_size
local restack = x_util.set_stack_size
restack("aluminum-ore", 30)
restack("flake-graphite", 30)
restack("gold-ore", 30)
Expand All @@ -225,30 +222,30 @@ restack("zirconia", 100)
restack("acsr-cable", 200)
restack("aluminum-cable", 200)

bzutil.remove_ingredient("stone-furnace", "zircon")
bzutil.set_ingredient("stone-furnace", "stone", 5)
x_util.remove_ingredient("stone-furnace", "zircon")
x_util.set_ingredient("stone-furnace", "stone", 5)

-- Remove tungsten and zirconium from engines/trains
util.remove_prerequisite("engine", "tungsten-processing")
bzutil.remove_ingredient("engine-unit", "spark-plug")
bzutil.remove_ingredient("engine-unit", "tungsten-plate")
x_util.remove_prerequisite("engine", "tungsten-processing")
x_util.remove_ingredient("engine-unit", "spark-plug")
x_util.remove_ingredient("engine-unit", "tungsten-plate")

if mods["bztungsten"] then
-- Adds tungsten requirement to transport science
bzutil.add_ingredient("ff-transport-science-pack", "small-lamp", 2)
x_util.add_ingredient("ff-transport-science-pack", "small-lamp", 2)

-- This sim crashes
local s = data.raw["utility-constants"]["default"].main_menu_simulations
s['tungsten-nozzle'] = nil
end

-- Add zircon to transport science
bzutil.add_ingredient("big-electric-pole", "zirconium-plate", 2)
bzutil.add_ingredient("po-huge-electric-pole", "zirconium-plate", 10) -- From Power Overload
bzutil.add_ingredient("substation", "zirconium-plate", 5)
x_util.add_ingredient("big-electric-pole", "zirconium-plate", 2)
x_util.add_ingredient("po-huge-electric-pole", "zirconium-plate", 10) -- From Power Overload
x_util.add_ingredient("substation", "zirconium-plate", 5)

-- Remove lead from natural gas things
if not mods["bztin"] then
bzutil.remove_ingredient("gas-extractor", "lead-plate")
bzutil.remove_ingredient("basic-chemical-plant", "lead-plate")
x_util.remove_ingredient("gas-extractor", "lead-plate")
x_util.remove_ingredient("basic-chemical-plant", "lead-plate")
end
15 changes: 6 additions & 9 deletions compatibility/concentrated-solar/data-updates.lua
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
if not mods["ch-concentrated-solar"] then return end

local util = require "__FreightForwarding__.prototypes.data-util"
local bzutil = require "__bzlead__.data-util"

bzutil.add_ingredient("chcs-heliostat-mirror", "ff-cobalt-ingot", 1)
bzutil.add_ingredient("chcs-solar-power-tower", "ff-cobalt-ingot", 50)
bzutil.add_ingredient("chcs-solar-laser-tower", "ff-cobalt-ingot", 50)
util.add_prerequisite("chcs-concentrated-solar-energy", "ff-cobalt-processing")
util.add_research_ingredient("chcs-concentrated-solar-energy", "utility-science-pack")
util.add_research_ingredient("chcs-weaponized-solar-energy", "utility-science-pack")
x_util.add_ingredient("chcs-heliostat-mirror", "ff-cobalt-ingot", 1)
x_util.add_ingredient("chcs-solar-power-tower", "ff-cobalt-ingot", 50)
x_util.add_ingredient("chcs-solar-laser-tower", "ff-cobalt-ingot", 50)
x_util.add_prerequisite("chcs-concentrated-solar-energy", "ff-cobalt-processing")
x_util.add_research_ingredient("chcs-concentrated-solar-energy", "utility-science-pack")
x_util.add_research_ingredient("chcs-weaponized-solar-energy", "utility-science-pack")
35 changes: 16 additions & 19 deletions compatibility/krastorio2/data-final-fixes.lua
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
if not mods["Krastorio2"] then return end

local util = require "__FreightForwarding__.prototypes.data-util"
local bzutil = require "__bzlead__.data-util"

-- Adjust lead requirements for k2 ammos, moved to piercing- types
if settings.startup["ff-k2-no-lead-ammo"].value then
bzutil.replace_ingredient("rifle-magazine", "lead-plate", "iron-plate")
bzutil.add_ingredient("armor-piercing-rifle-magazine", "lead-plate", 2)
x_util.replace_ingredient("rifle-magazine", "lead-plate", "iron-plate")
x_util.add_ingredient("armor-piercing-rifle-magazine", "lead-plate", 2)

bzutil.replace_ingredient("anti-material-rifle-magazine", "lead-plate", "iron-plate")
bzutil.add_ingredient("armor-piercing-anti-material-rifle-magazine", "lead-plate", 3)
x_util.replace_ingredient("anti-material-rifle-magazine", "lead-plate", "iron-plate")
x_util.add_ingredient("armor-piercing-anti-material-rifle-magazine", "lead-plate", 3)
else
for name, rock in pairs(data.raw["simple-entity"]) do
if name:match('rock') and rock.minable then
Expand Down Expand Up @@ -45,20 +42,20 @@ end
-- "a[load]-o" = "ic-load-railgun-turret"
-- "a[load]-p" = "ic-load-rocket-turret"

util.set_item_subgroup_order("ic-load-terrain", "a[load]-a-c")
util.set_item_subgroup_order("ic-unload-terrain", "b[unload]-a-c")
x_util.set_item_subgroup_order("ic-load-terrain", "a[load]-a-c")
x_util.set_item_subgroup_order("ic-unload-terrain", "b[unload]-a-c")

util.set_item_subgroup_order("ic-load-logistic-network", "a[load]-k")
util.set_item_subgroup_order("ic-unload-logistic-network", "b[unload]-k")
x_util.set_item_subgroup_order("ic-load-logistic-network", "a[load]-k")
x_util.set_item_subgroup_order("ic-unload-logistic-network", "b[unload]-k")

util.set_item_subgroup_order("ic-load-space-related", "a[load]-m")
util.set_item_subgroup_order("ic-unload-space-related", "b[unload]-m")
x_util.set_item_subgroup_order("ic-load-space-related", "a[load]-m")
x_util.set_item_subgroup_order("ic-unload-space-related", "b[unload]-m")

util.set_item_subgroup_order("ic-load-ammo", "a[load]-n")
util.set_item_subgroup_order("ic-unload-ammo", "b[unload]-n")
x_util.set_item_subgroup_order("ic-load-ammo", "a[load]-n")
x_util.set_item_subgroup_order("ic-unload-ammo", "b[unload]-n")

util.set_item_subgroup_order("ic-load-railgun-turret", "a[load]-o")
util.set_item_subgroup_order("ic-unload-railgun-turret", "b[unload]-o")
x_util.set_item_subgroup_order("ic-load-railgun-turret", "a[load]-o")
x_util.set_item_subgroup_order("ic-unload-railgun-turret", "b[unload]-o")

util.set_item_subgroup_order("ic-load-rocket-turret", "a[load]-p")
util.set_item_subgroup_order("ic-unload-rocket-turret", "b[unload]-p")
x_util.set_item_subgroup_order("ic-load-rocket-turret", "a[load]-p")
x_util.set_item_subgroup_order("ic-unload-rocket-turret", "b[unload]-p")
49 changes: 23 additions & 26 deletions compatibility/krastorio2/data-updates.lua
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
if not mods["Krastorio2"] then return end

local util = require "__FreightForwarding__.prototypes.data-util"
local bzutil = require "__bzlead__.data-util"

-- Update kr-steel-pump
data.raw.pump["kr-steel-pump"].energy_source.drain = "1.5kW"

Expand All @@ -15,9 +12,9 @@ data.raw.recipe["matter-to-copper-ore"].hidden = true
data.raw.recipe["matter-to-ff-cobalt-ore"].hidden = true

-- Remove unlock effects from kr-matter techs
bzutil.remove_recipe_effect("kr-matter-iron-processing", "matter-to-iron-ore")
bzutil.remove_recipe_effect("kr-matter-copper-processing", "matter-to-copper-ore")
bzutil.remove_recipe_effect("kr-matter-cobalt-processing", "matter-to-ff-cobalt-ore")
x_util.remove_recipe_effect("kr-matter-iron-processing", "matter-to-iron-ore")
x_util.remove_recipe_effect("kr-matter-copper-processing", "matter-to-copper-ore")
x_util.remove_recipe_effect("kr-matter-cobalt-processing", "matter-to-ff-cobalt-ore")

-- -- Transport Tech Card
data.raw.tool["ff-transport-science-pack"].icon = "__FreightForwarding__/graphics/compatibility/krastorio2/transport-tech-card-item.png"
Expand All @@ -43,27 +40,27 @@ data.raw.tool["ff-transport-science-pack"].pictures = {
}
data.raw.technology["ff-transport-science-pack"].icon = "__FreightForwarding__/graphics/compatibility/krastorio2/transport-tech-card-technology.png"
data.raw.technology["ff-transport-science-pack"].localised_name = { "item-name.ff-k2-transport-tech-card" }
bzutil.set_product_amount("ff-transport-science-pack", "ff-transport-science-pack", 5)
bzutil.set_recipe_time("ff-transport-science-pack", 20)
x_util.set_product_amount("ff-transport-science-pack", "ff-transport-science-pack", 5)
x_util.set_recipe_time("ff-transport-science-pack", 20)
data.raw.recipe["ff-transport-science-pack"].ingredients = {
{ name = "big-electric-pole", amount = 1},
{ name = "rail", amount = 5},
{ name = "blank-tech-card", amount = 5}
}

-- Big-electric-pole recipe
bzutil.remove_ingredient("big-electric-pole", "steel-plate")
bzutil.set_ingredient("big-electric-pole", "steel-beam", 2)
x_util.remove_ingredient("big-electric-pole", "steel-plate")
x_util.set_ingredient("big-electric-pole", "steel-beam", 2)

-- Simplify research tree
bzutil.remove_recipe_effect("kr-basic-fluid-handling", "pipe-to-ground")
util.remove_prerequisite("fluid-handling", "kr-basic-fluid-handling")
util.remove_prerequisite("fluid-handling", "engine")
x_util.remove_recipe_effect("kr-basic-fluid-handling", "pipe-to-ground")
x_util.remove_prerequisite("fluid-handling", "kr-basic-fluid-handling")
x_util.remove_prerequisite("fluid-handling", "engine")

-- Add logistics (will also add FF Science pack if needed in FF-final-fixes)
util.add_research_ingredient("fluid-handling", "logistic-science-pack")
util.add_research_ingredient("oil-processing", "logistic-science-pack")
util.add_research_ingredient("plastics", "logistic-science-pack")
x_util.add_research_ingredient("fluid-handling", "logistic-science-pack")
x_util.add_research_ingredient("oil-processing", "logistic-science-pack")
x_util.add_research_ingredient("plastics", "logistic-science-pack")

-- Remove Transport Science pack from Singularity lab
for i, input in pairs(data.raw.lab["kr-singularity-lab"].inputs) do
Expand All @@ -73,7 +70,7 @@ for i, input in pairs(data.raw.lab["kr-singularity-lab"].inputs) do
end

-- Custom stcks size (will be halved in final-fixes)
local restack = util.set_stack_size
local restack = x_util.set_stack_size
restack("wood", 50)
restack("sand", 50)
restack("raw-imersite", 30)
Expand Down Expand Up @@ -172,24 +169,24 @@ end
data.raw.recipe["lithium-sulfur-battery"].hidden = true
data.raw.item["lithium-sulfur-battery"].flags = {"hidden"}
data.raw.item["lithium-sulfur-battery"].ic_create_container = false
bzutil.remove_recipe_effect("kr-lithium-sulfur-battery", "lithium-sulfur-battery")
x_util.remove_recipe_effect("kr-lithium-sulfur-battery", "lithium-sulfur-battery")
for ___, recipe in pairs(data.raw.recipe) do
bzutil.replace_ingredient(recipe.name, "lithium-sulfur-battery", "ff-battery-pack")
bzutil.replace_product(recipe.name, "lithium-sulfur-battery", "ff-battery-pack")
x_util.replace_ingredient(recipe.name, "lithium-sulfur-battery", "ff-battery-pack")
x_util.replace_product(recipe.name, "lithium-sulfur-battery", "ff-battery-pack")
end

-- Rebalance FF-battery-pack recipe to be more generous & speedy (lithium-batteries are used for science in K2)
-- (3 lithium + 3 cobalt ingot + 9 battery + 1 red chip = 3 battery packs, in the same time)
bzutil.add_ingredient("ff-battery-pack", "lithium", 3)
bzutil.set_ingredient("ff-battery-pack", "battery", 9)
bzutil.set_ingredient("ff-battery-pack", "ff-cobalt-ingot", 3)
bzutil.set_product_amount("ff-battery-pack", "ff-battery-pack", 3)
bzutil.add_prerequisite("ff-battery-pack", "kr-lithium-processing")
x_util.add_ingredient("ff-battery-pack", "lithium", 3)
x_util.set_ingredient("ff-battery-pack", "battery", 9)
x_util.set_ingredient("ff-battery-pack", "ff-cobalt-ingot", 3)
x_util.set_product_amount("ff-battery-pack", "ff-battery-pack", 3)
x_util.add_prerequisite("ff-battery-pack", "kr-lithium-processing")
data.raw.item["ff-battery-pack"].localised_name = "Lithium battery pack"
data.raw.item["ff-charged-battery-pack"].localised_name = "Charged lithium battery pack"

-- Lower battery requirements for Advanced Tech Cards
bzutil.set_ingredient("advanced-tech-card", "ff-battery-pack", 1)
x_util.set_ingredient("advanced-tech-card", "ff-battery-pack", 1)

-- Allow Plutonium Energy fuel cells into K2's Nuclear Locomotive
if mods["PlutoniumEnergy"] then
Expand Down
3 changes: 1 addition & 2 deletions compatibility/planetfall/data-updates.lua
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,7 @@ if mods["BrimStuff"] and data.raw.resource["sulfur-ore"] then
end

-- Stack size tweaks
local restack = require "__FreightForwarding__.prototypes.data-util".set_stack_size
restack("brass-precursor", 30)
local restack = x_util.set_stack_sizerestack("brass-precursor", 30)
restack("nickel-ore", 30)
restack("invar-precursor", 30)
restack("motor", 50)
Expand Down
8 changes: 3 additions & 5 deletions compatibility/plutonium-energy/data-updates.lua
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
if not mods["PlutoniumEnergy"] then return end

local util = require "__FreightForwarding__.prototypes.data-util"
local bzutil = require "__bzlead__.data-util"
local restack = util.set_stack_size
local restack = x_util.set_stack_size

data.raw.item["plutonium-238"].order = "r[uranium-238]-[plutonium238]"
data.raw.item["plutonium-239"].order = "r[uranium-238]-[plutonium239]"
Expand All @@ -12,7 +10,7 @@ restack("breeder-fuel-cell", 5) -- Was 20
restack("used-up-MOX-fuel", 10) -- Was 50
restack("used-up-breeder-fuel-cell", 5) -- Was 20

bzutil.add_ingredient("plutonium-atomic-bomb", "ff-titansteel-plate", 1)
util.add_prerequisite("plutonium-atomic-bomb", "ff-titansteel-processing")
x_util.add_ingredient("plutonium-atomic-bomb", "ff-titansteel-plate", 1)
x_util.add_prerequisite("plutonium-atomic-bomb", "ff-titansteel-processing")

data.raw.item["plutonium-fuel"].fuel_category = "advanced-chemical"
3 changes: 1 addition & 2 deletions compatibility/rocket-silo-construction/data-updates.lua
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
if not mods["Rocket-Silo-Construction"] then return end

local bzutil = require "__bzlead__.data-util"
bzutil.replace_ingredient("rsc-construction-stage5", "steel-plate", "ff-titansteel-plate")
x_util.replace_ingredient("rsc-construction-stage5", "steel-plate", "ff-titansteel-plate")

if mods["Mining-Space-Industries-II"] or mods["LunarLandings"] or mods["space-exploration"] then return end

Expand Down
Loading

0 comments on commit 1c22b64

Please sign in to comment.