Advertisement
Lisenochek

Untitled

Sep 6th, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.45 KB | None | 0 0
  1. package com.realistic.scoreboard;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.ChatColor;
  5. import org.bukkit.block.Biome;
  6. import org.bukkit.entity.Player;
  7. import org.bukkit.event.EventHandler;
  8. import org.bukkit.event.Listener;
  9. import org.bukkit.event.server.PluginEnableEvent;
  10. import org.bukkit.scheduler.BukkitRunnable;
  11. import org.bukkit.scoreboard.DisplaySlot;
  12. import org.bukkit.scoreboard.Objective;
  13. import org.bukkit.scoreboard.Score;
  14. import org.bukkit.scoreboard.Scoreboard;
  15. import org.bukkit.scoreboard.ScoreboardManager;
  16.  
  17. import com.realistic.api.API;
  18. import com.realistic.list.MinecraftList;
  19. import com.realistic.temperture.Temperture;
  20.  
  21. import ru.tehkode.permissions.bukkit.PermissionsEx;
  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 online = obj.getScore(ChatColor.GOLD + "Онлайн: " + ChatColor.AQUA
  57. + Bukkit.getServer().getOnlinePlayers().size() + " / " + Bukkit.getServer().getMaxPlayers());
  58. online.setScore(18);
  59.  
  60. Score rank = obj.getScore(ChatColor.GOLD + "Ваш статус: " + PermissionsEx.getUser(p).getPrefix());
  61. rank.setScore(17);
  62.  
  63. Score line2 = obj.getScore(" ");
  64. line2.setScore(16);
  65.  
  66. Score realisticMenu = obj.getScore(ChatColor.GREEN + "Realisitc статистика:");
  67. realisticMenu.setScore(15);
  68.  
  69. Score line3 = obj.getScore(" ");
  70. line3.setScore(14);
  71.  
  72. Score temp = obj.getScore(ChatColor.GOLD + "Температура: " + ChatColor.AQUA + Temperture.getBiome(biome));
  73. temp.setScore(13);
  74.  
  75. Score line4 = obj.getScore(" ");
  76. line4.setScore(12);
  77.  
  78. Score stats = obj.getScore(ChatColor.GOLD + "Состояния:");
  79. stats.setScore(11);
  80.  
  81. if (!p.isDead() && !ml.bloodingPlayers.containsKey(name) && !ml.Broken_Bones.containsKey(name)
  82. && !ml.Disease_Cold.containsKey(name) && !ml.Disease_Pneumonia.containsKey(name)) {
  83.  
  84. Score nothing = obj.getScore(ChatColor.AQUA + "Я здоров!");
  85. nothing.setScore(10);
  86. }
  87.  
  88. if (p.isDead()) {
  89.  
  90. Score dead = obj.getScore(ChatColor.AQUA + "Вы мертвы.");
  91. dead.setScore(10);
  92. }
  93.  
  94. if (!p.isDead()) {
  95.  
  96. if (ml.bloodingPlayers.containsKey(name)) {
  97.  
  98. Score blooding = obj.getScore(ChatColor.AQUA + "У меня кровотечение!");
  99. blooding.setScore(9);
  100. }
  101.  
  102. if (ml.Broken_Bones.containsKey(name)) {
  103.  
  104. Score broken_bones = obj.getScore(ChatColor.AQUA + "У меня сломана нога!");
  105. broken_bones.setScore(8);
  106. }
  107.  
  108. if (ml.Disease_Cold.containsKey(name) || ml.Disease_Pneumonia.containsKey(name)) {
  109.  
  110. Score disease = obj.getScore(ChatColor.AQUA + "Я болен!");
  111. disease.setScore(7);
  112.  
  113. ml.Temp.remove(name);
  114. }
  115.  
  116. if (ml.Temp.containsKey(p.getName())) {
  117.  
  118. Score cold = obj.getScore(ChatColor.AQUA + "Я замерзаю!");
  119. cold.setScore(6);
  120. }
  121. }
  122.  
  123. Score line5 = obj.getScore(" ");
  124. line5.setScore(5);
  125.  
  126. Score info = obj.getScore(
  127. ChatColor.YELLOW + "Напишите " + ChatColor.GREEN + "/realistic-guide" + ChatColor.YELLOW + ",");
  128. info.setScore(4);
  129.  
  130. Score info2 = obj.getScore(ChatColor.YELLOW + "чтобы просмотреть");
  131. info2.setScore(3);
  132.  
  133. Score info3 = obj.getScore(ChatColor.YELLOW + "меню помощи.");
  134. info3.setScore(2);
  135.  
  136. p.setScoreboard(board);
  137. }
  138. }
  139.  
  140. private void refreshScoreboard() {
  141.  
  142. BukkitRunnable run = new BukkitRunnable() {
  143.  
  144. @Override
  145. public void run() {
  146.  
  147. enableScoreboard();
  148. }
  149. };
  150. run.runTaskTimer(plugin, 30, 30);
  151. }
  152.  
  153. @EventHandler
  154. public void startScoreboard(PluginEnableEvent e) {
  155.  
  156. refreshScoreboard();
  157. }
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement