broken-arrow

Untitled

Dec 11th, 2021 (edited)
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.33 KB | None | 0 0
  1. import brokenarrow.menu.lib.MenuButton;
  2. import brokenarrow.menu.lib.MenuHolder;
  3. import com.google.common.base.Enums;
  4. import org.brokenarrow.storage.CustomContainersMainClass;
  5. import org.brokenarrow.storage.NMS.UpdateTittleContainers;
  6. import org.brokenarrow.storage.util.GuiTempletsYaml;
  7. import org.brokenarrow.storage.util.ItemUtily;
  8. import org.bukkit.Material;
  9. import org.bukkit.entity.EntityType;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.inventory.ClickType;
  12. import org.bukkit.inventory.Inventory;
  13. import org.bukkit.inventory.ItemStack;
  14. import org.mineacademy.fo.ItemUtil;
  15. import org.mineacademy.fo.menu.model.ItemCreator;
  16. import org.mineacademy.fo.remain.CompMaterial;
  17.  
  18. import java.util.Arrays;
  19. import java.util.stream.Collectors;
  20. import java.util.stream.IntStream;
  21.  
  22. import static org.bukkit.entity.EntityType.SHEEP;
  23. import static org.bukkit.entity.EntityType.values;
  24.  
  25. public class addSpawneggMenu extends MenuHolder {
  26.  
  27.     private final MenuButton spawneggs;
  28.     private final MenuButton previousArrow;
  29.     private final MenuButton forwardArrow;
  30.  
  31.     public addSpawneggMenu() {
  32.         super(CustomContainersMainClass.getInstance(), IntStream.rangeClosed(0, 26).boxed().collect(Collectors.toList()), Arrays.stream(values())
  33.                 .filter((entityType) -> entityType.isSpawnable() && entityType.isAlive() && (entityType == SHEEP || CompMaterial.makeMonsterEgg(entityType) != CompMaterial.SHEEP_SPAWN_EGG))
  34.                 .collect(Collectors.toList()));
  35.  
  36.        
  37.         setAllowShiftClick(false);
  38.         setTitle("spawneggs " + 0);
  39.         setMenuSize(54);
  40.         spawneggs = new MenuButton() {
  41.             @Override
  42.             public void onClickInsideMenu(Player player, Inventory menu, ClickType click, ItemStack clickedItem, Object object) {
  43.  
  44.                 if (object instanceof ItemStack) {
  45.                     EntityType entityType = Enums.getIfPresent(EntityType.class, ((ItemStack) object).getType().name().replace("_SPAWN_EGG", "")).orNull();
  46.                     player.getInventory().addItem(ItemCreator.of(CompMaterial.makeMonsterEgg(entityType)).build().make());
  47.                 }
  48.             }
  49.  
  50.             @Override
  51.             public ItemStack getItem() {
  52.                 return null;
  53.             }
  54.  
  55.             @Override
  56.             public ItemStack getItem(Object object) {
  57.                 EntityType entityType = null;
  58.  
  59.                 if (object instanceof EntityType)
  60.                     entityType = (EntityType) object;
  61.                 else if (object instanceof ItemStack) {
  62.                     entityType = Enums.getIfPresent(EntityType.class, ((ItemStack) object).getType().name().replace("_SPAWN_EGG", "")).orNull();
  63.                 }
  64.                 if (entityType != null) {
  65.                     return ItemCreator.of(CompMaterial.makeMonsterEgg(entityType), "Spawn " + ItemUtil.bountifyCapitalized(entityType)).build().make();
  66.                 } else return null;
  67.             }
  68.         };
  69.  
  70.         previousArrow = new MenuButton() {
  71.             @Override
  72.             public void onClickInsideMenu(Player player, Inventory menu, ClickType click, ItemStack clickedItem, Object object) {
  73.                 if (click.isLeftClick()) {
  74.                     previousPage();
  75.                 }
  76.                 UpdateTittleContainers.update(player, "spawneggs " + getPageNumber(), Material.CHEST, getInventorySize());
  77.  
  78.             }
  79.  
  80.             @Override
  81.             public ItemStack getItem() {
  82.                 return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "Previous_button", null),
  83.                         GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "Previous_button"),
  84.                         GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "Previous_button"), "Settings_Menu_Items", "previous_BUTTOMMMM");
  85.             }
  86.         };
  87.         forwardArrow = new MenuButton() {
  88.             @Override
  89.             public void onClickInsideMenu(Player player, Inventory menu, ClickType click, ItemStack clickedItem, Object object) {
  90.  
  91.                 if (click.isLeftClick()) {
  92.                     nextPage();
  93.                 }
  94.                 UpdateTittleContainers.update(player, "spawneggs " + getPageNumber(), Material.CHEST, getInventorySize());
  95.  
  96.             }
  97.  
  98.             @Override
  99.             public ItemStack getItem() {
  100.  
  101.                 return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "Forward_button", null),
  102.                         GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "Forward_button"),
  103.                         GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "Forward_button"), "Settings_Menu_Items", "fowrward_BUTTOMMMM");
  104.             }
  105.         };
  106.     }
  107.  
  108.     @Override
  109.     public ItemStack getFillItemsAt(Object o) {
  110.         return spawneggs.getItem(o);
  111.     }
  112.  
  113.     @Override
  114.     public ItemStack getItemAt(int slot) {
  115.  
  116.         if (slot == 47)
  117.             return previousArrow.getItem();
  118.         if (slot == 51)
  119.             return forwardArrow.getItem();
  120.  
  121.         return null;
  122.     }
  123. }
  124.  
Add Comment
Please, Sign In to add comment