Package org.bukkit.inventory

Examples of org.bukkit.inventory.Inventory


   * @param from ItemStack source array
   * @param to ItemStack destination array
   * @return True if full transfer was possible, False if not
   */
  public static boolean canTransferAll(org.bukkit.inventory.ItemStack[] from, org.bukkit.inventory.ItemStack[] to) {
    Inventory invto = new InventoryBaseImpl(to, true);
    for (org.bukkit.inventory.ItemStack item : cloneItems(from)) {
      transfer(item, invto, Integer.MAX_VALUE);
      if (!LogicUtil.nullOrEmpty(item)) {
        return false;
      }
View Full Code Here


    Player player = this.getPlayer();
    if (player == null) return null;

    PlayerInventory pInventory = player.getInventory();
    String inventoryName = name.length() > 32 ? name.substring(0, 32) : name;
    Inventory inventoryView = Bukkit.getServer().createInventory(null,
      pInventory.getSize() + 9, inventoryName);

    ItemStack[] oldContents = pInventory.getContents();
    ItemStack[] newContents = inventoryView.getContents();

    newContents[oldContents.length + SLOT_HELMET] = copyItem(pInventory.getHelmet());
    newContents[oldContents.length + SLOT_CHEST] = copyItem(pInventory.getChestplate());
    newContents[oldContents.length + SLOT_LEGS] = copyItem(pInventory.getLeggings());
    newContents[oldContents.length + SLOT_FEET] = copyItem(pInventory.getBoots());

    // SLOT 6: ACTIVE POTION EFFECTS
    if (player.getActivePotionEffects().size() > 0)
    {
      ItemStack potion = new Potion(PotionType.POISON).toItemStack(1);
      ItemMeta meta = potion.getItemMeta();

      List<String> effects = Lists.newLinkedList();
      for (PotionEffect effect : player.getActivePotionEffects())
        effects.add(ChatColor.RESET + "" + ChatColor.GRAY +
          PlayerUtil.getStatusEffectName(effect));

      meta.setDisplayName(ChatColor.BLUE + "" + ChatColor.ITALIC + "Status Effects");
      meta.setLore(effects);

      potion.setItemMeta(meta);
      newContents[oldContents.length + 5] = potion;
    }

    // SLOT 7: CURRENT PLAYER LEVEL
    if (player.getLevel() > 0)
    {
      ItemStack level = new ItemStack(Material.EXP_BOTTLE, player.getLevel());
      ItemMeta meta = level.getItemMeta();

      meta.setDisplayName(ChatColor.GREEN + "" + ChatColor.ITALIC + "Player XP Level");
      meta.setLore(Lists.newArrayList(ChatColor.GRAY + "" + ChatColor.ITALIC +
        String.format("%d %s", player.getLevel(), player.getLevel() == 1 ? "level" : "levels")));

      level.setItemMeta(meta);
      newContents[oldContents.length + 6] = level;
    }

    // SLOT 8: PLAYER HEALTH
    {
      ItemStack health = new ItemStack(Material.APPLE, player.getHealth());
      ItemMeta meta = health.getItemMeta();

      meta.setDisplayName(ChatColor.RED + "" + ChatColor.ITALIC + "Player Health");
      meta.setLore(Lists.newArrayList(ChatColor.GRAY + "" + ChatColor.ITALIC +
        String.format("%2.1f hearts", player.getHealth() / 2.0)));

      health.setItemMeta(meta);
      newContents[oldContents.length + 7] = health;
    }

    // SLOT 9: PLAYER HUNGER
    {
      ItemStack hunger = new ItemStack(Material.COOKED_BEEF, player.getFoodLevel());
      ItemMeta meta = hunger.getItemMeta();

      meta.setDisplayName(ChatColor.GOLD + "" + ChatColor.ITALIC + "Player Hunger");
      meta.setLore(Lists.newArrayList(ChatColor.GRAY + "" + ChatColor.ITALIC +
        String.format("%2.1f food", player.getFoodLevel() / 2.0)));

      hunger.setItemMeta(meta);
      newContents[oldContents.length + 8] = hunger;
    }

    for (int i = 0; i < oldContents.length; ++i)
      newContents[i] = copyItem(oldContents[i]);

    inventoryView.setContents(newContents);
    return inventoryView;
  }
View Full Code Here

   * @param old show saved inventory if true, otherwise show current inventory
   * @return true if the inventory can be shown, otherwise false
   */
  public boolean showInventory(Player player, boolean old)
  {
    Inventory which = old ? this.getLastInventoryView() : this.getInventoryView();
    return this.showInventory(player, which);
  }
View Full Code Here

      for (Entity ent : entities)
      {
        // Humans, Horses, Storage & Hopper Minecarts
        if (ent instanceof InventoryHolder)
        {
          Inventory inv = ((InventoryHolder) ent).getInventory();
          for (ItemStack item : inv.getContents())
            submitMatches(item, ent, goals);
        }

        // note: players get their armor checked here
        // the double-check on the held item doesn't really matter
View Full Code Here

      for (BlockState state : containers)
      {
        if (state instanceof InventoryHolder)
        {
          Inventory inv = ((InventoryHolder) state).getInventory();
          if (state instanceof Chest)
            inv = ((Chest) state).getBlockInventory();
          checkInventory(inv, goals, state.getLocation(loc));
        }
        // TODO: spawners
View Full Code Here

        Action buy = Properties.REVERSE_BUTTONS ? LEFT_CLICK_BLOCK : RIGHT_CLICK_BLOCK;
        double price = (action == buy ? PriceUtil.getBuyPrice(prices) : PriceUtil.getSellPrice(prices));

        Chest chest = uBlock.findConnectedChest(sign);
        Inventory ownerInventory = (ChestShopSign.isAdminShop(sign) ? new AdminInventory() : chest != null ? chest.getInventory() : null);

        ItemStack item = MaterialUtil.getItem(material);

        if (item == null || !NumberUtil.isInteger(quantity)) {
            player.sendMessage(Messages.prefix(Messages.INVALID_SHOP_DETECTED));
View Full Code Here

        return allowed.equalsIgnoreCase(buyTransaction ? "BUY" : "SELL");
    }

    private static int getStackAmount(ItemStack item, Inventory inventory, Player player, Action action) {
        Action buy = Properties.REVERSE_BUTTONS ? LEFT_CLICK_BLOCK : RIGHT_CLICK_BLOCK;
        Inventory checkedInventory = (action == buy ? inventory : player.getInventory());

        if (checkedInventory.containsAtLeast(item, item.getMaxStackSize())) {
            return item.getMaxStackSize();
        } else {
            return InventoryUtil.getAmount(item, checkedInventory);
        }
    }
View Full Code Here

     * @param holder Inventory holder
     * @param player Player on whose screen the GUI is going to be shown
     * @return Was the opening successful?
     */
    public static boolean openBlockGUI(InventoryHolder holder, Player player) {
        Inventory inventory = holder.getInventory();
        player.openInventory(inventory);

        return true;
    }
View Full Code Here

    public static void onTransaction(TransactionEvent event) {
        if (event.getTransactionType() != TransactionEvent.TransactionType.BUY) {
            return;
        }

        Inventory ownerInventory = event.getOwnerInventory();
        Sign sign = event.getSign();
        Chest connectedChest = uBlock.findConnectedChest(sign);

        if (!shopShouldBeRemoved(ownerInventory, event.getStock())) {
            return;
        }

        ShopDestroyedEvent destroyedEvent = new ShopDestroyedEvent(null, event.getSign(), connectedChest);
        ChestShop.callEvent(destroyedEvent);

        sign.getBlock().setType(Material.AIR);

        if (Properties.REMOVE_EMPTY_CHESTS && !ChestShopSign.isAdminShop(ownerInventory) && InventoryUtil.isEmpty(ownerInventory)) {
            connectedChest.getBlock().setType(Material.AIR);
        } else {
            ownerInventory.addItem(new ItemStack(Material.SIGN, 1));
        }
    }
View Full Code Here

        if (event.isCancelled() || event.getTransactionType() != BUY) {
            return;
        }

        ItemStack[] stock = event.getStock();
        Inventory ownerInventory = event.getOwnerInventory();

        CurrencyCheckEvent currencyCheckEvent = new CurrencyCheckEvent(BigDecimal.valueOf(event.getPrice()), event.getClient());
        ChestShop.callEvent(currencyCheckEvent);

        if (!currencyCheckEvent.hasEnough()) {
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.