1.6 KiB
1.6 KiB
Directives & Architecture du Projet betterMcGuis
🎯 Objectif
betterMcGuis est une bibliothèque Java moderne, fluide et événementielle pour la création dynamique d'interfaces graphiques (GUIs / Menus interactifs / Inventaires) sur serveurs Minecraft Paper et Spigot (1.20.4+).
🌟 Principes Clés
- DSL Fluide & Déclaratif : Création chainable d'inventaires (Coffres 1-6 lignes, Hoppers, Distributeurs, Enclumes).
- ItemBuilder Riches : Prise en charge native de MiniMessage, enchantements, flags, têtes de joueurs, armures teintées, CustomModelData et PDC.
- Système de Layouts / Patterns : Définition visuelle des inventaires par matrice de caractères (ASCII Masks / Patterns).
- Types de GUIs Avancés :
- GUI Simple (
Gui) - GUI Paginé (
PaginatedGui) - GUI Défilant (
ScrollableGui) - GUI à Onglets (
TabbedGui) - GUI Animé (
AnimatedGui) - GUI avec zones d'interaction / coffre de dépôt (
StorageGui/EditableSlots)
- GUI Simple (
- Gestionnaire d'Événements & Cycle de Vie :
- Événements complets :
GuiOpenEvent,GuiCloseEvent,GuiClickEvent,GuiPageChangeEvent,GuiRefreshEvent. - Hooks locaux (
.onOpen(),.onClose(),.onClick()) et écouteurs globaux annotés@GuiEventHandler.
- Événements complets :
- Protection contre les Glitches :
- Annulation sécurisée des clics, shift-clicks, drag-and-drop et échanges rapides (Hotbar swap).
- Nettoyage automatique des états lors de la déconnexion ou fermeture de l'inventaire.
- Indépendance & Testabilité : Classes métier découplées du moteur Minecraft pour des tests unitaires rapides et fiables.