Hello,
I play a massive mod
https://mods.factorio.com/mod/Spaghetorio <- I take no credit.
And was wondering if you are ok to add the fuel in your mod? I asked the ai to write me the script and also no NOT include any bio fuel just because there are just to many this overhaul mod adds.
Here is the script the AI wrote and yes, no clue if any issues. I personally just asked it to create me a separate lua (since i don't upload mods especially since it's not my mod) but yeah, i much more prefer to have it clear like your mod does
-- FILE: data-final-fixes.lua
---@diagnostic disable: undefined-global
-- keep existing uranium-fuel-cell line (if you already have it)
data.raw["item"]["uranium-fuel-cell"].fuel_value = settings.startup["uranium-fuel-cell-config-mj"].value .. "MJ"
local fuels = {
"wood", "coal", "solid-fuel", "rocket-fuel", "nuclear-fuel"
}
local fuels_space_age_dlc = {
"carbon", "yumako-seed", "jellynut-seed", "tree-seed",
"yumako", "jellynut", "spoilage", "yumako-mash",
"jelly", "biter-egg", "pentapod-egg",
}
-- ADD THIS (Spagetorio fuels, only when mod is active)
local fuels_spagetorio = {
"sp-coke",
"sp-fuel",
"sp-advanced-fuel",
"sp-thorium-fuel-rod",
"sp-uranium-fuel-rod",
"sp-mox-fuel-rod",
"sp-plutonium-fuel-rod",
"sp-charged-antimatter-fuel-cell",
"sp-dt-fuel",
}
local function update_fuels(fuel_list)
for _, fuel_name in ipairs(fuel_list) do
local item = data.raw["item"][fuel_name]
if item then
local setting_name = fuel_name .. "-config-mj"
if settings.startup[setting_name] then
item.fuel_value = settings.startup[setting_name].value .. "MJ"
else
log("Setting '" .. setting_name .. "' does not exist!")
end
local accel_setting = settings.startup[fuel_name .. "-config-fuel-accel"]
if accel_setting then
item.fuel_acceleration_multiplier = accel_setting.value
end
local speed_setting = settings.startup[fuel_name .. "-config-fuel-max"]
if speed_setting then
item.fuel_top_speed_multiplier = speed_setting.value
end
else
log("Fuel item '" .. fuel_name .. "' was not found!")
end
end
end
update_fuels(fuels)
if mods["space-age"] then
update_fuels(fuels_space_age_dlc)
data.raw["item"]["fusion-power-cell"].fuel_value = settings.startup["fusion-power-cell-config-mj"].value .. "MJ"
end
-- ADD THIS LINE
if mods["Spagetorio"] then
update_fuels(fuels_spagetorio)
end
-- FILE: settings.lua
---@diagnostic disable: undefined-global
-- ADD THIS BLOCK (Spagetorio fuels settings, only when Spagetorio is active)
if mods["Spagetorio"] then
data:extend({
-- MJ values
{ type="double-setting", name="sp-coke-config-mj", setting_type="startup", default_value=4.0, minimum_value=0.1, order="fuel-config-sp-a01" },
{ type="double-setting", name="sp-fuel-config-mj", setting_type="startup", default_value=12.0, minimum_value=0.1, order="fuel-config-sp-a02" },
{ type="double-setting", name="sp-advanced-fuel-config-mj", setting_type="startup", default_value=100.0, minimum_value=0.1, order="fuel-config-sp-a03" },
{ type="double-setting", name="sp-thorium-fuel-rod-config-mj", setting_type="startup", default_value=8000.0, minimum_value=0.1, order="fuel-config-sp-a04" },
{ type="double-setting", name="sp-uranium-fuel-rod-config-mj", setting_type="startup", default_value=8000.0, minimum_value=0.1, order="fuel-config-sp-a05" },
{ type="double-setting", name="sp-mox-fuel-rod-config-mj", setting_type="startup", default_value=12000.0, minimum_value=0.1, order="fuel-config-sp-a06" },
{ type="double-setting", name="sp-plutonium-fuel-rod-config-mj", setting_type="startup", default_value=16000.0, minimum_value=0.1, order="fuel-config-sp-a07" },
{ type="double-setting", name="sp-charged-antimatter-fuel-cell-config-mj", setting_type="startup", default_value=40000.0, minimum_value=0.1, order="fuel-config-sp-a08" },
{ type="double-setting", name="sp-dt-fuel-config-mj", setting_type="startup", default_value=40000.0, minimum_value=0.1, order="fuel-config-sp-a09" },
-- Acceleration multipliers
{ type="double-setting", name="sp-coke-config-fuel-accel", setting_type="startup", default_value=1.05, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-b01" },
{ type="double-setting", name="sp-fuel-config-fuel-accel", setting_type="startup", default_value=1.40, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-b02" },
{ type="double-setting", name="sp-advanced-fuel-config-fuel-accel", setting_type="startup", default_value=2.10, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-b03" },
{ type="double-setting", name="sp-thorium-fuel-rod-config-fuel-accel", setting_type="startup", default_value=2.90, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-b04" },
{ type="double-setting", name="sp-uranium-fuel-rod-config-fuel-accel", setting_type="startup", default_value=2.90, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-b05" },
{ type="double-setting", name="sp-mox-fuel-rod-config-fuel-accel", setting_type="startup", default_value=3.20, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-b06" },
{ type="double-setting", name="sp-plutonium-fuel-rod-config-fuel-accel", setting_type="startup", default_value=3.50, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-b07" },
{ type="double-setting", name="sp-charged-antimatter-fuel-cell-config-fuel-accel", setting_type="startup", default_value=4.00, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-b08" },
{ type="double-setting", name="sp-dt-fuel-config-fuel-accel", setting_type="startup", default_value=4.00, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-b09" },
-- Top speed multipliers
{ type="double-setting", name="sp-coke-config-fuel-max", setting_type="startup", default_value=1.05, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-c01" },
{ type="double-setting", name="sp-fuel-config-fuel-max", setting_type="startup", default_value=1.15, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-c02" },
{ type="double-setting", name="sp-advanced-fuel-config-fuel-max", setting_type="startup", default_value=1.25, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-c03" },
{ type="double-setting", name="sp-thorium-fuel-rod-config-fuel-max", setting_type="startup", default_value=1.50, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-c04" },
{ type="double-setting", name="sp-uranium-fuel-rod-config-fuel-max", setting_type="startup", default_value=1.50, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-c05" },
{ type="double-setting", name="sp-mox-fuel-rod-config-fuel-max", setting_type="startup", default_value=1.70, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-c06" },
{ type="double-setting", name="sp-plutonium-fuel-rod-config-fuel-max", setting_type="startup", default_value=1.90, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-c07" },
{ type="double-setting", name="sp-charged-antimatter-fuel-cell-config-fuel-max", setting_type="startup", default_value=2.50, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-c08" },
{ type="double-setting", name="sp-dt-fuel-config-fuel-max", setting_type="startup", default_value=2.50, minimum_value=0.0, maximum_value=20.0, order="fuel-config-sp-c09" },
})
end