5. Inventário Paginado - henrysaantos/inventory-api GitHub Wiki
public final class TestPagedInventory extends PagedInventory {
public TestPagedInventory() {
super(
"test.inventory.paged", // Identificador do inventário (deve ser único)
"&8PagedInventory", // Título padrão do inventário
9 * 5 // Tamanho do inventário
);
// Método para configurar características do inventário (não é obrigatória a configuração)
configuration(configuration -> {
configuration.secondUpdate(1); // Definir o tempo de atualização do inventário (não configure isso caso não queira que ele atualize automaticamente)
});
}
/**
* Método utilizado para configurar o visualizador, podendo definir
* unicamente o título do inventário e tamanho.
* <p>
* Não é obrigatória a implementação desde método, apenas caso queira uma configuração
* exclusiva para cada visualizador.
*
* @param viewer visualizador do inventário
*/
@Override
protected void configureViewer(PagedViewer viewer) {
ViewerConfigurationImpl.Paged configuration = viewer.getConfiguration();
configuration.titleInventory("&8Seu nome: " + viewer.getName());
// As configurações do inventário são definidas automaticamente, só altere elas caso queira modificações específicas
configuration.itemPageLimit(7);
}
/**
* Método para configurar os itens das páginas do inventário.
*
* @param viewer visualizador do inventário
* @return lista dos itens de todas as páginas
*/
@Override
protected List<InventoryItemSupplier> createPageItems(PagedViewer viewer) {
List<InventoryItemSupplier> itemSuppliers = new LinkedList<>();
for (int i = 0; i < 100; i++) {
itemSuppliers.add(() -> {
ItemStack itemStack = new ItemStack(Material.DIRT);
return InventoryItem.of(itemStack);
});
}
return itemSuppliers;
}
}