Advertisement
broken-arrow

Untitled

May 20th, 2021 (edited)
766
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.75 KB | None | 0 0
  1. public static ItemStack<?, ?> AIR = of(new ItemStack(Material.AIR));  
  2.  
  3.  public Inventory getPage(int page) {
  4.         return page < 0 || page >= getPagesAmount() ? null : inventories.get(page);
  5.     }
  6.  
  7.    
  8.     public ItemStack<?, ?>[] getContents() {
  9.         ItemStack<?, ?>[] contents = new ItemStack[0];
  10.         int pagesAmount = getPagesAmount();
  11.  
  12.         if(pagesAmount == 0)
  13.             return contents;
  14.  
  15.         for(int page = 0; page < pagesAmount; page++){
  16.             CraftInventory inventory = inventories.get(page);
  17.             int oldLength = contents.length;
  18.             contents = Arrays.copyOf(contents, contents.length + inventory.getSize());
  19.             System.arraycopy(inventory.getContents(), 0, contents, oldLength, inventory.getSize());
  20.         }
  21.  
  22.         return contents;
  23.     }
  24.  
  25.    
  26.     public ItemStack<?, ?> getItem(int i) {
  27.         Inventory firstPage = getPage(0);
  28.  
  29.         if(firstPage == null)
  30.             return WildItemStack.AIR.cloneItemStack();
  31.  
  32.         int pageSize = firstPage.getSize();
  33.         int page = i / pageSize;
  34.         int slot = i % pageSize;
  35.  
  36.         CraftInventory actualPage = (CrafInventory) getPage(page);
  37.  
  38.         if(actualPage == null)
  39.             return ItemStack.AIR.cloneItemStack();
  40.  
  41.         return actualPage.getItem(slot);
  42.     }  
  43.  
  44.  public void setItem(int i, ItemStack<?, ?> itemStack) {
  45.         Inventory firstPage = getPage(0);
  46.  
  47.         if(firstPage == null)
  48.             return;
  49.  
  50.         int pageSize = firstPage.getSize();
  51.         int page = i / pageSize;
  52.         int slot = i % pageSize;
  53.  
  54.         CraftWildInventory actualPage = (CraftWildInventory) getPage(page);
  55.  
  56.         if(actualPage == null)
  57.             return;
  58.  
  59.         actualPage.setItem(slot, itemStack);
  60.     }
  61.  
  62.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement