Package org.bukkit.inventory

Examples of org.bukkit.inventory.Inventory


  }

  public static int transferAllItems(Collection<InventoryHolder> fromHolders, Collection<InventoryHolder> toHolders, ItemParser itemParser, boolean isFuelPreferred) {
    int amount, transferred = 0;
    for (InventoryHolder fromHolder : fromHolders) {
      Inventory from = fromHolder.getInventory();

      // Averaged?
      if (itemParser instanceof AveragedItemParser) {
        // Perform 'one by one' logic - which is a lot slower
        final int totalAmount = itemParser.hasAmount() ? itemParser.getAmount() : Integer.MAX_VALUE;
        final ItemParser single = itemParser.setAmount(1);
        boolean continueTransferring;
        int transferredAmount = 0;
        do {
          // Start of the loop: If nothing is transferred, break it.
          continueTransferring = false;
          // Go by all inventories
          for (InventoryHolder toHolder : toHolders) {
            Inventory to = toHolder.getInventory();
            amount = transferItems(from, to, single, isFuelPreferred);
            if (amount > 0) {
              transferred += amount;
              transferredAmount += amount;
              // Continue transferring? Evaluate the current transfer amount
              if (!(continueTransferring = (transferredAmount < totalAmount))) {
                break;
              }
            }
          }
        } while (continueTransferring);
      } else {
        // Perform regular item transfer: fill one by one
        for (InventoryHolder toHolder : toHolders) {
          Inventory to = toHolder.getInventory();
          amount = transferItems(from, to, itemParser, isFuelPreferred);
          transferred += amount;
          // Update item parser amount
          if (amount > 0 && itemParser.hasAmount()) {
            itemParser = itemParser.setAmount(itemParser.getAmount() - amount);
View Full Code Here


  @Override
  public void onPhysicsPostMove(double speedFactor) throws MemberMissingException, GroupUnloadedException {
    super.onPhysicsPostMove(speedFactor);
    if (this.getProperties().canPickup()) {
      Inventory inv = entity.getInventory();
      double distance;
      for (Entity e : entity.getNearbyEntities(2.0)) {
        if (!(e instanceof Item) || EntityUtil.isIgnored(e)) {
          continue;
        }
View Full Code Here

  public boolean getCoalFromNeighbours() {
    for (MinecartMember<?> mm : this.getNeightbours()) {
      //Is it a storage minecart?
      if (mm instanceof MinecartMemberChest) {
        //has coal?
        Inventory inv = ((MinecartMemberChest) mm).getEntity().getInventory();
        for (int i = 0; i < inv.getSize(); i++) {
          ItemStack item = inv.getItem(i);
          if (LogicUtil.nullOrEmpty(item) || item.getType() != Material.COAL) {
            continue;
          }
          ItemUtil.subtractAmount(item, 1);
          inv.setItem(i, item);
          return true;
        }
      }
    }
    return false;
View Full Code Here

    return text.startsWith("items");
  }

  @Override
  public boolean handle(MinecartMember<?> member, String text, SignActionEvent event) {
    final Inventory inventory = getInventory(member);
    if (inventory == null) {
      return false;
    }
    int count = ItemUtil.getItemCount(getInventory(member), -1, -1);
    return Util.evaluate(count, text);
View Full Code Here

    return Util.evaluate(count, text);
  }

  @Override
  public boolean handle(MinecartGroup group, String text, SignActionEvent event) {
    final Inventory inventory = getInventory(group);
    if (inventory == null) {
      return false;
    }
    int count = ItemUtil.getItemCount(inventory, -1, -1);
    return Util.evaluate(count, text);
View Full Code Here

        }
    }

    @EventHandler
    public void onInventoryClose(InventoryCloseEvent event) {
        Inventory inventory = event.getInventory();
        if (tempInventoryScripts.containsKey(inventory) && inventory.getViewers().isEmpty())
            tempInventoryScripts.remove(inventory);
    }
View Full Code Here

    public static void _registerNPC(dNPC denizenNPC) {
        if (denizenNPC == null || !denizenNPC.isValid()) return;
        int id = denizenNPC.getId();
        if (!denizenNPCs.containsKey(id)) {
            denizenNPCs.put(id, denizenNPC);
            Inventory npcInventory = Bukkit.getServer().createInventory(denizenNPC, InventoryType.PLAYER);
            npcInventory.setContents(denizenNPC.getInventoryTrait().getContents());
            npcInventories.put(id, npcInventory);
        }
    }
View Full Code Here

        FlagManager.clearNPCFlags(npc.getId());
    }

    @EventHandler
    public void onInventoryClick(InventoryClickEvent event) {
        Inventory inventory = event.getInventory();
        if (inventory.getHolder() instanceof dNPC) {
            dNPC npc = (dNPC) inventory.getHolder();
            npc.getInventory().setContents(inventory.getContents());
            Equipment equipment = npc.getEquipmentTrait();
            for (int i = 0; i < 5; i++)
                equipment.set(i, inventory.getItem(i));
        }
    }
View Full Code Here

        }
    }

    @EventHandler
    public void inventoryClick(InventoryClickEvent event) {
        Inventory inventory = event.getInventory();
        if (!didPlayerClickOwnInventory((Player) event.getWhoClicked(), inventory))
            return;
        ItemStack item = event.getCurrentItem();
        Player player = (Player) inventory.getHolder();
        ItemStack cursor = event.getCursor();
        if (event.getSlotType() == InventoryType.SlotType.ARMOR) {
            if (item != null && item.getType() != Material.AIR
                    && (cursor == null || cursor.getType() == Material.AIR || isArmor(cursor))) {
                if (playerUnequipsArmorEvent(player, item, "INVENTORY")) {
View Full Code Here

        }
    }

    @EventHandler
    public void inventoryDrag(InventoryDragEvent event) {
        Inventory inventory = event.getInventory();
        if (!didPlayerClickOwnInventory((Player) event.getWhoClicked(), inventory))
            return;
        ItemStack item = event.getOldCursor();
        Player player = (Player) inventory.getHolder();
        if (!isArmor(item)) return;
        int[] armor_slots = new int[]{5,6,7,8};
        Set<Integer> slots = event.getRawSlots();
        for (int slot : armor_slots) {
            if (slots.contains(slot) && (slot-5 == getArmorTypeNumber(item))) {
                ItemStack before = inventory.getItem(slot);
                if (before == null || before.getType() == Material.AIR) {
                    if (playerEquipsArmorEvent(player, item, "INVENTORY")) {
                        event.setCancelled(true);
                        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.