docs: ajout de la suite de documentation complète dans /docs et mise à jour du README

This commit is contained in:
2026-08-23 18:04:36 +02:00
parent a2ccf0eb8c
commit 81edbea01d
8 changed files with 821 additions and 0 deletions
+127
View File
@@ -0,0 +1,127 @@
# 🚀 Guide de Démarrage Rapide - betterMcCommands
Ce guide vous accompagne dans l'installation, la configuration et la création de vos premières commandes avec la bibliothèque **betterMcCommands**.
---
## 📦 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 betterMcCommands
implementation("fr.luc:betterMcCommands:1.0.0-SNAPSHOT")
}
```
### Gradle (Groovy DSL)
```groovy
repositories {
mavenCentral()
maven { url 'https://repo.papermc.io/repository/maven-public/' }
}
dependencies {
implementation 'fr.luc:betterMcCommands:1.0.0-SNAPSHOT'
}
```
---
## ⚙️ 2. Initialisation dans votre Plugin Bukkit/Paper
Créez une instance de `BetterMcCommands` dans la méthode `onEnable()` de votre plugin et nettoyez-la proprement dans `onDisable()` :
```java
package fr.luc.monplugin;
import fr.luc.bettermccommands.BetterMcCommands;
import org.bukkit.plugin.java.JavaPlugin;
public class MonPlugin extends JavaPlugin {
private BetterMcCommands commandsManager;
@Override
public void onEnable() {
// 1. Initialisation du gestionnaire avec namespace dédié
this.commandsManager = BetterMcCommands.create(this);
// 2. Enregistrement d'écouteurs d'événements de commandes globaux (optionnel)
this.commandsManager.registerListeners(new MonEcouteurDeCommandes());
// 3. Déclaration et enregistrement des commandes
enregistrerCommandes();
getLogger().info("MonPlugin et betterMcCommands sont prêts !");
}
private void enregistrerCommandes() {
// Exemple d'une commande simple : /ping
BetterMcCommands.builder("ping")
.description("Renvoie pong au joueur")
.aliases("p")
.executes(context -> {
context.replySuccess("Pong !");
})
.register();
}
@Override
public void onDisable() {
// 4. Désenregistrement à chaud de toutes les commandes injectées
if (commandsManager != null) {
commandsManager.unregisterAll();
}
getLogger().info("MonPlugin a désenregistré ses commandes.");
}
}
```
---
## ⚡ 3. Zéro `plugin.yml`
Contrairement aux commandes Bukkit traditionnelles, **vous n'avez pas besoin d'ajouter vos commandes dans le fichier `plugin.yml`**.
`betterMcCommands` injecte directement vos commandes par réflexion dans la `CommandMap` du serveur lors de l'appel à `.register()`, ce qui permet :
* D'enregistrer des commandes dynamiquement selon la configuration.
* De recharger (hot-reload) ou retirer des commandes sans redémarrer le serveur.
* D'éviter les doublons et les conflits de namespaces.
---
## 💬 4. Formatage des Messages avec MiniMessage
Le `CommandContext` intègre nativement **Kyori Adventure & MiniMessage** :
```java
BetterMcCommands.builder("bienvenue")
.executes(context -> {
// Dégradé de couleurs hexadécimales et texte gras
context.reply("<gradient:#00d2ff:#3a7bd5><bold>Bienvenue sur le serveur !</bold></gradient>");
// Message avec préfixe vert standard [✔]
context.replySuccess("Votre profil a été chargé avec succès.");
// Message avec préfixe rouge [✖]
context.replyError("Une erreur est survenue.");
// Message d'information []
context.replyInfo("Tapez /aide pour obtenir de l'assistance.");
})
.register();
```
---
> 📖 **Étape suivante** : Découvrez la syntaxe complète du constructeur dans [02_COMMAND_BUILDER_DSL.md](02_COMMAND_BUILDER_DSL.md).