Having multiple Scoreboards

Discussion in 'Plugin Development' started by mrCookieSlime, Jan 2, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    mrCookieSlime

    Hi,

    well, the problem I having is I have 1 single Scoreboard, but many for every Player a unique Objective, so how can I make it that the Player just sees his own Objective?

    Code:Java
    1.  
    2. Bukkit.getScheduler().runTaskTimer(this, new BukkitRunnable() {
    3.  
    4. @Override
    5. public void run() {
    6.  
    7. ScoreboardManager manager = Bukkit.getScoreboardManager();
    8. final Scoreboard scoreboard = manager.getNewScoreboard();
    9.  
    10. final Team owner = scoreboard.registerNewTeam("Owner");
    11. final Team admin = scoreboard.registerNewTeam("Admin");
    12. final Team premium = scoreboard.registerNewTeam("Premium");
    13. final Team vip = scoreboard.registerNewTeam("VIP");
    14. final Team normal = scoreboard.registerNewTeam("Normal");
    15.  
    16. owner.setPrefix(ChatColor.DARK_RED + "" + ChatColor.BOLD + "OWNER " + ChatColor.GRAY);
    17. admin.setPrefix(ChatColor.RED + "Admin ");
    18. premium.setPrefix(ChatColor.GOLD + "" + ChatColor.BOLD + "PREMIUM " + ChatColor.GRAY);
    19. vip.setPrefix(ChatColor.GREEN + "" + ChatColor.BOLD + "VIP " + ChatColor.GRAY);
    20. normal.setPrefix(ChatColor.GRAY + "");
    21.  
    22. for (Player p : Bukkit.getOnlinePlayers()) {
    23.  
    24. if (p.hasPermission("CS.owner")) {
    25. owner.addPlayer(p);
    26. }
    27. else if (p.hasPermission("CS.admin")) {
    28. admin.addPlayer(p);
    29. }
    30. else if (p.hasPermission("CS.premium")) {
    31. premium.addPlayer(p);
    32. }
    33. else if (p.hasPermission("CS.vip")) {
    34. vip.addPlayer(p);
    35. }
    36. else {
    37. normal.addPlayer(p);
    38. }
    39.  
    40. Objective object = scoreboard.registerNewObjective(p.getName(), "dummy");
    41. object.setDisplaySlot(DisplaySlot.SIDEBAR);
    42. object.setDisplayName(ChatColor.GREEN + "" + ChatColor.BOLD + "CookieSlime Network");
    43.  
    44. Score blank = object.getScore(Bukkit.getOfflinePlayer(" "));
    45. blank.setScore(8);
    46.  
    47. Score online = object.getScore(Bukkit.getOfflinePlayer(ChatColor.BLUE + "" + ChatColor.BOLD + "Online:"));
    48. online.setScore(7);
    49.  
    50. Score onlineScore = object.getScore(Bukkit.getOfflinePlayer(String.valueOf(Bukkit.getOnlinePlayers().length) + "/" + Bukkit.getMaxPlayers()));
    51. onlineScore.setScore(6);
    52.  
    53. Score blank2 = object.getScore(Bukkit.getOfflinePlayer(" "));
    54. blank2.setScore(5);
    55.  
    56. Score rank = object.getScore(Bukkit.getOfflinePlayer(ChatColor.AQUA + "" + ChatColor.BOLD + "Rank:"));
    57. rank.setScore(4);
    58.  
    59. String perm = "&7None";
    60.  
    61. if (p.hasPermission("CS.owner")) {
    62. perm = "&4&lOWNER";
    63. }
    64. else if (p.hasPermission("CS.admin")) {
    65. perm = "&cAdmin";
    66. }
    67. else if (p.hasPermission("CS.premium")) {
    68. perm = "&6&lPREMIUM";
    69. }
    70. else if (p.hasPermission("CS.vip")) {
    71. perm = "&a&lVIP";
    72. }
    73.  
    74. Score rankScore = object.getScore(Bukkit.getOfflinePlayer(ChatColor.translateAlternateColorCodes('&', perm)));
    75. rankScore.setScore(3);
    76.  
    77. Score blank3 = object.getScore(Bukkit.getOfflinePlayer(" "));
    78. blank3.setScore(2);
    79.  
    80. Score tokens = object.getScore(Bukkit.getOfflinePlayer(ChatColor.GOLD + "" + ChatColor.BOLD + "Cookies"));
    81. tokens.setScore(1);
    82.  
    83. Score tokenScore = object.getScore(Bukkit.getOfflinePlayer(ChatColor.GREEN + String.valueOf(PlayerManager.getCookies(p))));
    84. tokenScore.setScore(0);
    85.  
    86. p.setScoreboard(scoreboard);
    87.  
    88. p.setFoodLevel(20);
    89. }
    90.  
    91. }
    92. }, 0L, 60L);
    93.  
     
  2. Offline

    TomTheDeveloper

    You need to have a scoreboard for every player. Use a hashmap<String, Scoreboard>.

    For more information: Tahg me.
     
  3. Offline

    mrCookieSlime

    TomTheDeveloper
    That wouldn't help at all...

    Cause that would ruin the Team System.
     
  4. Offline

    TomTheDeveloper

  5. Offline

    mrCookieSlime

Thread Status:
Not open for further replies.

Share This Page