Package org.bukkit.inventory

Examples of org.bukkit.inventory.Inventory


        return plugin.settingsManager.throughBlocks.contains(itemid);
    }
   
    public boolean PutItemInHand(Player player, Material item) {
        ItemStack handitem = player.getItemInHand();
        Inventory inv = player.getInventory();
       
        if (!handitem.getType().equals(item)) {
            if (!handitem.getType().equals(Material.AIR)) {
                if(inv.firstEmpty() == -1) {
                    player.sendMessage(ChatColor.RED + "No space in your inventory");
                    return false;
                }
                   
                inv.setItem(inv.firstEmpty(), handitem);
            }
       
            if (inv.contains(item)) {
                Integer slotId = inv.first(item);
                ItemStack stack = inv.getItem(slotId);
                Integer stackAmount = stack.getAmount();

                if (stackAmount > 1 ) {
                    stack.setAmount( stackAmount - 1 );
                } else {
                    inv.clear(slotId);
                }
            }
       
            player.setItemInHand(new ItemStack(item, 1));
        } else {
View Full Code Here


    }

    @SuppressWarnings("deprecation")
    public void handlePlayerClick(InventoryClickEvent event) {
        int slot = event.getSlot();
        Inventory playerInv = player.getInventory();
        Stockable stockable = getStockable(event.getView().getItem(event.getRawSlot()), "bought", true);
        if (stockable == null) {
            return;
        }
        if (prevPlayerSlot != slot) {
View Full Code Here

        player.sendMessage(ChatColor.GREEN + "Transaction successful.");
    }

    @SuppressWarnings("deprecation")
    public void handleTraderClick(InventoryClickEvent event) {
        Inventory npcInv = npc.getInventory();
        int slot = event.getSlot();
        Stockable stockable = getStockable(event.getView().getItem(event.getRawSlot()), "sold", false);
        if (stockable == null) {
            return;
        }
View Full Code Here

  // Based on work contributed by drew-bahrue (https://github.com/echurchill/CityWorld/pull/2)
  @Override
  public void setLoot(Odds odds, String worldPrefix, LootLocation lootLocation, Block block) {
    Chest chest = (Chest) block.getState();
    Inventory inv = chest.getInventory();
    inv.clear();
    ItemStack[] items = getLoot(odds, lootLocation, block);
    inv.addItem(items);
    chest.update(true);
  }
View Full Code Here

  }

  @Override
  public boolean rollback(Block block) {
    if (!(block instanceof InventoryHolder)) return false;
    Inventory inv = ((InventoryHolder) block.getState()).getInventory();
    List<HashMap<String,Integer>> ops = InventoryUtil.interpretDifferenceString(data);
    //Handle the additions
    if (ops.size() > 0) {
      for (ItemStack stack : InventoryUtil.uncompressInventory(ops.get(0)))
        inv.removeItem(stack);
    }
    //Handle subtractions
    if (ops.size() > 1) {
      for (ItemStack stack : InventoryUtil.uncompressInventory(ops.get(1)))
        inv.addItem(stack);
    }
    return true;
  }
View Full Code Here

  }

  @Override
  public boolean rebuild(Block block) {
    if (!(block instanceof InventoryHolder)) return false;
    Inventory inv = ((InventoryHolder) block.getState()).getInventory();
    List<HashMap<String,Integer>> ops = InventoryUtil.interpretDifferenceString(data);
    //Handle the additions
    if (ops.size() > 0) {
      for (ItemStack stack : InventoryUtil.uncompressInventory(ops.get(0)))
        inv.addItem(stack);
    }
    //Handle subtractions
    if (ops.size() > 1) {
      for (ItemStack stack : InventoryUtil.uncompressInventory(ops.get(1)))
        inv.removeItem(stack);
    }
    return true;
  }
View Full Code Here

   * @param session
   * @param player
   */
  public static void enableTool(PlayerSession session, Player player) {

    Inventory inv = player.getInventory();
    session.setUsingTool(true);
    ItemStack stack = BlockUtil.itemStringToStack(Config.ToolBlock, 1);

    //If player doesn't have a tool, give them one if enabled in config
    if (!inv.contains(stack) && Config.GiveTool) {
      int first = inv.firstEmpty();
      if (first == -1)
        player.getWorld().dropItem(player.getLocation(), stack);
      else inv.setItem(first, stack);
    }

    //If they aren't holding a tool, move the tool to their hand
    int first = inv.first(BlockUtil.getIdFromString(Config.ToolBlock));
    if (!BlockUtil.getItemString(player.getItemInHand()).equals(Config.ToolBlock) && first != -1){
      ItemStack back = player.getItemInHand().clone();
      player.setItemInHand(inv.getItem(first));
      if (back.getAmount() == 0) inv.clear(first);
      else inv.setItem(first, back);
    }

    Util.sendMessage(player, "&cHawkEye tool enabled! &7Left click a block or place the tool to get information");

  }
View Full Code Here

    // entry not found -> return
    if (!playerInventories.containsKey(player)) return false;
     
    // clear player's inventory first
    Inventory inventory = player.getInventory();
    inventory.clear();
    player.getInventory().setHelmet(null);
    player.getInventory().setChestplate(null);
    player.getInventory().setLeggings(null);
    player.getInventory().setBoots(null);
   
    // get contents from list and put them into player inventory
    List<InventoryEntry> playerInventory = playerInventories.get(player);
    for (InventoryEntry inventoryEntry : playerInventory) {
      if (inventoryEntry.index >= 0)
        inventory.setItem(inventoryEntry.index, inventoryEntry.item.clone());
      else switch (inventoryEntry.index) {
      case HELMET:
        player.getInventory().setHelmet(inventoryEntry.item.clone());
        break;
      case CHESTPLATE:
View Full Code Here

    }
    // take if, if player still has it - yes, there are exploits, but I do
    // not want to handle them ;-)
    // We have to find the shovel item - it might have been used and its damage number be lowered due to use... So we have to
    // find the shovel that has been used most and delete that one...
    Inventory inventory = player.getInventory();
    Material shovelMaterial = MaterialHelper.getMaterialFromString(configuration.getString("shovelItem", "DIAMOND_SPADE"));
    // find all shovel items, if there are more than one to be removed
    for (int i = 0; i < shovelItem.getAmount(); i++) {
      int indexFound = -1; // keeps found shovels
      short durability = Short.MIN_VALUE; // keeps status of worst shovel found
      // get all possible shovel items
      for (Integer index : inventory.all(shovelMaterial).keySet()) {
        ItemStack current = inventory.getItem(index);
        short currentDurability = current.getDurability();
        if (currentDurability > durability) { // is this the worst shovel found?
          indexFound = index;
          durability = currentDurability;
        }
      }
     
      // worst shovel found?
      if (indexFound > -1) {
        // get item
        ItemStack stack = inventory.getItem(indexFound);
        if (stack.getAmount() > 1) { // shovels should only come in packs of one, but who knows?
          stack.setAmount(stack.getAmount() - 1); // reduce amount by one
          inventory.setItem(indexFound, stack);
        } else
          inventory.setItem(indexFound, null); // remove item completely
      }
    }
   
    return true;
  }
View Full Code Here

          + "Let's act as a regular farmer.");
    }
  }

  private void lookForStuff(Chest chest) {
    Inventory inventory = chest.getInventory();
    int size = inventory.getSize();
    ItemStack[] stacks = inventory.getContents();
    for (int i = 0; i < size; ++i) {
      ItemStack stack = stacks[i];
      if (stack == null) {
        continue;
      }
      int amount = stack.getAmount();
      Material material = stack.getType();
      byte metaData = stack.getData().getData();
      switch (material) {
      // Seeds and sapling.
      case SAPLING: {
        if (metaData == 2) {
          int room = MAX_AMOUNT - sapling;
          if (room > 0) {
            if (room > amount) {
              room = amount;
            }
            sapling += room;
            amount -= room;
            stack.setAmount(amount);
            inventory.setItem(i, stack);
          }
        }
        break;
      }
      case SEEDS: {
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.