if (breakEvent.isCancelled()) { BlockPlacementHandler.revert(player, block); return;
/** * Simulates the player breaking a block. This method will not break the block * if the player is in adventure or spectator mode. If the player is in survival * mode, the player will first damage the block. * * @param block The block to break. * @return {@code true} if the block was broken, {@code false} if it wasn't or * if the player was in adventure mode or in spectator mode. */ public boolean simulateBlockBreak(Block block) { if ((gamemode == GameMode.SPECTATOR || gamemode == GameMode.ADVENTURE) || (gamemode == GameMode.SURVIVAL && simulateBlockDamagePure(block).isCancelled())) return false; BlockBreakEvent event = new BlockBreakEvent(block, this); Bukkit.getPluginManager().callEvent(event); if (!event.isCancelled()) block.setType(Material.AIR); return !event.isCancelled(); }
@Override public boolean hasBreakPermission(Player player, Block block) { checkListeners(); BlockBreakEvent breakEvent = new BlockBreakEvent(block, player); for (RegisteredListener listener : breakListeners) { try { listener.callEvent(breakEvent); if (breakEvent.isCancelled()) { return false; } } catch (Exception ex) { owningPlugin.getLogger().log(Level.WARNING, "An error occurred sending a BlockBreakEvent to " + listener.getPlugin().getName(), ex); } } return true; } }
@EventHandler public void onBlockBreak(BlockBreakEvent event) { String playerID = PlayerConverter.getID(event.getPlayer()); // if the player has this objective, the event isn't canceled, // the block is correct and conditions are met if (containsPlayer(playerID) && !event.isCancelled() && event.getBlock().getType().equals(material) && (data < 0 || event.getBlock().getData() == data) && checkConditions(playerID)) { // remove the block from the total amount BlockData playerData = (BlockData) dataMap.get(playerID); playerData.remove(); // complete the objective if (playerData.getAmount() == neededAmount) { completeObjective(playerID); } else if (notify && playerData.getAmount() % notifyInterval == 0) { // or maybe display a notification if (playerData.getAmount() > neededAmount) { Config.sendMessage(playerID, "blocks_to_break", new String[] { String.valueOf(playerData.getAmount() - neededAmount) }); } else { Config.sendMessage(playerID, "blocks_to_place", new String[] { String.valueOf(neededAmount - playerData.getAmount()) }); } } } }
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST) public void onBlockBreakWithSignOnIt(BlockBreakEvent event) { Block block = event.getBlock(); Player player = event.getPlayer(); Block blockAbove = block.getRelative(BlockFace.UP); //get the above block and return if there is nothing if (blockAbove == null) { return; } //return if above block is not a sign if (!Category.SIGNS.containsBlock(blockAbove)) { return; } //let onBreak() method to handle the sign BlockBreakEvent bbe = new BlockBreakEvent(blockAbove, player); onBlockBreak(bbe); //follow the onBreak() event.setCancelled(bbe.isCancelled()); }
@EventHandler(ignoreCancelled = true) public void onBlockBreak(BlockBreakEvent event) { Events.fireToCancel(event, new BreakBlockEvent(event, create(event.getPlayer()), event.getBlock())); if (event.isCancelled()) { playDenyEffect(event.getPlayer(), event.getBlock().getLocation().add(0.5, 1, 0.5)); } }
if (!breakEvent.isCancelled()) block.setType(Material.AIR);
@EventHandler(priority = EventPriority.HIGH) public void onBreak(BlockBreakEvent br) { if (br.isCancelled()) { return; } Block toDestroy = br.getBlock(); if (br.getBlock().getType() != Material.TRIPWIRE) { Block relative = br.getBlock().getRelative(BlockFace.UP); // check above if (!relative.getType().equals(Material.TRIPWIRE)) { return; } toDestroy = relative; } Player player = br.getPlayer(); Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player); if (game == null) { return; } if (game.getState() != GameState.RUNNING) { return; } if (br.getBlock().equals(toDestroy)) { br.setCancelled(true); return; } toDestroy.setType(Material.AIR); }
@EventHandler(priority = EventPriority.HIGH) public void onBreak(BlockBreakEvent br) { if (br.isCancelled()) { return; } Block toDestroy = br.getBlock(); if (br.getBlock().getType() != Material.TRIPWIRE) { Block relative = br.getBlock().getRelative(BlockFace.UP); // check above if (!relative.getType().equals(Material.TRIPWIRE)) { return; } toDestroy = relative; } Player player = br.getPlayer(); Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player); if (game == null) { return; } if (game.getState() != GameState.RUNNING) { return; } if (br.getBlock().equals(toDestroy)) { br.setCancelled(true); return; } toDestroy.setType(Material.AIR); }
if(bbe.isModified() && !e.isCancelled()) { e.setCancelled(true); ignorebreak = false; if(!chevent.isCancelled()) { Block block = chevent.getBlock(); block.setType(Material.AIR);
if (!p.hasPermission("bw.setup") || e.isCancelled()) { return;
if (!p.hasPermission("bw.setup") || e.isCancelled()) { return;
if (event.isCancelled()) { isInstaBreak = AlmostBoolean.NO; return;
if (event.isCancelled()) { return;