broken-arrow

Untitled

Nov 27th, 2021 (edited)
279
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package org.brokenarrow.storage.menus.redone;
  2.  
  3. import org.brokenarrow.storage.CustomContainersMainClass;
  4. import org.brokenarrow.storage.NMS.UpdateTittleContainers;
  5. import org.brokenarrow.storage.api.PreferenceSettingsRegisteryApi;
  6. import org.brokenarrow.storage.util.GuiTempletsYaml;
  7. import org.brokenarrow.storage.util.ItemUtily;
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.Material;
  10. import org.bukkit.OfflinePlayer;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.inventory.ClickType;
  13. import org.bukkit.inventory.Inventory;
  14. import org.bukkit.inventory.ItemStack;
  15. import org.bukkit.inventory.meta.SkullMeta;
  16. import org.mineacademy.fo.Common;
  17.  
  18. import java.util.ArrayList;
  19. import java.util.Collections;
  20. import java.util.List;
  21. import java.util.UUID;
  22.  
  23. public class testMenu extends MenuHolderTest {
  24.  
  25.     private final MenuButton LinkButton;
  26.     private final MenuButton otherTest;
  27.     private final MenuButton tett;
  28.     private final MenuButton forward;
  29.     private final MenuButton previous;
  30.     private final MenuButton fillItems;
  31.     private final PreferenceSettingsRegisteryApi preferenceRegistery = PreferenceSettingsRegisteryApi.getInstance();
  32.  
  33.     public testMenu() {
  34.         super(testMenu.class, CustomContainersMainClass.getInstance(), 54);
  35.  
  36.         setTitle("test tittle for menu");
  37.         List<Integer> list = new ArrayList<>();
  38.         Collections.addAll(list, 1, 2);
  39.         setFillSpace(list);
  40.         //setItemsPerPage(3);
  41.         LinkButton = new MenuButton() {
  42.             @Override
  43.             public void onClickInsideMenu(Player player, Inventory menu, ClickType click, ItemStack clickedItem, Object object) {
  44.  
  45.                 System.out.println("send this test for LinkButton menu " + player);
  46.             }
  47.  
  48.             @Override
  49.             public ItemStack getItem() {
  50.                 return new ItemStack(Material.HOPPER);
  51.             }
  52.         };
  53.  
  54.         otherTest = new MenuButton() {
  55.             @Override
  56.             public void onClickInsideMenu(Player player, Inventory menu, ClickType click, ItemStack clickedItem, Object object) {
  57.                 System.out.println("send this test for otherTest menu " + player);
  58.             }
  59.  
  60.             @Override
  61.             public ItemStack getItem() {
  62.                 return new ItemStack(Material.BEACON);
  63.             }
  64.         };
  65.  
  66.         tett = new MenuButton() {
  67.             @Override
  68.             public void onClickInsideMenu(Player player, Inventory menu, ClickType click, ItemStack clickedItem, Object object) {
  69.                 System.out.println("send this test for otherTest menu " + click);
  70.             }
  71.  
  72.             @Override
  73.             public ItemStack getItem() {
  74.                 return new ItemStack(Material.GLASS_PANE);
  75.             }
  76.         };
  77.         previous = new MenuButton() {
  78.             @Override
  79.             public void onClickInsideMenu(Player player, Inventory menu, ClickType click, ItemStack clickedItem, Object object) {
  80.  
  81.                 if (click.isLeftClick()) {
  82.                     previousPage();
  83.                     onMenuOpen(player);
  84.                 }
  85.  
  86.                 Common.runLater(() -> UpdateTittleContainers.update(player, GuiTempletsYaml.getGuiTitle("Settings_Menu", getPageNumber()), Material.CHEST, getMenu().getSize()));
  87.                 updateButtons();
  88.             }
  89.  
  90.             @Override
  91.             public ItemStack getItem() {
  92.                 return new ItemStack(Material.ARROW);
  93.             }
  94.         };
  95.         forward = new MenuButton() {
  96.             @Override
  97.             public void onClickInsideMenu(Player player, Inventory menu, ClickType click, ItemStack clickedItem, Object object) {
  98.                 if (click.isLeftClick()) {
  99.                     nextPage();
  100.                     onMenuOpen(player, null);
  101.                 }
  102.                 Common.runLater(() -> UpdateTittleContainers.update(player, GuiTempletsYaml.getGuiTitle("Settings_Menu", getPageNumber()), Material.CHEST, getMenu().getSize()));
  103.                 updateButtons();
  104.             }
  105.  
  106.             @Override
  107.             public ItemStack getItem() {
  108.                 return new ItemStack(Material.RABBIT_FOOT);
  109.             }
  110.         };
  111.  
  112.         fillItems = new MenuButton() {
  113.             @Override
  114.             public void onClickInsideMenu(Player player, Inventory menu, ClickType click, ItemStack clickedItem, Object object) {
  115.  
  116.                 if (clickedItem.getType() == Material.PLAYER_HEAD) {
  117.                     SkullMeta meta = (SkullMeta) clickedItem.getItemMeta();
  118.                     if (meta.getOwningPlayer().getPlayer() != null && meta.getOwningPlayer().getPlayer().equals(getViewer()))
  119.                         System.out.println("this is owner ");
  120.                 }
  121.  
  122.                 System.out.println("fil items return ");
  123.             }
  124.  
  125.             @Override
  126.             public ItemStack getItem() {
  127.                 return null;
  128.             }
  129.  
  130.             @Override
  131.             public ItemStack getItem(Object object) {
  132.                 int slot = getSlotIndex();
  133.                 if (!(preferenceRegistery.getPlayers(getViewer()).size() > slot)) return null;
  134.                 ItemStack result = preferenceRegistery.getPlayers(getViewer()) != null ? ItemUtily.createItemStack(GuiTempletsYaml.getIcon("PartylistMenu", "Players_List", preferenceRegistery.getPlayers(getViewer()).get(slot))) : null;
  135.                 OfflinePlayer player = preferenceRegistery.getPlayers(getViewer()) != null ? Bukkit.getOfflinePlayer(preferenceRegistery.getPlayers(getViewer()).get(slot)) : null;
  136.  
  137.                 setListOfFillItems(preferenceRegistery.getPlayers(getViewer()));
  138.                 if (object instanceof ItemStack) {
  139.                     if (((ItemStack) object).getType() == Material.PLAYER_HEAD) {
  140.                         SkullMeta meta = (SkullMeta) ((ItemStack) object).getItemMeta();
  141.                         if (meta.getOwningPlayer() != null)
  142.                             for (UUID players : preferenceRegistery.getPlayers(getViewer())) {
  143.                                 UUID OfflinePlayer = meta.getOwningPlayer().getUniqueId();
  144.                                 if (OfflinePlayer.equals(players)) {
  145.                                     result = ItemUtily.createItemStack(GuiTempletsYaml.getIcon("PartylistMenu", "Players_List", players));
  146.                                     return ItemUtily.createItemStack(result,
  147.                                             GuiTempletsYaml.getDisplayName("PartylistMenu", "Players_List", meta.getOwningPlayer().getName()),
  148.                                             GuiTempletsYaml.getLore("PartylistMenu", "Players_List"));
  149.                                 }
  150.                             }
  151.                     }
  152.                 }
  153.                 return ItemUtily.createItemStack(result,
  154.                         GuiTempletsYaml.getDisplayName("PartylistMenu", "Players_List", player != null ? player.getName() : null),
  155.                         GuiTempletsYaml.getLore("PartylistMenu", "Players_List"));
  156.  
  157.             }
  158.         };
  159.  
  160.     }
  161.  
  162.     @Override
  163.     public ItemStack getFillItemsAt(int slot) {
  164.         return fillItems.getItem(null);
  165.     }
  166.  
  167.     @Override
  168.     public ItemStack getItemAt(int slot) {
  169.  
  170.         if (slot == 48) {
  171.             return LinkButton.getItem();
  172.         }
  173.         if (slot == 47)
  174.             return otherTest.getItem();
  175.  
  176.         if (slot == 52)
  177.             return previous.getItem();
  178.  
  179.         if (slot == 50)
  180.             return forward.getItem();
  181.  
  182.  
  183.         return null;
  184.     }
  185. }
  186.  
RAW Paste Data