NullValkyrie

Minecraft 1.19 multipurpose plugin for spigot servers with a lot of features where most modern servers have.
git clone https://codeberg.org/night0721/NullValkyrie
Log | Files | Refs | README | LICENSE

GUIManager.java (3125B)


      1 package me.night.nullvalkyrie.ui.inventory;
      2 
      3 import org.bukkit.Bukkit;
      4 import org.bukkit.ChatColor;
      5 import org.bukkit.Material;
      6 import org.bukkit.entity.Player;
      7 import org.bukkit.inventory.Inventory;
      8 import org.bukkit.inventory.ItemStack;
      9 import org.bukkit.inventory.meta.ItemMeta;
     10 
     11 public abstract class GUIManager {
     12     public static Inventory GUI;
     13     private boolean close;
     14 
     15     public abstract void UI(Player player);
     16 
     17     public void init(int size, String title) {
     18         GUI = Bukkit.createInventory(null, size, title);
     19     }
     20 
     21     public void setCloseButton(boolean boo) {
     22         if (boo) {
     23             close = true;
     24             ItemStack close = new ItemStack(Material.BARRIER);
     25             ItemMeta closemeta = close.getItemMeta();
     26             if (closemeta != null) closemeta.setDisplayName(ChatColor.WHITE + "Close the menu");
     27             close.setItemMeta(closemeta);
     28             GUI.setItem(0, close);
     29         } else close = false;
     30     }
     31 
     32     public void setFrame(boolean boo, Material... frame) {
     33         if (boo) {
     34             ItemStack frames = new ItemStack(frame[0]);
     35             switch (GUI.getSize()) {
     36                 case 27 -> {
     37                     if (close) {
     38                         for (int i : new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26})
     39                             GUI.setItem(i, frames);
     40                     } else {
     41                         for (int i : new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26})
     42                             GUI.setItem(i, frames);
     43                     }
     44                 }
     45                 case 36 -> {
     46                     if (close) {
     47                         for (int i : new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35})
     48                             GUI.setItem(i, frames);
     49                     } else {
     50                         for (int i : new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35})
     51                             GUI.setItem(i, frames);
     52                     }
     53                 }
     54                 case 45 -> {
     55                     if (close) {
     56                         for (int i : new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 26, 27, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44})
     57                             GUI.setItem(i, frames);
     58                     } else {
     59                         for (int i : new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 26, 27, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44})
     60                             GUI.setItem(i, frames);
     61                     }
     62                 }
     63                 case 54 -> {
     64                     if (close) {
     65                         for (int i : new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 26, 27, 35, 36, 44, 45, 46, 47, 48, 49, 50, 51 ,52, 53})
     66                             GUI.setItem(i, frames);
     67                     } else {
     68                         for (int i : new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 26, 27, 35, 36, 44, 45, 46, 47, 48, 49, 50, 51 ,52, 53})
     69                             GUI.setItem(i, frames);
     70                     }
     71                 }
     72             }
     73         }
     74     }
     75 }