Lisenochek

Untitled

Dec 12th, 2019
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.58 KB | None | 0 0
  1. public void runDebugPanel() {
  2.  
  3. new BukkitRunnable() {
  4.  
  5. Player player = getPlayer();
  6. WrapperPlayServerScoreboardObjective objective = new WrapperPlayServerScoreboardObjective();
  7. WrapperPlayServerScoreboardDisplayObjective disp = new WrapperPlayServerScoreboardDisplayObjective();
  8.  
  9. @Override
  10. public void run() {
  11.  
  12. if (!playersMap.containsKey(playerName)) {
  13. cancel();
  14. return;
  15. }
  16.  
  17. if (CustomWorld.getCustomWorld().getWorld() != player.getWorld()) {
  18. removeBoard(player);
  19. return;
  20. }
  21.  
  22. List<WrapperPlayServerScoreboardScore> scores = Lists.newArrayList();
  23. Cupboard cupboard = Cupboard.fromLocation(player.getLocation().getBlock().getLocation());
  24. Radtown radtown = Radtown.fromLocation(player.getLocation().getBlock().getLocation());
  25. boolean isBuilding;
  26. int slot = 14;
  27.  
  28. isBuilding = cupboard == null ? radtown == null : cupboard.getOwnersList().contains(player.getUniqueId());
  29.  
  30. for (String s : new String[]{
  31. (cupboard != null || radtown != null ? "&6» &7Строительство: " + (isBuilding ? "&aразрешено" : "&cзапрещено") : null),
  32. cupboard != null || radtown != null ? " " : null,
  33. "&6» " + "&a&l&nЗдоровье&a&l: " + (healthRegen == 0 ? "" : "&7(" + (healthRegen > 0 ? "&a+" + healthRegen : "&c" + healthRegen) + "&7)"),
  34. "&6» &7(&a" + (int) player.getHealth() + "&7) " + (Utils.generateLine(15, (int) player.getHealth(), 100, "&a&l", "&2&l")),
  35. "&6» " + "&b&l&nВода&b&l:",
  36. "&6» &7(&a" + water + "&7) " + (Utils.generateLine(15, water, 250, "&b&l", "&3&l")),
  37. "&6» " + "&e&l&nГолод&e&l:",
  38. "&6» &7(&a" + food + "&7) " + (Utils.generateLine(15, food, 500, "&e&l", "&6&l")),
  39. (radiation != 0 || bloodingCount != 0 || temperature <= 0 || temperature >= 30 ? " " : null),
  40. radiation != 0 ? "&6» &c&lРадиация &7[&c&l" + radiation + "&7]" : null,
  41. bloodingCount != 0 ? "&6» &c&lТечет кровь! - &7[&c&l" + bloodingCount + "&7]" : null,
  42. temperature <= 0 ? "&6» &e&lМне холодно! - &7[&b&l" + temperature + "℃&7]" : temperature >= 30 ? "&6» &e&lМне жарко! - &7[&6&l+" + temperature + "℃&7]" : null,
  43. " ",
  44. "&6» &7Координаты » &a" + player.getLocation().getBlockX() + " " + player.getLocation().getBlockY() + " " + player.getLocation().getBlockZ(),
  45. }) {
  46. if (s == null) continue;
  47. WrapperPlayServerScoreboardScore score = new WrapperPlayServerScoreboardScore();
  48. score.setObjectiveName("mr" + player.getName());
  49. score.setScoreboardAction(EnumWrappers.ScoreboardAction.CHANGE);
  50. score.setScoreName(Utils.stripColor(s));
  51. score.setValue(slot);
  52. scores.add(score);
  53. --slot;
  54. }
  55.  
  56. removeBoard(player);
  57. objective.setName("mr" + player.getName());
  58. objective.setDisplayName(Utils.stripColor("&f&lMC&c&lRust &7- &a" + Main.plugin.getDescription().getVersion()));
  59. objective.setMode(0);
  60.  
  61. disp.setPosition(1);
  62. disp.setScoreName("mr" + player.getName());
  63. objective.sendPacket(player);
  64. disp.sendPacket(player);
  65.  
  66. for (WrapperPlayServerScoreboardScore score : scores) score.sendPacket(player);
  67. }
  68. }.runTaskTimer(Main.plugin, 1, 10);
  69. }
  70.  
  71. private boolean isValid(Player player) {
  72. if (Respawn.fromPlayerName(player.getName()) != null) return false;
  73. if (player.isDead()) return false;
  74. return player.getGameMode() == GameMode.SURVIVAL || player.getGameMode() == GameMode.ADVENTURE;
  75. }
  76.  
  77. private void removeBoard(Player player) {
  78. WrapperPlayServerScoreboardObjective remove = new WrapperPlayServerScoreboardObjective();
  79. remove.setName("mr" + player.getName());
  80. remove.setDisplayName(Utils.stripColor(player.getName()));
  81. remove.setMode(1);
  82. remove.sendPacket(player);
  83. }
Advertisement
Add Comment
Please, Sign In to add comment