Fix PagedItemsGuiImpl only creating full pages

This commit is contained in:
NichtStudioCode 2023-10-03 07:52:19 +02:00
parent 7cb0dbcc3d
commit 11654d3967

@ -42,19 +42,22 @@ final class PagedItemsGuiImpl extends AbstractPagedGui<Item> {
@Override @Override
public void bake() { public void bake() {
List<Item> items = content;
int contentSize = getContentListSlots().length; int contentSize = getContentListSlots().length;
List<List<SlotElement>> pages = new ArrayList<>(); List<Item> items = content;
int pageAmount = items.size() / contentSize; List<List<SlotElement>> pages = new ArrayList<>();
for (int pageIdx = 0; pageIdx < pageAmount; pageIdx++) { List<SlotElement> page = new ArrayList<>(contentSize);
int from = pageIdx * contentSize;
int to = Math.min(from + contentSize, items.size()); for (Item item : content) {
page.add(new SlotElement.ItemSlotElement(item));
ArrayList<SlotElement> page = new ArrayList<>(contentSize); if (page.size() >= contentSize) {
for (int i = from; i < to; i++) { pages.add(page);
page.add(new SlotElement.ItemSlotElement(items.get(i))); page = new ArrayList<>(contentSize);
} }
}
if (!page.isEmpty()) {
pages.add(page); pages.add(page);
} }