z_mirror/Krastorio2
git clone https://git.raiguard.me/z_mirror/Krastorio2
dcf364ab
santichu95/patch-1
1local flib_migration =require ( "__flib__.migration" ) 2 3local function ensure_turret_force () 4if not game . forces [ "kr-internal-turrets" ] then 5game . create_force ( "kr-internal-turrets" ) 6end 7end 8 9local migrations ={} 10 11migrations . on_init =ensure_turret_force 12 13function migrations . on_configuration_changed ( e ) 14if flib_migration . on_config_changed ( e , migrations . versions ) then 15ensure_turret_force () 16end 17end 18 19migrations . events ={ 20[ defines . events . on_technology_effects_reset ] =function ( e ) 21if game . finished or game . finished_but_continuing then 22e . force . technologies [ "kr-logo" ]. enabled =true 23end 24end , 25} 26 27migrations . versions ={ 28[ "1.3.0" ] =function () 29if game . finished or game . finished_but_continuing then 30for _ , force in pairs ( game . forces ) do 31force . technologies [ "kr-logo" ]. enabled =true 32end 33end 34end , 35[ "1.3.8" ] =function () 36-- Clean up any invalid roboport GUIs 37local new ={} 38for player_index , player_gui in pairs ( storage . roboport_guis ) do 39if player_gui . valid then 40new [ player_index ] =player_gui 41end 42end 43storage . roboport_guis =new 44end , 45[ "1.3.10" ] =function () 46-- Clean up any orphaned internal entities 47local valid_unit_numbers ={} 48for _ , data in pairs ( storage . tesla_coil . towers ) do 49for _ , entity in pairs ( data . entities ) do 50if entity . valid then 51valid_unit_numbers [ entity . unit_number or 0 ] =true 52end 53end 54end 55--- @diagnostic disable-next-line 56for _ , data in pairs ( storage . planetary_teleporter . data ) do 57for _ , entity in pairs ( data . entities ) do 58if entity . valid then 59valid_unit_numbers [ entity . unit_number or 0 ] =true 60end 61end 62end 63for _ , surface in pairs ( game . surfaces ) do 64for _ , entity in 65pairs ( surface . find_entities_filtered ( { 66name ={ 67"kr-planetary-teleporter-turret" , 68"kr-planetary-teleporter-front-layer" , 69"kr-planetary-teleporter-collision-1" , 70"kr-planetary-teleporter-collision-2" , 71"kr-planetary-teleporter-collision-3" , 72"kr-tesla-coil-turret" , 73"kr-tesla-coil-collision" , 74} , 75} )) 76do 77if entity . valid and not valid_unit_numbers [ entity . unit_number ] then 78entity . destroy () 79end 80end 81end 82end , 83} 84 85return migrations