🫀 Challenges
Les challenges sont temporairement indisponible suite à la mise à jour incluant les modules le temps de refaire le système et d'optimiser le plus possible le tout.
💡 Interface d'Administration : Les challenges peuvent être configurés directement en jeu via l'interface d'administration accessible avec
/challenges admin(permission requise :horizons.challenges.admin)
📑 Table des Matières
- 🎯 Introduction
- 🏗️ Structure de Base
- 🎮 Types de Challenges
- ⚡ Triggers Disponibles
- 🔄 Types de Répétition
- 🎁 Configuration des Récompenses
- 📢 Système de Notifications
- 📝 Exemples Complets
- ✅ Validation et Commandes
- 🔐 Permissions
- 💡 Conseils et Bonnes Pratiques
🎯 Introduction
Le système de challenges d'Horizons permet de créer des défis personnalisés pour vos joueurs. Ces challenges peuvent être individuels, d'équipe ou globaux, avec de nombreuses possibilités de configuration.
Fichier de Configuration
Tous les challenges sont configurés dans le fichier challenges.yml situé dans le dossier du plugin.
🏗️ Structure de Base
Chaque challenge suit cette structure de base :
challenges:
nom_du_challenge:
name: "&7Nom Affiché du Challenge"
description:
- "&7Première ligne de description"
- "&7Deuxième ligne de description"
type: "PLAYER" # PLAYER, TEAM, ou GLOBAL
trigger: "BLOCK_BREAK" # Type d'événement
trigger-data: # Configuration spécifique au trigger
material: "STONE"
target-amount: 100 # Objectif à atteindre
repeat-type: "DAILY" # Type de répétition
display: # Affichage dans l'interface
item: "STONE"
slot: 0
lore:
- "&7Progression: &e{progress}/{target}"
notification: # Configuration des notifications
type: "CHAT"
message: "&aChallenge terminé !"
rewards: # Récompenses
score:
type: "PLAYER_SCORE"
amount: 50🎮 Types de Challenges
PLAYER
- Description : Challenge individuel pour chaque joueur
- Progression : Chaque joueur a sa propre progression
- Utilisation : Défis personnels, objectifs individuels
TEAM
- Description : Challenge d'équipe où tous les membres contribuent
- Progression : Progression partagée entre les membres de l'équipe
- Utilisation : Défis collaboratifs, objectifs d'équipe
GLOBAL
- Description : Challenge pour tout le serveur
- Progression : Un seul joueur ou une équipe peut le compléter
- Utilisation : Événements serveur, premiers à accomplir quelque chose
⚡ Triggers Disponibles
🏗️ Construction et Destruction
BLOCK_BREAK: Casser des blocsBLOCK_PLACE: Placer des blocs
⚔️ Combat
ENTITY_KILL: Tuer des entités (mobs)PLAYER_KILL: Tuer d'autres joueursDAMAGE_DEAL: Infliger des dégâtsDAMAGE_TAKE: Subir des dégâtsDEATH: Mourir
🎯 Activités
ITEM_CRAFT: Crafter des objetsITEM_CONSUME: Consommer des objetsFISH_CATCH: PêcherENCHANT_ITEM: Enchanter des objetsTRADE_VILLAGER: Commercer avec des villageoisPOTION_BREW: Brasser des potions
🐾 Animaux
TAME_ANIMAL: Apprivoiser des animauxBREED_ANIMAL: Faire reproduire des animaux
🚶 Déplacement et Exploration
DISTANCE_WALK: Marcher une certaine distanceDISTANCE_FLY: Voler une certaine distanceBIOME_ENTER: Entrer dans des biomesDIMENSION_ENTER: Entrer dans des dimensionsWORLD_CHANGE: Changer de monde
📈 Progression
EXPERIENCE_GAIN: Gagner de l'expérienceLEVEL_UP: Monter de niveau
💬 Social
JOIN_SERVER: Se connecter au serveurCHAT_MESSAGE: Envoyer des messagesCOMMAND_USE: Utiliser des commandes
⚙️ Configuration des Trigger-Data
Pour BLOCK_BREAK et BLOCK_PLACE
trigger-data:
material: "STONE" # Un seul matériau
# OU
materials: # Liste de matériaux
- "STONE"
- "COBBLESTONE"
- "GRANITE"Pour ENTITY_KILL
trigger-data:
entity: "ZOMBIE" # Une seule entité
# OU
entities: # Liste d'entités
- "ZOMBIE"
- "SKELETON"
- "CREEPER"Pour BIOME_ENTER
trigger-data:
biome: "DESERT" # Un biome spécifique
# OU
biomes: # Liste de biomes
- "DESERT"
- "FOREST"
- "JUNGLE"
# OU vide pour tous les biomes
# trigger-data: {}Pour DIMENSION_ENTER
trigger-data:
to_dimension: "NETHER" # NORMAL, NETHER, THE_ENDPour WORLD_CHANGE
trigger-data:
to_world: "world_nether" # Monde de destination
from_world: "world" # Monde d'origine (optionnel)🔄 Types de Répétition
UNIQUE
- Description : Ne peut être complété qu'une seule fois
- Utilisation : Achievements permanents, premières fois
UNLIMITED
- Description : Peut être répété indéfiniment
- Configuration : Optionnel
cooldown-secondspour limiter la fréquence
DAILY
- Description : Se remet à zéro chaque jour
- Reset : Minuit (heure du serveur)
WEEKLY
- Description : Se remet à zéro chaque semaine
- Reset : Lundi à minuit
COOLDOWN
- Description : Cooldown personnalisé entre les complétions
- Configuration : Requis
cooldown-seconds
LIMITED_COUNT
- Description : Nombre limité de complétions
- Configuration : Requis
max-completions
# Exemple avec cooldown
repeat-type: "COOLDOWN"
cooldown-seconds: 3600 # 1 heure
# Exemple avec limite
repeat-type: "LIMITED_COUNT"
max-completions: 5🎁 Configuration des Récompenses
Types de Récompenses
PLAYER_SCORE
rewards:
score:
type: "PLAYER_SCORE"
amount: 100TEAM_SCORE
rewards:
team_score:
type: "TEAM_SCORE"
amount: 150ITEM
rewards:
item:
type: "ITEM"
material: "DIAMOND"
amount: 5COMMAND
rewards:
command:
type: "COMMAND"
command: "give {player} golden_apple 1"EXPERIENCE
rewards:
xp:
type: "EXPERIENCE"
amount: 100MONEY (si Vault installé)
rewards:
money:
type: "MONEY"
amount: 500Récompenses Multiples
rewards:
score:
type: "PLAYER_SCORE"
amount: 100
item:
type: "ITEM"
material: "DIAMOND"
amount: 1
command:
type: "COMMAND"
command: "effect give {player} speed 60 1"📢 Système de Notifications
Types de Notifications
CHAT
notification:
type: "CHAT"
message: "&a✓ Challenge terminé !"ACTIONBAR
notification:
type: "ACTIONBAR"
message: "&e🎯 Objectif atteint !"TITLE
notification:
type: "TITLE"
message: "&b🏆 CHALLENGE TERMINÉ !"SUBTITLE
notification:
type: "SUBTITLE"
message: "&7Félicitations !"BOSSBAR
notification:
type: "BOSSBAR"
message: "&6🎉 Challenge accompli !"Configuration Audio
notification:
type: "CHAT"
message: "&aChallenge terminé !"
sound: "ENTITY_PLAYER_LEVELUP" # Son Minecraft
volume: 1.0 # Volume (0.0 à 1.0)
pitch: 1.0 # Hauteur (0.5 à 2.0)Variables Disponibles
{player}: Nom du joueur{progress}: Progression actuelle{target}: Objectif à atteindre{completions}: Nombre de complétions{status}: Statut du challenge
🖼️ Configuration de l'Affichage
Interface Graphique
display:
item: "DIAMOND" # Matériau d'affichage
slot: 0 # Position dans l'interface (0-53)
lore: # Description supplémentaire
- "&7Progression: &e{progress}/{target}"
- ""
- "&7Statut: {status}"
- "&7Complétions: &e{completions}"📝 Exemples Complets
Challenge de Minage Simple
mine_diamonds:
name: "&b💎 Mineur de Diamant"
description:
- "&7Minez 10 minerais de diamant"
- "&7pour devenir un mineur expert"
type: "PLAYER"
trigger: "BLOCK_BREAK"
trigger-data:
material: "DIAMOND_ORE"
target-amount: 10
repeat-type: "WEEKLY"
display:
item: "DIAMOND_ORE"
slot: 1
notification:
type: "TITLE"
message: "&b💎 Mineur de Diamant !"
sound: "ENTITY_PLAYER_LEVELUP"
rewards:
score:
type: "PLAYER_SCORE"
amount: 200Challenge d'Équipe Complexe
team_builder:
name: "&6🏗️ Constructeurs d'Équipe"
description:
- "&7Votre équipe doit placer"
- "&7500 blocs de construction"
type: "TEAM"
trigger: "BLOCK_PLACE"
trigger-data:
materials:
- "STONE_BRICKS"
- "BRICKS"
- "COBBLESTONE"
- "WOOD_PLANKS"
target-amount: 500
repeat-type: "DAILY"
display:
item: "BRICKS"
slot: 11
notification:
type: "BOSSBAR"
message: "&6🏗️ Équipe de Constructeurs !"
rewards:
team_score:
type: "TEAM_SCORE"
amount: 300
command:
type: "COMMAND"
command: "effect give @a[team={team}] speed 300 1"Challenge Global Unique
first_nether:
name: "&c🔥 Pionnier du Nether"
description:
- "&7Soyez le premier joueur"
- "&7à entrer dans le Nether !"
type: "GLOBAL"
trigger: "DIMENSION_ENTER"
trigger-data:
to_dimension: "NETHER"
target-amount: 1
repeat-type: "UNIQUE"
display:
item: "OBSIDIAN"
slot: 20
notification:
type: "CHAT"
message: "&c🔥 {player} est le premier à entrer dans le Nether !"
sound: "UI_TOAST_CHALLENGE_COMPLETE"
rewards:
score:
type: "PLAYER_SCORE"
amount: 500
item:
type: "ITEM"
material: "FIRE_RESISTANCE_POTION"
amount: 3✅ Validation et Commandes
Commandes Disponibles
/challenges: Ouvre l'interface des challenges/challenges admin: Ouvre l'interface d'administration (permission requise)/challenges reload: Recharge la configuration (permission requise)/challenges reset <player/team/global> [challenge]: Remet à zéro la progression (permission requise)/challenges info <challenge>: Informations sur un challenge/challenges progress <player> [challenge]: Progression d'un joueur
🔐 Permissions
horizons.challenges.admin
- Description : Accès complet à l'administration des challenges
- Fonctionnalités :
- Interface d'administration (
/challenges admin) - Création, modification et suppression de challenges
- Gestion des récompenses et paramètres avancés
- Accès à toutes les fonctionnalités d'édition
- Interface d'administration (
horizons.challenges.reload
- Description : Rechargement de la configuration des challenges
- Fonctionnalités :
- Commande
/challenges reload - Rechargement à chaud des challenges depuis les fichiers
- Commande
horizons.challenges.reset
- Description : Réinitialisation des progressions de challenges
- Fonctionnalités :
/challenges reset player <nom>- Reset d'un joueur spécifique/challenges reset team <nom>- Reset d'une équipe complète/challenges reset global- Reset de tous les challenges globaux
Commandes Sans Permission
Ces commandes sont accessibles à tous les joueurs :
/challenges- Interface principale des challenges/challenges gui [type]- Interface par type de challenge/challenges info <id>- Informations détaillées sur un challenge/challenges progress <id>- Consultation de sa progression personnelle/challenges help- Aide et liste des commandes
💡 Conseils et Bonnes Pratiques
🎯 Conception des Challenges
- Équilibrage : Ajustez les objectifs selon la difficulté
- Progression : Créez des challenges de difficulté croissante
- Variété : Utilisez différents triggers pour diversifier
- Récompenses : Équilibrez les récompenses avec l'effort requis
🔧 Configuration Technique
- Sauvegarde : Sauvegardez toujours avant modification
- Reload : Utilisez
/challenges reloadpour appliquer les changements - Logs : Consultez les logs en cas d'erreur
📊 Performance
- Slots : Évitez les doublons de slots dans l'interface
- Triggers : Les triggers fréquents (CHAT_MESSAGE) peuvent impacter les performances
- Cooldowns : Utilisez des cooldowns pour limiter le spam
🛠️ Support et Dépannage
Problèmes Courants
Challenge ne se déclenche pas :
- Vérifiez le trigger et les trigger-data
- Confirmez que le challenge est actif
- Consultez les logs pour les erreurs
Erreurs de configuration :
- Vérifiez la syntaxe YAML
- Consultez les messages d'erreur détaillés
Récompenses non distribuées :
- Vérifiez la configuration des rewards
- Confirmez les permissions nécessaires
- Testez avec des récompenses simples
Logs et Debug
Les logs du plugin fournissent des informations détaillées sur :
- Chargement des challenges
- Erreurs de configuration
- Progression des joueurs
- Distribution des récompenses
Cette documentation couvre toutes les fonctionnalités du système de challenges d'Horizons. Pour des questions spécifiques ou des problèmes, consultez les logs du serveur ou contactez le support.