Fix NPE caused by lazy cleanup
This commit is contained in:
parent
3f123922ba
commit
18976b57be
@ -80,9 +80,11 @@ public class TerritoryAccess
|
||||
// FIELDS: DIRECT
|
||||
// -------------------------------------------- //
|
||||
|
||||
// This method intentionally returns null if the Faction no longer exists.
|
||||
// In Board we don't even return this TerritoryAccess if that is the case.
|
||||
public Faction getHostFaction()
|
||||
{
|
||||
return FactionColl.get().get(this.getHostFactionId());
|
||||
return Faction.get(this.getHostFactionId());
|
||||
}
|
||||
|
||||
public Set<MPlayer> getGrantedMPlayers()
|
||||
@ -108,7 +110,9 @@ public class TerritoryAccess
|
||||
// Fill
|
||||
for (String factionId : this.getFactionIds())
|
||||
{
|
||||
ret.add(FactionColl.get().get(factionId));
|
||||
Faction faction = Faction.get(factionId);
|
||||
if (faction == null) continue;
|
||||
ret.add(faction);
|
||||
}
|
||||
|
||||
// Return
|
||||
|
@ -92,7 +92,7 @@ public class Board extends Entity<Board> implements BoardInterface
|
||||
if (ps == null) return null;
|
||||
ps = ps.getChunkCoords(true);
|
||||
TerritoryAccess ret = this.map.get(ps);
|
||||
if (ret == null) ret = TerritoryAccess.valueOf(Factions.ID_NONE);
|
||||
if (ret == null || ret.getHostFaction() == null) ret = TerritoryAccess.valueOf(Factions.ID_NONE);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user