Package org.bukkit.inventory

Examples of org.bukkit.inventory.Inventory


  }
 
  @EventHandler(ignoreCancelled=true, priority=EventPriority.HIGH)
  public void onShopRemoveEvent (ShowCaseRemoveEvent scre) {
    Shop    shop    = scre.getShop();
    Inventory   inventory   = inventories.get(shop);
   
    if (inventory != null) {
      closeInventoryForShop(shop);
      updateShop(inventory, scre.getPlayer(), shop);
     
View Full Code Here


    }
   
    // show the inventory to the owner and members
    if (shop.isOwnerOrMember(scie.getPlayer().getName())) {
      // get the inventory
      Inventory inventory = getOrCreateInventory(shop);
     
      if (inventory.getViewers().size() == 0) {
        // update the inventory
        updateInventory(inventory, shop);
      }
     
      // open the inventory
View Full Code Here

  }
 
  @EventHandler(ignoreCancelled=true)
  public void onInventoryClose (InventoryCloseEvent event) {
   
    Inventory  inventory  = event.getInventory();
    Shop    shop    = null;
   
   
   
    if (inventory.getHolder() instanceof ShopHolder) {
     
      // check for too many viewers
      if (inventory.getViewers().size() <= 1) {  // because the current player is also be counted

        // get the shop
        shop = ((ShopHolder)inventory.getHolder()).getShop();
       
        // update the inventoy
        updateShop(inventory, (Player)event.getPlayer(), shop);
      }
    }
View Full Code Here

   * Closes the inventory for all viewers from
   * the given Shop
   * @param shop  Inventory holder
   */
  private void closeInventoryForShop (Shop shop) {
    Inventory inventory = inventories.get(shop);
   
    // close the inventory for them
    for (HumanEntity entity : inventory.getViewers()) {
      entity.closeInventory();
    }
  }
View Full Code Here

  private boolean hasShopInventoryViewers (Shop shop) {
    if (shop == null) {
      return false;
    }
   
    Inventory inventory = inventories.get(shop);
   
    if (inventory != null) {
      return (inventory.getViewers().size() > 0);
    }
   
    return false;
  }
View Full Code Here

  /**
   * @param shop Shop to create or get the inventory for
   * @return The inventory for the given Shop
   */
  private Inventory getOrCreateInventory (final Shop shop) {
    Inventory inventory = inventories.get(shop);
   
    if (inventory != null) {
      return inventory;
     
    } else {
View Full Code Here

      if (event.getClickedBlock().getState() instanceof InventoryHolder
        && event.getAction() == Action.RIGHT_CLICK_BLOCK && match.getCurrentState().inProgress()
        && !event.getPlayer().isSneaking())
      {
        InventoryHolder invh = (InventoryHolder) event.getClickedBlock().getState();
        Inventory inv = invh.getInventory(), newinv;

        if (inv instanceof DoubleChestInventory)
          newinv = Bukkit.getServer().createInventory(player, 54, "Large Chest");
        else newinv = Bukkit.getServer().createInventory(player, inv.getType());
        newinv.setContents(inv.getContents());

        player.openInventory(newinv);
        event.setCancelled(true); return;
      }
    }
View Full Code Here

    newInstance.valid = true;

    // *** Bukkit Entity ***
    ((CraftEntity) entity).setHandle(newInstance);
    if (entity instanceof InventoryHolder) {
      Inventory inv = ((InventoryHolder) entity).getInventory();
      if (inv instanceof CraftInventory && newInstance instanceof IInventory) {
        SafeField.set(inv, "inventory", newInstance);
      }
    }

View Full Code Here

    }

    // Create a (temporary) clone of the inventory to work with
    final ItemStack[] items = inventory.getContents();
    final int size = items.length;
    final Inventory inventoryClone = new InventoryBaseImpl(items, true);
    int amount, i;

    // Craft items until the limit is reached, or crafting is impossible
    // Below is the craftloop label, which is used to break out of crafting
    craftloop:
    for (amount = 0; amount < limit; amount++) {
      // input item check
      if (!this.containsInput(inventoryClone)) {
        break;
      }

      // remove ingredients from inventory
      for (ItemStack item : this.input) {
        ItemUtil.removeItems(inventoryClone, item);
      }

      // add resulting items to inventory
      for (ItemStack item : this.output) {
        ItemStack cloned = ItemUtil.cloneItem(item);
        ItemUtil.transfer(cloned, inventoryClone, Integer.MAX_VALUE);
        // Could not add result (full), unsuccessful
        if (!LogicUtil.nullOrEmpty(cloned)) {
          break craftloop;
        }
      }

      // Crafting was successful, transfer items over
      // Be sure NOT to produce new ItemStack instances!
      for (i = 0; i < size; i++) {
        ItemStack newItem = inventoryClone.getItem(i);
        if (LogicUtil.nullOrEmpty(newItem)) {
          items[i] = null;
        } else if (items[i] == null) {
          items[i] = newItem.clone();
        } else {
View Full Code Here

   *
   * @param tags Tag list
   * @return Inventory
   */
  public static Inventory createInventory(CommonTagList tags) {
    Inventory inv = new CraftInventoryCustom(null, tags.size());
   
    for(int i = 0; i < tags.size(); i++) {
      CommonTagCompound tag = (CommonTagCompound) tags.get(i);
      if(!tag.isEmpty()) {
        inv.setItem(i, CraftItemStack.asCraftMirror(ItemStack.createStack(
            (NBTTagCompound) tag.getHandle())));
      }
    }
   
    return inv;
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.