mirror of
https://github.com/Wyrrrd/bbr-fix.git
synced 2026-07-06 21:16:50 +02:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 86b98f8bc9 | |||
| db9a5ccdb3 | |||
| 13b8f9ef5c | |||
| 0b96ea702e | |||
| ae709490ac |
Vendored
+29
@@ -0,0 +1,29 @@
|
||||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"type": "factoriomod",
|
||||
"request": "launch",
|
||||
"name": "Factorio Mod Debug",
|
||||
"factorioPath": "D:/Modding/Factorio/bin/x64/factorio.exe"
|
||||
},
|
||||
{
|
||||
"type": "factoriomod",
|
||||
"request": "launch",
|
||||
"name": "Factorio Mod Debug (Settings & Data)",
|
||||
"factorioPath": "D:/Modding/Factorio/bin/x64/factorio.exe",
|
||||
"hookSettings": true,
|
||||
"hookData": true
|
||||
},
|
||||
{
|
||||
"type": "factoriomod",
|
||||
"request": "launch",
|
||||
"name": "Factorio Mod Debug (Profile)",
|
||||
"factorioPath": "D:/Modding/Factorio/bin/x64/factorio.exe",
|
||||
"hookMode": "profile"
|
||||
}
|
||||
]
|
||||
}
|
||||
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"factorio.versions": [
|
||||
{
|
||||
"name": "Factorio",
|
||||
"factorioPath": "d:\\Modding\\Factorio\\bin\\x64\\factorio.exe",
|
||||
"active": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,12 +2,12 @@
|
||||
<img src="https://raw.githubusercontent.com/Wyrrrd/bbr-fix/master/thumbnail.png" width="128" height="128">
|
||||
|
||||
### Features
|
||||
Changes the recipes of BBR to depend on rails to be more in line with modded rail recipes. You can also enable more expensive recipes via mod settings.
|
||||
Changes the recipes of BBR to depend on rails to be more in line with modded rail recipes. You can also make the recipes more expensive via mod settings.
|
||||
|
||||
### Examples
|
||||
The stone in the rail recipe gets replaced by the bridge material (wood, iron plate or stone brick).
|
||||
|
||||
So if your modded rail costs 1x stone, 1x steel and 1x turret (don't ask why), with expensive recipes **disabled**, wooden bridge rail will cost **1x** wood, 1x steel and 1x turret. With expensive recipes **enabled**, wooden bridge rail will cost **5x** wood, 1x steel and 1x turret.
|
||||
So if your modded rail costs 1x stone, 1x steel and 1x turret (don't ask why), with a cost multiplier of **1**, wooden bridge rail will cost **1x** wood, 1x steel and 1x turret. With a cost multiplier of **5**, wooden bridge rail will cost **5x** wood, 1x steel and 1x turret.
|
||||
|
||||
### Credits
|
||||
Thanks to [kapaer](https://mods.factorio.com/user/kapaer) for the [mod](https://mods.factorio.com/mod/beautiful_bridge_railway) this depends on.
|
||||
@@ -1,4 +1,24 @@
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 1.1.3
|
||||
Date: 2023-03-22
|
||||
Changes:
|
||||
- Complete rewrite to enable copying rail recipe result amount, and for performance
|
||||
Features:
|
||||
- Added "gravel" from IR3 to overwritten materials
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 1.1.2
|
||||
Date: 2021-09-06
|
||||
Changes:
|
||||
- opened up configurability, now the expensiveness can be set freely (don't overdo it)
|
||||
- if you used expensive mode, you have to set the cost multiplier to 5 before loading your map
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 1.1.1
|
||||
Date: 2020-12-29
|
||||
Features:
|
||||
- Added russian locale (thanks to EldrinnElantey on Github)
|
||||
Bugfixes:
|
||||
- Fixed mod name in locales
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 1.1.0
|
||||
Date: 2020-12-02
|
||||
Changes:
|
||||
|
||||
+60
-17
@@ -1,23 +1,66 @@
|
||||
local base_recipe = {}
|
||||
-- grab rail recipe ingredients except stone
|
||||
for _,component in pairs(data.raw["recipe"]["rail"].ingredients) do
|
||||
cname = component[1] or component["name"]
|
||||
camount = component[2] or component["amount"]
|
||||
if cname ~= "stone" then
|
||||
table.insert(base_recipe,{cname,camount})
|
||||
-- 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
|
||||
|
||||
data.raw["recipe"]["bbr-rail-wood"].ingredients = table.deepcopy(base_recipe)
|
||||
data.raw["recipe"]["bbr-rail-iron"].ingredients = table.deepcopy(base_recipe)
|
||||
data.raw["recipe"]["bbr-rail-brick"].ingredients = table.deepcopy(base_recipe)
|
||||
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
|
||||
|
||||
if settings.startup["bbr_fix_expensive"].value then
|
||||
table.insert(data.raw["recipe"]["bbr-rail-wood"].ingredients,{"wood",5})
|
||||
table.insert(data.raw["recipe"]["bbr-rail-iron"].ingredients,{"iron-plate",5})
|
||||
table.insert(data.raw["recipe"]["bbr-rail-brick"].ingredients,{"stone-brick",5})
|
||||
|
||||
-- mod integrations
|
||||
if mods["IndustrialRevolution3"] then
|
||||
replace_item = "gravel"
|
||||
else
|
||||
table.insert(data.raw["recipe"]["bbr-rail-wood"].ingredients,{"wood",1})
|
||||
table.insert(data.raw["recipe"]["bbr-rail-iron"].ingredients,{"iron-plate",1})
|
||||
table.insert(data.raw["recipe"]["bbr-rail-brick"].ingredients,{"stone-brick",1})
|
||||
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
|
||||
@@ -1,12 +1,13 @@
|
||||
{
|
||||
"name": "bbr-fix",
|
||||
"version": "1.1.0",
|
||||
"version": "1.1.3",
|
||||
"title": "Beautiful Bridge Railway - Recipe Fix",
|
||||
"author": "Wyrrrd",
|
||||
"factorio_version": "1.1",
|
||||
"dependencies": [
|
||||
"base >= 1.1.0",
|
||||
"beautiful_bridge_railway >= 1.1.1"
|
||||
"beautiful_bridge_railway >= 1.1.1",
|
||||
"(?) IndustrialRevolution3 >= 3.0.1"
|
||||
],
|
||||
"description": "Adds rails to recipes."
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
[mod-description]
|
||||
Autofilter=Fügt Schienen zu Rezepten hinzu.
|
||||
bbr-fix=Fügt Schienen zu Rezepten hinzu.
|
||||
|
||||
[mod-setting-name]
|
||||
bbr_fix_expensive=Teure Rezepte
|
||||
bbr-fix-cost=Kostenmultiplikator
|
||||
@@ -1,5 +1,5 @@
|
||||
[mod-description]
|
||||
Autofilter=Adds rails to recipes.
|
||||
bbr-fix=Adds rails to recipes.
|
||||
|
||||
[mod-setting-name]
|
||||
bbr_fix_expensive=Expensive recipes
|
||||
bbr-fix-cost=Cost multiplier
|
||||
@@ -0,0 +1,5 @@
|
||||
[mod-description]
|
||||
bbr-fix=Добавляет рельсы в рецепты.
|
||||
|
||||
[mod-setting-name]
|
||||
bbr-fix-cost=Умножитель стоимости
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
data:extend({
|
||||
{
|
||||
type = "bool-setting",
|
||||
name = "bbr_fix_expensive",
|
||||
default_value = "false",
|
||||
type = "int-setting",
|
||||
name = "bbr-fix-cost",
|
||||
default_value = 1,
|
||||
setting_type = "startup",
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user