/** * Get a player's data file * * @param playerName * @return */ public PlayerEntry getPlayerEntry(String playerName) { PlayerEntry data = players.get(playerName.toLowerCase()); if (data == null) { data = new PlayerEntry(); data.setName(playerName); players.put(playerName.toLowerCase(), data); } return data; }
/** * Get a player's data file, will look up by UUID first, then name. * * @param player * @return */ public PlayerEntry getPlayerEntry(Player player) { // look for player in memory String playerName = player.getName(); PlayerEntry data = players.get(playerName.toLowerCase()); // otherwise look in database if (data == null) { UUID uuid = player.getUniqueId(); data = plugin.getStorageManager().extractPlayer(uuid); if (data == null) { data = plugin.getStorageManager().extractPlayer(player.getName()); } else if (!playerName.equalsIgnoreCase(data.getName())) { plugin.getStorageManager().migrate(data.getName(), playerName); data.setName(playerName); } if (data == null) { data = plugin.getStorageManager().createPlayer(playerName, uuid); } players.put(playerName.toLowerCase(), data); } return data; }