예제 #1
0
 public void renamePlayer(
     PlayerInfo playerInfo, Runnable completion, PlayerNameChangedEvent change) {
   List<String> islands = new ArrayList<>();
   islands.add(playerInfo.locationForParty());
   islands.addAll(playerInfo.getBannedFrom());
   for (String islandName : islands) {
     renamePlayer(islandName, change);
   }
   if (completion != null) {
     completion.run();
   }
 }
예제 #2
0
 public void displayTopTen(final CommandSender sender, int page) {
   synchronized (ranks) {
     int maxpage = ((ranks.size() - 1) / 10) + 1;
     if (page > maxpage) {
       page = maxpage;
     }
     if (page < 1) {
       page = 1;
     }
     sender.sendMessage(tr("\u00a7eWALL OF FAME (page {0} of {1}):", page, maxpage));
     if (ranks == null || ranks.isEmpty()) {
       sender.sendMessage(tr("\u00a74Top ten list is empty! (perhaps the generation failed?)"));
     }
     int place = 1;
     String playerName =
         sender instanceof Player ? ((Player) sender).getDisplayName() : sender.getName();
     PlayerInfo playerInfo = plugin.getPlayerInfo(playerName);
     IslandRank rank = null;
     if (playerInfo != null && playerInfo.getHasIsland()) {
       rank = getRank(playerInfo.locationForParty());
     }
     int offset = (page - 1) * 10;
     place += offset;
     for (final IslandLevel level : ranks.subList(offset, Math.min(ranks.size(), 10 * page))) {
       String members = "";
       if (showMembers && !level.getMembers().isEmpty()) {
         members =
             Arrays.toString(level.getMembers().toArray(new String[level.getMembers().size()]));
       }
       sender.sendMessage(
           String.format(
               tr("\u00a7a#%2d \u00a77(%5.2f): \u00a7e%s \u00a77%s"),
               place,
               level.getScore(),
               level.getLeaderName(),
               members));
       place++;
     }
     if (rank != null) {
       sender.sendMessage(tr("\u00a7eYour rank is: \u00a7f{0}", rank.getRank()));
     }
   }
 }
예제 #3
0
 public IslandInfo getIslandInfo(PlayerInfo playerInfo) {
   if (playerInfo != null && playerInfo.getHasIsland()) {
     return getIslandInfo(playerInfo.locationForParty());
   }
   return null;
 }