z_mirror/Tapeline
git clone https://git.raiguard.me/z_mirror/Tapeline
5608d0e
revert-47-freeze-fix
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 ) 8storage . player_settings [ player_index ] ={ 9mode ="subgrid" , 10subgrid_size =5 , 11splits =4 , 12} 13end 14 15--- @param e EventData.on_player_created 16local function on_player_created ( e ) 17create_settings ( e . player_index ) 18end 19 20--- @param e EventData.on_player_removed 21local function on_player_removed ( e ) 22storage . player_settings [ e . player_index ] =nil 23end 24 25local M ={} 26 27function M . on_init () 28--- @type table<uint, TapeSettings> 29storage . player_settings ={} 30for player_index in pairs ( game . players ) do 31create_settings ( player_index --[[@as uint]] ) 32end 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