Guest User

Untitled

a guest
Aug 25th, 2021
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.20 KB | None | 0 0
  1. public class ScoreboardObj2 extends PlaceholderExpansion {
  2.     @Override
  3.     public boolean canRegister() {
  4.         return true;
  5.     }
  6.  
  7.     @Override
  8.     public String getAuthor() {
  9.         return "bloobyjoobyjoob";
  10.     }
  11.  
  12.     @Override
  13.     public String getIdentifier() {
  14.         return "scoreboardobj2";
  15.     }
  16.  
  17.     @Override
  18.     public String getPlugin() {
  19.         return null;
  20.     }
  21.  
  22.     @Override
  23.     public String getVersion() {
  24.         return "1.0.0";
  25.     }
  26.  
  27.     @Override
  28.     public String onPlaceholderRequest(Player p, String identifier) {
  29.         return onRequest((OfflinePlayer)p, identifier);
  30.     }
  31.  
  32.     @Override
  33.     public String onRequest(OfflinePlayer player, String identifier) {
  34.         if (identifier.equals("placeholder1"))
  35.             return "placeholder1 works";
  36.         if (identifier.equals("placeholder2"))
  37.             return "placeholder2 works";
  38.         if (identifier.startsWith("topscore_")) {
  39.             ArrayList<String> args = getArgs(identifier, "topscore_");
  40.             Scoreboard sb = Bukkit.getScoreboardManager().getMainScoreboard();
  41.             String objName = args.get(0);
  42.             String topNum = args.get(1);
  43.             Objective obj = sb.getObjective(objName);
  44.             ArrayList<Integer> scores = new ArrayList<>();
  45.             for (String entry : sb.getEntries()) {
  46.                 System.out.println(obj.getScore(entry).getScore());
  47.                 int score = obj.getScore(entry).getScore();
  48.                 scores.add(score);
  49.             }
  50.             Collections.sort(scores);
  51.             Collections.reverse(scores);
  52.             return String.valueOf(scores.get(Integer.parseInt(topNum)));
  53.         }
  54.         if (identifier.startsWith("topplayer_"))
  55.             return "player here";
  56.         return null;
  57.     }
  58.  
  59.     private static ArrayList<String> getArgs(String str, String ident) {
  60.         ArrayList<String> result = new ArrayList<>();
  61.         String argsStr = str.replace(ident, "");
  62.         String[] args = argsStr.split("_");
  63.         if (args.length == 2) {
  64.             result.add(args[0]);
  65.             result.add(args[1]);
  66.         } else {
  67.             result.add(args[0]);
  68.         }
  69.         return result;
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment