z_mirror/EditorExtensions
git clone https://git.raiguard.me/z_mirror/EditorExtensions
93b6003
1.14
1local util =require ( "__EditorExtensions__/scripts/util" ) 2 3--- @param surface LuaSurface 4local function setup_surface ( surface ) 5surface . generate_with_lab_tiles =true 6surface . show_clouds =false 7surface . freeze_daytime =true 8surface . daytime =0 9surface . clear ( true ) 10end 11 12--- @param force LuaForce 13local function setup_force ( force ) 14force . max_successful_attempts_per_tick_per_construction_queue =30 15force . max_failed_attempts_per_tick_per_construction_queue =10 16force . research_all_technologies () 17end 18 19--- @param player LuaPlayer 20local function setup_player ( player ) 21player . cheat_mode =true 22local start_in_editor =player . mod_settings [ "ee-start-in-editor" ] 23if start_in_editor and start_in_editor . value then 24player . toggle_map_editor () 25end 26if util . in_debug_world () then 27local items =remote . call ( "freeplay" , "get_created_items" ) 28remote . call ( "freeplay" , "set_created_items" , {} ) 29remote . call ( "freeplay" , "set_respawn_items" , {} ) 30for name , count in pairs ( items ) do 31player . remove_item ( { name =name , count =count } ) 32end 33end 34end 35 36--- @param e EventData.on_force_created 37local function on_force_created ( e ) 38if not util . in_debug_world () and not util . in_testing_scenario () then 39return 40end 41setup_force ( e . force ) 42end 43 44--- @param e EventData.on_player_created 45local function on_player_created ( e ) 46if not util . in_debug_world () and not util . in_testing_scenario () then 47return 48end 49local player =game . get_player ( e . player_index ) 50if player then 51setup_player ( player ) 52end 53end 54 55local function on_init () 56if not util . in_debug_world () and not util . in_testing_scenario () then 57return 58end 59for _ , force in pairs ( game . forces ) do 60setup_force ( force ) 61end 62for _ , player in pairs ( game . players ) do 63setup_player ( player ) 64end 65 66if util . in_debug_world () then 67local nauvis =game . get_surface ( "nauvis" ) 68if nauvis then 69setup_surface ( nauvis ) 70end 71end 72end 73 74local debug_world ={} 75 76debug_world . on_init =on_init 77 78debug_world . events ={ 79[ defines . events . on_force_created ] =on_force_created , 80[ defines . events . on_player_created ] =on_player_created , 81} 82 83return debug_world