Advertisement
Guest User

RadiatedAreaDia

a guest
Dec 9th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.79 KB | None | 0 0
  1. package me.zoutepopcorn.plugin.radiation.Tasks;
  2.  
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. import java.util.UUID;
  6.  
  7. import org.bukkit.Bukkit;
  8. import org.bukkit.Location;
  9. import org.bukkit.Material;
  10. import org.bukkit.block.Block;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.potion.PotionEffect;
  13. import org.bukkit.potion.PotionEffectType;
  14.  
  15. import me.zoutepopcorn.plugin.radiation.Radiation;
  16. import me.zoutepopcorn.plugin.radiation.API.SettingsManager;
  17.  
  18. public class RadiatedAreaDia {
  19.  
  20. public Radiation plugin;
  21.  
  22. public RadiatedAreaDia(Radiation Radiation)
  23. {
  24. plugin = Radiation;
  25. }
  26.  
  27. SettingsManager settings = SettingsManager.getInstance();
  28.  
  29. public Map<UUID, Integer> taskID = new HashMap<UUID, Integer>();
  30.  
  31. public void areaOne() {
  32. Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
  33. @SuppressWarnings("deprecation")
  34. @Override
  35. public void run() {
  36. for (Player player : Bukkit.getOnlinePlayers()) {
  37. Location loc = new Location(player.getWorld(), player.getLocation().getX(), 0, player.getLocation().getZ());
  38. Block block = loc.getBlock();
  39. if ((block.getType() == Material.WOOL) && (block.getData() == 3)) {
  40. double time = settings.getPlayers().getDouble("Players." + player.getUniqueId() + ".Timer");
  41. if (time <= 0) {
  42. plugin.Health.Damage(player, 5);
  43. }
  44. }
  45. }
  46. }
  47. }, 0L, 10L);
  48. }
  49. public void areaTwo() {
  50. Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
  51. @SuppressWarnings("deprecation")
  52. @Override
  53. public void run() {
  54. for (Player player : Bukkit.getOnlinePlayers()) {
  55. Location loc = new Location(player.getWorld(), player.getLocation().getX(), 0, player.getLocation().getZ());
  56. Block block = loc.getBlock();
  57. if ((block.getType() == Material.WOOL) && (block.getData() == 4)) {
  58. double time = settings.getPlayers().getDouble("Players." + player.getUniqueId() + ".Timer");
  59. if (time <= 0) {
  60. plugin.Health.Damage(player, 1);
  61. }
  62. }
  63. }
  64. }
  65. }, 0L, 20L);
  66. }
  67.  
  68. public void areaThree() {
  69. Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
  70. @SuppressWarnings("deprecation")
  71. @Override
  72. public void run() {
  73. for (Player player : Bukkit.getOnlinePlayers()) {
  74. Location loc = new Location(player.getWorld(), player.getLocation().getX(), 0, player.getLocation().getZ());
  75. Block block = loc.getBlock();
  76. if ((block.getType() == Material.WOOL) && (block.getData() == 14)) {
  77. double time = settings.getPlayers().getDouble("Players." + player.getUniqueId() + ".Timer");
  78. if (time <= 0) {
  79. if (player.getInventory().getChestplate() != null) {
  80. if (player.getInventory().getChestplate().getType() == Material.DIAMOND_CHESTPLATE) {
  81. plugin.Health.Damage(player, 10/4);
  82. }
  83. } else {
  84. plugin.Health.Damage(player, 10);
  85. }
  86. }
  87. }
  88. }
  89. }
  90. }, 0L, 5L);
  91. }
  92.  
  93. // Gele Gebied // Lage Rad
  94. // Ongeveer 45 tot 50 seconden om van 0 naar 100 te gaan. Ongeveer 2:57 min om van 100 naar 0 te gaan.
  95. public void radiatedTimer(final Player player, long ticks){
  96. final int tid = plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable(){
  97. @SuppressWarnings("deprecation")
  98. public void run(){
  99. Location loc = new Location(player.getWorld(), player.getLocation().getX(), 0, player.getLocation().getZ());
  100. Block block = loc.getBlock();
  101. if ((block.getType() == Material.WOOL) && (block.getData() == 4)) {
  102. if (player.getInventory().getHelmet().getData().getItemType().equals(Material.DIAMOND_HELMET)
  103. && (!player.getInventory().getChestplate().getData().getItemType().equals(Material.DIAMOND_CHESTPLATE)
  104. && (!player.getInventory().getLeggings().getData().getItemType().equals(Material.DIAMOND_LEGGINGS)
  105. && (!player.getInventory().getBoots().getData().getItemType().equals(Material.DIAMOND_BOOTS))))) {
  106. double time = settings.getPlayers().getDouble("Players." + player.getUniqueId() + ".Timer");
  107. if (time > 0) {
  108. settings.getPlayers().set("Players." + player.getUniqueId() + ".Timer", time - (plugin.RadiationScoreboard.maxTime / 20));
  109. settings.savePlayers();
  110. if (time > plugin.RadiationScoreboard.maxTime / 20 * 3 && time <= plugin.RadiationScoreboard.maxTime / 20 * 4) {
  111. player.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 400, 1));
  112. }
  113. plugin.RadiationScoreboard.setupScoreboard(player);
  114. }
  115. }
  116. }
  117. }
  118. }, 0L, ticks);
  119. // Blauw Gebied // Middel Rad
  120. final int tid2 = plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable(){
  121. @SuppressWarnings("deprecation")
  122. public void run(){
  123. Location loc = new Location(player.getWorld(), player.getLocation().getX(), 0, player.getLocation().getZ());
  124. Block block = loc.getBlock();
  125. if ((block.getType() == Material.WOOL) && (block.getData() == 3)) {
  126. if (player.getInventory().getHelmet().getData().getItemType().equals(Material.DIAMOND_HELMET)
  127. && (!player.getInventory().getChestplate().getData().getItemType().equals(Material.DIAMOND_CHESTPLATE)
  128. && (!player.getInventory().getLeggings().getData().getItemType().equals(Material.DIAMOND_LEGGINGS)
  129. && (!player.getInventory().getBoots().getData().getItemType().equals(Material.DIAMOND_BOOTS ))))){
  130. double time = settings.getPlayers().getDouble("Players." + player.getUniqueId() + ".Timer");
  131. if (time > 0) {
  132. settings.getPlayers().set("Players." + player.getUniqueId() + ".Timer", time-(plugin.RadiationScoreboard.maxTime/20));
  133. settings.savePlayers();
  134. if (time > plugin.RadiationScoreboard.maxTime/20*3 && time <= plugin.RadiationScoreboard.maxTime/20*4) {
  135. player.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 400, 1));
  136. }
  137. plugin.RadiationScoreboard.setupScoreboard(player);
  138. }
  139. }
  140. }}
  141. }, 0L, ticks/2);
  142.  
  143. // Rood Gebied // Hevige Rad
  144. final int tid3 = plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable(){
  145. @SuppressWarnings("deprecation")
  146. public void run(){
  147. Location loc = new Location(player.getWorld(), player.getLocation().getX(), 0, player.getLocation().getZ());
  148. Block block = loc.getBlock();
  149. if ((block.getType() == Material.WOOL) && (block.getData() == 14)) {
  150. if (player.getInventory().getHelmet().getData().getItemType().equals(Material.DIAMOND_HELMET)
  151. && (!player.getInventory().getChestplate().getData().getItemType().equals(Material.DIAMOND_CHESTPLATE)
  152. && (!player.getInventory().getLeggings().getData().getItemType().equals(Material.DIAMOND_LEGGINGS)
  153. && (!player.getInventory().getBoots().getData().getItemType().equals(Material.DIAMOND_BOOTS ))))){
  154. double time = settings.getPlayers().getDouble("Players." + player.getUniqueId() + ".Timer");
  155. if (time > 0) {
  156. settings.getPlayers().set("Players." + player.getUniqueId() + ".Timer", time-(plugin.RadiationScoreboard.maxTime/20));
  157. settings.savePlayers();
  158. if (time > plugin.RadiationScoreboard.maxTime/20*3 && time <= plugin.RadiationScoreboard.maxTime/20*4) {
  159. player.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 400, 1));
  160. }
  161. plugin.RadiationScoreboard.setupScoreboard(player);
  162. }
  163. }}
  164. }
  165. }, 0L, (ticks/6)+(ticks/4));
  166.  
  167.  
  168. final int tid4 = plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable(){
  169. @SuppressWarnings("deprecation")
  170. public void run(){
  171. Location loc = new Location(player.getWorld(), player.getLocation().getX(), 0, player.getLocation().getZ());
  172. Block block = loc.getBlock();
  173. if ((block.getType() == Material.WOOL) && (block.getData() == 4) || (block.getType() == Material.WOOL) && (block.getData() == 3)) {
  174. } else {
  175. int time = settings.getPlayers().getInt("Players." + player.getUniqueId() + ".Timer");
  176. if (time < 45) {
  177. settings.getPlayers().set("Players." + player.getUniqueId() + ".Timer", time+(plugin.RadiationScoreboard.maxTime/20));
  178. settings.savePlayers();
  179. plugin.RadiationScoreboard.setupScoreboard(player);
  180. }
  181. }
  182. }
  183. }, 0L, ticks*4);
  184.  
  185. taskID.put(player.getUniqueId(), tid);
  186. taskID.put(player.getUniqueId(), tid2);
  187. taskID.put(player.getUniqueId(), tid3);
  188. taskID.put(player.getUniqueId(), tid4);
  189. }
  190.  
  191.  
  192.  
  193. public void endTask(Player player){
  194. if(taskID.containsKey(player.getUniqueId())){
  195. int tid = taskID.get(player.getUniqueId()); //get the ID from the hashmap
  196. plugin.getServer().getScheduler().cancelTask(tid); //cancel the task
  197. taskID.remove(player.getUniqueId()); //remove the player from the hashmap
  198. }
  199. }
  200. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement