Files
betterMcGuis/docs/01_GETTING_STARTED.md
T

2.5 KiB

🚀 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 :

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() :

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

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.