mirror of
https://github.com/Wyrrrd/bbr-fix.git
synced 2026-03-02 21:01:56 +01:00
66 lines
2.1 KiB
Lua
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 |