eu to usando um sistema de páginas parecido com o que o postou uma vez mas não to conseguindo na hora de mudar de página quero que quando for a pagina 2, va para 3, pagina 3, va para 4, só que nao to conseguindo ;-; método:
public void openMember(Player p){
int a = 0;
int pg = 1;
Inventory mbr = Bukkit.createInventory(null, 9*6, "§fPágina " + pg + " §8§lMEMBROs");
pages.put(1, mbr);
for(Player pe : this.getServer().getOnlinePlayers()){
if(pe.hasPermission("membro.list") && (a <= 53)){
ItemStack head = new ItemStack(Material.SKULL_ITEM,1,(short)3);
SkullMeta im = (SkullMeta) head.getItemMeta();
im.setOwner(pe.getName());
im.setDisplayName("§7" + pe.getName());
head.setItemMeta(im);
mbr.addItem(head);
a++;
mbr.setItem(52, head);
p.openInventory(pages.get(pg));
if(mbr.getItem(52) == null || (mbr.getItem(52).getType() == Material.AIR)) return;
ItemStack button = new ItemBuilder()
.of(Material.STONE_BUTTON)
.addName("§7Proxima pagina")
.setGlowing(true)
.build();
mbr.setItem(53, button);
p.updateInventory();
pg++;
mbr = Bukkit.createInventory(null, 9*6, "§fPágina " + pg + " §8§lMEMBROs");
pages.put(pg, mbr);
}
}
}
onclick:
try{
if(e.getWhoClicked() instanceof Player){
Player p = (Player)e.getWhoClicked();
Inventory page = pages.get(2);
if(e.getInventory().getName().equals(pages.get(1).getName())){
e.setCancelled(true);
if(e.getSlot() == 53 && e.getCurrentItem().getType() == Material.STONE_BUTTON){
p.closeInventory();
p.openInventory(page);
}
}
}
}
catch(NullPointerException localNullPointerException){}
}