z_mirror/EditorExtensions

git clone https://git.raiguard.me/z_mirror/EditorExtensions

Caleb HeuerRemove or resolve TODOsf44d975

1.14
2.1 KiB57 linesraw
1local flib_migration = require("__flib__/migration")
2
3local aggregate_chest = require("__EditorExtensions__/scripts/aggregate-chest")
4local infinity_accumulator = require("__EditorExtensions__/scripts/infinity-accumulator")
5local infinity_loader = require("__EditorExtensions__/scripts/infinity-loader")
6local infinity_pipe = require("__EditorExtensions__/scripts/infinity-pipe")
7local infinity_wagon = require("__EditorExtensions__/scripts/infinity-wagon")
8local inventory_filters = require("__EditorExtensions__/scripts/inventory-filters")
9local inventory_sync = require("__EditorExtensions__/scripts/inventory-sync")
10local linked_belt = require("__EditorExtensions__/scripts/linked-belt")
11
12local version_migrations = {
13  ["2.0.0"] = function()
14    -- Preserve testing lab state
15    local testing_lab_state = {}
16    for player_index, player_table in pairs(global.players) do
17      local player = game.get_player(player_index)
18      if player and player_table.lab_state and player_table.normal_state then
19        testing_lab_state[player_index] = {
20          normal = player_table.normal_state,
21          lab = player_table.lab_state,
22          player = player,
23          refresh = false,
24        }
25      end
26    end
27    -- NUKE EVERYTHING
28    global = { testing_lab_state = testing_lab_state }
29    rendering.clear("EditorExtensions")
30    for _, player in pairs(game.players) do
31      for _, gui in pairs({ player.gui.top, player.gui.left, player.gui.center, player.gui.screen, player.gui.relative }) do
32        for _, child in pairs(gui.children) do
33          if child.get_mod() == "EditorExtensions" then
34            child.destroy()
35          end
36        end
37      end
38    end
39    -- Start over
40    aggregate_chest.on_init()
41    infinity_accumulator.on_init()
42    infinity_loader.on_init()
43    infinity_pipe.on_init()
44    infinity_wagon.on_init()
45    inventory_filters.on_init()
46    inventory_sync.on_init()
47    linked_belt.on_init()
48  end,
49}
50
51local migrations = {}
52
53migrations.on_configuration_changed = function(e)
54  flib_migration.on_config_changed(e, version_migrations)
55end
56
57return migrations