diff --git a/PHI-EN/data-updates.lua b/PHI-EN/data-updates.lua index bb1760f..f12e642 100644 --- a/PHI-EN/data-updates.lua +++ b/PHI-EN/data-updates.lua @@ -1,5 +1,22 @@ local items = require 'config' +-- fast replace group +local function EL(source) + if not data.raw[source.type][source.ref_name].fast_replaceable_group then + data.raw[source.type][source.ref_name].fast_replaceable_group = source.type + end + + if source.max > 2 then + data.raw[source.type][source.name .. '-' .. 2].fast_replaceable_group = data.raw[source.type][source.ref_name].fast_replaceable_group + end + + if source.max > source.min then + for j=source.min + 1, source.max do + data.raw[source.type][source.name .. '-' .. j].fast_replaceable_group = data.raw[source.type][source.name .. '-' .. (j - 1)].fast_replaceable_group + end + end +end + for k, v in pairs(items['setting']) do for k2=1, #v.effect do if items[v.effect[k2]] ~= nil then @@ -15,17 +32,7 @@ end for k, v in pairs(items) do if k ~= 'setting' then if v.enabled then - data.raw[v.type][v.ref_name].fast_replaceable_group = v.type - - if v.max > 2 then - data.raw[v.type][v.name .. '-' .. 2].fast_replaceable_group = data.raw[v.type][v.ref_name].fast_replaceable_group - end - - if v.max > v.min then - for j=v.min + 1, v.max do - data.raw[v.type][v.name .. '-' .. j].fast_replaceable_group = data.raw[v.type][v.name .. '-' .. (j - 1)].fast_replaceable_group - end - end + EL(v) end end end diff --git a/PHI-MB/config.lua b/PHI-MB/config.lua index 2bf0e95..806a0e3 100644 --- a/PHI-MB/config.lua +++ b/PHI-MB/config.lua @@ -451,7 +451,7 @@ if mods ~= nil then } items['se-space-radiator'] = { - enabled = false, + enabled = true, stage = 2, type = 'assembling-machine', name = 'se-space-radiator', diff --git a/PHI-MB/data-updates.lua b/PHI-MB/data-updates.lua index fe0f400..94f5bb0 100644 --- a/PHI-MB/data-updates.lua +++ b/PHI-MB/data-updates.lua @@ -95,15 +95,19 @@ local function ET(source, tier) table.insert(data.raw.technology[source.tech].effects, {type='unlock-recipe', recipe=source.name .. '-' .. tier}) end -for _, v in pairs(items) do - if v.enabled then - if v.stage == 2 then - for j=v.min, v.max, 1 do - EE(v, j) - EI(v, j) - ER(v, j) - ET(v, j) - end +-- fast replace group +local function EL(source) + if not data.raw[source.type][source.ref_name].fast_replaceable_group then + data.raw[source.type][source.ref_name].fast_replaceable_group = source.type + end + + if source.max > 2 then + data.raw[source.type][source.name .. '-' .. 2].fast_replaceable_group = data.raw[source.type][source.ref_name].fast_replaceable_group + end + + if source.max > source.min then + for j=source.min + 1, source.max do + data.raw[source.type][source.name .. '-' .. j].fast_replaceable_group = data.raw[source.type][source.name .. '-' .. (j - 1)].fast_replaceable_group end end end @@ -111,16 +115,15 @@ end for k, v in pairs(items) do if k ~= 'setting' then if v.enabled then - data.raw[v.type][v.ref_name].fast_replaceable_group = v.type - - if v.max > 2 then - data.raw[v.type][v.name .. '-' .. 2].fast_replaceable_group = data.raw[v.type][v.ref_name].fast_replaceable_group - end - - if v.max > v.min then - for j=v.min + 1, v.max do - data.raw[v.type][v.name .. '-' .. j].fast_replaceable_group = data.raw[v.type][v.name .. '-' .. (j - 1)].fast_replaceable_group + if v.stage == 2 then + for j=v.min, v.max, 1 do + EE(v, j) + EI(v, j) + ER(v, j) + ET(v, j) end + + EL(v) end end end diff --git a/PHI-MB/data.lua b/PHI-MB/data.lua index 6b3affc..1c9fd44 100644 --- a/PHI-MB/data.lua +++ b/PHI-MB/data.lua @@ -83,6 +83,23 @@ local function ET(source, tier) table.insert(data.raw.technology[source.tech].effects, {type='unlock-recipe', recipe=source.name .. '-' .. tier}) end +-- fast replace group +local function EL(source) + if not data.raw[source.type][source.ref_name].fast_replaceable_group then + data.raw[source.type][source.ref_name].fast_replaceable_group = source.type + end + + if source.max > 2 then + data.raw[source.type][source.name .. '-' .. 2].fast_replaceable_group = data.raw[source.type][source.ref_name].fast_replaceable_group + end + + if source.max > source.min then + for j=source.min + 1, source.max do + data.raw[source.type][source.name .. '-' .. j].fast_replaceable_group = data.raw[source.type][source.name .. '-' .. (j - 1)].fast_replaceable_group + end + end +end + for k, v in pairs(items['setting']) do for k2=1, #v.effect do if items[v.effect[k2]] ~= nil then @@ -105,6 +122,8 @@ for k, v in pairs(items) do ER(v, j) ET(v, j) end + + EL(v) end end end