Package org.bukkit.inventory

Examples of org.bukkit.inventory.Inventory


        }

    }

    private void giveBook(Player player, ItemStack book) {
        Inventory inv = player.getInventory();
        int emptySpot = inv.firstEmpty();
        if (emptySpot != -1)
            player.getInventory().addItem(book);
        else {
            player.getWorld().dropItem(player.getLocation(), book);
            dB.log("Player's inventory is full, dropped book.");
View Full Code Here


        }
    }

    private void equipBook (Player player, ItemStack book) {
        ItemStack currItem = player.getItemInHand();
        Inventory inv = player.getInventory();
        int emptySpot = inv.firstEmpty();

        // if player isn't holding anything
        if (currItem == null || currItem.getType() == Material.AIR) {
            player.setItemInHand(book);
            return;
        }
        // drop it if inventory has no empty slots
        emptySpot = inv.firstEmpty();
        dB.log("emptySpot: " + emptySpot);

        if (emptySpot == -1) {
            player.getWorld().dropItem(player.getLocation(), book);
            dB.log("Player's inventory is full, dropped book.");
        }
        // move current held item to empty spot, set item in hand to the book
        else {
            inv.setItem(emptySpot, currItem);
            player.setItemInHand(book);
            dB.log("...added book to player hand, moved original item");
        }
    }
View Full Code Here

        if (!(state instanceof org.bukkit.inventory.InventoryHolder)) {
            return false;
        }

        org.bukkit.inventory.InventoryHolder chest = (org.bukkit.inventory.InventoryHolder) state;
        Inventory inven = chest.getInventory();
        if (chest instanceof Chest) {
            inven = getBlockInventory((Chest) chest);
        }
        inven.clear();
        return true;
    }
View Full Code Here

    @EventHandler(priority=EventPriority.MONITOR, ignoreCancelled=true)
    public void onInventoryRepair(InventoryClickEvent event) {
        // make sure plugin is enabled
        if(!plugin.isEnabled()) return;
        Inventory inv = event.getInventory();
       
        // If event is nothing or place, do nothing
        switch (event.getAction()) {
            case NOTHING:
            case PLACE_ONE:
View Full Code Here

    @EventHandler(priority=EventPriority.MONITOR, ignoreCancelled=true)
    public void onEnchantItem(EnchantItemEvent event) {
        // make sure plugin is enabled
        if(!plugin.isEnabled()) return;
        Inventory inv = event.getInventory();
       
        if (!(inv instanceof EnchantingInventory))
            return;
       
        Player player = event.getEnchanter();
View Full Code Here

      }
      MinecartMemberFurnace member = (MinecartMemberFurnace) cart;
      if (!member.getEntity().hasFuel()) {
        found = false;
        for (Chest chest : chests) {
          Inventory inv = chest.getInventory();
          for (i = 0; i < inv.getSize(); i++) {
            org.bukkit.inventory.ItemStack item = inv.getItem(i);
            if (!LogicUtil.nullOrEmpty(item) && item.getType() == Material.COAL) {
              ItemUtil.subtractAmount(item, 1);
              inv.setItem(i, item);
              found = true;
              member.addFuelTicks(3600);
              if (TrainCarts.showTransferAnimations) {
                ItemAnimation.start(chest, member, new ItemStack(Material.COAL, 1));
              }
View Full Code Here

        }
      }
    }
    if (w != null) {
      //get the inventory to transfer in
      Inventory inventory = TransferSignUtil.getInventory(info);
      if (inventory == null) {
        return;
      }

      if (TrainCarts.showTransferAnimations) {
View Full Code Here

  {
    Player player = event.getEntity();
    if (TreesData.hasATree(player))
    {
      GreatTree tree = TreesData.getGreatTree(player);
      Inventory inv = player.getInventory();
      for (ItemStack is : inv)
      {
        if (is != null)
        {
          if (is.getType() == Material.LOG
View Full Code Here

            }

            items.add(new Tuple2<ItemInfo, Integer>(new ItemInfo(itemID, itemData), amount));
        }

        Inventory cartinventory = ((StorageMinecart) event.getMinecart()).getInventory();
        ArrayList<ItemStack> leftovers = new ArrayList<ItemStack>();

        // search for containers
        List<Chest> containers = new ArrayList<Chest>(RailUtil.getNearbyChests(event.getBlocks().base));
        containers.addAll(RailUtil.getNearbyChests(event.getBlocks().rail));

        // are there any containers?
        if (containers.isEmpty()) return;

        if (collecting) {
            // collecting
            ArrayList<ItemStack> transferItems = new ArrayList<ItemStack>();
            if (!items.isEmpty()) {
                for (ItemStack item : cartinventory.getContents()) {
                    if (!ItemUtil.isStackValid(item))
                        continue;
                    Iterator<Tuple2<ItemInfo, Integer>> iter = items.iterator();
                    while(iter.hasNext()) {
                        Tuple2<ItemInfo, Integer> inf = iter.next();
                        if (inf.a.getId() < 0 || inf.a.getType() == item.getType()) {
                            if (inf.a.getData() < 0 || inf.a.getData() == item.getDurability()) {
                                if(inf.b < 0) {
                                    transferItems.add(item.clone());
                                    cartinventory.remove(item);
                                } else {
                                    ItemStack stack = item.clone();
                                    if(item.getAmount() > inf.b) {
                                        stack.setAmount(inf.b);
                                        iter.remove();
                                        items.add(new Tuple2<ItemInfo, Integer>(inf.a, 0));
                                    } else {
                                        iter.remove();
                                        items.add(new Tuple2<ItemInfo, Integer>(inf.a, inf.b - stack.getAmount()));
                                    }
                                    transferItems.add(stack.clone());
                                    cartinventory.removeItem(stack);
                                }
                            }
                        }
                    }
                }
            } else {
                transferItems.addAll(Arrays.asList(cartinventory.getContents()));
                cartinventory.clear();
            }

            transferItems.removeAll(Collections.singleton(null));

            // is cart non-empty?
            if (transferItems.isEmpty()) return;

            CraftBookPlugin.logDebugMessage("collecting " + transferItems.size() + " item stacks", "cart-deposit.collect");
            for (ItemStack stack: transferItems)
                CraftBookPlugin.logDebugMessage("collecting " + stack.getAmount() + " items of type " + stack.getType().toString(), "cart-deposit.collect");

            for (Chest container : containers) {
                if (transferItems.isEmpty()) {
                    break;
                }
                Inventory containerinventory = container.getInventory();

                leftovers.addAll(containerinventory.addItem(transferItems.toArray(new ItemStack[transferItems.size()
                                                                                                ])).values());
                transferItems.clear();
                transferItems.addAll(leftovers);
                leftovers.clear();

                container.update();
            }

            CraftBookPlugin.logDebugMessage("collected items. " + transferItems.size() + " stacks left over.", "cart-deposit.collect");

            leftovers.addAll(cartinventory.addItem(transferItems.toArray(new ItemStack[transferItems.size()])).values());
            transferItems.clear();
            transferItems.addAll(leftovers);
            leftovers.clear();

            CraftBookPlugin.logDebugMessage("collection done. " + transferItems.size() + " stacks wouldn't fit back.", "cart-deposit.collect");
        } else {
            // depositing
            ArrayList<ItemStack> transferitems = new ArrayList<ItemStack>();

            for (Chest container : containers) {
                Inventory containerinventory = container.getInventory();
                if (!items.isEmpty()) {
                    for (ItemStack item : containerinventory.getContents()) {
                        if (!ItemUtil.isStackValid(item))
                            continue;
                        Iterator<Tuple2<ItemInfo, Integer>> iter = items.iterator();
                        while(iter.hasNext()) {
                            Tuple2<ItemInfo, Integer> inf = iter.next();
                            if (inf.a.getId() < 0 || inf.a.getType() == item.getType())
                                if (inf.a.getData() < 0 || inf.a.getData() == item.getDurability()) {
                                    if(inf.b < 0) {
                                        transferitems.add(item.clone());
                                        cartinventory.remove(item);
                                    } else {
                                        ItemStack stack = item.clone();
                                        if(item.getAmount() > inf.b) {
                                            stack.setAmount(inf.b);
                                            iter.remove();
                                            items.add(new Tuple2<ItemInfo, Integer>(inf.a, 0));
                                        } else {
                                            iter.remove();
                                            items.add(new Tuple2<ItemInfo, Integer>(inf.a, inf.b - stack.getAmount()));
                                        }
                                        transferitems.add(stack.clone());
                                        cartinventory.removeItem(stack);
                                    }
                                }
                        }
                    }
                } else {
                    transferitems.addAll(Arrays.asList(containerinventory.getContents()));
                    containerinventory.clear();
                }
                container.update();
            }

            transferitems.removeAll(Collections.singleton(null));

            // are chests empty?
            if (transferitems.isEmpty()) return;

            CraftBookPlugin.logDebugMessage("depositing " + transferitems.size() + " stacks", "cart-deposit.deposit");
            for (ItemStack stack: transferitems)
                CraftBookPlugin.logDebugMessage("depositing " + stack.getAmount() + " items oftype " + stack.getType().toString(), "cart-deposit.deposit");

            leftovers.addAll(cartinventory.addItem(transferitems.toArray(new ItemStack[transferitems.size()])).values());
            transferitems.clear();
            transferitems.addAll(leftovers);
            leftovers.clear();

            CraftBookPlugin.logDebugMessage("deposited, " + transferitems.size() + " items left over.", "cart-deposit.deposit");

            for (Chest container : containers) {
                if (transferitems.isEmpty()) {
                    break;
                }
                Inventory containerinventory = container.getInventory();

                leftovers.addAll(containerinventory.addItem(transferitems.toArray(new ItemStack[transferitems.size()])).values());
                containerinventory.clear();
                for(ItemStack item : leftovers)
                    containerinventory.addItem(item);
                transferitems.clear();
                transferitems.addAll(leftovers);
                leftovers.clear();
            }
View Full Code Here

        event.setExpToDrop(UserManager.getPlayer(player).getSmeltingManager().vanillaXPBoost(event.getExpToDrop()));
    }

    @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
    public void onInventoryClickEventNormal(InventoryClickEvent event) {
        Inventory inventory = event.getInventory();

        if (!(inventory instanceof BrewerInventory)) {
            return;
        }

        InventoryHolder holder = inventory.getHolder();

        if (!(holder instanceof BrewingStand)) {
            return;
        }
View Full Code Here

TOP

Related Classes of org.bukkit.inventory.Inventory

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.