1
0
mirror of https://github.com/Wyrrrd/bbr-fix.git synced 2026-03-02 12:51:55 +01:00
Files
bbr-fix/data-final-fixes.lua
2023-03-22 13:38:44 +01:00

66 lines
2.1 KiB
Lua

-- setup id helper maps
ingredients_id_map = {old = false}
for id, item in pairs(data.raw["recipe"]["rail"].ingredients) do
ingredients_id_map[item[1] or item["name"]] = id
if item[1] then
ingredients_id_map["old"] = true
end
end
if data.raw["recipe"]["rail"].products then
products_id_map = {}
print(tprint(data.raw["recipe"]["rail"]))
for id, item in pairs(data.raw["recipe"]["rail"].products) do products_id_map[item[1] or item["name"]] = id end
end
-- mod integrations
if mods["IndustrialRevolution3"] then
replace_item = "gravel"
else
replace_item = "stone"
end
-- get multiplier
multiplier = settings.startup["bbr-fix-cost"].value
-- setup bridge material list
bridges = {
{name = "wood", item = "wood"},
{name = "iron", item = "iron-plate"},
{name = "brick", item = "stone-brick"}
}
for _, bridge in pairs(bridges) do
-- copy rail recipe to bridge
data.raw["recipe"]["bbr-rail-"..bridge.name] = table.deepcopy(data.raw["recipe"]["rail"])
-- fix recipe name
data.raw["recipe"]["bbr-rail-"..bridge.name].name = "bbr-rail-"..bridge.name
-- replace stone with multiplied bridge material
if ingredients_id_map.old then
data.raw["recipe"]["bbr-rail-"..bridge.name].ingredients[ingredients_id_map[replace_item]][1] = bridge.item
-- apply multiplier
if multiplier > 1 then
data.raw["recipe"]["bbr-rail-"..bridge.name].ingredients[ingredients_id_map[replace_item]][2] = multiplier * data.raw["recipe"]["bbr-rail-"..bridge.name].ingredients[ingredients_id_map[replace_item]][2]
end
else
data.raw["recipe"]["bbr-rail-"..bridge.name].ingredients[ingredients_id_map[replace_item]].name = bridge.item
-- apply multiplier
if multiplier > 1 then
data.raw["recipe"]["bbr-rail-"..bridge.name].ingredients[ingredients_id_map[replace_item]].amount = multiplier * data.raw["recipe"]["bbr-rail-"..bridge.name].ingredients[ingredients_id_map[replace_item]].amount
end
end
-- replace rails with bridges
if products_id_map then
data.raw["recipe"]["bbr-rail-"..bridge.name].products[products_id_map["rail"]].name = "bbr-rail-"..bridge.name
else
data.raw["recipe"]["bbr-rail-"..bridge.name].result = "bbr-rail-"..bridge.name
end
end