feat: initialisation complète de la bibliothèque betterMcGuis (Fluent DSL, ItemBuilder, PaginatedGui, TabbedGui, AnimatedGui, Patterns ASCII, Moteur d'événements, Sécurité anti-glitch et documentation)

This commit is contained in:
2026-08-23 18:10:49 +02:00
parent b88eaad155
commit 806d1789a1
63 changed files with 6233 additions and 2 deletions
+89
View File
@@ -0,0 +1,89 @@
# 🚀 Guide de Démarrage Rapide - betterMcGuis
Ce guide vous accompagne dans l'installation, la configuration et la création de vos premières interfaces graphiques interactives (GUIs) avec la bibliothèque **betterMcGuis**.
---
## 📦 1. Installation
### Gradle (Kotlin DSL)
Ajoutez les dépôts et la dépendance dans votre fichier `build.gradle.kts` :
```kotlin
repositories {
mavenCentral()
maven("https://repo.papermc.io/repository/maven-public/")
}
dependencies {
// Intégration de betterMcGuis
implementation("fr.luc:betterMcGuis:1.0.0-SNAPSHOT")
}
```
---
## ⚙️ 2. Initialisation dans votre Plugin Bukkit/Paper
Créez une instance de `BetterMcGuis` dans la méthode `onEnable()` de votre plugin et nettoyez-la proprement dans `onDisable()` :
```java
package fr.luc.monplugin;
import fr.luc.bettermcguis.BetterMcGuis;
import org.bukkit.plugin.java.JavaPlugin;
public class MonPlugin extends JavaPlugin {
private BetterMcGuis guiManager;
@Override
public void onEnable() {
// 1. Initialisation du gestionnaire et enregistrement automatique des écouteurs Bukkit
this.guiManager = BetterMcGuis.create(this);
// 2. Enregistrement d'écouteurs d'événements globaux (optionnel)
this.guiManager.registerListeners(new MonEcouteurDeGui());
getLogger().info("betterMcGuis est prêt !");
}
@Override
public void onDisable() {
// 3. Nettoyage des écouteurs et suppression des ressources
if (guiManager != null) {
guiManager.unregisterAll();
}
}
}
```
---
## 💡 3. Votre Premier Menu en 5 Lignes
```java
public void ouvrirMenuBienvenue(Player player) {
BetterMcGuis.builder()
.title("<gradient:#00c6ff:#0072ff><bold>Menu de Bienvenue</bold></gradient>")
.rows(3)
.fillBorder(Material.BLACK_STAINED_GLASS_PANE)
.item(13, BetterMcGuis.item(Material.DIAMOND)
.name("<gold><bold>Réclamer le Cadeau</bold></gold>")
.lore("<gray>Cliquez pour recevoir 1 Diamant gratuit !</gray>")
.glowing(true)
.asGuiItem(ctx -> {
ctx.getPlayer().getInventory().addItem(new ItemStack(Material.DIAMOND));
ctx.replySuccess("Diamant reçu avec succès !");
ctx.close();
})
)
.build()
.open(player);
}
```
---
> 📖 **Étape suivante** : Découvrez la syntaxe complète du constructeur dans [02_GUI_BUILDER_DSL.md](02_GUI_BUILDER_DSL.md).