Refine search
if (event.useItemInHand() == Result.DENY) { return; if (event.getHand() == EquipmentSlot.OFF_HAND) { return; // TODO api needs to be able to get either hand depending on event final Player player = plugin.wrapPlayer(event.getPlayer()); final World world = player.getWorld(); final WorldEdit we = plugin.getWorldEdit(); Action action = event.getAction(); if (action == Action.LEFT_CLICK_BLOCK) { final Block clickedBlock = event.getClickedBlock(); final Location pos = new Location(world, clickedBlock.getX(), clickedBlock.getY(), clickedBlock.getZ()); event.setCancelled(true); event.setCancelled(true); event.setCancelled(true); final Block clickedBlock = event.getClickedBlock(); final Location pos = new Location(world, clickedBlock.getX(), clickedBlock.getY(), clickedBlock.getZ()); event.setCancelled(true); event.setCancelled(true); event.setCancelled(true);
public void onPlayerInteract(PlayerInteractEvent event) { final Action action = event.getAction(); final Location blockLocation = event.getClickedBlock().getLocation(); final Location l1 = (action == Action.LEFT_CLICK_BLOCK) ? blockLocation : null; final Location l2 = (action == Action.RIGHT_CLICK_BLOCK) ? blockLocation : null; Thread t = new Thread() { ... } }
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onJump(PlayerInteractEvent e) { if (!cm.farmProtectEnabled) { return; } // 防止农作物被踩踏 if (e.getAction() == Action.PHYSICAL) { if (e.getClickedBlock().getType() == Material.SOIL) { e.setCancelled(true); } } }
@EventHandler public void onInteract(PlayerInteractEvent ev) { if (ev.getAction().equals(Action.LEFT_CLICK_AIR) || ev.getAction().equals(Action.LEFT_CLICK_BLOCK)) { return; Player player = ev.getPlayer(); Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player); if (!ev.getMaterial().equals(warpPowder.getItemMaterial()) && !ev.getMaterial().equals(warpPowder.getActivatedMaterial())) { return; if (ev.getMaterial().equals(warpPowder.getActivatedMaterial())) { if (ev.getItem().getItemMeta().getDisplayName() != null && !ev.getItem().getItemMeta() .getDisplayName().equals(BedwarsRel._l("ingame.specials.warp-powder.cancel"))) { return; powder.setStackAmount(powder.getStack().getAmount() + 1); player.updateInventory(); powder.cancelTeleport(true, true); ev.setCancelled(true); warpPowder.setGame(game); warpPowder.runTask(); ev.setCancelled(true);
@EventHandler(priority = EventPriority.NORMAL) public boolean onPlayerInteract(final PlayerInteractEvent e) { if (!getIWM().inWorld(e.getPlayer().getLocation()) || !Flags.OBSIDIAN_SCOOPING.isSetForWorld(e.getPlayer().getWorld()) || !e.getPlayer().getGameMode().equals(GameMode.SURVIVAL) || !e.getAction().equals(Action.RIGHT_CLICK_BLOCK) || !(e.getItem() != null && e.getItem().getType().equals(Material.BUCKET)) || !(e.getClickedBlock() != null && e.getClickedBlock().getType().equals(Material.OBSIDIAN))) { return false; User user = User.getInstance(e.getPlayer()); if (getIslands().userIsOnIsland(user.getWorld(), user)) { Block b = e.getClickedBlock(); if (e.getItem().getAmount() == 1) { e.getItem().setType(Material.LAVA_BUCKET); } else { e.getItem().setAmount(e.getItem().getAmount() - 1); e.getPlayer().getInventory().addItem(new ItemStack(Material.LAVA_BUCKET)); e.getPlayer().getWorld().playSound(e.getPlayer().getLocation(), Sound.ITEM_BUCKET_FILL_LAVA, 1F, 1F); e.getClickedBlock().setType(Material.AIR); e.setCancelled(true); return true;
@EventHandler(priority = EventPriority.MONITOR) public void onFobWatchClick(PlayerInteractEvent event) { if (event.getHand() == null || event.getHand().equals(EquipmentSlot.OFF_HAND)) { return; if (event.getAction().equals(Action.RIGHT_CLICK_AIR)) { ItemStack is = event.getItem(); if (is == null || !is.getType().equals(Material.CLOCK) || !is.hasItemMeta()) { return; ItemMeta im = is.getItemMeta(); if (!im.hasDisplayName() || !im.getDisplayName().equals("Fob Watch")) { return; Player player = event.getPlayer(); UUID uuid = player.getUniqueId(); boolean inv = plugin.getConfig().getBoolean("arch.switch_inventory"); if (!plugin.getTrackerKeeper().getJohnSmith().containsKey(uuid)) { if (!player.hasPermission("tardis.chameleonarch")) { TARDISMessage.send(player, "NO_PERM_CHAM_ARCH"); return; DisguiseAPI.undisguiseToAll(player);
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onPlayerInteract(PlayerInteractEvent e) { if (!cm.isDisableChangeSpawnerType) { return; } if (e.getAction() == Action.RIGHT_CLICK_BLOCK) { if (e.getClickedBlock().getType() == Material.MOB_SPAWNER) { if (e.getItem() == null) { return; } if (e.getPlayer().isOp()) { return; } if (e.getItem().getType() == Material.MONSTER_EGG || e.getItem().getType() == Material.MONSTER_EGGS) { e.setCancelled(true); } } } } }
if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld())) return; Player player = event.getPlayer(); if (event.getHand() != EquipmentSlot.HAND || !UserManager.hasPlayerDataKey(player) || player.getGameMode() == GameMode.CREATIVE) { return; Block block = event.getClickedBlock(); ItemStack heldItem = player.getInventory().getItemInMainHand(); switch (event.getAction()) { case RIGHT_CLICK_BLOCK: Material type = block.getType(); if (!Config.getInstance().getAbilitiesOnlyActivateWhenSneaking() || player.isSneaking()) { event.setCancelled(true); event.setCancelled(true); event.setCancelled(true); // Don't detonate the TNT if they're too close type = block.getType(); if (!Config.getInstance().getAbilitiesOnlyActivateWhenSneaking() || player.isSneaking()) {
@EventHandler(ignoreCancelled = true) public void onPlayerInteract(PlayerInteractEvent event) { Player player = event.getPlayer(); @Nullable ItemStack item = event.getItem(); Block clicked = event.getClickedBlock(); Block placed; boolean silent = false; switch (event.getAction()) { case PHYSICAL: interactDebounce.debounce(clicked, event.getPlayer(), event, new UseBlockEvent(event, cause, clicked).setSilent(silent).setAllowed(hasInteractBypass(clicked))); break; placed = clicked.getRelative(event.getBlockFace()); handleBlockRightClick(event, create(event.getPlayer()), item, clicked, event.getBlockFace(), placed); placed = clicked.getRelative(event.getBlockFace()); modifiesWorld = isBlockModifiedOnClick(clicked, event.getAction() == Action.RIGHT_CLICK_BLOCK) || (item != null && isItemAppliedToBlock(item, clicked)); event.setUseInteractedBlock(Result.DENY); if (Events.fireAndTestCancel(new UseBlockEvent(event, create(event.getPlayer()), connected).setAllowed(!modifiesWorld))) { event.setUseInteractedBlock(Result.DENY); break; if (event.getAction() == Action.LEFT_CLICK_BLOCK && placed.getType() == Material.FIRE) {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onInteract(PlayerInteractEvent event) { if (event.getHand() == null || event.getHand().equals(EquipmentSlot.OFF_HAND)) { return; if (event.getClickedBlock().getType().isInteractable()) { return; Player player = event.getPlayer(); ItemStack is = player.getInventory().getItemInMainHand(); if (is.getType().equals(Material.BRICK) && is.hasItemMeta()) { ItemMeta im = is.getItemMeta(); if (im.hasDisplayName() && im.getDisplayName().equals("TARDIS Biome Reader")) { Biome biome = event.getClickedBlock().getBiome(); if (TARDISConstants.END_BIOMES.contains(biome) || biome.equals(Biome.NETHER) || biome.equals(Biome.THE_VOID)) { TARDISMessage.send(player, "BIOME_READER_NOT_VALID"); return; UUID uuid = player.getUniqueId();
if (event.getAction().equals(Action.PHYSICAL)) { return; UUID uuid = event.getPlayer().getUniqueId(); ResultSetAntiBuild rs = new ResultSetAntiBuild(plugin, uuid); if (!rs.resultSet() || !plugin.getTrackerKeeper().getAntiBuild().containsKey(rs.getTardis_id())) { return; EquipmentSlot hand = event.getHand(); if (hand == null) { return; ItemStack t = (hand.equals(EquipmentSlot.HAND)) ? event.getPlayer().getInventory().getItemInMainHand() : event.getPlayer().getInventory().getItemInOffHand(); Material m; if (t != null) { m = t.getType(); } else { m = Material.AIR; if ((hand.equals(EquipmentSlot.HAND) && no_place.contains(m)) || (hand.equals(EquipmentSlot.OFF_HAND) && no_place.contains(m)) && !allow_interact.contains(event.getClickedBlock().getType())) { event.setUseItemInHand(Result.DENY); event.setCancelled(true); TARDISMessage.send(event.getPlayer(), "ANTIBUILD"); if (event.getClickedBlock().getType().equals(Material.FLOWER_POT) && (hand.equals(EquipmentSlot.HAND) && no_flower_pot.contains(m)) || (hand.equals(EquipmentSlot.OFF_HAND) && no_flower_pot.contains(m))) { event.setUseItemInHand(Result.DENY); event.setCancelled(true); Block b = event.getClickedBlock(); b.getState().update();
@EventHandler(ignoreCancelled = true) public void onPlayerInteract(PlayerInteractEvent event) { if (event.getHand() == null || event.getHand().equals(EquipmentSlot.OFF_HAND)) { return; Player player = event.getPlayer(); if (event.getAction() == Action.LEFT_CLICK_BLOCK && player.hasPermission("tardis.sonic.sort")) { ItemStack is = player.getInventory().getItemInMainHand(); if (is.hasItemMeta()) { ItemMeta im = is.getItemMeta(); if (im.hasDisplayName() && ChatColor.stripColor(im.getDisplayName()).equals("Sonic Screwdriver")) { Block block = event.getClickedBlock(); if (block != null && (block.getType() == Material.CHEST || block.getType() == Material.TRAPPED_CHEST)) { boolean allow = true; allow = new TARDISTownyChecker(plugin).checkTowny(player, block.getLocation());
@EventHandler(priority = EventPriority.NORMAL) public void onInteract(PlayerInteractEvent event) { if (event.getHand() == null || event.getHand().equals(EquipmentSlot.OFF_HAND)) { return; } Player player = event.getPlayer(); UUID uuid = player.getUniqueId(); ItemStack itemStack = player.getInventory().getItemInMainHand(); if (itemStack == null || !itemStack.getType().equals(wand) || !player.hasPermission("tardis.admin") || !isWand(itemStack)) { return; } Block b = event.getClickedBlock(); if (b == null) { return; } Location l = b.getLocation(); if (event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) { plugin.getTrackerKeeper().getStartLocation().put(uuid, l); TARDISMessage.send(player, "SCHM_START"); } if (event.getAction().equals(Action.LEFT_CLICK_BLOCK)) { plugin.getTrackerKeeper().getEndLocation().put(uuid, l); TARDISMessage.send(player, "SCHM_END"); } event.setCancelled(true); }
@EventHandler(priority = EventPriority.HIGHEST) public void onRightClick(PlayerInteractEvent e){ if(e.getItem() == null) return; Action action = e.getAction(); if(action != Action.RIGHT_CLICK_AIR && action != Action.RIGHT_CLICK_BLOCK) return; if(action == Action.RIGHT_CLICK_BLOCK && Config.getInteractiveBlocks().contains(e.getClickedBlock().getType())) return; Player p = e.getPlayer(); World world = p.getWorld(); if(!isEnabled(world)) return; UUID id = p.getUniqueId(); if(p.isBlocking()){ tryCancelTask(id); } else { ItemStack item = e.getItem(); if(!isHoldingSword(item.getType()) || hasShield(p)) return; PlayerInventory inv = p.getInventory(); boolean isANoBlockingItem = noBlockingItems.contains(inv.getItemInOffHand().getType()); if(blacklist && isANoBlockingItem || !blacklist && !isANoBlockingItem) return; storedOffhandItems.put(id, inv.getItemInOffHand()); inv.setItemInOffHand(SHIELD); } scheduleRestore(p); }
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public static void onInteract(PlayerInteractEvent event) { Block block = event.getClickedBlock(); if (block == null) return; Action action = event.getAction(); Player player = event.getPlayer(); player.sendMessage(Messages.prefix(Messages.ACCESS_DENIED)); event.setCancelled(true); if (!isSign(block) || player.getInventory().getItemInMainHand().getType() == Material.SIGN) // Blocking accidental sign edition return; Sign sign = (Sign) block.getState(); if (!ChestShopSign.isValid(sign)) { return; event.setCancelled(true); showChestGUI(player, block, sign); return; event.setCancelled(true);
@EventHandler public void onPerceptionFilterClick(PlayerInteractEvent event) { if (event.getHand() == null || event.getHand().equals(EquipmentSlot.OFF_HAND)) { return; } Player player = event.getPlayer(); if (player.getInventory().getItemInMainHand().getType().equals(filter) && event.getAction().equals(Action.RIGHT_CLICK_AIR)) { ItemStack is = player.getInventory().getItemInMainHand(); if (is.hasItemMeta()) { ItemMeta im = is.getItemMeta(); if (im.hasDisplayName() && im.getDisplayName().equals("Perception Filter")) { if (player.hasPermission("tardis.filter")) { ItemStack chestplate = player.getInventory().getChestplate(); if (chestplate == null) { // equip the chest slot with the perception filter player.getInventory().setChestplate(is); player.getInventory().setItemInMainHand(new ItemStack(Material.AIR)); player.updateInventory(); // make the player invisible plugin.getFilter().addPerceptionFilter(player); } else { TARDISMessage.send(player, "FILTER"); } } else { TARDISMessage.send(player, "NO_PERMS"); } } } } }
Action action = e.getAction(); Player player = e.getPlayer(); if(!isEnabled(player.getWorld())) return; if(e.getMaterial() != Material.ENDER_PEARL) return; if(e.isCancelled()) return; e.setCancelled(true); EnderPearl pearl = player.launchProjectile(EnderPearl.class); pearl.setVelocity(player.getEyeLocation().getDirection().multiply(2)); GameMode mode = player.getGameMode(); PlayerInventory inv = player.getInventory(); boolean offhand = e.getHand() == EquipmentSlot.OFF_HAND; ItemStack hand = e.getItem(); if(e.getHand() == EquipmentSlot.HAND){ inv.setItemInMainHand(hand); } else {
@EventHandler public void onPlayerInteract(PlayerInteractEvent event) { if (event.getHand() == null || event.getHand().equals(EquipmentSlot.OFF_HAND)) { return; } Player p = event.getPlayer(); ItemStack inhand = p.getInventory().getItemInMainHand(); if (event.getAction().equals(Action.RIGHT_CLICK_AIR) && inhand.getType().equals(Material.CLOCK) && p.hasPermission("tardis.temporal")) { if (inhand.hasItemMeta() && inhand.getItemMeta().hasDisplayName() && notthese.contains(inhand.getItemMeta().getDisplayName())) { return; } p.resetPlayerTime(); plugin.getTrackerKeeper().getSetTime().remove(p.getUniqueId()); TARDISMessage.send(p, "TEMPORAL_RESET"); } } }
if (event.isCancelled()) { return; Block block = event.getClickedBlock(); World world = block.getWorld(); Material type = block.getType(); Player player = event.getPlayer(); @Nullable ItemStack item = event.getItem(); && !plugin.hasPermission(player, "worldguard.override.infinite-stack")) { for (int slot = 0; slot < 40; slot++) { ItemStack heldItem = player.getInventory().getItem(slot); if (heldItem != null && heldItem.getAmount() < 0) { player.getInventory().setItem(slot, null); player.sendMessage(ChatColor.RED + "Infinite stack in slot #" + slot + " removed."); WorldGuard.getInstance().getPlatform().getRegionContainer().createQuery().getApplicableRegions(BukkitAdapter.adapt(block.getLocation())); if (item != null && item.getType().getKey().toString().equals(wcfg.regionWand) && plugin.hasPermission(player, "worldguard.region.wand")) { if (set.size() > 0) { player.sendMessage(ChatColor.YELLOW + "Can you build? " + (set.testState(localPlayer, Flags.BUILD) ? "Yes" : "No")); event.setCancelled(true);
@EventHandler(priority = EventPriority.HIGHEST) public void onInteract(PlayerInteractEvent event) { if (event.getAction().equals(Action.LEFT_CLICK_AIR) || event.getAction().equals(Action.LEFT_CLICK_BLOCK)) { return; if (event.getPlayer() == null) { return; Player player = event.getPlayer(); if (!event.getMaterial().equals(creature.getItemMaterial())) { return; if (event.getClickedBlock() == null || event.getClickedBlock().getRelative(BlockFace.UP).getType() != Material.AIR) { startLocation = player.getLocation().getBlock() .getRelative(Utils.getCardinalDirection(player.getLocation())).getLocation(); } else { startLocation = event.getClickedBlock().getRelative(BlockFace.UP).getLocation(); creature.setGame(game); creature.run(startLocation); event.setCancelled(true);