z_mirror/Tapeline

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

Caleb HeuerFix divisor changes not applying to tape being edited5608d0e

revert-47-freeze-fix
892 B40 linesraw
1--- @class TapeSettings
2--- @field mode "subgrid"|"split"
3--- @field subgrid_size int
4--- @field splits int
5
6--- @param player_index uint
7local function create_settings(player_index)
8  storage.player_settings[player_index] = {
9    mode = "subgrid",
10    subgrid_size = 5,
11    splits = 4,
12  }
13end
14
15--- @param e EventData.on_player_created
16local function on_player_created(e)
17  create_settings(e.player_index)
18end
19
20--- @param e EventData.on_player_removed
21local function on_player_removed(e)
22  storage.player_settings[e.player_index] = nil
23end
24
25local M = {}
26
27function M.on_init()
28  --- @type table<uint, TapeSettings>
29  storage.player_settings = {}
30  for player_index in pairs(game.players) do
31    create_settings(player_index --[[@as uint]])
32  end
33end
34
35M.events = {
36  [defines.events.on_player_created] = on_player_created,
37  [defines.events.on_player_removed] = on_player_removed,
38}
39
40return M