/** Load all informations from player who exists in folder players and who have a island. */ public void loadPlayerFiles() { for (String f : new File(this.directoryPlayers.getAbsolutePath()).list()) { if (new File(this.directoryPlayers, f).isFile()) { PlayerInfo pi = null; try { pi = this.loadPlayerInfo(f.replace(".yml", "")); } catch (Exception e) { e.printStackTrace(); continue; } if (pi != null) { // add player, if missing String playerName = pi.getPlayerName(); Player playerOnline = this.getServer().getPlayer(playerName); if (playerOnline == null) continue; /*if (playerOnline == null || !playerOnline.isOnline() || pi.getIslandLocation() == null || !playerOnline.getWorld().getName().equalsIgnoreCase(settings.getWorldName())) { continue; }*/ settings.addPlayer(playerName, pi); } } } }
/** * Comparing part of a player name with all players * * @param partName * @return */ public String getFullPlayerName(PlayerInfo pi, String partName) { int amount = 0; String pName = ""; for (Player p : this.getServer().getOnlinePlayers()) { if (p.getName().toLowerCase().startsWith(partName.toLowerCase())) { amount++; pName = p.getName(); } } if (amount == 1) return pName; else if (amount > 1) return "0"; for (IslandInfo ii : pi.getBuiltPermissionList().values()) { if (ii.getIslandOwner().toLowerCase().startsWith(partName.toLowerCase())) { if (ii.containsFriend(pi.getPlayerName())) { amount++; pName = ii.getIslandOwner(); } } } if (amount == 1) return pName; else if (amount > 1) return "0"; return "-1"; }
public void savePlayerInfo(PlayerInfo pi) { YamlConfiguration yamlPlayerInfo = new YamlConfiguration(); File filePlayerInfo = new File(this.directoryPlayers, pi.getPlayerName() + ".yml"); // island info if (pi.getIslandInfo() != null) { yamlPlayerInfo.set( EnumPlayerConfig.ISLAND_NUMBER.getPath(), pi.getIslandInfo().getIslandNumber()); } yamlPlayerInfo.set(EnumPlayerConfig.IS_PLAYING.getPath(), pi.isPlaying()); yamlPlayerInfo.set(EnumPlayerConfig.IS_DEAD.getPath(), pi.isDead()); yamlPlayerInfo.set(EnumPlayerConfig.ISLAND_FOOD.getPath(), "" + pi.getIslandFood()); yamlPlayerInfo.set(EnumPlayerConfig.ISLAND_HEALTH.getPath(), "" + pi.getIslandHealth()); yamlPlayerInfo.set(EnumPlayerConfig.ISLAND_EXP.getPath(), "" + pi.getIslandExp()); yamlPlayerInfo.set(EnumPlayerConfig.ISLAND_LEVEL.getPath(), "" + pi.getIslandLevel()); yamlPlayerInfo.set( EnumPlayerConfig.ISLAND_INVENTORY.getPath(), ItemParser.getListFromItemStackArray(pi.getIslandInventory())); yamlPlayerInfo.set( EnumPlayerConfig.ISLAND_ARMOR.getPath(), ItemParser.getListFromItemStackArray(pi.getIslandArmor())); yamlPlayerInfo.set( EnumPlayerConfig.OLD_LOCATION.getPath(), LocationParser.getStringFromLocation(pi.getOldLocation())); yamlPlayerInfo.set(EnumPlayerConfig.OLD_FOOD.getPath(), "" + pi.getOldFood()); yamlPlayerInfo.set(EnumPlayerConfig.OLD_HEALTH.getPath(), "" + pi.getOldHealth()); yamlPlayerInfo.set(EnumPlayerConfig.OLD_EXP.getPath(), "" + pi.getOldExp()); yamlPlayerInfo.set(EnumPlayerConfig.OLD_LEVEL.getPath(), "" + pi.getOldLevel()); yamlPlayerInfo.set( EnumPlayerConfig.OLD_INVENTORY.getPath(), ItemParser.getListFromItemStackArray(pi.getOldInventory())); yamlPlayerInfo.set( EnumPlayerConfig.OLD_ARMOR.getPath(), ItemParser.getListFromItemStackArray(pi.getOldArmor())); yamlPlayerInfo.set(EnumPlayerConfig.ISLAND_BUILTLIST.getPath(), pi.getBuildListNumbers()); try { yamlPlayerInfo.save(filePlayerInfo); } catch (IOException e) { e.printStackTrace(); } }