Hmm... here's a way to test if the issue is due to interactions between slipstreams and Beyond the Sector.
First, you need the
Console Commands mod (it's a utility mod and so can be added into any existing save).
Then, load into your game and press Ctrl+Backspace to open the console. Copy and paste this into the text field:
runcode
List<JumpPointAPI> copy = new ArrayList<JumpPointAPI>(Global.getSector().getHyperspace().getJumpPoints());
Collections.sort(copy, new Comparator<JumpPointAPI>() {
public int compare(Object p1, Object p2) {
return (int) (((JumpPointAPI) p1).getRadius() - ((JumpPointAPI) p2).getRadius());
}
});
for (JumpPointAPI point : copy) {
Console.showMessage(point.getRadius());
}
This will show the "radius" of each jump point from smallest to largest. Look at the bottom of the list -- if there are some really big numbers there, then that confirms that this is a Beyond the Sector / slipstream issue. For reference, in the new game I made just to test this, the largest values I saw were just under 300.
Edit: also, it looks like Beyond the Sector doesn't incorporate Nexerelin's version checker. The latest version (from the download link in the forum thread) is 1.0.1, despite the thread only showing version histories up to 0.6. It may be that the author has fixed this bug already, so make sure to get the latest version of that mod if it's out of date.
Edit #2: I forgot a second crash scenario where the jump point's x or y location is close to the maximum or minimum integer bound. Here's additional code to check for that case:
runcode
for (JumpPointAPI point : Global.getSector().getHyperspace().getJumpPoints()) {
float x = point.getLocation().getX();
float y = point.getLocation().getY();
if (x < -2E9 || x > 2E9 || y < -2E9 || y > 2E9) {
Console.showMessage("Jump point at location: (" + x + ", " + y + ")");
}
}