public void breakFoliage(Block b) { for (BlockFace bf : BlockFace.values()) { Block toTest = b.getRelative(bf, 1); if (toTest.getTypeId() == 18) { toTest.breakNaturally(); } } }
@EventHandler(priority = EventPriority.MONITOR) public void onBlockBreak(BlockBreakEvent e) { arbre = new ArrayList<Block>(); if (e.isCancelled()) { return; } final Block initialBloc = e.getBlock(); if (initialBloc.getTypeId() != 17) { return; } final byte data = initialBloc.getData(); Player p = e.getPlayer(); boolean permEntire = Methods.hasPerm(p, "amatree.entiretree"); boolean permReplant = Methods.hasPerm(p, "amatree.replanting"); if (!permEntire && !permReplant) { return; } if (permEntire) { gessThree(initialBloc); for (Block b : arbre) { breakFoliage(b); b.breakNaturally(); } } if (permReplant) { int id = initialBloc.getRelative(BlockFace.DOWN).getTypeId(); if (id != 2 && id != 3) { return; } Core.plugin .getServer() .getScheduler() .scheduleSyncDelayedTask( Core.plugin, new Runnable() { public void run() { if (initialBloc.getTypeId() == 0) { initialBloc.setTypeId(6); initialBloc.setData(data); } } }, 1 * 20L); } }
private void breakBlock() { sourceblock.setType(sourcetype); if (revert) { EarthMethods.addTempAirBlock(sourceblock); } else { sourceblock.breakNaturally(); } instances.remove(id); }
@EventHandler(priority = EventPriority.NORMAL) public void glassShot(ProjectileHitEvent event) { if (!event.getEntity().getWorld().getName().equals(getName())) return; Entity proj = event.getEntity(); Location hit = proj.getLocation(); Block block = hit.getBlock(); Material material = block.getType(); if (proj instanceof Arrow) { if (material == Material.THIN_GLASS) { block.breakNaturally(); } } }
@EventHandler public void onBlockBreak(BlockBreakEvent event) { Player player = event.getPlayer(); int itemID = player.getItemInHand().getTypeId(); boolean allowed = false; if (playersActive.containsKey(player.getName())) { switch (itemID) { case 256: if (player.hasPermission("quickdig.iron.shovel")) { allowed = true; } break; case 257: if (player.hasPermission("quickdig.iron.pickaxe")) { allowed = true; } break; case 258: if (player.hasPermission("quickdig.iron.axe")) { allowed = true; } break; case 269: if (player.hasPermission("quickdig.wooden.shovel")) { allowed = true; } break; case 270: if (player.hasPermission("quickdig.wooden.pickaxe")) { allowed = true; } break; case 271: if (player.hasPermission("quickdig.wooden.axe")) { allowed = true; } break; case 273: if (player.hasPermission("quickdig.stone.shovel")) { allowed = true; } break; case 274: if (player.hasPermission("quickdig.stone.pickaxe")) { allowed = true; } break; case 275: if (player.hasPermission("quickdig.stone.axe")) { allowed = true; } break; case 277: if (player.hasPermission("quickdig.diamond.shovel")) { allowed = true; } break; case 278: if (player.hasPermission("quickdig.diamond.pickaxe")) { allowed = true; } break; case 279: if (player.hasPermission("quickdig.diamond.axe")) { allowed = true; } break; case 284: if (player.hasPermission("quickdig.gold.shovel")) { allowed = true; } break; case 285: if (player.hasPermission("quickdig.gold.pickaxe")) { allowed = true; } break; case 286: if (player.hasPermission("quickdig.gold.axe")) { allowed = true; } break; default: allowed = false; break; } if (allowed == false) { return; } Location loc = event.getBlock().getLocation(); int i = 0; String dir = getCardinalDirection(player); if (!dir.isEmpty()) { while (i < 4) { switch (dir) { case "N": loc = new Location( player.getWorld(), loc.getX(), loc.getY(), loc.getZ() - 1, loc.getYaw(), loc.getPitch()); break; case "E": loc = new Location( player.getWorld(), loc.getX() + 1, loc.getY(), loc.getZ(), loc.getYaw(), loc.getPitch()); break; case "S": loc = new Location( player.getWorld(), loc.getX(), loc.getY(), loc.getZ() + 1, loc.getYaw(), loc.getPitch()); break; case "W": loc = new Location( player.getWorld(), loc.getX() - 1, loc.getY(), loc.getZ(), loc.getYaw(), loc.getPitch()); break; default: break; } Block block = player.getWorld().getBlockAt(loc); if (block.getDrops(player.getItemInHand()).isEmpty() == false) { if (block.getType() != Material.BEDROCK) { block.breakNaturally(player.getItemInHand()); player .getItemInHand() .setDurability((short) (player.getItemInHand().getDurability() + 2)); i++; } else { break; } } else { break; } } } } }