Advertisement
broken-arrow

Untitled

Jul 13th, 2021
858
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.45 KB | None | 0 0
  1.     public void generateInventories(List<T> ListOfObjectToAdd, String menuName) {
  2.         GuiTempletsYaml guiTempletSettings = new GuiTempletsYaml();
  3.         PreferenceSettingsRegistery preferenceRegistery = PreferenceSettingsRegistery.getInstance();
  4.         CreateItems createItems = new CreateItems();
  5.  
  6.         int itemsPerPage = (guiTempletSettings.getGuiSize(menuName, menuName) - 9);
  7.         int requiredPages = Math.max((int) Math.ceil((double) ListOfObjectToAdd.size() / itemsPerPage), 1);
  8.         //We need more pages if statically positioned Players you add are placed at a higher page index an one page can hold.
  9.  
  10.         int fillSpace = (guiTempletSettings.getGuiSize(menuName, menuName) - 9);
  11.  
  12.         inventories = new Inventory[requiredPages];
  13.  
  14.         int recipeIndex = 0;
  15.  
  16.         for (int i = 0; i < requiredPages; i++) {
  17.             inventories[i] = createInventory(guiTempletSettings.getGuiSize(menuName, menuName), guiTempletSettings.getGuiTitle(menuName, menuName));
  18.             for (int spot = 0; spot < fillSpace; spot++) {
  19.                 if (recipeIndex >= preferenceRegistery.getPlayers().size()) break;
  20.  
  21.                 recipeIndex++;
  22.                 ItemStack result = createItems.createItemStack(guiTempletSettings.getIcon("PartylistMenu", "PartylistMenu_Players_List", preferenceRegistery.getPlayers().get(recipeIndex - 1)));// SkullCreator.itemFromUuid(preferenceRegistery.getPlayers().get(recipeIndex - 1));
  23.                 OfflinePlayer player = Bukkit.getOfflinePlayer(preferenceRegistery.getPlayers().get(recipeIndex - 1));
  24.  
  25.                 if (player.getName() != null)
  26.                     if (result == null || result.getType().equals(Material.AIR)) {
  27.                         result = createItems.createItemStack(new ItemStack(Material.ACACIA_SIGN), guiTempletSettings.getDisplayName(
  28.                                 "PartylistMenu", "PartylistMenu_Players_List").replace("{0}", player.getName()),
  29.                                 guiTempletSettings.getLoreColorize("PartylistMenu", "PartylistMenu_Players_List"), null, null);
  30.                     } else {
  31.                         result = createItems.createItemStack(result, guiTempletSettings.getDisplayName(
  32.                                 "PartylistMenu", "PartylistMenu_Players_List").replace("{0}", player.getName()),
  33.                                 guiTempletSettings.getLoreColorize("PartylistMenu", "PartylistMenu_Players_List"), null, null);
  34.                     }
  35.                 inventories[i].setItem(spot, result);
  36.                 this.addedPlayersToParty.put(i * inventories[i].getSize() + spot, ListOfObjectToAdd.get(recipeIndex - 1));
  37.             }
  38.         }
  39.  
  40.         //Check if current-page is not outside the bounds in case a player are removed.
  41.         if (currentPage >= inventories.length) currentPage = inventories.length - 1;
  42.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement