Added protection for unowned islands

Islands can become unowned during the async island level calculation
process.
This commit is contained in:
tastybento 2019-03-10 17:47:05 -07:00
parent 3038cca894
commit bb21dbb266

View File

@ -65,7 +65,7 @@ public class CalcIslandLevel {
// Set the initial island handicap // Set the initial island handicap
result.initialLevel = addon.getInitialIslandLevel(island); result.initialLevel = addon.getInitialIslandLevel(island);
// Get chunks to scan // Get chunks to scan
chunksToScan = getChunksToScan(island); chunksToScan = getChunksToScan(island);
@ -217,8 +217,9 @@ public class CalcIslandLevel {
} }
else else
{ {
this.result.deathHandicap = // At this point, it may be that the island has become unowned.
this.addon.getPlayers().getDeaths(this.world, this.island.getOwner()); this.result.deathHandicap = this.island.getOwner() == null ? 0 :
this.addon.getPlayers().getDeaths(this.world, this.island.getOwner());
} }
// Just lazy check for min death count. // Just lazy check for min death count.
@ -340,7 +341,7 @@ public class CalcIslandLevel {
private int deathHandicap = 0; private int deathHandicap = 0;
private long pointsToNextLevel = 0; private long pointsToNextLevel = 0;
private long initialLevel = 0; private long initialLevel = 0;
/** /**
* @return the deathHandicap * @return the deathHandicap
*/ */
@ -359,7 +360,7 @@ public class CalcIslandLevel {
* @param level - level * @param level - level
*/ */
public void setLevel(int level) { public void setLevel(int level) {
this.level = level; this.level = level;
} }
/** /**
* @return the level * @return the level