/** * 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 String getOwner(int islandNumber) { IslandInfo ii = this.settings.getIslandInfo(islandNumber); if (ii == null) { return ""; } return ii.getIslandOwner(); }
public void saveIslandInfo(IslandInfo ii) { YamlConfiguration yamlIslandInfo = new YamlConfiguration(); File filePlayerInfo = new File(this.directoryIslands, ii.getIslandNumber() + ".yml"); yamlIslandInfo.set(EnumIslandConfig.ISLAND_OWNER.getPath(), ii.getIslandOwner()); yamlIslandInfo.set( EnumIslandConfig.ISLAND_LOCATION.getPath(), LocationParser.getStringFromLocation(ii.getIslandLocation())); yamlIslandInfo.set( EnumIslandConfig.HOME_LOCATION.getPath(), LocationParser.getStringFromLocation(ii.getHomeLocation())); yamlIslandInfo.set(EnumIslandConfig.FRIENDS.getPath(), ii.getFriends()); try { yamlIslandInfo.save(filePlayerInfo); } catch (IOException e) { e.printStackTrace(); } }
public void loadIslandFiles() { ArrayList<String> playersInSkb = new ArrayList<String>(); for (Player player : this.skyBlockWorld.getPlayers()) { playersInSkb.add(player.getName()); } for (String f : new File(this.directoryIslands.getAbsolutePath()).list()) { if (new File(this.directoryIslands, f).isFile()) { IslandInfo ii = null; try { ii = this.loadIslandInfo(f); } catch (Exception e) { e.printStackTrace(); continue; } if (ii != null) { if (ii.isFreeBuild()) { settings.addIslandInfo(ii); continue; } // check if a player for this island (owner or friend is online) boolean foundPlayer = false; if (playersInSkb.contains(ii.getIslandOwner())) { foundPlayer = true; } else { for (String friend : ii.getFriends()) { if (playersInSkb.contains(friend)) { foundPlayer = true; break; } } } if (foundPlayer) settings.addIslandInfo(ii); } } } }