Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.LegandaryMC.utilhandlers;
- import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
- import java.util.List;
- import java.util.Random;
- import me.LegandaryMC.ExplosivePickaxePro;
- import org.bukkit.ChatColor;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.block.Block;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.block.BlockBreakEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.PlayerInventory;
- import org.bukkit.inventory.meta.ItemMeta;
- public class PlayerMineListener implements org.bukkit.event.Listener
- {
- ExplosivePickaxePro main;
- WorldGuardPlugin wg = (WorldGuardPlugin)org.bukkit.Bukkit.getServer().getPluginManager().getPlugin("WorldGuard");
- public PlayerMineListener(ExplosivePickaxePro pl) {
- main = pl;
- }
- @org.bukkit.event.EventHandler(priority=EventPriority.HIGHEST)
- void onMineEvent(BlockBreakEvent event)
- {
- if (event.isCancelled()) {
- event.setCancelled(true);
- return;
- }
- Player player = event.getPlayer();
- Block block = event.getBlock();
- Location explosionLoc = block.getLocation();
- org.bukkit.World world = block.getWorld();
- ItemStack item = player.getInventory().getItemInHand();
- double radius = 0.0D;
- if ((main.isPickaxe(player.getItemInHand())) && (item.hasItemMeta())) {
- if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-1")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive I"))) {
- radius = 0.5D;
- }
- if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-2")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive II"))) {
- radius = 1.0D;
- }
- if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-3")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive III"))) {
- radius = 1.5D;
- }
- if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-4")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive IV"))) {
- radius = 2.0D;
- }
- if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-5")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive V"))) {
- radius = 2.5D;
- }
- if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-6")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive VI"))) {
- radius = 3.0D;
- }
- if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-7")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive VII"))) {
- radius = 3.5D;
- }
- if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-8")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive VIII"))) {
- radius = 4.0D;
- }
- if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-9")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive IX"))) {
- radius = 4.5D;
- }
- if ((item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', main.getConfig().getString("pickaxe-name-10")))) && (((String)item.getItemMeta().getLore().get(0)).contains("Explosive X"))) {
- radius = 5.0D;
- }
- Random rand = new Random();
- int number = rand.nextInt(100) + 1;
- if (number <= main.getConfig().getInt("explosion-chance")) {
- world.createExplosion(explosionLoc, 0.0F, false);
- double X = explosionLoc.getBlockX();
- double Y = explosionLoc.getBlockY();
- double Z = explosionLoc.getBlockZ();
- double minX = X - radius;
- double maxX = X + radius + 1.0D;
- double minY = Y - radius;
- double maxY = Y + radius + 1.0D;
- double minZ = Z - radius;
- double maxZ = Z + radius + 1.0D;
- double x = minX;
- while (x < maxX) {
- double y = minY;
- while (y < maxY) {
- double z = minZ;
- while (z < maxZ) {
- Location location = new Location(block.getWorld(), x, y, z);
- Block block1 = location.getBlock();
- boolean set = wg.canBuild(player, block1);
- if ((set) && (!main.getConfig().getIntegerList("blacklistedblocks").contains(Integer.valueOf(block1.getTypeId())))) {
- if (main.getConfig().getBoolean("use-autopickup")) {
- if (player.hasPermission("epp.use-autopickup")) {
- player.getInventory().addItem(new ItemStack[] { new ItemStack(block1.getType()) });
- block1.setType(Material.AIR);
- BlockSmeltEvent(event);
- } else {
- block1.breakNaturally();
- }
- } else {
- block1.breakNaturally();
- }
- }
- z += 1.0D;
- }
- y += 1.0D;
- }
- x += 1.0D;
- }
- }
- else if (!main.getConfig().getIntegerList("blacklistedblocks").contains(Integer.valueOf(block.getTypeId()))) {
- if (main.getConfig().getBoolean("use-autopickup")) {
- if (player.hasPermission("epp.use-autopickup")) {
- player.getInventory().addItem(new ItemStack[] { new ItemStack(block.getType()) });
- block.setType(Material.AIR);
- BlockSmeltEvent(event);
- } else {
- block.breakNaturally();
- }
- } else {
- block.breakNaturally();
- }
- }
- }
- }
- @org.bukkit.event.EventHandler(priority=EventPriority.HIGHEST)
- void BlockSmeltEvent(BlockBreakEvent e)
- {
- Player p = e.getPlayer();
- ItemStack item = p.getInventory().getItemInHand();
- if ((main.isPickaxe(item)) && (main.getConfig().getBoolean("use-autosmelt")) && (p.hasPermission("epp.use-autosmelt"))) {
- if (p.getInventory().contains(Material.COAL_ORE)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.COAL_ORE) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.COAL) });
- }
- if (p.getInventory().contains(Material.LAPIS_ORE)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.LAPIS_ORE) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.INK_SACK, 4, 4) });
- }
- if (p.getInventory().contains(Material.EMERALD_ORE)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.EMERALD_ORE) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.EMERALD) });
- }
- if (p.getInventory().contains(Material.QUARTZ_ORE)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.QUARTZ_ORE) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.QUARTZ) });
- }
- if (p.getInventory().contains(Material.REDSTONE_ORE)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.REDSTONE_ORE) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.REDSTONE) });
- }
- if (p.getInventory().contains(Material.DIAMOND_ORE)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.DIAMOND_ORE) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.DIAMOND) });
- }
- if (p.getInventory().contains(Material.IRON_ORE)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.IRON_ORE) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.IRON_INGOT) });
- }
- if (p.getInventory().contains(Material.GOLD_ORE)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.IRON_ORE) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.GOLD_INGOT) });
- }
- if (p.getInventory().contains(Material.GRASS)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.GRASS) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.DIRT) });
- }
- if (p.getInventory().contains(Material.GRAVEL)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.GRAVEL) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.FLINT) });
- }
- if (main.getConfig().getBoolean("turn-9-item-in-block")) {
- if (p.getInventory().contains(Material.COAL, 9)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.COAL, 9) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.COAL_BLOCK) });
- }
- if (p.getInventory().contains(new ItemStack(Material.INK_SACK, 9, (short)4))) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.INK_SACK, 9, 4) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.LAPIS_BLOCK) });
- }
- if (p.getInventory().contains(Material.EMERALD, 9)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.EMERALD, 9) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.EMERALD_BLOCK) });
- }
- if (p.getInventory().contains(Material.QUARTZ, 9)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.QUARTZ, 9) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.QUARTZ_BLOCK) });
- }
- if (p.getInventory().contains(Material.REDSTONE, 9)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.REDSTONE, 9) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.REDSTONE_BLOCK) });
- }
- if (p.getInventory().contains(Material.DIAMOND, 9)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.DIAMOND, 9) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.DIAMOND_BLOCK) });
- }
- if (p.getInventory().contains(Material.IRON_INGOT, 9)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.IRON_INGOT, 9) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.IRON_BLOCK) });
- }
- if (p.getInventory().contains(Material.GOLD_INGOT, 9)) {
- p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.GOLD_INGOT, 9) });
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.GOLD_BLOCK) });
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement