This part of the code I'm working on gives me a lot of errors.
Spoiler
139116 [Thread-6] ERROR com.fs.starfarer.combat.D - java.lang.StackOverflowError
java.lang.StackOverflowError
at java.util.Arrays.mergeSort(Arrays.java:1270)
at java.util.Arrays.sort(Arrays.java:1210)
at java.util.Collections.sort(Collections.java:159)
at com.fs.starfarer.campaign.fleet.FleetData.ÖøÕ000(Unknown Source)
at com.fs.starfarer.campaign.fleet.FleetData.syncIfNeeded(Unknown Source)
at com.fs.starfarer.campaign.fleet.FleetData.getHangarSpace(Unknown Source)
------------------------------------------------------------------------------
private void Cycle (CampaignFleetAPI fleet) {
float a = (float) Math.random();
if (a > 0.3) {
fleet.addAssignment(FleetAssignment.PATROL_SYSTEM, null, (int) Math.random()*10 + 5);
} else {
fleet.addAssignment(FleetAssignment.DEFEND_LOCATION, getAnchor(), (int) Math.random()*10 + 5);
}
Script script = null;
script = createArrivedScript(fleet, getAnchor());
fleet.addAssignment(FleetAssignment.GO_TO_LOCATION, getAnchor(), 10, script);
}
private Script createArrivedScript(final CampaignFleetAPI fleet, final SectorEntityToken station ) {
return new FleetScript(fleet, station) {
public void run() {
Cycle(fleet);...
...
various checks on the fleet using many local variables and parameters changing the cargo of the fleet and the fleet composition. ...
...
}
};
}
------------------------------------------------------------------------------
Is there any way I can make it prettier or less prone to crashes? It seems that this things I try to do gets smashed quickly by StackOverflow.