Advertisement
Guest User

endGame Class

a guest
Mar 7th, 2016
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.16 KB | None | 0 0
  1. public class EndGame implements Listener {
  2.  
  3. public DTP plugin;
  4. private GameEndTimer endTimer = new GameEndTimer(plugin, 0);
  5.  
  6. public EndGame(DTP plugin) {
  7. this.plugin = plugin;
  8. }
  9.  
  10. @SuppressWarnings({ "deprecation", "static-access" })
  11. public void gameOver(int winner) {
  12. plugin.gstate = GameState.ENDED;
  13. // plugin.setEnded(true);
  14. // plugin.isEnded();
  15. ArrayList<String> winners;
  16. ArrayList<String> losers;
  17.  
  18. Color color;
  19. switch (winner) {
  20. case 0: // ATTACKERS WON
  21. winners = plugin.attackersPlayerWins;
  22. System.out.println(plugin.attackersPlayerWins);
  23. losers = plugin.defendersPlayerWins;
  24. Bukkit.broadcastMessage(ChatColor.RED.toString() + ChatColor.BOLD.toString() + "Attackers win!");
  25. endTimer.runTaskTimer(plugin, 20L, 20L).cancel();
  26. for (Player player : Bukkit.getOnlinePlayers()) {
  27. TabUtils.sendTitle(player, 10, 10, 10, ChatColor.RED + "" + ChatColor.BOLD + "Attackers win!");
  28. }
  29. color = Color.RED;
  30. break;
  31. case 1: // DEFENDERS WON
  32. Bukkit.broadcastMessage(ChatColor.BLUE.toString() + ChatColor.BOLD.toString() + "Defenders win!");
  33. endTimer.runTaskTimer(plugin, 20L, 20L).cancel();
  34. winners = plugin.defendersPlayerWins;
  35. losers = plugin.attackersPlayerWins;
  36. for (Player player : Bukkit.getOnlinePlayers()) {
  37. TabUtils.sendTitle(player, 10, 10, 10, ChatColor.BLUE + "" + ChatColor.BOLD + "Defenders win!");
  38. }
  39. color = Color.BLUE;
  40. break;
  41. default:
  42. Bukkit.broadcastMessage(ChatColor.GREEN.toString() + ChatColor.BOLD.toString() + "The game is a draw!");
  43. winners = new ArrayList<String>();
  44. losers = new ArrayList<String>();
  45. Bukkit.broadcastMessage("§9§k00 §e§lDraw §9§k00");
  46. endTimer.runTaskTimer(plugin, 20L, 20L).cancel();
  47. for (Player player : Bukkit.getOnlinePlayers()) {
  48. TabUtils.sendTitle(player, 10, 10, 10, "§9§k00 §e§lDraw §9§k00");
  49. plugin.econ.depositPlayer(player, 5.0);
  50. player.sendMessage(plugin.prefix + "5 coins we're added to your account drawing!");
  51. }
  52. color = Color.GREEN;
  53. break;
  54. }
  55. losers.removeAll(winners);
  56.  
  57. for (String p : winners) {
  58. Bukkit.getPlayer(p).sendMessage(plugin.prefix + "Winner reward: 10 coins!");
  59. plugin.econ.depositPlayer(Bukkit.getPlayer(p), 10.0);
  60. if (Bukkit.getPlayer(p).hasPermission("dtp.warrior.coins")) {
  61. Bukkit.getPlayer(p).sendMessage(plugin.prefix + "Warrior reward: 12 coins!");
  62. plugin.econ.depositPlayer(Bukkit.getPlayer(p), 12.0);
  63. } else if (Bukkit.getPlayer(p).hasPermission("dtp.elite.coins")) {
  64. Bukkit.getPlayer(p).sendMessage(plugin.prefix + "Elite reward: 14 coins!");
  65. plugin.econ.depositPlayer(Bukkit.getPlayer(p), 14.0);
  66. } else if (Bukkit.getPlayer(p).hasPermission("dtp.legend.coins")) {
  67. Bukkit.getPlayer(p).sendMessage(plugin.prefix + "Legend reward: 16 coins!");
  68. plugin.econ.depositPlayer(Bukkit.getPlayer(p), 16.0);
  69. } else if (Bukkit.getPlayer(p).hasPermission("dtp.veteran.coins")) {
  70. Bukkit.getPlayer(p).sendMessage(plugin.prefix + "Veteran reward: 18 coins!");
  71. plugin.econ.depositPlayer(Bukkit.getPlayer(p), 18.0);
  72. }
  73. }
  74. for (String p : losers) {
  75. Bukkit.getPlayer(p).sendMessage(plugin.prefix + "Loser reward: 5 coins!");
  76. plugin.econ.depositPlayer(Bukkit.getPlayer(p), 5.0);
  77. if (Bukkit.getPlayer(p).hasPermission("dtp.warrior.coins.loss")) {
  78. Bukkit.getPlayer(p).sendMessage(plugin.prefix + "Warrior reward: 7 coins!");
  79. plugin.econ.depositPlayer(Bukkit.getPlayer(p), 7.0);
  80. } else if (Bukkit.getPlayer(p).hasPermission("dtp.elite.coins.loss")) {
  81. Bukkit.getPlayer(p).sendMessage(plugin.prefix + "Elite reward: 9 coins!");
  82. plugin.econ.depositPlayer(Bukkit.getPlayer(p), 9.0);
  83. } else if (Bukkit.getPlayer(p).hasPermission("dtp.legend.coins.loss")) {
  84. Bukkit.getPlayer(p).sendMessage(plugin.prefix + "Legend reward: 11 coins!");
  85. plugin.econ.depositPlayer(Bukkit.getPlayer(p), 11.0);
  86. } else if (Bukkit.getPlayer(p).hasPermission("dtp.veteran.coins.loss")) {
  87. Bukkit.getPlayer(p).sendMessage(plugin.prefix + "Veteran reward: 13 coins!");
  88. plugin.econ.depositPlayer(Bukkit.getPlayer(p), 13.0);
  89. }
  90. }
  91.  
  92. new BukkitRunnable() {
  93. int counter = 8;
  94.  
  95. public void run() {
  96. counter = counter - 1;
  97. Random r = new Random();
  98. for (Player p : plugin.players) {
  99. if (p.isOnline()) {
  100. p.getScoreboard().clearSlot(DisplaySlot.SIDEBAR);
  101. Firework fw = (Firework) p.getWorld().spawnEntity(p.getLocation(), EntityType.FIREWORK);
  102. FireworkMeta fwm = fw.getFireworkMeta();
  103. int rt = r.nextInt(4) + 1;
  104. Type type = Type.BALL;
  105. if (rt == 1)
  106. type = Type.BALL;
  107. if (rt == 2)
  108. type = Type.BALL_LARGE;
  109. if (rt == 3)
  110. type = Type.BURST;
  111. if (rt == 4)
  112. type = Type.CREEPER;
  113. if (rt == 5)
  114. type = Type.STAR;
  115. FireworkEffect effect = FireworkEffect.builder().flicker(r.nextBoolean()).withColor(color)
  116. .withFade(color).with(type).trail(r.nextBoolean()).build();
  117. fwm.addEffect(effect);
  118. int rp = r.nextInt(2) + 1;
  119. fwm.setPower(rp);
  120. fw.setFireworkMeta(fwm);
  121. }
  122. }
  123. if (counter == 0) {
  124. cancel();
  125. }
  126.  
  127. }
  128. };
  129.  
  130. plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
  131. public void run() {
  132. for (Player p : Bukkit.getOnlinePlayers()) {
  133. winners.remove(p.getName());
  134. losers.remove(p.getName());
  135. p.kickPlayer(ChatColor.YELLOW + "Thank you for playing" + ChatColor.RED + ChatColor.BOLD + " DTP-1"
  136. + ChatColor.YELLOW + " on " + ChatColor.RED + ChatColor.BOLD + "RektWarfare! "
  137. + ChatColor.YELLOW + "\nServer Restarting. This may take up to " + ChatColor.RED
  138. + ChatColor.BOLD + "10 seconds.\n " + ChatColor.YELLOW + "Visit our website @ "
  139. + ChatColor.RED + ChatColor.BOLD + "www.RektWarfare.com");
  140. }
  141. }
  142. }, 200L);
  143. plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
  144. public void run() {
  145. Bukkit.getServer().unloadWorld(plugin.attackerspawn.getWorld(), false);
  146. }
  147. }, 220L);
  148. plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
  149. public void run() {
  150. Bukkit.getServer().reload();
  151. }
  152. }, 230L);
  153. }
  154. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement