canBuild, hand); EventFactory.getInstance().callEvent(event); if (event.isCancelled() || !event.canBuild()) { oldState.update(true); return;
@Override public boolean hasBuildPermission(Player player, Block block) { checkListeners(); BlockPlaceEvent placeEvent = new BlockPlaceEvent(block, block.getState(), block.getRelative(BlockFace.DOWN), player.getInventory().getItemInMainHand(), player, true, EquipmentSlot.HAND); for (RegisteredListener listener : buildListeners) { try { listener.callEvent(placeEvent); if (placeEvent.isCancelled()) { return false; } } catch (Exception ex) { owningPlugin.getLogger().log(Level.WARNING, "An error occurred sending a BlockPlaceEvent to " + listener.getPlugin().getName(), ex); } } return true; }
@EventHandler public void onBlockPlace(BlockPlaceEvent 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)) { // add the block to the total amount BlockData playerData = (BlockData) dataMap.get(playerID); playerData.add(); // 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()) }); } } } }
public boolean createField(Location location, Player player) { ForceFieldManager manager = preciousStones.getForceFieldManager(); Block targetBlock = location.getBlock(); BlockPlaceEvent event = new BlockPlaceEvent(targetBlock, targetBlock.getState(), targetBlock.getRelative(BlockFace.DOWN), new ItemStack(targetBlock.getType(), DeprecatedUtils.getData(targetBlock)), player, true, EquipmentSlot.HAND); manager.add(location.getBlock(), player, event); return !event.isCancelled(); }
@EventHandler(ignoreCancelled = true) public void onBlockPlace(BlockPlaceEvent event) { if (event instanceof BlockMultiPlaceEvent) return; BlockState previousState = event.getBlockReplacedState(); // Some blocks, like tall grass and fire, get replaced if (previousState.getType() != Material.AIR) { Events.fireToCancel(event, new BreakBlockEvent(event, create(event.getPlayer()), previousState.getLocation(), previousState.getType())); } if (!event.isCancelled()) { ItemStack itemStack = new ItemStack(event.getBlockPlaced().getType(), 1); Events.fireToCancel(event, new UseItemEvent(event, create(event.getPlayer()), event.getPlayer().getWorld(), itemStack)); } if (!event.isCancelled()) { Events.fireToCancel(event, new PlaceBlockEvent(event, create(event.getPlayer()), event.getBlock())); } if (event.isCancelled()) { playDenyEffect(event.getPlayer(), event.getBlockPlaced().getLocation().add(0.5, 0.5, 0.5)); } }
@EventHandler(priority = EventPriority.HIGH) private void blockPlace(BlockPlaceEvent event){ MinigamePlayer ply = pdata.getMinigamePlayer(event.getPlayer()); if(ply == null) return; if(ply.isInMinigame() && !event.isCancelled()){ if(!ply.getMinigame().hasStarted() || ply.isLatejoining()){ event.setCancelled(true); return; } Minigame mgm = ply.getMinigame(); RecorderData d = mgm.getBlockRecorder(); if(((d.getWhitelistMode() && d.getWBBlocks().contains(event.getBlock().getType())) || (!d.getWhitelistMode() && !d.getWBBlocks().contains(event.getBlock().getType()))) && mgm.canBlockPlace()){ d.addBlock(event.getBlockReplacedState(), ply); } else{ event.setCancelled(true); } } }
@EventHandler(priority = EventPriority.HIGH) public void onPlace(BlockPlaceEvent place) { if (place.isCancelled()) { return; } Player player = place.getPlayer(); Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player); if (game == null) { return; } if (game.getState() != GameState.RUNNING) { return; } Team team = game.getPlayerTeam(player); if (team == null) { place.setCancelled(true); place.setBuild(false); return; } Trap trap = new Trap(); trap.create(game, team, place.getBlockPlaced().getLocation()); game.getRegion().addPlacedUnbreakableBlock(place.getBlockPlaced(), null); }
@EventHandler(priority = EventPriority.HIGH) public void onPlace(BlockPlaceEvent place) { if (place.isCancelled()) { return; } Player player = place.getPlayer(); Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player); if (game == null) { return; } if (game.getState() != GameState.RUNNING) { return; } Team team = game.getPlayerTeam(player); if (team == null) { place.setCancelled(true); place.setBuild(false); return; } Trap trap = new Trap(); trap.create(game, team, place.getBlockPlaced().getLocation()); game.getRegion().addPlacedUnbreakableBlock(place.getBlockPlaced(), null); }
if (!event.isCancelled()) { Block block = event.getBlock(); com.elmakers.mine.bukkit.api.block.BlockData modifiedBlock = com.elmakers.mine.bukkit.block.UndoList.getBlockData(block.getLocation());
if (!bpe.isCancelled()) { game.getRegion().addPlacedBlock(placeBlock, (replacedBlock.getType().equals(Material.AIR) ? null : replacedBlock));
if (!bpe.isCancelled()) { game.getRegion().addPlacedBlock(placeBlock, (replacedBlock.getType().equals(Material.AIR) ? null : replacedBlock));
if (event.isCancelled()) { return; if (event.isCancelled()) { return;