Skip to content

Commit 52fc683

Browse files
Builder issues fixed
nextPageItem and previousPageItem didn't return the builder 😵‍💫
1 parent 3fa22d3 commit 52fc683

File tree

1 file changed

+31
-3
lines changed

1 file changed

+31
-3
lines changed

core/src/main/java/me/flame/menus/menu/MenuBuilder.java

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,21 +117,49 @@ public MenuBuilder pages(final int pages) {
117117
return this;
118118
}
119119

120-
public void nextPageItem(int nextItemSlot, MenuItem nextItem) {
120+
public MenuBuilder nextPageItem(int nextItemSlot, MenuItem nextItem) {
121121
this.nextItemSlot = nextItemSlot;
122122
this.nextItem = nextItem;
123+
return this;
123124
}
124125

125-
public void previousPageItem(int previousItemSlot, MenuItem previousItem) {
126+
public MenuBuilder previousPageItem(int previousItemSlot, MenuItem previousItem) {
126127
this.previousItemSlot = previousItemSlot;
127128
this.previousItem = previousItem;
129+
return this;
130+
}
131+
132+
public MenuBuilder nextPageItem(Slot nextItemSlot, MenuItem nextItem) {
133+
if (!nextItemSlot.isValid()) {
134+
throw new IllegalArgumentException(
135+
"Next item slot is not valid" +
136+
" (slot: " + nextItemSlot.slot + ", item: " + nextItem + ")" +
137+
"\nFix: The slot is not in the range of 0-" + (rows * 9 - 1) +
138+
" (rows: " + rows + "), and slot row: " + (nextItemSlot.row) + ", column: " + (nextItemSlot.column)
139+
);
140+
}
141+
return nextPageItem(nextItemSlot.slot, nextItem);
142+
}
143+
144+
public MenuBuilder previousPageItem(@NotNull Slot previousItemSlot, MenuItem previousItem) {
145+
if (!previousItemSlot.isValid()) {
146+
throw new IllegalArgumentException(
147+
"Next item slot is not valid" +
148+
" (slot: " + previousItemSlot.slot + ", item: " + nextItem + ")" +
149+
"\nFix: The slot is not in the range of 0-" + (rows * 9 - 1) +
150+
" (rows: " + rows + "), and slot row: " + (previousItemSlot.row) + ", column: " + (previousItemSlot.column)
151+
);
152+
}
153+
return previousPageItem(previousItemSlot.slot, previousItem);
128154
}
129155

130156
@NotNull
131157
@Contract(" -> new")
132158
public Menu normal() {
133159
checkRequirements(rows, title);
134-
return type == MenuType.CHEST ? Menu.create(title, rows, modifiers) : Menu.create(title, type, modifiers);
160+
return type == MenuType.CHEST
161+
? Menu.create(title, rows, modifiers)
162+
: Menu.create(title, type, modifiers);
135163
}
136164

137165
@NotNull

0 commit comments

Comments
 (0)