/** * Sets the cancellation state of this event. A canceled event will not be * executed in the server, but will still pass to other plugins * <p> * Canceling this event will prevent use of food (player won't lose the * food item), prevent bows/snowballs/eggs from firing, etc. (player won't * lose the ammo) * * @param cancel true if you wish to cancel this event */ public void setCancelled(boolean cancel) { setUseInteractedBlock(cancel ? Result.DENY : useInteractedBlock() == Result.DENY ? Result.DEFAULT : useInteractedBlock()); setUseItemInHand(cancel ? Result.DENY : useItemInHand() == Result.DENY ? Result.DEFAULT : useItemInHand()); }
/** * Fire the {@code eventToFire} and cancel the original if the fired event * is cancelled. * * @param original the original event to potentially cancel * @param eventToFire the event to fire to consider cancelling the original event * @param <T> an event that can be fired and is cancellable * @return true if the event was fired and it caused the original event to be cancelled */ public static <T extends Event & Cancellable> boolean fireItemEventToCancel(PlayerInteractEvent original, T eventToFire) { Bukkit.getServer().getPluginManager().callEvent(eventToFire); if (eventToFire.isCancelled()) { original.setUseItemInHand(Result.DENY); return true; } return false; }
/** * Sets the cancellation state of this event. A canceled event will not be * executed in the server, but will still pass to other plugins * <p> * Canceling this event will prevent use of food (player won't lose the * food item), prevent bows/snowballs/eggs from firing, etc. (player won't * lose the ammo) * * @param cancel true if you wish to cancel this event */ public void setCancelled(boolean cancel) { setUseInteractedBlock(cancel ? Result.DENY : useInteractedBlock() == Result.DENY ? Result.DEFAULT : useInteractedBlock()); setUseItemInHand(cancel ? Result.DENY : useItemInHand() == Result.DENY ? Result.DEFAULT : useItemInHand()); }
@EventHandler(priority = EventPriority.LOWEST) public void onInteract(PlayerInteractEvent event) { Player p = event.getPlayer(); if (!p.equals(player)) return; if (event.getHand() == EquipmentSlot.OFF_HAND) return; ItemStack tool = p.getInventory().getItemInMainHand(); if (!isTool(tool)) return; String name = tool.getItemMeta().getDisplayName(); if (name.equals(AREG_NAME)) { if (!arena(event)) return; } else if (name.equals(LREG_NAME)) { if (!lobby(event)) return; } else if (name.equals(WARPS_NAME)) { if (!warps(event)) return; } else if (name.equals(SPAWNS_NAME)) { if (!spawns(event)) return; } else if (name.equals(CHESTS_NAME)) { if (!chests(event)) return; } event.setUseItemInHand(Event.Result.DENY); event.setCancelled(true); player.sendRawMessage(getPromptText(null)); }
private void checkEnderPearlRightClickBlock(final Player player, final Block block, final BlockFace face, final PlayerInteractEvent event, final int previousLastTick, final BlockInteractData data, final IPlayerData pData) { if (block == null || !BlockProperties.isPassable(block.getType())) { final CombinedConfig ccc = pData.getGenericInstance(CombinedConfig.class); if (ccc.enderPearlCheck && ccc.enderPearlPreventClickBlock) { event.setUseItemInHand(Result.DENY); if (pData.isDebugActive(CheckType.BLOCKINTERACT)) { final BlockInteractConfig cc = pData.getGenericInstance(BlockInteractConfig.class); genericDebug(player, block, face, event, "click block: deny use ender pearl", previousLastTick, data, cc); } } } }
event.setUseItemInHand(Result.DENY); if (debug) { genericDebug(player, block, face, event, "deny item use", previousLastTick, data, cc); event.setUseItemInHand(Result.ALLOW); if (debug) { genericDebug(player, block, face, event, "allow edible item use", previousLastTick, data, cc);
event.setUseItemInHand(Result.DENY); event.setCancelled(true); TARDISMessage.send(event.getPlayer(), "ANTIBUILD"); event.setUseItemInHand(Result.DENY); event.setCancelled(true); Block b = event.getClickedBlock();
public void onPlayerInteract(PlayerInteractEvent event) { Player p = event.getPlayer(); if (!arena.inLobby(p)) return; // Prevent placing blocks and using held items if (event.hasItem()) { event.setUseItemInHand(Result.DENY); } // Bail if off-hand or if there's no block involved. if (event.getHand() == EquipmentSlot.OFF_HAND || !event.hasBlock()) return; // Iron block if (event.getClickedBlock().getType() == Material.IRON_BLOCK) { handleReadyBlock(p); } // Sign else if (event.getClickedBlock().getState() instanceof Sign) { Sign sign = (Sign) event.getClickedBlock().getState(); handleSign(sign, p); } }
private void checkBoatsAnywhere(final Player player, final PlayerInteractEvent event, final BlockPlaceConfig cc, final IPlayerData pData) { // Check boats-anywhere. final Block block = event.getClickedBlock(); final Material mat = block.getType(); // TODO: allow lava ? if (BlockProperties.isWater(mat)) { return; } // TODO: Shouldn't this be the opposite face? final BlockFace blockFace = event.getBlockFace(); final Block relBlock = block.getRelative(blockFace); final Material relMat = relBlock.getType(); // TODO: Placing inside of water, but not "against" ? if (BlockProperties.isWater(relMat)) { return; } // TODO: Add a check type for exemption? if (!pData.hasPermission(Permissions.BLOCKPLACE_BOATSANYWHERE, player)) { final Result previousUseBlock = event.useInteractedBlock(); event.setCancelled(true); event.setUseItemInHand(Result.DENY); event.setUseInteractedBlock(previousUseBlock == Result.DEFAULT ? Result.ALLOW : previousUseBlock); counters.addPrimaryThread(idBoatsAnywhere, 1); } }
if (rsd.resultSet()) { event.setUseInteractedBlock(Event.Result.DENY); event.setUseItemInHand(Event.Result.DENY); event.setCancelled(true); int id = rsd.getTardis_id();
if (rsd.resultSet()) { event.setUseInteractedBlock(Event.Result.DENY); event.setUseItemInHand(Event.Result.DENY); event.setCancelled(true); int id = rsd.getTardis_id();
if (rsd.resultSet()) { event.setUseInteractedBlock(Event.Result.DENY); event.setUseItemInHand(Event.Result.DENY); event.setCancelled(true); int id = rsd.getTardis_id();
case RIGHT_CLICK_AIR: if (item != null && !item.getType().isBlock() && Events.fireAndTestCancel(new UseItemEvent(event, cause, player.getWorld(), item))) { event.setUseItemInHand(Result.DENY); event.setCancelled(true); // The line above does not appear to work with spawn eggs
event.setUseItemInHand(Result.DENY); event.setCancelled(true); data.setPlayerInteractEventResolution(event);