Lisenochek

Untitled

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