sender.sendMessage("Can't find player " + args[0]); } else { ItemStack item = player.getItemInHand(); if (item.getType() == Material.AIR) { sender.sendMessage("The player isn't holding an item");
@Override @SuppressWarnings("deprecation") public ItemStack getItemInHand() { return player.getItemInHand(); }
@SuppressWarnings("deprecation") @Override public boolean after(String message) { if ("yes".equalsIgnoreCase(message)) { saveItem(args[1], ((Player) sender).getItemInHand()); TLocale.sendTo(sender, "COMMANDS.TABOOLIB.SAVE.SUCCESS", args[1]); } else { TLocale.sendTo(sender, "COMMANDS.TABOOLIB.SAVE.GUIDE-QUIT"); } return false; } });
@Override public void run() { List<UUID> players = new ArrayList<>(handCache.keySet()); for (Player p : Bukkit.getOnlinePlayers()) { handCache.put(p.getUniqueId(), convert(p.getItemInHand())); players.remove(p.getUniqueId()); } // Remove offline players for (UUID uuid : players) { handCache.remove(uuid); } }
@SuppressWarnings("deprecation") public static ItemStack getItemInMainHand(final Player player) { return hasGetItemInMainHand ? player.getInventory().getItemInMainHand() : player.getItemInHand(); // As long as feasible (see: CraftInventoryPlayer). }
public void perform() { if (!me.getItemInHand().getType().toString().contains("BANNER")) { fme.msg(TL.COMMAND_SETBANNER_NOTBANNER); return; } fme.getFaction().setBannerPattern(me.getItemInHand()); fme.msg(TL.COMMAND_SETBANNER_SUCCESS); }
static private void onItemFramePlace(ItemFrame frame, Player player, PlayerInteractEntityEvent event) { if(frame.getItem().getType() != Material.AIR) return; if(!MapManager.managesMap(player.getItemInHand())) return; event.setCancelled(true); if(SplatterMapManager.hasSplatterAttributes(player.getItemInHand())) { if(!SplatterMapManager.placeSplatterMap(frame, player)) return; } else { ItemStack is = new ItemStack(Material.MAP, 1, player.getItemInHand().getDurability()); frame.setItem(is); } ItemUtils.consumeItem(player); }
/** * @param p Player whose item in his main hand should be returned * @return {@link ItemStack} in his main hand, or {@code null} if he doesn't hold one */ public static ItemStack getItemInMainHand(Player p) { if (getMajorVersion() < 9) { if (p.getItemInHand().getType() == Material.AIR) return null; else return p.getItemInHand(); } if (p.getInventory().getItemInMainHand().getType() == Material.AIR) return null; else return p.getInventory().getItemInMainHand(); }
@EventHandler @SuppressWarnings("deprecation") public void onPlayerInteractBlock(PlayerInteractEvent event) { Player player = event.getPlayer(); float explosionPower = this.getConfig.getFloat("power"); //this is what we changed if(player.getItemInHand().getType() == Material.DIAMOND_SWORD) { player.getWorld().strikeLightning(player.getTargetBlock(null, 50).getLocation()); player.getWorld().createExplosion(player.getTargetBlock(null, 50).getLocation(), explosionPower); } }
/** * Opens a book GUI to the player, Bypass the {@link CustomBookOpenEvent} * @param p the player * @param book the book to be opened */ public static void forceOpen(Player p, ItemStack book) { //Close inventory currently p.closeInventory(); //Store the previous item ItemStack hand = p.getItemInHand(); p.setItemInHand(book); //Opening the GUI BookReflection.openBook(p, book, false); //Returning whatever was on hand. p.setItemInHand(hand); }
@EventHandler @SuppressWarnings("deprecation") public void onPlayerInteractBlock(PlayerInteractEvent event){ Player player = event.getPlayer(); if (player.getItemInHand().getType().equals(Material.DIAMOND_SWORD)){ float explosionPower = this.getConfig.getFloat("power"); player.getWorld().strikeLightning(player.getTargetBlock(null, 50).getLocation()); player.getWorld().createExplosion(player.getTargetBlock(null, 50).getLocation(), explosionPower); } }
@Override public void testInteract(Actor sender, LocalPlayer target, boolean fromTarget, boolean stackTraceMode) throws CommandException { CommandSender bukkitSender = plugin.unwrapActor(sender); Player bukkitTarget = BukkitAdapter.adapt(target); Block block = traceBlock(bukkitSender, bukkitTarget, fromTarget); sender.printRaw(Style.CYAN + "Testing BLOCK INTERACT at " + Style.CYAN_DARK + block); LoggingPlayerInteractEvent event = new LoggingPlayerInteractEvent(bukkitTarget, Action.RIGHT_CLICK_BLOCK, bukkitTarget.getItemInHand(), block, BlockFace.SOUTH); testEvent(bukkitSender, bukkitTarget, event, stackTraceMode); }
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onBlockBreak(BlockBreakEvent event) { Player player = event.getPlayer(); WorldConfiguration wcfg = getWorldConfig(player); if (!wcfg.itemDurability) { ItemStack held = player.getItemInHand(); if (held.getType() != Material.AIR) { held.setDurability((short) 0); player.setItemInHand(held); } } }
@EventHandler(priority = EventPriority.MONITOR) public void onMonitor(PlayerMoveEvent event) { if (!event.isCancelled()) { Player player = event.getPlayer(); if (player.getItemInHand().getType() == Material.GLOWSTONE) { Block block = event.getTo().subtract(0D, 1D, 0D).getBlock(); Material type = block.getType(); if (type.isSolid()) { if (!Restore.locked.contains(block)) { Restore restore = new Restore(block, type, block.getData()); block.setType(Material.GLOWSTONE); restore.runTaskLater(Plugin, 10L); } } } } }
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onPickup(PlayerPickupItemEvent e) { if (!cm.isAntiPlaceDoorDupe) { return; } if (e.getPlayer().getItemInHand().getType() == Material.WOOD_DOOR || e.getPlayer().getItemInHand().getType() == Material.IRON_DOOR) { if (e.getItem().getItemStack().getType() == Material.SUGAR_CANE || e.getItem().getItemStack().getType() == Material.CACTUS) { e.setCancelled(true); } } }
@Override public void testPlace(Actor sender, LocalPlayer target, boolean fromTarget, boolean stackTraceMode) throws CommandException { CommandSender bukkitSender = plugin.unwrapActor(sender); Player bukkitTarget = BukkitAdapter.adapt(target); Block block = traceBlock(bukkitSender, bukkitTarget, fromTarget); sender.printRaw(Style.CYAN + "Testing BLOCK PLACE at " + Style.CYAN_DARK + block); LoggingBlockPlaceEvent event = new LoggingBlockPlaceEvent(block, block.getState(), block.getRelative(BlockFace.DOWN), bukkitTarget.getItemInHand(), bukkitTarget, true); testEvent(bukkitSender, bukkitTarget, event, stackTraceMode); }
@EventHandler public void onPearl(PlayerInteractEvent e) { Player player = e.getPlayer(); if (player.getItemInHand().getType() == Material.ENDER_PEARL) { FPlayer fPlayer = FPlayers.getInstance().getByPlayer(player); if (fPlayer.isFlying()) { if (Conf.noEnderpearlsInFly) { fPlayer.msg(TL.COMMAND_FLY_NO_EPEARL); e.setCancelled(true); } } } }
@EventHandler(ignoreCancelled = true) public void onPlayerInteractEntity(PlayerInteractEntityEvent event) { Player player = event.getPlayer(); World world = player.getWorld(); ItemStack item = player.getItemInHand(); Entity entity = event.getRightClicked(); Events.fireToCancel(event, new UseItemEvent(event, create(player), world, item)); Events.fireToCancel(event, new UseEntityEvent(event, create(player), entity)); }
static public void init() { ZLib.registerEvents(new MapInitEvent()); for(World world : Bukkit.getWorlds()) { for(ItemFrame frame : world.getEntitiesByClass(ItemFrame.class)) { initMap(frame.getItem()); } } for(Player player : Bukkit.getOnlinePlayers()) { initMap(player.getItemInHand()); } }
@EventHandler public void onPlayerInteractBlockTeleport(PlayerInteractEvent event) { Player player = event.getPlayer(); //Null check isn't necessary anymore, an empty item will have Material.AIR and getTargetBlock() now also works if no target block is found if (player.getItemInHand().getType() == Material.BONE) { Location playerLoc = player.getLocation(); //Get the player's location Location target = player.getTargetBlock((Set) null, 200).getLocation().clone().add(0, 1, 0); //Get the block location + 1 y target.setYaw(playerLoc.getYaw()); //Set the yaw of the target location to the player's yaw target.setPitch(playerLoc.getPitch()); //Set the pitch of the target location to the player's pitch player.teleport(target); //Teleport player player.playSound(player.getLocation(), Sound.ENDERMAN_TELEPORT, 10, 1); //Play sound } }