@Override public ItemStack previous() { direction = -1; return inventory.getItem(--nextIndex); }
@Override public ItemStack next() { direction = 1; try { return inventory.getItem(nextIndex++); } catch (IndexOutOfBoundsException e) { throw new NoSuchElementException(e.getLocalizedMessage()); } }
/** * Get a random slot index in an Inventory. * * @param random a Random instance * @param inventory the inventory * @param ignoreEmpty whether to skip empty items in the inventory * @return the index of a random slot in the inventory, -1 if no possible slot was found */ public static int getRandomSlot(Random random, Inventory inventory, boolean ignoreEmpty) { if (!ignoreEmpty) { return random.nextInt(inventory.getSize()); } List<Integer> notEmpty = new ArrayList<>(); for (int i = 0; i < inventory.getSize(); i++) { if (!isEmpty(inventory.getItem(i))) { notEmpty.add(i); } } if (notEmpty.isEmpty()) { return -1; } return notEmpty.get(random.nextInt(notEmpty.size())); }
/** * Gets one item in this inventory view by its raw slot ID. * * @param slot The ID as returned by InventoryClickEvent.getRawSlot() * @return The item currently in the slot. */ public ItemStack getItem(int slot) { if (slot == OUTSIDE) { return null; } if (slot < getTopInventory().getSize()) { return getTopInventory().getItem(convertSlot(slot)); } else { return getBottomInventory().getItem(convertSlot(slot)); } }
Inventory inventory = Mockito.mock(Inventory.class); Mockito.when(inventory.getItem(Mockito.any())).thenReturn(somePresetItemStack);
@Override public boolean dispense() { GlowBlock block = getBlock(); int dispenseSlot = getDispenseSlot(); if (dispenseSlot < 0) { block.getWorld().playEffect(block.getLocation(), Effect.CLICK1, 0); return false; } ItemStack origItems = getInventory().getItem(dispenseSlot); DispenseBehavior behavior = getDispenseBehavior(origItems.getType()); ItemStack result = behavior.dispense(block, origItems); getInventory().setItem(dispenseSlot, result); return true; }
int slot = event.getSlot(); player.getSession().send(new SetWindowSlotMessage(player.getOpenWindowId(), slot, event.getInventory().getItem(slot))); player.getSession().send(new SetWindowSlotMessage(-1, -1, player.getItemOnCursor())); return true;
/** * Gets the item in this slot * * @return the item in this slot */ @Nullable @Override public ItemStack getItem() { return this.gui.getHandle().getItem(this.id); }
/** * Gets the item in this slot * * @return the item in this slot */ @Nullable @Override public ItemStack getItem() { return this.gui.getHandle().getItem(this.id); }
private boolean getBaby(Inventory i) { ItemStack is = i.getItem(47); ItemMeta im = is.getItemMeta(); return im.getLore().get(0).equals("BABY"); }
@Override public MCItemStack getSaddle() { return new BukkitMCItemStack(((InventoryHolder) ah).getInventory().getItem(0)); } }
public void setToNextFree(final GuiItem item, int start) { for (int i = start; i < inv.getSize(); i++) { if (inv.getItem(i) == null) { this.items.put(i, item); this.inv.setItem(i, item.wrap()); break; } } }
private Profession getProfession(Inventory i) { ItemStack is = i.getItem(48); ItemMeta im = is.getItemMeta(); try { return Profession.valueOf(im.getLore().get(0)); } catch (IllegalArgumentException e) { return Profession.FARMER; } }
public static ItemStack pushItems(Location l, ItemStack item) { Inventory inv = inject(l); Map<Integer, ItemStack> map = inv.addItem(item); for (int slot: getOutputSlots()) { BlockStorage.getInventory(l).replaceExistingItem(slot, inv.getItem(slot)); } for (Map.Entry<Integer, ItemStack> entry: map.entrySet()) { return entry.getValue(); } return null; } }
public void pushItems(Location l, ItemStack item) { Inventory inv = inject(l); inv.addItem(item); for (int slot: getOutputSlots()) { BlockStorage.getInventory(l).replaceExistingItem(slot, inv.getItem(slot)); } }
protected void pushItems(Location l, ItemStack[] items) { Inventory inv = inject(l); inv.addItem(items); for (int slot: getOutputSlots()) { BlockStorage.getInventory(l).replaceExistingItem(slot, inv.getItem(slot)); } } }
protected void pushItems(Block b, ItemStack... items) { Inventory inv = inject(b); inv.addItem(items); for (int slot: getOutputSlots()) { BlockStorage.getInventory(b).replaceExistingItem(slot, inv.getItem(slot)); } }
protected void pushItems(Block b, ItemStack[] items) { Inventory inv = inject(b); inv.addItem(items); for (int slot: getOutputSlots()) { BlockStorage.getInventory(b).replaceExistingItem(slot, inv.getItem(slot)); } }
protected void pushItems(Block b, ItemStack[] items) { Inventory inv = inject(b); inv.addItem(items); for (int slot: getOutputSlots()) { BlockStorage.getInventory(b).replaceExistingItem(slot, inv.getItem(slot)); } }