Files

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

  1. DSL Fluide & Déclaratif : Création chainable d'inventaires (Coffres 1-6 lignes, Hoppers, Distributeurs, Enclumes).
  2. ItemBuilder Riches : Prise en charge native de MiniMessage, enchantements, flags, têtes de joueurs, armures teintées, CustomModelData et PDC.
  3. Système de Layouts / Patterns : Définition visuelle des inventaires par matrice de caractères (ASCII Masks / Patterns).
  4. 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)
  5. 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.
  6. 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.
  7. Indépendance & Testabilité : Classes métier découplées du moteur Minecraft pour des tests unitaires rapides et fiables.