1313import java .util .concurrent .ScheduledFuture ;
1414import java .util .concurrent .TimeUnit ;
1515
16+ import arc .Core ;
1617import arc .util .Log ;
1718import arc .util .Strings ;
1819import mindustry .Vars ;
1920import mindustry .content .Blocks ;
2021import mindustry .core .GameState .State ;
21- import mindustry .game .EventType .BlockBuildEndEvent ;
2222import mindustry .game .EventType .GameOverEvent ;
2323import mindustry .game .EventType .PlayerChatEvent ;
2424import mindustry .game .EventType .PlayerConnect ;
3232import mindustry .gen .Player ;
3333import mindustrytool .Config ;
3434import mindustrytool .ServerController ;
35- import mindustrytool .type .BuildLogDto ;
36- import mindustrytool .type .BuildingDto ;
3735import mindustrytool .type .HudOption ;
3836import mindustrytool .type .MindustryPlayerDto ;
3937import mindustrytool .type .PaginationRequest ;
@@ -399,50 +397,52 @@ public void onPlayerChat(PlayerChatEvent event) {
399397 }
400398
401399 public void onPlayerLeave (PlayerLeave event ) {
402- try {
403- var player = event .player ;
404- var team = player .team ();
405- var request = new PlayerDto ()//
406- .setName (player .coloredName ())//
407- .setIp (player .ip ())//
408- .setLocale (player .locale ())//
409- .setUuid (player .uuid ())//
410- .setTeam (new TeamDto ()//
411- .setName (team .name )//
412- .setColor (team .color .toString ()));
413-
414- context .get ().apiGateway .sendPlayerLeave (request );
415- } catch (Throwable e ) {
416- e .printStackTrace ();
417- }
400+ Core .app .post (() -> {
401+ try {
402+ var player = event .player ;
403+ var team = player .team ();
404+ var request = new PlayerDto ()//
405+ .setName (player .coloredName ())//
406+ .setIp (player .ip ())//
407+ .setLocale (player .locale ())//
408+ .setUuid (player .uuid ())//
409+ .setTeam (new TeamDto ()//
410+ .setName (team .name )//
411+ .setColor (team .color .toString ()));
412+
413+ context .get ().apiGateway .sendPlayerLeave (request );
414+ } catch (Throwable e ) {
415+ e .printStackTrace ();
416+ }
418417
419- try {
418+ try {
420419
421- Player player = event .player ;
420+ Player player = event .player ;
422421
423- context .get ().sessionHandler .remove (player );
422+ context .get ().sessionHandler .remove (player );
424423
425- context .get ().voteHandler .removeVote (player );
424+ context .get ().voteHandler .removeVote (player );
426425
427- String playerName = event .player != null ? event .player .plainName () : "Unknown" ;
428- String chat = Strings .format ("@ leaved the server, current players: @" , playerName ,
429- Math .max (Groups .player .size () - 1 , 0 ));
426+ String playerName = event .player != null ? event .player .plainName () : "Unknown" ;
427+ String chat = Strings .format ("@ leaved the server, current players: @" , playerName ,
428+ Math .max (Groups .player .size () - 1 , 0 ));
430429
431- context .get ().BACKGROUND_SCHEDULER .schedule (() -> {
432- if (!Vars .state .isPaused () && Groups .player .size () == 0 ) {
433- Vars .state .set (State .paused );
434- Log .info ("No player: paused" );
435- }
436- }, 10 , TimeUnit .SECONDS );
430+ context .get ().BACKGROUND_SCHEDULER .schedule (() -> {
431+ if (!Vars .state .isPaused () && Groups .player .size () == 0 ) {
432+ Vars .state .set (State .paused );
433+ Log .info ("No player: paused" );
434+ }
435+ }, 10 , TimeUnit .SECONDS );
437436
438- Log .info (chat );
437+ Log .info (chat );
439438
440- context .get ().BACKGROUND_TASK_EXECUTOR .submit (() -> {
441- context .get ().apiGateway .sendChatMessage (chat );
442- });
443- } catch (Throwable e ) {
444- e .printStackTrace ();
445- }
439+ context .get ().BACKGROUND_TASK_EXECUTOR .submit (() -> {
440+ context .get ().apiGateway .sendChatMessage (chat );
441+ });
442+ } catch (Throwable e ) {
443+ e .printStackTrace ();
444+ }
445+ });
446446 }
447447
448448 public synchronized ServerResponseData getTopServer () {
@@ -467,73 +467,75 @@ public synchronized ServerResponseData getTopServer() {
467467 }
468468
469469 public void onPlayerJoin (PlayerJoin event ) {
470- try {
471- if (Vars .state .isPaused ()) {
472- Vars .state .set (State .playing );
473- Log .info ("Player join: unpaused" );
474- }
475-
476- var player = event .player ;
470+ Core .app .post (() -> {
471+ try {
472+ if (Vars .state .isPaused ()) {
473+ Vars .state .set (State .playing );
474+ Log .info ("Player join: unpaused" );
475+ }
477476
478- context .get ().sessionHandler .put (player );
479-
480- if (Config .IS_HUB ) {
481- var serverData = getTopServer ();
482-
483- if (serverData != null //
484- && !serverData .getId ().equals (ServerController .SERVER_ID )
485- && serverData .players > 0 //
486- ) {
487- var options = Arrays .asList (//
488- HudHandler .option ((p , state ) -> {
489- context .get ().hudHandler .closeFollowDisplay (p , HudHandler .SERVER_REDIRECT );
490- }, "[red]No" ),
491- HudHandler .option ((p , state ) -> {
492- onServerChoose (p , serverData .id .toString (), serverData .name );
493- context .get ().hudHandler .closeFollowDisplay (p , HudHandler .SERVER_REDIRECT );
494- }, "[green]Yes" ));
495- context .get ().hudHandler .showFollowDisplay (player , HudHandler .SERVER_REDIRECT , "Redirect" ,
496- "Do you want to go to server: " + serverData .getName (), null , options );
477+ var player = event .player ;
478+
479+ context .get ().sessionHandler .put (player );
480+
481+ if (Config .IS_HUB ) {
482+ var serverData = getTopServer ();
483+
484+ if (serverData != null //
485+ && !serverData .getId ().equals (ServerController .SERVER_ID )
486+ && serverData .players > 0 //
487+ ) {
488+ var options = Arrays .asList (//
489+ HudHandler .option ((p , state ) -> {
490+ context .get ().hudHandler .closeFollowDisplay (p , HudHandler .SERVER_REDIRECT );
491+ }, "[red]No" ),
492+ HudHandler .option ((p , state ) -> {
493+ onServerChoose (p , serverData .id .toString (), serverData .name );
494+ context .get ().hudHandler .closeFollowDisplay (p , HudHandler .SERVER_REDIRECT );
495+ }, "[green]Yes" ));
496+ context .get ().hudHandler .showFollowDisplay (player , HudHandler .SERVER_REDIRECT , "Redirect" ,
497+ "Do you want to go to server: " + serverData .getName (), null , options );
498+ }
497499 }
498- }
499500
500- PlayerInfo target = Vars .netServer .admins .getInfoOptional (player .uuid ());
501+ PlayerInfo target = Vars .netServer .admins .getInfoOptional (player .uuid ());
501502
502- if (target != null ) {
503- Vars .netServer .admins .unAdminPlayer (target .id );
504- }
503+ if (target != null ) {
504+ Vars .netServer .admins .unAdminPlayer (target .id );
505+ }
505506
506- String playerName = player != null ? player .plainName () : "Unknown" ;
507- String chat = Strings .format ("@ joined the server, current players: @" , playerName ,
508- Groups .player .size ());
507+ String playerName = player != null ? player .plainName () : "Unknown" ;
508+ String chat = Strings .format ("@ joined the server, current players: @" , playerName ,
509+ Groups .player .size ());
509510
510- var team = player .team ();
511- var request = new PlayerDto ()//
512- .setName (player .coloredName ())//
513- .setIp (player .ip ())//
514- .setLocale (player .locale ())//
515- .setUuid (player .uuid ())//
516- .setTeam (new TeamDto ()//
517- .setName (team .name )//
518- .setColor (team .color .toString ()));
511+ var team = player .team ();
512+ var request = new PlayerDto ()//
513+ .setName (player .coloredName ())//
514+ .setIp (player .ip ())//
515+ .setLocale (player .locale ())//
516+ .setUuid (player .uuid ())//
517+ .setTeam (new TeamDto ()//
518+ .setName (team .name )//
519+ .setColor (team .color .toString ()));
519520
520- Log .info (chat );
521+ Log .info (chat );
521522
522- context .get ().BACKGROUND_TASK_EXECUTOR .submit (() -> {
523- context .get ().apiGateway .sendChatMessage (chat );
524- });
523+ context .get ().BACKGROUND_TASK_EXECUTOR .submit (() -> {
524+ context .get ().apiGateway .sendChatMessage (chat );
525+ });
525526
526- var playerData = context .get ().apiGateway .setPlayer (request );
527+ var playerData = context .get ().apiGateway .setPlayer (request );
527528
528- if (Config .IS_HUB ) {
529- sendHub (event .player , playerData .getLoginLink ());
530- }
529+ if (Config .IS_HUB ) {
530+ sendHub (event .player , playerData .getLoginLink ());
531+ }
531532
532- setPlayerData (playerData , player );
533+ setPlayerData (playerData , player );
533534
534- } catch (Throwable e ) {
535- e .printStackTrace ();
536- }
535+ } catch (Throwable e ) {
536+ e .printStackTrace ();
537+ }
538+ });
537539 }
538540
539541 public void sendHub (Player player , String loginLink ) {
0 commit comments