33import com .google .common .eventbus .Subscribe ;
44import elite .intel .ai .search .edsm .EdsmApiClient ;
55import elite .intel .ai .search .edsm .dto .DeathsDto ;
6- import elite .intel .ai .search .edsm .dto .StarSystemDto ;
76import elite .intel .ai .search .edsm .dto .TrafficDto ;
87import elite .intel .ai .search .edsm .dto .data .DeathsStats ;
98import elite .intel .ai .search .edsm .dto .data .TrafficStats ;
1514import elite .intel .session .PlayerSession ;
1615import elite .intel .util .AdjustRoute ;
1716
18- import java .util .LinkedHashMap ;
1917import java .util .List ;
2018import java .util .Map ;
2119
20+ import static elite .intel .util .StringUtls .isFuelStarClause ;
21+
2222@ SuppressWarnings ("unused" )
2323public class FSDJumpSubscriber {
2424
@@ -43,6 +43,7 @@ public void onFSDJumpEvent(FSDJumpEvent event) {
4343 currentLocation .setPowerplayStateControlProgress (event .getPowerplayStateControlProgress ());
4444 currentLocation .setPowerplayStateReinforcement (event .getPowerplayStateReinforcement ());
4545 currentLocation .setPowerplayStateUndermining (event .getPowerplayStateUndermining ());
46+ playerSession .setCurrentLocation (currentLocation );
4647
4748 String finalDestination = String .valueOf (playerSession .get (PlayerSession .FINAL_DESTINATION ));
4849 String arrivedAt = String .valueOf (playerSession .get (PlayerSession .JUMPING_TO ));
@@ -68,23 +69,27 @@ public void onFSDJumpEvent(FSDJumpEvent event) {
6869 }
6970 currentLocation .setTrafficDto (trafficDto );
7071 currentLocation .setDeathsDto (deathsDto );
71-
72- } else {
73- if (roueSet ) {
74- Map <Integer , NavRouteDto > adjustedRoute = AdjustRoute .adjustRoute (orderedRoute );
75- playerSession .setNavRoute (adjustedRoute );
76- int remainingJump = adjustedRoute .size ();
77- if (remainingJump > 0 ) {
78- orderedRoute .stream ().findFirst ().ifPresent (
79- nextStop -> sb .append (" Next stop: " ).append (nextStop .toJson ()).append (", " )
80- );
81- }
82-
83- sb .append (remainingJump ).append (" jumps remaining: " ).append (" to " ).append (finalDestination ).append ("." );
72+ playerSession .setCurrentLocation (currentLocation );
73+ } else if (roueSet ) {
74+ Map <Integer , NavRouteDto > adjustedRoute = AdjustRoute .adjustRoute (orderedRoute );
75+ playerSession .setNavRoute (adjustedRoute );
76+ int remainingJump = adjustedRoute .size ();
77+ if (remainingJump > 0 ) {
78+ orderedRoute .stream ().findFirst ().ifPresent (
79+ nextStop -> sb
80+ .append (" Next stop: " )
81+ .append (nextStop .getName ())
82+ .append (". " )
83+ .append ("Star Class: " )
84+ .append (nextStop .getStarClass ())
85+ .append (", " )
86+ .append (isFuelStarClause (nextStop .getStarClass ()))
87+ );
8488 }
89+
90+ sb .append (remainingJump ).append (" jumps remaining: " ).append (" to " ).append (finalDestination ).append ("." );
8591 }
8692
87- playerSession .setCurrentLocation (currentLocation );
8893 EventBusManager .publish (new SensorDataEvent (sb .toString ()));
8994 }
9095}
0 commit comments