You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -295,4 +345,80 @@ Si une lettre n'a pas d'item assigné, celui-ci sera placé :
295
345
> Le caractère espace (``) ne peut pas être assigné à un item, étant donné qu'il
296
346
sert de vide.
297
347
298
-
## Fait avec 💜 par [Lysandre B.](https://github.com/Shuvlyy) ・ [](https://wakatime.com/badge/user/2f50fe6c-0368-4bef-aa01-3a67193b63f8/project/018d7a18-67ef-47e3-a6c4-5c8cc4b45021) + [](https://wakatime.com/badge/user/2f50fe6c-0368-4bef-aa01-3a67193b63f8/project/018d794b-8bf6-46ef-acb3-549287335474)
348
+
349
+
## PaginatedHashGui
350
+
351
+
PaginatedHashGui est une HashGui avec un système de pages.
352
+
353
+
### Utilisation
354
+
355
+
```java
356
+
String title ="Menu paginé";
357
+
int linesAmount =6;
358
+
359
+
PaginatedHashGui gui =newPaginatedHashGui(title, linesAmount, guiManager); // guiManager doit être une instance de HashGuiManager.
gui.setPreviousPageItem(previousPage); // Lors du clic sur previousPage, la GUI se rafraîchira à la page précédente.
368
+
gui.setNextPageItem(nextPage); // Lors du clic sur nextPage, la GUI se rafraîchira à la page suivante.
369
+
```
370
+
371
+
#### Fonctionnalités
372
+
373
+
*`setPreviousPageItem(HashItem item)` : Actualise la GUI à la page précédente (si possible)
374
+
*`setNextPageItem(HashItem item)` : Actualise la GUI à la page suivante (si possible)
375
+
*`update(Player player)` : Rafraîchit la GUI (pour les pages)
376
+
*`clearPageContent()` : Vide visuellement la page actuelle (utilisé pour le rafraîchissement)
377
+
*`addPage(Page page)` : Ajoute une page
378
+
*`createNewPage()` : Crée une nouvelle page et l'ajoute
379
+
*`clearPages()` : Supprime toutes les pages
380
+
381
+
### Pages
382
+
383
+
#### Création d'une page
384
+
385
+
```java
386
+
PaginatedHashGui gui;
387
+
388
+
Page page = gui.createNewPage(); // Crée une nouvelle page et l'ajoute à la GUI
389
+
390
+
/* OU */
391
+
392
+
Page page =newPage(gui); // Crée une nouvelle page
393
+
gui.addPage(page); // L'ajoute à la GUI
394
+
```
395
+
396
+
#### Fonctionnalités
397
+
*`addItem(HashItem item)` : Ajoute un item dans la page au premier slot libre
398
+
*`setItem(int slot, HashItem item)` : Ajoute un item dans la page à un endroit précis
399
+
*`removeItem(int slot)` : Retire un item d'un slot
400
+
*`clearItems()` : Retire tous les items de la page
401
+
402
+
> [!TIP]
403
+
> Par défaut, à la création d'une `PaginatedHashGui`, une nouvelle page vierge se crée automatiquement.
404
+
405
+
#### Gestion de page
406
+
407
+
```java
408
+
Page page;
409
+
410
+
HashItem item1 =newHashItem(Material.BED);
411
+
HashItem item2 =newHashItem(Material.BEDROCK);
412
+
413
+
page.addItem(item1);
414
+
page.setItem(8, item2);
415
+
page.removeItem(8);
416
+
```
417
+
418
+
> [!WARNING]
419
+
> * Pour `Page#addItem()`, si aucun slot n'est disponible, une exception de type `IllegalArgumentException` sera renvoyée.\
420
+
> * Pour `Page#setItem()` ou `Page#removeItem()`, si le slot donné n'est pas disponible, la même exception sera renvoyée.\
421
+
> ***Un slot est considéré non disponible s'il n'est pas valide (en dessous de 0 ou au dessus de la capacité maximum de la GUI)
422
+
> ou si un item est déjà présent sur ce slot dans la GUI parente.**
423
+
424
+
## Fait avec 💜 par [Lysandre B.](https://github.com/Shuvlyy) ・ [](https://wakatime.com/badge/user/2f50fe6c-0368-4bef-aa01-3a67193b63f8/project/018d794b-8bf6-46ef-acb3-549287335474) + [](https://wakatime.com/badge/user/2f50fe6c-0368-4bef-aa01-3a67193b63f8/project/018d7a18-67ef-47e3-a6c4-5c8cc4b45021)
0 commit comments