2022-06-28 21:59:54 +02:00
|
|
|
local ____lualib = require("lualib_bundle")
|
|
|
|
|
local __TS__ObjectKeys = ____lualib.__TS__ObjectKeys
|
|
|
|
|
local __TS__ArrayConcat = ____lualib.__TS__ArrayConcat
|
|
|
|
|
local Set = ____lualib.Set
|
|
|
|
|
local __TS__New = ____lualib.__TS__New
|
|
|
|
|
local __TS__Spread = ____lualib.__TS__Spread
|
|
|
|
|
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
|
|
|
local ____exports = {}
|
|
|
|
|
local emitConfigurationUpdate, factorioData, allMods, Type
|
|
|
|
|
local ____PacketEmitter = require("main.PacketEmitter")
|
|
|
|
|
local PacketEmitter = ____PacketEmitter.default
|
|
|
|
|
local ____kafkatorio_2Dschema = require("generated.kafkatorio-schema")
|
|
|
|
|
local KafkatorioPacketData = ____kafkatorio_2Dschema.KafkatorioPacketData
|
|
|
|
|
local ____global_2Dinit = require("main.global-init")
|
|
|
|
|
local initGlobal = ____global_2Dinit.initGlobal
|
|
|
|
|
local ____prototypeUpdates = require("main.events.prototypeUpdates")
|
|
|
|
|
local emitPrototypes = ____prototypeUpdates.emitPrototypes
|
|
|
|
|
function emitConfigurationUpdate(changeData)
|
|
|
|
|
local configUpdateData = {
|
|
|
|
|
type = Type.ConfigurationUpdate,
|
|
|
|
|
migrationApplied = changeData.migration_applied,
|
|
|
|
|
modStartupSettingsChange = changeData.mod_startup_settings_changed,
|
|
|
|
|
allMods = allMods(changeData),
|
|
|
|
|
factorioData = factorioData(changeData)
|
|
|
|
|
}
|
|
|
|
|
PacketEmitter:emitInstantPacket(configUpdateData)
|
|
|
|
|
end
|
|
|
|
|
function factorioData(changeData)
|
|
|
|
|
return {oldVersion = changeData.old_version or nil, newVersion = changeData.new_version or nil}
|
|
|
|
|
end
|
|
|
|
|
function allMods(e)
|
|
|
|
|
local namesOfChangedMods = __TS__ObjectKeys(e.mod_changes)
|
|
|
|
|
local namesOfCurrentMods = __TS__ObjectKeys(script.active_mods)
|
|
|
|
|
local modNames = {__TS__Spread(__TS__New(
|
|
|
|
|
Set,
|
|
|
|
|
__TS__ArrayConcat(namesOfChangedMods, namesOfCurrentMods)
|
|
|
|
|
))}
|
|
|
|
|
return __TS__ArrayMap(
|
|
|
|
|
modNames,
|
2022-07-02 10:21:38 +02:00
|
|
|
function(____, modName)
|
2022-06-28 21:59:54 +02:00
|
|
|
local ____script_active_mods_modName_2 = script.active_mods[modName]
|
|
|
|
|
if ____script_active_mods_modName_2 == nil then
|
|
|
|
|
local ____e_mod_changes_modName_new_version_0 = e.mod_changes[modName]
|
|
|
|
|
if ____e_mod_changes_modName_new_version_0 ~= nil then
|
|
|
|
|
____e_mod_changes_modName_new_version_0 = ____e_mod_changes_modName_new_version_0.new_version
|
|
|
|
|
end
|
|
|
|
|
____script_active_mods_modName_2 = ____e_mod_changes_modName_new_version_0
|
|
|
|
|
end
|
|
|
|
|
local currentVer = ____script_active_mods_modName_2 or nil
|
|
|
|
|
local ____e_mod_changes_modName_old_version_3 = e.mod_changes[modName]
|
|
|
|
|
if ____e_mod_changes_modName_old_version_3 ~= nil then
|
|
|
|
|
____e_mod_changes_modName_old_version_3 = ____e_mod_changes_modName_old_version_3.old_version
|
|
|
|
|
end
|
|
|
|
|
local previousVer = ____e_mod_changes_modName_old_version_3 or nil
|
|
|
|
|
return {modName = modName, currentVersion = currentVer, previousVersion = previousVer}
|
|
|
|
|
end
|
|
|
|
|
)
|
|
|
|
|
end
|
|
|
|
|
Type = KafkatorioPacketData.Type
|
|
|
|
|
script.on_configuration_changed(function(data)
|
|
|
|
|
initGlobal(true)
|
|
|
|
|
emitConfigurationUpdate(data)
|
|
|
|
|
emitPrototypes()
|
|
|
|
|
end)
|
|
|
|
|
return ____exports
|