From 3c446a30dd29d8edf82940a6ce9ac17032a44023 Mon Sep 17 00:00:00 2001 From: NichtStudioCode <51272202+NichtStudioCode@users.noreply.github.com> Date: Sat, 5 Jun 2021 17:36:02 +0200 Subject: [PATCH] Update SimplePagedGUIsGUI.java --- .../invui/gui/impl/SimplePagedGUIsGUI.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/de/studiocode/invui/gui/impl/SimplePagedGUIsGUI.java b/src/main/java/de/studiocode/invui/gui/impl/SimplePagedGUIsGUI.java index f016aa6..16afc77 100644 --- a/src/main/java/de/studiocode/invui/gui/impl/SimplePagedGUIsGUI.java +++ b/src/main/java/de/studiocode/invui/gui/impl/SimplePagedGUIsGUI.java @@ -8,8 +8,9 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.IntStream; /** * A {@link PagedGUI} where every page is it's own {@link GUI}. @@ -23,16 +24,12 @@ public class SimplePagedGUIsGUI extends PagedGUI { public SimplePagedGUIsGUI(int width, int height, @Nullable List guis, int... itemListSlots) { super(width, height, false, itemListSlots); - this.guis = guis == null ? new ArrayList<>() : guis; - - update(); + setGuis(guis); } public SimplePagedGUIsGUI(int width, int height, @Nullable List guis, @NotNull Structure structure) { super(width, height, false, structure); - this.guis = guis == null ? new ArrayList<>() : guis; - - update(); + setGuis(guis); } @Override @@ -42,11 +39,16 @@ public class SimplePagedGUIsGUI extends PagedGUI { @Override protected List getPageElements(int page) { - return Arrays.asList(guis.get(page).getSlotElements()); + GUI gui = guis.get(page); + int size = gui.getSize(); + + return IntStream.range(0, size) + .mapToObj(i -> new SlotElement.LinkedSlotElement(gui, i)) + .collect(Collectors.toList()); } - public void setGuis(List guis) { - this.guis = guis; + public void setGuis(@Nullable List guis) { + this.guis = guis == null ? new ArrayList<>() : guis; update(); }