Advertisement
Guest User

Untitled

a guest
Oct 17th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.27 KB | None | 0 0
  1. package me.LegandaryMC.utilhandlers;
  2.  
  3. import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
  4. import java.util.List;
  5. import java.util.Random;
  6. import me.LegandaryMC.ExplosivePickaxePro;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.Location;
  9. import org.bukkit.Material;
  10. import org.bukkit.block.Block;
  11. import org.bukkit.configuration.file.FileConfiguration;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.event.EventPriority;
  14. import org.bukkit.event.block.BlockBreakEvent;
  15. import org.bukkit.inventory.ItemStack;
  16. import org.bukkit.inventory.PlayerInventory;
  17. import org.bukkit.inventory.meta.ItemMeta;
  18.  
  19. public class PlayerMineListener implements org.bukkit.event.Listener
  20. {
  21. ExplosivePickaxePro main;
  22. WorldGuardPlugin wg = (WorldGuardPlugin)org.bukkit.Bukkit.getServer().getPluginManager().getPlugin("WorldGuard");
  23.  
  24. public PlayerMineListener(ExplosivePickaxePro pl) {
  25. main = pl;
  26. }
  27.  
  28. @org.bukkit.event.EventHandler(priority=EventPriority.HIGHEST)
  29. void onMineEvent(BlockBreakEvent event)
  30. {
  31. if (event.isCancelled()) {
  32. event.setCancelled(true);
  33. return;
  34. }
  35. Player player = event.getPlayer();
  36. Block block = event.getBlock();
  37. Location explosionLoc = block.getLocation();
  38. org.bukkit.World world = block.getWorld();
  39. ItemStack item = player.getInventory().getItemInHand();
  40. double radius = 0.0D;
  41. if ((main.isPickaxe(player.getItemInHand())) && (item.hasItemMeta())) {
  42. if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-1")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive I"))) {
  43. radius = 0.5D;
  44. }
  45. if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-2")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive II"))) {
  46. radius = 1.0D;
  47. }
  48. if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-3")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive III"))) {
  49. radius = 1.5D;
  50. }
  51. if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-4")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive IV"))) {
  52. radius = 2.0D;
  53. }
  54. if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-5")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive V"))) {
  55. radius = 2.5D;
  56. }
  57. if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-6")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive VI"))) {
  58. radius = 3.0D;
  59. }
  60. if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-7")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive VII"))) {
  61. radius = 3.5D;
  62. }
  63. if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-8")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive VIII"))) {
  64. radius = 4.0D;
  65. }
  66. if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-9")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive IX"))) {
  67. radius = 4.5D;
  68. }
  69. if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-10")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive X"))) {
  70. radius = 5.0D;
  71. }
  72. Random rand = new Random();
  73. int number = rand.nextInt(100) + 1;
  74. if (number <= main.getConfig().getInt("explosion-chance")) {
  75. world.createExplosion(explosionLoc, 0.0F, false);
  76. double X = explosionLoc.getBlockX();
  77. double Y = explosionLoc.getBlockY();
  78. double Z = explosionLoc.getBlockZ();
  79. double minX = X - radius;
  80. double maxX = X + radius + 1.0D;
  81. double minY = Y - radius;
  82. double maxY = Y + radius + 1.0D;
  83. double minZ = Z - radius;
  84. double maxZ = Z + radius + 1.0D;
  85. double x = minX;
  86. while (x < maxX) {
  87. double y = minY;
  88. while (y < maxY) {
  89. double z = minZ;
  90. while (z < maxZ) {
  91. Location location = new Location(block.getWorld(), x, y, z);
  92. Block block1 = location.getBlock();
  93. boolean set = wg.canBuild(player, block1);
  94. if ((set) && (!main.getConfig().getIntegerList("blacklistedblocks").contains(Integer.valueOf(block1.getTypeId())))) {
  95. if (main.getConfig().getBoolean("use-autopickup")) {
  96. if (player.hasPermission("epp.use-autopickup")) {
  97. player.getInventory().addItem(new ItemStack[] { new ItemStack(block1.getType()) });
  98. block1.setType(Material.AIR);
  99. BlockSmeltEvent(event);
  100. } else {
  101. block1.breakNaturally();
  102. }
  103. } else {
  104. block1.breakNaturally();
  105. }
  106. }
  107. z += 1.0D;
  108. }
  109. y += 1.0D;
  110. }
  111. x += 1.0D;
  112. }
  113.  
  114. }
  115. else if (!main.getConfig().getIntegerList("blacklistedblocks").contains(Integer.valueOf(block.getTypeId()))) {
  116. if (main.getConfig().getBoolean("use-autopickup")) {
  117. if (player.hasPermission("epp.use-autopickup")) {
  118. player.getInventory().addItem(new ItemStack[] { new ItemStack(block.getType()) });
  119. block.setType(Material.AIR);
  120. BlockSmeltEvent(event);
  121. } else {
  122. block.breakNaturally();
  123. }
  124. } else {
  125. block.breakNaturally();
  126. }
  127. }
  128. }
  129. }
  130.  
  131. @org.bukkit.event.EventHandler(priority=EventPriority.HIGHEST)
  132. void BlockSmeltEvent(BlockBreakEvent e)
  133. {
  134. Player p = e.getPlayer();
  135. ItemStack item = p.getInventory().getItemInHand();
  136. if ((main.isPickaxe(item)) && (main.getConfig().getBoolean("use-autosmelt")) && (p.hasPermission("epp.use-autosmelt"))) {
  137. if (p.getInventory().contains(Material.COAL_ORE)) {
  138. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.COAL_ORE) });
  139. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.COAL) });
  140. }
  141. if (p.getInventory().contains(Material.LAPIS_ORE)) {
  142. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.LAPIS_ORE) });
  143. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.INK_SACK, 4, 4) });
  144. }
  145. if (p.getInventory().contains(Material.EMERALD_ORE)) {
  146. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.EMERALD_ORE) });
  147. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.EMERALD) });
  148. }
  149. if (p.getInventory().contains(Material.QUARTZ_ORE)) {
  150. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.QUARTZ_ORE) });
  151. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.QUARTZ) });
  152. }
  153. if (p.getInventory().contains(Material.REDSTONE_ORE)) {
  154. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.REDSTONE_ORE) });
  155. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.REDSTONE) });
  156. }
  157. if (p.getInventory().contains(Material.DIAMOND_ORE)) {
  158. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.DIAMOND_ORE) });
  159. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.DIAMOND) });
  160. }
  161. if (p.getInventory().contains(Material.IRON_ORE)) {
  162. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.IRON_ORE) });
  163. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.IRON_INGOT) });
  164. }
  165. if (p.getInventory().contains(Material.GOLD_ORE)) {
  166. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.IRON_ORE) });
  167. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.GOLD_INGOT) });
  168. }
  169. if (p.getInventory().contains(Material.GRASS)) {
  170. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.GRASS) });
  171. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.DIRT) });
  172. }
  173. if (p.getInventory().contains(Material.GRAVEL)) {
  174. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.GRAVEL) });
  175. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.FLINT) });
  176. }
  177. if (main.getConfig().getBoolean("turn-9-item-in-block")) {
  178. if (p.getInventory().contains(Material.COAL, 9)) {
  179. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.COAL, 9) });
  180. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.COAL_BLOCK) });
  181. }
  182. if (p.getInventory().contains(new ItemStack(Material.INK_SACK, 9, (short)4))) {
  183. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.INK_SACK, 9, 4) });
  184. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.LAPIS_BLOCK) });
  185. }
  186. if (p.getInventory().contains(Material.EMERALD, 9)) {
  187. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.EMERALD, 9) });
  188. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.EMERALD_BLOCK) });
  189. }
  190. if (p.getInventory().contains(Material.QUARTZ, 9)) {
  191. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.QUARTZ, 9) });
  192. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.QUARTZ_BLOCK) });
  193. }
  194. if (p.getInventory().contains(Material.REDSTONE, 9)) {
  195. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.REDSTONE, 9) });
  196. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.REDSTONE_BLOCK) });
  197. }
  198. if (p.getInventory().contains(Material.DIAMOND, 9)) {
  199. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.DIAMOND, 9) });
  200. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.DIAMOND_BLOCK) });
  201. }
  202. if (p.getInventory().contains(Material.IRON_INGOT, 9)) {
  203. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.IRON_INGOT, 9) });
  204. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.IRON_BLOCK) });
  205. }
  206. if (p.getInventory().contains(Material.GOLD_INGOT, 9)) {
  207. p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.GOLD_INGOT, 9) });
  208. p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.GOLD_BLOCK) });
  209. }
  210. }
  211. }
  212. }
  213. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement