示例#1
0
        private void handleInvenClickItem(Player player, Packet packet)
        {
            int slot        = packet.readLEShortA();
            int item        = packet.readShortA();
            int childId     = packet.readLEShort();
            int interfaceId = packet.readLEShort();

            if (slot > 28 || slot < 0 || player.isDead() || player.getTemporaryAttribute("cantDoAnything") != null)
            {
                return;
            }
            SkillHandler.resetAllSkills(player);
            if (player.getInventory().getItemInSlot(slot) == item)
            {
                player.getPackets().closeInterfaces();
                if (Consumables.isEating(player, player.getInventory().getItemInSlot(slot), slot))
                {
                    return;
                }
                else if (Herblore.idHerb(player, player.getInventory().getItemInSlot(slot)))
                {
                    return;
                }
                else if (RuneCraft.fillPouch(player, (RuneCraftData.POUCHES)player.getInventory().getItemInSlot(slot)))
                {
                    return;
                }
                else if (Prayer.wantToBury(player, player.getInventory().getItemInSlot(slot), slot))
                {
                    return;
                }
                else if (Teleport.useTeletab(player, player.getInventory().getItemInSlot(slot), slot))
                {
                    return;
                }
                else if (FarmingAmulet.showOptions(player, player.getInventory().getItemInSlot(slot)))
                {
                    return;
                }

                switch (item)
                {
                case 4155:                     // Slayer gem
                    Slayer.doDialogue(player, 1051);
                    break;

                case 6:                     // Dwarf multicannon
                    if (player.getCannon() != null)
                    {
                        player.getPackets().sendMessage("You already have a cannon set up!");
                        break;
                    }
                    player.setCannon(new DwarfCannon(player));
                    break;

                case 5073:                     // Nest with seeds.
                case 5074:                     // Nest with jewellery.
                    Woodcutting.randomNestItem(player, item);
                    break;

                case 952:                     // Spade
                    player.setLastAnimation(new Animation(830));
                    if (Barrows.enterCrypt(player))
                    {
                        player.getPackets().sendMessage("You've broken into a crypt!");
                        break;
                    }
                    player.getPackets().sendMessage("You find nothing.");
                    break;
                }
            }
        }