#
🫀 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_END
#
Pour 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: 100
#
TEAM_SCORE
rewards:
team_score:
type: "TEAM_SCORE"
amount: 150
#
ITEM
rewards:
item:
type: "ITEM"
material: "DIAMOND"
amount: 5
#
COMMAND
rewards:
command:
type: "COMMAND"
command: "give {player} golden_apple 1"
#
EXPERIENCE
rewards:
xp:
type: "EXPERIENCE"
amount: 100
#
MONEY (si Vault installé)
rewards:
money:
type: "MONEY"
amount: 500
#
Ré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: 200
#
Challenge 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.