Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.31 KB | None | 0 0
  1. package net.saikatsune.aurityuhc.tasks;
  2.  
  3. import net.minecraft.server.v1_7_R4.AttributeRanged;
  4. import net.minecraft.server.v1_7_R4.IAttribute;
  5. import net.saikatsune.aurityuhc.AurityUHC;
  6. import net.saikatsune.aurityuhc.enums.Scenarios;
  7. import net.saikatsune.aurityuhc.gamestate.GameState;
  8. import net.saikatsune.aurityuhc.handler.HorseHandler;
  9. import net.saikatsune.aurityuhc.handler.ItemHandler;
  10. import net.saikatsune.aurityuhc.handler.TeamHandler;
  11. import org.bukkit.Bukkit;
  12. import org.bukkit.ChatColor;
  13. import org.bukkit.Material;
  14. import org.bukkit.World;
  15. import org.bukkit.craftbukkit.v1_7_R4.CraftWorld;
  16. import org.bukkit.enchantments.Enchantment;
  17. import org.bukkit.entity.EntityType;
  18. import org.bukkit.entity.Horse;
  19. import org.bukkit.entity.Player;
  20. import org.bukkit.inventory.ItemStack;
  21. import org.bukkit.potion.PotionEffect;
  22. import org.bukkit.potion.PotionEffectType;
  23. import org.bukkit.scheduler.BukkitRunnable;
  24.  
  25. import java.util.Random;
  26. import java.util.UUID;
  27.  
  28. @SuppressWarnings("deprecation")
  29. public class ScatterTask {
  30.  
  31. private AurityUHC aurityUHC = AurityUHC.getInstance();
  32.  
  33. private String prefix = aurityUHC.getPrefix();
  34.  
  35. private String mColor = aurityUHC.getmColor();
  36. private String sColor = aurityUHC.getsColor();
  37.  
  38. private int taskID;
  39.  
  40. public void runTask() {
  41. aurityUHC.setChatMuted(true);
  42.  
  43. for (int i = 0; i < 100; i++) {
  44. Bukkit.broadcastMessage("");
  45. }
  46.  
  47. Bukkit.broadcastMessage(prefix + sColor + "Starting scatter of all players!");
  48.  
  49. taskID = Bukkit.getScheduler().scheduleSyncRepeatingTask(aurityUHC, new BukkitRunnable() {
  50. @Override
  51. public void run() {
  52. int playerNumber = new Random().nextInt(Bukkit.getOnlinePlayers().size());
  53. Player random = (Player) Bukkit.getOnlinePlayers().toArray()[playerNumber];
  54.  
  55. if (Bukkit.getWorld("world").getPlayers().contains(random)) {
  56. aurityUHC.getGameManager().scatterPlayer(random, Bukkit.getWorld("uhc_world"));
  57.  
  58. new BukkitRunnable() {
  59. @Override
  60. public void run() {
  61. net.minecraft.server.v1_7_R4.World world = ((CraftWorld) random.getWorld()).getHandle();
  62.  
  63. HorseHandler horseHandler = new HorseHandler(world);
  64.  
  65. aurityUHC.getMobHandler().spawnEntity(horseHandler, random.getLocation());
  66.  
  67. Horse horse = (Horse) random.getWorld().spawnCreature(random.getLocation(), horseHandler.getBukkitEntity().getType());
  68.  
  69. horse.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, Integer.MAX_VALUE, 1));
  70. horse.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 100000, 10000000, false));
  71.  
  72. horse.setTamed(true);
  73. horse.getInventory().setSaddle(new ItemStack(Material.SADDLE));
  74. horse.setOwner(random);
  75. horse.setPassenger(random);
  76. }
  77. }.runTaskLater(aurityUHC, 30L);
  78. }
  79.  
  80. if (Bukkit.getWorld("world").getPlayers().size() < 1) {
  81. Bukkit.getScheduler().cancelTask(taskID);
  82. Bukkit.broadcastMessage(prefix + ChatColor.GREEN + "Finished scatter of all players!");
  83.  
  84. if(aurityUHC.getGameManager().isTeamGame()) {
  85. for (Player noTeams : aurityUHC.getPlayers()) {
  86. if(aurityUHC.getTeamNumber().get(noTeams.getUniqueId()) == -1) {
  87. aurityUHC.getTeamManager().createTeam(noTeams.getUniqueId());
  88. }
  89. }
  90.  
  91. for (TeamHandler teamHandler : aurityUHC.getTeamManager().getTeams().values()) {
  92. for (UUID toTeleport : teamHandler.getTeamMembers()) {
  93. Player playerToTeleport = Bukkit.getPlayer(toTeleport);
  94. playerToTeleport.teleport(Bukkit.getPlayer(teamHandler.getTeamLeader()));
  95. }
  96. }
  97. Bukkit.broadcastMessage(prefix + sColor + "All teams have been teleported to their leaders!");
  98. }
  99.  
  100. for (Player allPlayers : aurityUHC.getPlayers()) {
  101. aurityUHC.getLoggedPlayers().add(allPlayers.getUniqueId());
  102. aurityUHC.getWhitelisted().add(allPlayers.getUniqueId());
  103. }
  104.  
  105. aurityUHC.getGameManager().setWhitelisted(true);
  106.  
  107. Bukkit.broadcastMessage(prefix + sColor + "All players have been whitelisted!");
  108. Bukkit.broadcastMessage(prefix + mColor + "The game starts in 10 seconds!");
  109.  
  110. new BukkitRunnable() {
  111. @Override
  112. public void run() {
  113. aurityUHC.getGameStateManager().setGameState(GameState.INGAME);
  114. Bukkit.broadcastMessage(prefix + mColor + "The game has started. Good Luck!");
  115.  
  116. for (Player allPlayers : aurityUHC.getPlayers()) {
  117. if(allPlayers.isInsideVehicle()) {
  118. allPlayers.getVehicle().remove();
  119. }
  120. }
  121.  
  122. if(Scenarios.GONEFISHING.isEnabled()) {
  123. for (Player allPlayers : aurityUHC.getPlayers()) {
  124. allPlayers.getInventory().addItem(new ItemStack(Material.ANVIL, 20));
  125.  
  126. allPlayers.setLevel(30000);
  127.  
  128. ItemStack fishingRod = new ItemStack(Material.FISHING_ROD);
  129. fishingRod.addUnsafeEnchantment(Enchantment.LUCK, 250);
  130. fishingRod.addUnsafeEnchantment(Enchantment.LURE, 3);
  131. fishingRod.addUnsafeEnchantment(Enchantment.DURABILITY, 100);
  132. allPlayers.getInventory().addItem(fishingRod);
  133. }
  134. }
  135.  
  136. if(Scenarios.INFINITEENCHANT.isEnabled()) {
  137. for (Player allPlayers : aurityUHC.getPlayers()) {
  138. allPlayers.setLevel(30000);
  139. allPlayers.getInventory().addItem(new ItemStack(Material.ENCHANTMENT_TABLE, 64));
  140. allPlayers.getInventory().addItem(new ItemStack(Material.ANVIL, 64));
  141. allPlayers.getInventory().addItem(new ItemStack(Material.BOOKSHELF, 64));
  142. allPlayers.getInventory().addItem(new ItemStack(Material.BOOKSHELF, 64));
  143. }
  144. }
  145. }
  146. }.runTaskLater(aurityUHC, 10 * 20);
  147. }
  148. }
  149. }, 0, 10);
  150. }
  151.  
  152. public void cancelTask() {
  153. Bukkit.getScheduler().cancelTask(taskID);
  154. }
  155.  
  156. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement