Advertisement
broken-arrow

Untitled

Jan 13th, 2022
1,258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.58 KB | None | 0 0
  1.     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
  2.     public void fromChestToLinkSuctionHopper(InventoryMoveItemEvent event) {
  3.         Location location = event.getDestination().getLocation();
  4.         if (!(event.getDestination().getHolder() instanceof Hopper)) return;
  5.  
  6.         if (!tempCacheHopper.containsKey(location)) {
  7.             InventoryHolder inventoryHolder = event.getDestination().getHolder();
  8.             if (inventoryHolder instanceof Hopper)
  9.                 tempCacheHopper.put(location, inventoryHolder.getInventory());
  10.             System.out.println("add inventory xxxxxxxxxxxxxxxxxxxxxx ");
  11.  
  12.         }
  13.         FilterItems filterItems = plugin.getFilterItems();
  14.         Inventory inventory = tempCacheHopper.get(location);
  15.         Inventory fromInventory = event.getSource();
  16.         if (inventory == null) {
  17.             System.out.println("inventory null ");
  18.             event.setCancelled(true);
  19.             return;
  20.         }
  21.         /*System.out.println("inventory getInitiator() " + event.getInitiator().getLocation().clone().add(0, -1, 0).getBlock().getType());
  22.         System.out.println("inventory location " + location);
  23.         System.out.println("inventory fromInventory  " + fromInventory.getLocation());*/
  24.  
  25.         if (!registry.getTypeofContainer(location).equals(ContainerRegistry.TypeOfContainer.LINKEDCONTAINER) ||
  26.                 !registry.getTypeofContainer(event.getInitiator().getLocation().clone().add(0, -1, 0)).equals(ContainerRegistry.TypeOfContainer.LINKEDCONTAINER))
  27.             return;
  28.  
  29.         if (inventory.firstEmpty() == -1 && !inventory.containsAtLeast(event.getItem(), 1) && ItemUtily.isPlaceLeftInventory(inventory, event.getItem().getAmount(), event.getItem().getType())) {
  30.             return;
  31.         }
  32.  
  33.  
  34.  
  35.         /*if (fromInventory.getHolder() instanceof Hopper) {
  36.             location = fromInventory.getLocation().clone().subtract(0, 1, 0);
  37.             System.out.println("tesrt");
  38.         }*/
  39.  
  40.         if (!filterItems.checkIfItemMatch(location, event.getItem(), inventory)) {
  41.             System.out.println("test eeeeeeeeee");
  42.             event.setCancelled(true);
  43.             int numberOfItems = event.getItem().getAmount();
  44.             for (int i = 0; i < fromInventory.getSize(); i++) {
  45.                 ItemStack items = fromInventory.getItem(i);
  46.                 System.out.println("test itemsss " + items);
  47.                 if (items != null && filterItems.checkIfItemMatch(location, items, inventory)) {
  48.  
  49.                     ItemStack itemsstack = items.clone();
  50.                     int totalofItems = Math.min(numberOfItems, items.getAmount());
  51.                     itemsstack.setAmount(totalofItems);
  52.                     items.setAmount(items.getAmount() - totalofItems);
  53.                     if (items.getAmount() == 0)
  54.                         fromInventory.setItem(i, new ItemStack(Material.AIR));
  55.  
  56.                     event.getDestination().addItem(itemsstack);
  57.                     break;
  58.                 }
  59.  
  60.             }
  61.         }
  62.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement