Advertisement
Guest User

Untitled

a guest
Jan 4th, 2020
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.32 KB | None | 0 0
  1. public class SendMailInventory implements InventoryHolder, Listener {
  2.    
  3.     private Inventory inv;
  4.     private List<ItemStack> itemsToStore = new ArrayList<ItemStack>();
  5.    
  6.    
  7.     public SendMailInventory() {
  8.         inv = Bukkit.createInventory(this, 9, "SEND MAIL");
  9.     }
  10.    
  11.  
  12.     @Override
  13.     public Inventory getInventory() {
  14.         return inv;
  15.     }
  16.    
  17.    
  18.     public void openInventory(Player p) {
  19.         p.openInventory(inv);
  20.     }
  21.    
  22.    
  23.    
  24.     //STORE ITEMS ON CLOSING INVENTORY
  25.    
  26.     @EventHandler
  27.     public void onCloseInventory(InventoryCloseEvent e) {
  28.        
  29.         InventoryHolder holder = e.getInventory().getHolder();
  30.                            
  31.                             //DEBUG MESSAGE
  32.         if(holder != this) {System.out.println("ITS NOT"); return;}
  33.        
  34.         //remove items from the list if there is any
  35.         if(!itemsToStore.isEmpty()) {
  36.            
  37.             List<ItemStack> remove = new ArrayList<ItemStack>();
  38.            
  39.             for(ItemStack i : itemsToStore) {
  40.                 remove.add(i);
  41.             }
  42.            
  43.             itemsToStore.removeAll(remove);
  44.            
  45.         }
  46.        
  47.         //store items
  48.         ItemStack[] storeList = e.getInventory().getContents();
  49.         storeItems(storeList);
  50.        
  51.        
  52.     }
  53.    
  54.    
  55.     private void storeItems(ItemStack[] items) {
  56.        
  57.         List<ItemStack> listCopy = new ArrayList<ItemStack>();
  58.        
  59.         for(int i = 0; i<items.length; i++) {
  60.             listCopy.add(items[i]);
  61.         }
  62.        
  63.         itemsToStore.addAll(listCopy);
  64.         System.out.println(itemsToStore);
  65.        
  66.        
  67.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement