Puts a null check on player UUID

It's possible for fake players to have null UUIDs apparently. So this
check avoids an NPE.
This commit is contained in:
tastybento 2020-05-01 20:48:04 -07:00
parent c4e28b7937
commit f0564b7c78
2 changed files with 13 additions and 11 deletions

View File

@ -55,7 +55,7 @@ public class JoinLeaveListener implements Listener {
if (!players.isKnown(playerUUID)) {
firstTime(user);
}
// Make sure the player is loaded into the cache or create the player if they don't exist
players.addPlayer(playerUUID);
@ -121,7 +121,7 @@ public class JoinLeaveListener implements Listener {
}
}
});
}
/**
@ -142,10 +142,11 @@ public class JoinLeaveListener implements Listener {
* @param user Targeted user.
*/
private void clearPlayersInventory(World world, @NonNull User user) {
if (user.getUniqueId() == null) return;
// Clear inventory if required
Players playerData = players.getPlayer(user.getUniqueId());
if (playerData.getPendingKicks().contains(world.getName())) {
if (playerData != null && playerData.getPendingKicks().contains(world.getName())) {
if (plugin.getIWM().isOnLeaveResetEnderChest(world)) {
user.getPlayer().getEnderChest().clear();
}
@ -214,13 +215,13 @@ public class JoinLeaveListener implements Listener {
// Call Protection Range Change event. Does not support cancelling.
IslandEvent.builder()
.island(island)
.location(island.getCenter())
.reason(IslandEvent.Reason.RANGE_CHANGE)
.involvedPlayer(user.getUniqueId())
.admin(true)
.protectionRange(range, oldRange)
.build();
.island(island)
.location(island.getCenter())
.reason(IslandEvent.Reason.RANGE_CHANGE)
.involvedPlayer(user.getUniqueId())
.admin(true)
.protectionRange(range, oldRange)
.build();
}
}
});

View File

@ -103,8 +103,9 @@ public class PlayersManager {
/**
* Get player by UUID. Adds player to cache if not in there already
* @param uuid of player
* @return player object or null if it does not exist
* @return player object or null if it does not exist, for example the UUID is null
*/
@Nullable
public Players getPlayer(UUID uuid){
if (!playerCache.containsKey(uuid)) {
addPlayer(uuid);