Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.96 KB | None | 0 0
  1. public class ScoreboardManager {
  2.  
  3. public ScoreboardManager() {
  4.  
  5. }
  6.  
  7. private Scoreboard getScoreboard(Player p) {
  8. if(p.getScoreboard() != null) {
  9. return p.getScoreboard();
  10. }else {
  11. Scoreboard sb = Bukkit.getScoreboardManager().getNewScoreboard();
  12. return sb;
  13. }
  14. }
  15.  
  16. private void setSidebar(Player p, String title, HashMap<String, Integer> sidebar) {
  17. Scoreboard sb = getScoreboard(p);
  18. Objective obj = sb.getObjective(p.getName());
  19. if(obj != null) {
  20. obj.unregister();
  21. }
  22. obj = sb.registerNewObjective(p.getName(), "dummy");
  23. obj.setDisplayName(title);
  24. obj.setDisplaySlot(DisplaySlot.SIDEBAR);
  25. for(String strings : sidebar.keySet()) {
  26. obj.getScore(strings).setScore(sidebar.get(strings));
  27. }
  28.  
  29. p.setScoreboard(sb);
  30. }
  31.  
  32. private void createTeam(Player p, String name, String entry, String prefix, String suffix) {
  33. try {
  34. Scoreboard sb = getScoreboard(p);
  35. Team team = sb.getTeam(name);
  36. if(team == null) {
  37. sb.registerNewTeam(name);
  38. }
  39. team.addEntry(entry);
  40. team.setPrefix(prefix);
  41. team.setSuffix(suffix);
  42. }catch(Exception ex) {}
  43. }
  44.  
  45. public static void runScoreboardScheduler() {
  46. Bukkit.getScheduler().scheduleSyncRepeatingTask(Murder.plugin, new Runnable() {
  47.  
  48. @Override
  49. public void run() {
  50. for(Player all : Bukkit.getOnlinePlayers()) {
  51. Murder.scoreboardManager.createTeam(all, "living", "Unschuldige übrig: ", "", "§a" + (Murder.player.size() + Murder.detective.size()));
  52. Murder.scoreboardManager.createTeam(all, "time", "Zeit übrig: ", "", "§a" + secondsToTime(Murder.ingamecount));
  53. if(Murder.state == GameState.LOBBY) {
  54. Murder.scoreboardManager.createTeam(all, "detective", "Detektiv lebt: ", "", "§aJa");
  55. Murder.scoreboardManager.createTeam(all, "dropped", "Bogen gedroppt: ", "", "§cNein");
  56. Murder.scoreboardManager.createTeam(all, "map", "§8➥ ", "", "§7Voting");
  57. }else {
  58. if(Murder.detective.size() == 1) {
  59. Murder.scoreboardManager.createTeam(all, "detective", "Detektiv lebt: ", "", "§aJa");
  60. }else {
  61. Murder.scoreboardManager.createTeam(all, "detective", "Detektiv lebt: ", "", "§cNein");
  62. }
  63. Murder.scoreboardManager.createTeam(all, "map", "§8➥ ", "", "§a" + Murder.map);
  64. }
  65. }
  66. }
  67. }, 0, 10);
  68. }
  69.  
  70. public static void sendScoreboard(Player p) {
  71. HashMap<String, Integer> sidebar = new HashMap<>();
  72. sidebar.put(" ", 9);
  73. sidebar.put("Unschuldige übrig: ", 8);
  74. sidebar.put("Zeit übrig: ", 7);
  75. sidebar.put(" ", 6);
  76. sidebar.put("Detektiv lebt: ", 5);
  77. sidebar.put(" ", 4);
  78. sidebar.put("Karte: ", 3);
  79. sidebar.put("§8➥ ", 2);
  80. sidebar.put(" ", 1);
  81. sidebar.put("§bVillageMC.§3de", 0);
  82.  
  83. Murder.scoreboardManager.setSidebar(p, Murder.prefix, sidebar);
  84. }
  85.  
  86. private static String secondsToTime(int sec) {
  87. int seconds = sec % 60;
  88. int minutes = sec / 60;
  89. return String.format("%02d:%02d", minutes, seconds);
  90. }
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement