Advertisement
broken-arrow

Untitled

Dec 11th, 2021
764
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.87 KB | None | 0 0
  1. import brokenarrow.menu.lib.CheckDuplicatedItems;
  2. import brokenarrow.menu.lib.MenuButton;
  3. import brokenarrow.menu.lib.MenuHolder;
  4. import brokenarrow.menu.lib.MenuMetadataKey;
  5. import org.brokenarrow.storage.CustomContainersMainClass;
  6. import org.brokenarrow.storage.api.ContainerRegistryAPI;
  7. import org.brokenarrow.storage.util.YamlSettingsContainers;
  8. import org.bukkit.Location;
  9. import org.bukkit.Material;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.inventory.ClickType;
  12. import org.bukkit.event.inventory.InventoryCloseEvent;
  13. import org.bukkit.inventory.Inventory;
  14. import org.bukkit.inventory.ItemStack;
  15. import org.bukkit.inventory.meta.ItemMeta;
  16.  
  17. import java.util.Arrays;
  18. import java.util.List;
  19. import java.util.Map;
  20. import java.util.stream.Collectors;
  21. import java.util.stream.IntStream;
  22.  
  23. public class BossMenu extends MenuHolder {
  24.  
  25.     private final MenuButton allowAdditems;
  26.  
  27.     public BossMenu() {
  28.         super(CustomContainersMainClass.getInstance(), 54);
  29.  
  30.         setFillSpace(IntStream.rangeClosed(0, 26).boxed().collect(Collectors.toList()));
  31.         setTitle("boss");
  32.  
  33.         allowAdditems = new MenuButton() {
  34.             @Override
  35.             public void onClickInsideMenu(Player player, Inventory menu, ClickType click, ItemStack clickedItem, Object object) {
  36.                 setSlotsYouCanAddItems(click.isLeftClick());
  37.  
  38.                 updateButtons();
  39.             }
  40.  
  41.             @Override
  42.             public ItemStack getItem() {
  43.                 ItemStack stack = new ItemStack(Material.HOPPER);
  44.                 ItemMeta meta = stack.getItemMeta();
  45.                 meta.setDisplayName("§6§lclick here do add items");
  46.                 meta.setLore(Arrays.asList("", "§6§lCan you add items: " + isSlotsYouCanAddItems()));
  47.  
  48.                 stack.setItemMeta(meta);
  49.                 return stack;
  50.             }
  51.         };
  52.  
  53.  
  54.     }
  55.  
  56.     @Override
  57.     public ItemStack getItemAt(int slot) {
  58.  
  59.         if (slot == 49)
  60.             return allowAdditems.getItem();
  61.         return null;
  62.     }
  63.  
  64.     @Override
  65.     public void menuClose(InventoryCloseEvent event, Inventory inventory) {
  66.         Player player = (Player) event.getPlayer();
  67.  
  68.         if (player.hasMetadata(MenuMetadataKey.MENU_OPEN_LOCATION.name())) {
  69.             Object object = player.getMetadata(MenuMetadataKey.MENU_OPEN_LOCATION.name()).get(0).value();
  70.             if (object instanceof Location) {
  71.                 Location location = (Location) object;
  72.                 List<String> blacklistedItems = YamlSettingsContainers.getBlacklistedItems(ContainerRegistryAPI.getInstance().getContainerFileName(location), ContainerRegistryAPI.getInstance().getCurrentUpdate(location));
  73.                 Map<Integer, ItemStack> map = new CheckDuplicatedItems(blacklistedItems).getItemsExceptBottomBar(inventory, player);
  74.  
  75.                 //Save items added to cache.
  76.                 //
  77.                 //registry.setFiltreritems(location, map.values().toArray(new ItemStack[]{}));
  78.                 if (getAmountOfViwers() <= 0) {
  79.                     updateButtons();
  80.                     for (int i = 0; i < inventory.getSize(); i++) {
  81.                         if (getFillSpace().contains(i))
  82.                             inventory.setItem(i, map.get(i));
  83.                     }
  84.                 }
  85.             }
  86.         }
  87.     }
  88. }
  89.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement