Exemple #1
0
 public void generateTopTen(final CommandSender sender) {
   List<IslandLevel> topTen = new ArrayList<>();
   final File folder = directoryIslands;
   final String[] listOfFiles = folder.list(FileUtil.createIslandFilenameFilter());
   for (String file : listOfFiles) {
     String islandName = FileUtil.getBasename(file);
     try {
       boolean wasLoaded = islands.containsKey(islandName);
       IslandInfo islandInfo = getIslandInfo(islandName);
       double level = islandInfo != null ? islandInfo.getLevel() : 0;
       if (islandInfo != null && level > 10) {
         IslandLevel islandLevel = createIslandLevel(islandInfo, level);
         topTen.add(islandLevel);
       }
       if (!wasLoaded) {
         islands.remove(islandName);
       }
     } catch (Exception e) {
       plugin.getLogger().log(Level.WARNING, "Error during rank generation", e);
     }
   }
   Collections.sort(topTen);
   synchronized (ranks) {
     lastGenerate = System.currentTimeMillis();
     ranks.clear();
     ranks.addAll(topTen);
   }
   plugin.fireChangeEvent(sender, uSkyBlockEvent.Cause.RANK_UPDATED);
 }