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

@ -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();
}

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);