Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public IconMenu[] joinPages;
- private void generateJoinPages() {
- int matchCounter = pl.lobbies.size();
- int pageNumber = 0;
- while(matchCounter <= (54 - 3) && matchCounter > 0) {
- pageNumber++;
- matchCounter -= getPageSize(matchCounter, 3);
- }
- if(joinPages != null) {
- for(IconMenu iconmenu : joinPages) {
- iconmenu.destroy();
- }
- }
- joinPages = new IconMenu[pageNumber];
- matchCounter = pl.lobbies.size();
- for(int page = 0; page < pageNumber; page++) {
- int size = getPageSize(matchCounter, 3);
- joinPages[page] = new IconMenu(pl, guiY.getConfig().getString("config.joinInventoryTitle").replaceAll("&", "ยง"), size, page, new IconMenuEventHandler() {
- @Override
- public void onInventoryClick(IconMenu.InventoryMenuClickEvent e) {
- switch(e.getSlot()) {
- case 0: // page next
- if(e.getPage() + 1 <= joinPages.length - 1) {
- e.getPlayer().closeInventory();
- joinPages[e.getPage() + 1].openInventory(e.getPlayer());
- }
- e.setClosing(false);
- break;
- case 1: // page past
- if(e.getPage() - 1 >= 0) {
- e.getPlayer().closeInventory();
- joinPages[e.getPage() - 1].openInventory(e.getPlayer());
- }
- e.setClosing(false);
- break;
- case 2: // close
- e.setClosing(true);
- break;
- default:
- if(e.getItem() != null && e.getItem().getItemMeta().hasDisplayName()) {
- Lobby lobby = pl.getLobby(e.getItem().getItemMeta().getDisplayName());
- if(lobby != null) {
- prejoin.put(e.getPlayer().getName(), lobby);
- e.setClosing(false);
- e.getPlayer().closeInventory();
- kitPages[0].openInventory(e.getPlayer());
- } else {
- e.getPlayer().sendMessage(pl.getLang("matchNotFound"));
- }
- }
- break;
- }
- }
- @Override
- public void onInventoryClose(IconMenu.InventoryMenuCloseEvent e) {
- }
- });
- matchCounter -= size;
- }
- generateJoinGUIOptions();
- }
- private void generateJoinGUIOptions() {
- new BukkitRunnable() {
- @Override
- public void run() {
- ArrayList<Lobby> lobbies = new ArrayList<Lobby>(pl.lobbies.values());
- Iterator<Lobby> iterator = lobbies.iterator();
- for(IconMenu iconMenu : joinPages) {
- if(iconMenu.getPage() + 1 <= joinPages.length - 1) {
- iconMenu.setOption(0, nextPage);
- } else {
- iconMenu.setOption(0, disabledPage);
- }
- if(iconMenu.getPage() - 1 >= 0) {
- iconMenu.setOption(1, backPage);
- } else {
- iconMenu.setOption(1, disabledPage);
- }
- iconMenu.setOption(2, closePage);
- int atual = 3;
- while(iterator.hasNext()) {
- if(atual < 54) {
- Lobby lob = iterator.next();
- ItemStack shown = getShownItem(lob.getCurrentState());
- ItemMeta meta = shown.getItemMeta();
- meta.setDisplayName(lob.getPath());
- if(meta.hasLore()) {
- List<String> lore = meta.getLore();
- List<String> editedLore = new ArrayList<String>();
- for(String line : lore) {
- editedLore.add(line.replaceAll("%state", pl.getStateName(lob.getCurrentState())).replaceAll("%players", Integer.toString(pl.getPlayersFromLobby(lob).size())).replaceAll("%max", Integer.toString(lob.getMaxPlayers())).replaceAll("%min", Integer.toString(lob.getMinPlayers())));
- }
- for(String line : lob.getLore()) {
- editedLore.add(line.replaceAll("%state", pl.getStateName(lob.getCurrentState())).replaceAll("%players", Integer.toString(pl.getPlayersFromLobby(lob).size())).replaceAll("%max", Integer.toString(lob.getMaxPlayers())).replaceAll("%min", Integer.toString(lob.getMinPlayers())));
- }
- meta.setLore(editedLore);
- }
- shown.setItemMeta(meta);
- iconMenu.setOption(atual, shown);
- iterator.remove();
- atual++;
- } else {
- break;
- }
- }
- }
- }
- }.runTaskTimer(pl, 1, 20 * guiUpdateDelay);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement