Advertisement
Guest User

Scoreboard code

a guest
Jun 24th, 2018
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.80 KB | None | 0 0
  1. package me.iclicks.yok.kingdom.scoreboard;
  2.  
  3. import org.bukkit.entity.*;
  4. import org.bukkit.*;
  5. import org.bukkit.scoreboard.*;
  6. import me.iclicks.yok.main.*;
  7. import java.util.*;
  8.  
  9. public class SDBBoard
  10. {
  11. private Scoreboard scoreboard;
  12. private Objective objective;
  13. private List<String> previousScoreboard;
  14.  
  15. public SDBBoard(final Player player, final String title) {
  16. this.previousScoreboard = new ArrayList<String>();
  17. final ScoreboardManager scoreboardManager = Bukkit.getServer().getScoreboardManager();
  18. final Scoreboard scoreboard = scoreboardManager.getNewScoreboard();
  19. final Objective objective = scoreboard.registerNewObjective("scoreboard", "dummy");
  20. objective.setDisplaySlot(DisplaySlot.SIDEBAR);
  21. objective.setDisplayName(ChatColor.translateAlternateColorCodes('&', title));
  22. this.scoreboard = scoreboard;
  23. this.objective = objective;
  24. player.setScoreboard(scoreboard);
  25. }
  26.  
  27. public Team getTeamByPlayer(final Player p) {
  28. return this.scoreboard.getTeam(me.iclicks.yok.kingdom.scoreboard.ScoreboardManager.getInstance().getScoreboardHandler().getPrefix(p, p));
  29. }
  30.  
  31. public Team getTeamByString(final String s) {
  32. return this.scoreboard.getTeam(s);
  33. }
  34.  
  35. public void setPrefix(final Player p, final String prefix) {
  36. Bukkit.getScheduler().runTask(Kingdom.pl, (Runnable)new Runnable() {
  37. @Override
  38. public void run() {
  39. if (SDBBoard.this.getTeamByString(prefix) == null) {
  40. SDBBoard.this.scoreboard.registerNewTeam(prefix);
  41. }
  42. final Team team = SDBBoard.this.scoreboard.getTeam(prefix);
  43. if (!team.hasEntry(p.getName())) {
  44. team.addEntry(p.getName());
  45. }
  46. team.setPrefix(prefix);
  47. }
  48. });
  49. }
  50.  
  51. public void setTitle(final String title) {
  52. if (this.objective == null) {
  53. return;
  54. }
  55. this.objective.setDisplayName(title);
  56. }
  57.  
  58. public void build(final List<String> lines) {
  59. Bukkit.getScheduler().runTaskAsynchronously(Kingdom.pl, (Runnable)new Runnable() {
  60. @Override
  61. public void run() {
  62. int score = lines.size();
  63. final List<String> l = new ArrayList<String>();
  64. for (final String s : lines) {
  65. if (score < 1) {
  66. break;
  67. }
  68. if (l.contains(s)) {
  69. continue;
  70. }
  71. l.add(s);
  72. final Integer innerMi = new Integer(score);
  73. Bukkit.getScheduler().runTask(Kingdom.pl, (Runnable)new Runnable() {
  74. @Override
  75. public void run() {
  76. SDBBoard.this.objective.getScore(s).setScore((int)innerMi);
  77. }
  78. });
  79. --score;
  80. }
  81. for (final String s : SDBBoard.this.previousScoreboard) {
  82. if (!lines.contains(s)) {
  83. Bukkit.getScheduler().runTask(Kingdom.pl, (Runnable)new Runnable() {
  84. @Override
  85. public void run() {
  86. SDBBoard.this.scoreboard.resetScores(s);
  87. }
  88. });
  89. }
  90. }
  91. SDBBoard.access$3(SDBBoard.this, l);
  92. }
  93. });
  94. }
  95.  
  96. static /* synthetic */ void access$3(final SDBBoard sdbBoard, final List previousScoreboard) {
  97. sdbBoard.previousScoreboard = (List<String>)previousScoreboard;
  98. }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement