2
2
3
3
import me .flame .menus .items .MenuItem ;
4
4
import me .flame .menus .modifiers .Modifier ;
5
+
5
6
import org .bukkit .Bukkit ;
6
7
import org .bukkit .entity .Player ;
7
8
import org .bukkit .event .inventory .InventoryClickEvent ;
9
+ import org .bukkit .inventory .Inventory ;
8
10
import org .bukkit .inventory .ItemStack ;
9
11
import org .jetbrains .annotations .Contract ;
10
12
import org .jetbrains .annotations .NotNull ;
@@ -76,7 +78,7 @@ private SeparatedPagedMenu(@NotNull UUID uuid, final int pageRows, final int pag
76
78
super (pageRows , title , EnumSet .noneOf (Modifier .class ));
77
79
this .uuid = uuid ;
78
80
this .player = Objects .requireNonNull (Bukkit .getPlayer (uuid ));
79
- this .mainInventory = PaginatedMenu .create (title , pageRows , pageCount , EnumSet .noneOf (Modifier .class ));
81
+ this .mainInventory = PaginatedMenu .create (title , type , pageCount , EnumSet .noneOf (Modifier .class ));
80
82
81
83
this .pageRows = pageRows ;
82
84
this .pageSize = pageRows * 9 ;
@@ -90,11 +92,19 @@ private SeparatedPagedMenu(@NotNull UUID uuid, MenuType type, final int pageCoun
90
92
super (type , title , EnumSet .noneOf (Modifier .class ));
91
93
this .uuid = uuid ;
92
94
this .player = Objects .requireNonNull (Bukkit .getPlayer (uuid ));
93
- this .mainInventory = PaginatedMenu .create (title , pageRows , pageCount , EnumSet .noneOf (Modifier .class ));
95
+ this .mainInventory = PaginatedMenu .create (title , type , pageCount , EnumSet .noneOf (Modifier .class ));
94
96
95
97
this .pages = pageCount ;
96
98
}
97
99
100
+ public <T extends Decorator > T getPageDecorator (Class <T > pageClass ) {
101
+ return mainInventory .getPageDecorator (pageClass );
102
+ }
103
+
104
+ public PageDecoration getPageDecorator () {
105
+ return mainInventory .getPageDecorator ();
106
+ }
107
+
98
108
/**
99
109
* Updates the page {@link MenuItem} on the slot in the page
100
110
* Can get the slot from {@link InventoryClickEvent#getSlot()}
@@ -134,37 +144,35 @@ public void updateItem(@NotNull Slot slot, @NotNull final MenuItem item) {
134
144
}
135
145
136
146
@ Override
137
- public SeparatedPagedMenu removeItems (@ NotNull final MenuItem ... item ) {
138
- mainInventory .removeItems (item );
139
- return this ;
140
- }
141
-
142
- @ Override
143
- public SeparatedPagedMenu removeItems (@ NotNull final ItemStack ... item ) {
144
- mainInventory .removeItems (item );
147
+ public SeparatedPagedMenu removeItem (@ NotNull final MenuItem ... item ) {
148
+ mainInventory .removeItem (item );
145
149
return this ;
146
150
}
147
151
152
+ /**
153
+ * @param itemStacks the items to remove
154
+ * @return the object for chaining
155
+ */
148
156
@ Override
149
- public SeparatedPagedMenu removeItem (@ NotNull final ItemStack item ) {
150
- mainInventory .removeItem (item );
157
+ public SeparatedPagedMenu removeItem (@ NotNull List < MenuItem > itemStacks ) {
158
+ mainInventory .removeItem (itemStacks . toArray ( new MenuItem [ 0 ]) );
151
159
return this ;
152
160
}
153
161
154
162
@ Override
155
- public SeparatedPagedMenu removeItem (@ NotNull final MenuItem item ) {
163
+ public SeparatedPagedMenu removeItem (@ NotNull final ItemStack ... item ) {
156
164
mainInventory .removeItem (item );
157
165
return this ;
158
166
}
159
167
160
168
@ Override
161
- public SeparatedPagedMenu addItem (MenuItem ... items ) {
169
+ public SeparatedPagedMenu addItem (MenuItem ... items ) {
162
170
mainInventory .addItem (items );
163
171
return this ;
164
172
}
165
173
166
174
@ Override
167
- public SeparatedPagedMenu addItem (ItemStack ... items ) {
175
+ public SeparatedPagedMenu addItem (ItemStack ... items ) {
168
176
mainInventory .addItem (items );
169
177
return this ;
170
178
}
@@ -176,19 +184,19 @@ public SeparatedPagedMenu setItem(int slot, MenuItem item) {
176
184
}
177
185
178
186
@ Override
179
- public SeparatedPagedMenu setItem (@ NotNull Slot slot , MenuItem item ) {
187
+ public SeparatedPagedMenu setItem (@ NotNull Slot slot , MenuItem item ) {
180
188
mainInventory .setItem (slot , item );
181
189
return this ;
182
190
}
183
191
184
192
@ Override
185
- public SeparatedPagedMenu setItem (int slot , ItemStack item ) {
193
+ public SeparatedPagedMenu setItem (int slot , ItemStack item ) {
186
194
mainInventory .setItem (slot , item );
187
195
return this ;
188
196
}
189
197
190
198
@ Override
191
- public SeparatedPagedMenu setItem (@ NotNull Slot slot , ItemStack item ) {
199
+ public SeparatedPagedMenu setItem (@ NotNull Slot slot , ItemStack item ) {
192
200
mainInventory .setItem (slot , item );
193
201
return this ;
194
202
}
@@ -269,8 +277,14 @@ public int getPagesSize() {
269
277
}
270
278
271
279
@ Override
272
- protected void recreateItems () {
273
- mainInventory .recreateItems ();
280
+ protected void recreateItems (Inventory inventory ) {
281
+ mainInventory .recreateItems (inventory );
282
+ }
283
+
284
+ @ Override
285
+ public SeparatedPagedMenu update () {
286
+ mainInventory .recreateItems (inventory );
287
+ return this ;
274
288
}
275
289
276
290
/**
0 commit comments