Lisenochek

Untitled

Sep 4th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.19 KB | None | 0 0
  1. package com.realistic.scoreboard;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.ChatColor;
  5. import org.bukkit.entity.Player;
  6. import org.bukkit.event.EventHandler;
  7. import org.bukkit.event.Listener;
  8. import org.bukkit.event.server.PluginEnableEvent;
  9. import org.bukkit.scheduler.BukkitRunnable;
  10. import org.bukkit.scoreboard.DisplaySlot;
  11. import org.bukkit.scoreboard.Objective;
  12. import org.bukkit.scoreboard.Score;
  13. import org.bukkit.scoreboard.Scoreboard;
  14. import org.bukkit.scoreboard.ScoreboardManager;
  15.  
  16. import com.realistic.api.API;
  17. import com.realistic.list.MinecraftList;
  18.  
  19. public class ScoreBoard implements Listener {
  20.  
  21. private API plugin;
  22. private MinecraftList ml;
  23.  
  24. public ScoreBoard(API plugin) {
  25. this.plugin = plugin;
  26. }
  27.  
  28. public ScoreBoard(MinecraftList ml) {
  29. this.ml = ml;
  30. }
  31.  
  32. public void enableScoreboard() {
  33.  
  34. for (Player p : Bukkit.getOnlinePlayers()) {
  35.  
  36. ScoreboardManager manager = Bukkit.getScoreboardManager();
  37. Scoreboard board = manager.getNewScoreboard();
  38.  
  39. Objective obj = board.registerNewObjective("obj", "dummy");
  40.  
  41. obj.setDisplaySlot(DisplaySlot.SIDEBAR);
  42. obj.setDisplayName(ChatColor.GREEN + "Состояние игрока");
  43.  
  44. Score line1 = obj.getScore(" ");
  45. line1.setScore(20);
  46.  
  47. Score playerName = obj.getScore(ChatColor.DARK_AQUA + "Ваш никнейм: " + ChatColor.GOLD + p.getName());
  48. playerName.setScore(19);
  49.  
  50. Score line2 = obj.getScore(" ");
  51. line2.setScore(18);
  52.  
  53. Score tempeture = obj.getScore(ChatColor.DARK_AQUA + "Температура: ");
  54. tempeture.setScore(17);
  55.  
  56. Score line3 = obj.getScore(" ");
  57. line3.setScore(16);
  58.  
  59. Score playerInfo = obj.getScore(ChatColor.GREEN + "Состояние:");
  60. playerInfo.setScore(15);
  61.  
  62. Score line4 = obj.getScore(" ");
  63. line4.setScore(14);
  64.  
  65. if (!ml.bloodingPlayers.containsKey(p.getName()) && !ml.Broken_Bones.containsKey(p.getName())
  66. && !ml.Disease_Cold.containsKey(p.getName()) && !ml.Disease_Pneumonia.containsKey(p.getName())
  67. && !p.isDead()) {
  68.  
  69. Score nothing = obj.getScore(ChatColor.DARK_AQUA + "Я здоровый!");
  70. nothing.setScore(13);
  71. }
  72.  
  73. if (ml.bloodingPlayers.containsKey(p.getName())) {
  74.  
  75. Score blooding = obj.getScore(ChatColor.DARK_AQUA + "У меня кровотечение!");
  76. blooding.setScore(13);
  77. }
  78.  
  79. if (ml.Broken_Bones.containsKey(p.getName())) {
  80.  
  81. Score broken_bones = obj.getScore(ChatColor.DARK_AQUA + "У меня сломана нога!");
  82. broken_bones.setScore(12);
  83. }
  84.  
  85. if (ml.Disease_Cold.containsKey(p.getName()) || ml.Disease_Pneumonia.containsKey(p.getName())) {
  86.  
  87. Score disease = obj.getScore(ChatColor.DARK_AQUA + "Я болен!");
  88. disease.setScore(11);
  89. }
  90.  
  91. if (p.isDead()) {
  92.  
  93. Score dead = obj.getScore(ChatColor.DARK_AQUA + "Вы мертвы!");
  94. dead.setScore(13);
  95. }
  96.  
  97. p.setScoreboard(board);
  98. }
  99. }
  100.  
  101. public void refreshScoreboard() {
  102.  
  103. BukkitRunnable run = new BukkitRunnable() {
  104.  
  105. @Override
  106. public void run() {
  107.  
  108. enableScoreboard();
  109. }
  110. };
  111. run.runTaskTimer(plugin, 30, 30);
  112. }
  113.  
  114. @EventHandler
  115. public void startScoreboard(PluginEnableEvent e) {
  116.  
  117. refreshScoreboard();
  118. }
  119. }
Add Comment
Please, Sign In to add comment