Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import brokenarrow.menu.lib.CheckDuplicatedItems;
- import brokenarrow.menu.lib.MenuButton;
- import brokenarrow.menu.lib.MenuHolder;
- import brokenarrow.menu.lib.MenuMetadataKey;
- import org.brokenarrow.storage.CustomContainersMainClass;
- import org.brokenarrow.storage.api.ContainerRegistryAPI;
- import org.brokenarrow.storage.util.YamlSettingsContainers;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.entity.Player;
- import org.bukkit.event.inventory.ClickType;
- import org.bukkit.event.inventory.InventoryCloseEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Map;
- import java.util.stream.Collectors;
- import java.util.stream.IntStream;
- public class BossMenu extends MenuHolder {
- private final MenuButton allowAdditems;
- public BossMenu() {
- super(CustomContainersMainClass.getInstance(), 54);
- setFillSpace(IntStream.rangeClosed(0, 26).boxed().collect(Collectors.toList()));
- setTitle("boss");
- allowAdditems = new MenuButton() {
- @Override
- public void onClickInsideMenu(Player player, Inventory menu, ClickType click, ItemStack clickedItem, Object object) {
- setSlotsYouCanAddItems(click.isLeftClick());
- updateButtons();
- }
- @Override
- public ItemStack getItem() {
- ItemStack stack = new ItemStack(Material.HOPPER);
- ItemMeta meta = stack.getItemMeta();
- meta.setDisplayName("§6§lclick here do add items");
- meta.setLore(Arrays.asList("", "§6§lCan you add items: " + isSlotsYouCanAddItems()));
- stack.setItemMeta(meta);
- return stack;
- }
- };
- }
- @Override
- public ItemStack getItemAt(int slot) {
- if (slot == 49)
- return allowAdditems.getItem();
- return null;
- }
- @Override
- public void menuClose(InventoryCloseEvent event, Inventory inventory) {
- Player player = (Player) event.getPlayer();
- if (player.hasMetadata(MenuMetadataKey.MENU_OPEN_LOCATION.name())) {
- Object object = player.getMetadata(MenuMetadataKey.MENU_OPEN_LOCATION.name()).get(0).value();
- if (object instanceof Location) {
- Location location = (Location) object;
- List<String> blacklistedItems = YamlSettingsContainers.getBlacklistedItems(ContainerRegistryAPI.getInstance().getContainerFileName(location), ContainerRegistryAPI.getInstance().getCurrentUpdate(location));
- Map<Integer, ItemStack> map = new CheckDuplicatedItems(blacklistedItems).getItemsExceptBottomBar(inventory, player);
- //Save items added to cache.
- //
- //registry.setFiltreritems(location, map.values().toArray(new ItemStack[]{}));
- if (getAmountOfViwers() <= 0) {
- updateButtons();
- for (int i = 0; i < inventory.getSize(); i++) {
- if (getFillSpace().contains(i))
- inventory.setItem(i, map.get(i));
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement