docs: ajout de la suite de documentation complète dans /docs et mise à jour du README
This commit is contained in:
@@ -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).
|
||||
Reference in New Issue
Block a user