Créer du Contenu EliteMobs
EliteMobs utilise YAML pour les boss, objets, quêtes et autres définitions, et Lua pour les pouvoirs, scripts de PNJ et comportements natifs. Placez chaque fichier dans son dossier de contenu sous plugins/EliteMobs/.
Types de contenu
Cet aperçu couvre huit types de contenu principaux, ainsi que les définitions et scripts complémentaires ci-dessous :
- Boss personnalisés - Créez des créatures élites uniques avec des pouvoirs, un équipement et des capacités personnalisés
- Objets personnalisés - Concevez des armes, des armures et des objets personnalisés avec des enchantements
- Quêtes personnalisées - Construisez des chaînes de quêtes avec des objectifs et des récompenses
- Événements personnalisés - Mettez en place des événements de boss déclenchés par le temps ou par une action
- PNJ personnalisés - Ajoutez des donneurs de quêtes, des boutiques et des PNJ interactifs
- Coffres au trésor - Placez des coffres de butin avec des récompenses personnalisées et des mécaniques de mimique
- Arènes - Concevez des défis de combat par vagues avec des rencontres de boss
- Trous de ver - Créez des portails de téléportation entre les emplacements
Chaque type de contenu a son propre dossier de configuration et sa propre structure de champs.
Démarrage rapide
Pour une définition de contenu YAML :
- Créez un fichier YAML avec l'extension .yml
- Nommez-le au format lowercase_with_underscores.yml
- Placez-le dans le dossier approprié
- Configurez le contenu à l'aide des champs YAML
- Rechargez EliteMobs ou redémarrez le serveur
Emplacements des fichiers
Chaque type de contenu est stocké dans son propre dossier :
- Boss personnalisés : ~/plugins/EliteMobs/custombosses/
- Objets personnalisés : ~/plugins/EliteMobs/customitems/
- Quêtes personnalisées : ~/plugins/EliteMobs/customquests/
- Événements personnalisés : ~/plugins/EliteMobs/customevents/
- PNJ personnalisés : ~/plugins/EliteMobs/npcs/
- Coffres au trésor : ~/plugins/EliteMobs/customtreasurechests/
- Arènes : ~/plugins/EliteMobs/customarenas/
- Trous de ver : ~/plugins/EliteMobs/wormholes/
Le contenu complémentaire utilise d'autres dossiers :
- Pouvoirs : ~/plugins/EliteMobs/powers/
- Apparitions personnalisées : ~/plugins/EliteMobs/customspawns/
- Scripts Lua de PNJ : ~/plugins/EliteMobs/npc_scripts/
- Comportements Lua natifs : ~/plugins/EliteMobs/behaviors/
- Itinéraires de transport : ~/plugins/EliteMobs/transport_routes/
- Définitions d'enchantements et Lua : ~/plugins/EliteMobs/enchantments/
- Paquets de donjons : ~/plugins/EliteMobs/content_packages/
- Modèles de mondes instanciés : ~/plugins/EliteMobs/world_blueprints/
Le dossier scripts/ d'un paquet appartient à FreeMinecraftModels. Ce n'est pas le dossier des scripts de PNJ ou des comportements d'EliteMobs ; voir le routage des dossiers de paquet.
Outils de création de contenu
WebApp (recommandé pour les débutants)
La WebApp EliteMobs fournit une interface visuelle pour générer des configurations. Vérifiez le résultat avec la référence actuelle du type de contenu ; les champs récents et les scripts Lua peuvent nécessiter une édition manuelle.
Configuration YAML manuelle
Pour les utilisateurs avancés, créez les fichiers YAML manuellement pour un contrôle complet sur tous les champs et options disponibles.
Format de fichier YAML
Ces règles concernent les définitions YAML. Les pouvoirs Lua, scripts de PNJ et comportements sont des fichiers .lua séparés :
- Utilisez des espaces, pas des tabulations, pour l'indentation
- Entourez de guillemets les textes commençant par un code de couleur ; les guillemets simples conviennent au texte littéral
- Les listes utilisent le format avec tiret ou le format avec crochets
isEnabledcontrôle l'activation d'une définition YAML. La valeur par défaut dépend du type et de la définition préconçue ; indiquez-la explicitement dans les nouveaux fichiers et consultez la référence correspondante- Les noms de fichiers devraient utiliser le format lowercase_with_underscores.yml
Pour une aide détaillée sur la syntaxe YAML, consultez le Guide du fichier de configuration.
Aperçu des types de contenu
Boss personnalisés
Les boss personnalisés sont des créatures élites dotées de capacités améliorées, d'équipements personnalisés et de pouvoirs spéciaux. Le système de boss prend en charge plus de 60 champs de configuration, dont :
- Type d'entité et niveau
- Multiplicateurs de points de vie et de dégâts
- Équipement (armures et armes)
- Pouvoirs et capacités d'élite
- Tables de butin et drops
- Messages et commandes d'apparition/de mort
- Mécaniques multi-phases
- Modèles personnalisés et déguisements
Exemple de boss basique :
isEnabled: true
entityType: ZOMBIE
name: '&e Test Boss'
level: dynamic
healthMultiplier: 2.0
damageMultiplier: 0.5
helmet: GOLDEN_HELMET
chestplate: IRON_CHESTPLATE
mainHand: GOLDEN_AXE
powers:
- invulnerability_knockback.lua
spawnMessage: A test boss has been spawned!
deathMessage: A test boss has been slain by $players!
Objets personnalisés
Les objets personnalisés permettent de créer des armes, armures et outils avec des enchantements et effets. Le système comprend :
- Type de matériau
- Nom d'affichage et lore
- Liste d'enchantements
- Effets de potion
- ID de modèles personnalisés
- Poids de drop et mise à l'échelle
- Réglages de niveau et de lien d'âme (soulbound)
Exemple d'objet basique :
isEnabled: true
material: DIAMOND_SWORD
name: '&4Legendary Blade'
lore:
- '&7A powerful weapon'
- '&7forged in dragon fire'
enchantments:
- DAMAGE_ALL,5
- FIRE_ASPECT,2
level: 10
soulbound: true
Quêtes personnalisées
Les quêtes personnalisées définissent des objectifs avec des récompenses à leur achèvement. Le système comprend :
- Objectifs et types de quête
- Récompenses (objets, argent, permissions)
- Dialogue d'acceptation/d'achèvement
- Exigences de remise à un PNJ
- Minuteurs de verrouillage de quête
- Suivi et sons
Événements personnalisés
Les événements personnalisés déclenchent des apparitions de boss selon le temps, le hasard ou d'autres conditions. Le système comprend :
- Type d'événement et liste de boss
- Chance et poids de déclenchement
- Messages et commandes de début/fin
- Minuteurs de temps de recharge (local et global)
- Nombre minimum de joueurs
- Durée de l'événement
PNJ personnalisés
Les PNJ personnalisés sont des personnages interactifs pour les quêtes, boutiques et arènes. Le système comprend :
- Nom, rôle et profession du PNJ
- Emplacements d'apparition
- Dialogue (salutations, dialogue, adieu)
- Types d'interaction
- Références de quêtes et d'arènes
- Modèles personnalisés et déguisements
- Hooks Lua de PNJ et itinéraires de patrouille
Coffres au trésor
Les coffres au trésor fournissent du butin avec des délais de réapprovisionnement et des mécaniques de mimique personnalisables. Le système comprend :
- Type et orientation du coffre
- Coordonnées d'emplacement
- Table de butin
- Minuteurs de réapprovisionnement
- Chance de mimique et liste de boss
- Styles de drop pour un seul joueur ou par joueur en groupe
Arènes
Les arènes proposent des combats par vagues avec des boss. Le système comprend :
- Limites de l'arène (corner1, corner2)
- Nombre de vagues et délais
- Liste de boss et points d'apparition
- Récompenses et limites de joueurs
- Messages d'arène
- Vagues d'intermède
Trous de ver
Les trous de ver créent des portails entre deux emplacements. Le système comprend :
- Deux points d'extrémité d'emplacement
- Texte d'affichage pour chaque emplacement
- Style visuel et couleurs de particules
- Coût en pièces et permissions
- Effet de cécité et multiplicateur de taille
- Modèles d'entité facultatifs à chaque extrémité
Schémas courants
Référencer du contenu
Les types de contenu se référencent mutuellement à l'aide de noms de fichiers :
- Référencer des pouvoirs dans les boss : power_name.lua (une référence héritée
power_name.ymlest automatiquement résolue vers le pouvoir.luadu même nom) - Référencer des objets dans le butin :
filename: item_name.yml(consultez le format des Tables de butin pour la chance, la quantité et plus) - Référencer des boss dans les événements : boss_filename.yml
- Référencer des quêtes dans les PNJ : quest_filename.yml
Réutiliser des définitions
Les fichiers de boss personnalisés, de PNJ et d'itinéraires de transport peuvent partir d'un autre fichier du même type avec extends: base_file.yml et ne remplacer que les clés qui diffèrent. Les placements et isEnabled ne sont jamais hérités. Consultez Réutiliser un autre fichier de boss et Réutiliser un autre fichier de PNJ pour les règles complètes.
Espaces réservés (placeholders)
Les espaces réservés dépendent du champ qui les lit ; ils ne sont pas remplacés dans tous les messages :
$players- Noms affichés des attaquants participants dans les annonces de mort du boss$distance- Distance jusqu'au boss suivi danslocationMessage$eventBossLevel- Niveau mis en forme dans les noms de boss ; l'aperçu peut afficher?si le niveau est inconnu
Codes de couleur
Utilisez les codes de couleur Minecraft dans les noms et messages. Entourez tout le texte de guillemets s'il commence par un code de couleur. Les guillemets simples gardent les barres obliques inverses littérales ; les guillemets doubles YAML sont aussi valides.
Codes de couleur standard de Minecraft :
- &0 - Noir
- &1 - Bleu foncé
- &2 - Vert foncé
- &3 - Cyan foncé
- &4 - Rouge foncé
- &5 - Violet foncé
- &6 - Or
- &7 - Gris
- &8 - Gris foncé
- &9 - Bleu
- &a - Vert
- &b - Cyan
- &c - Rouge
- &d - Violet clair
- &e - Jaune
- &f - Blanc
Codes de formatage :
- &l - Gras
- &m - Barré
- &n - Souligné
- &o - Italique
- &r - Réinitialisation
Système de pouvoirs d'élite
EliteMobs livre 71 pouvoirs d'élite. 68 d'entre eux sont des fichiers Lua (*.lua) et seuls bonus_coins.yml, custom_summon.yml et elite_script.yml sont encore adossés à du YAML. Les pouvoirs sont référencés par nom de fichier dans les configurations de boss, et une référence .yml héritée se résout automatiquement vers le pouvoir .lua du même nom. Voir Créer des pouvoirs.
Catégories de pouvoirs
La catégorie à laquelle appartient un pouvoir est son powerType, qui détermine également si les élites naturelles peuvent le tirer.
Offensifs :
arrow_fireworks, arrow_rain, attack_arrow, attack_fire, attack_fireball, attack_freeze, attack_gravity, attack_lightning, attack_poison, attack_push, attack_vacuum, attack_wither, fireworks_barrage, lightning_bolts, taze
Défensifs :
invulnerability_arrow, invulnerability_fall_damage, invulnerability_fire, invulnerability_fireworks, invulnerability_knockback, shield_wall
Divers :
attack_blinding, attack_confusing, attack_weakness, attack_web, bonus_loot, channel_healing, corpse, frost_walker, ground_pound, implosion, invisibility, moonwalk, movement_speed, taunt
Pouvoirs majeurs (verrouillés par type d'entité) :
MAJOR_ZOMBIE:zombie_bloat,zombie_friends,zombie_necronomicon,zombie_parentsMAJOR_SKELETON:bullet_hell,skeleton_pillar,skeleton_tracking_arrowMAJOR_BLAZE:firestorm,flame_pyreMAJOR_ENDERMAN:plasma_blasterMAJOR_GHAST:tracking_fireball
Uniques (appliqués uniquement lorsqu'un boss les demande nommément) :
death_slice, flamethrower, frost_cone, gold_explosion, gold_shotgun, hyper_loot, meteor_shower, photon_ray, spirit_walk, summon_embers, summon_the_returned, thunderstorm, plus les dix pouvoirs du Dragon de l'Ender : ender_dragon_aimed_fireball, ender_dragon_arrow_bombardment, ender_dragon_disco_fireballs, ender_dragon_empowered_lightning, ender_dragon_ender_fireball_bombardment, ender_dragon_endermite_bombardment, ender_dragon_fireball_bombardment, ender_dragon_potion_bombardment, ender_dragon_shockwave, ender_dragon_tornado
Encore en YAML :
bonus_coins.yml, custom_summon.yml (le système de renforts), elite_script.yml
Les pouvoirs sont ajoutés aux boss à l'aide du champ de liste powers :
powers:
- invulnerability_knockback.lua
- flame_pyre.lua
- spirit_walk.lua
Fonctionnalités avancées
Boss multi-phases
Les boss peuvent avoir plusieurs phases avec des fichiers de configuration distincts. Utilisez le champ phases pour référencer les fichiers de boss de phase, et phaseSpawnLocation pour définir où se produisent les transitions de phase.
Elite Scripts
Les Elite Scripts offrent des actions, conditions et délais déclenchés par événements. EliteScript YAML utilise le champ eliteScript du boss. Les pouvoirs Lua sont des fichiers .lua séparés, référencés dans powers ; voir Créer des pouvoirs.
Modèles personnalisés
Les boss et PNJ utilisent customModel pour les modèles d'entité. Les objets ont leurs propres champs, dont customModelV2, equipmentModelID et fmmItemModel ; voir Objets personnalisés. Les modèles d'entité et d'objet se configurent séparément.
Équipement de boss
Les champs d'équipement des boss acceptent des noms de matériaux Minecraft. Ils ne chargent pas de fichiers d'objets personnalisés ni leurs statistiques EliteMobs :
helmet: DIAMOND_HELMET
chestplate: IRON_CHESTPLATE
leggings: LEATHER_LEGGINGS
boots: CHAINMAIL_BOOTS
mainHand: GOLDEN_AXE
offHand: SHIELD
Exécution de commandes
Les boss peuvent exécuter des commandes lors d'événements spécifiques :
- onSpawnCommands - Exécutées lorsque le boss apparaît
- onDeathCommands - Exécutées lorsque le boss est vaincu
- onCombatEnterCommands - Exécutées lorsque le combat commence
- onCombatLeaveCommands - Exécutées lorsque le combat se termine
Messages de boss
Personnalisez les annonces de boss :
- spawnMessage - Diffusé lorsque le boss apparaît
- deathMessage - Diffusé lorsque le boss est vaincu (prend en charge l'espace réservé $players)
- escapeMessage - Diffusé lorsque le boss s'échappe
- locationMessage - Affiche la distance jusqu'au boss (prend en charge l'espace réservé $distance)
- deathMessages - Lignes envoyées dans l'ordre à la mort du boss si des attaquants sont enregistrés ; une liste non vide prime sur deathMessage. Ce n'est pas une sélection aléatoire
announcementPriority (0–3) contrôle la distribution des annonces, le suivi et le transfert vers DiscordSRV. À 0, les annonces de mort vont aux attaquants enregistrés ; les priorités positives les diffusent sur tout le serveur, et 3 les transmet aussi via l'intégration DiscordSRV configurée. Les annonces d'apparition et le suivi ont leurs propres règles.
Boss régionaux
Les boss régionaux utilisent le champ isRegionalBoss et peuvent avoir un rayon de laisse, des restrictions d'apparition et des changements d'état de bloc :
- leashRadius - Distance maximale par rapport au point d'apparition
- onSpawnBlockStates - Changements de bloc lorsque le boss apparaît
- onRemoveBlockStates - Changements de blocs à la défaite du boss ; les déchargements, disparitions et réinitialisations ordinaires n'appliquent pas l'état de défaite
Butin de classe automatique
Le butin de classe fournit des récompenses adaptées au niveau et à la classe du joueur. Ses rangs de rencontre et budgets de difficulté règlent la qualité indépendamment de la santé et des dégâts du boss. Les familles d'objets personnalisés peuvent fournir des noms, matériaux, descriptions et modèles définis par l'auteur.
Configuration du butin
Contrôlez les drops du boss :
dropsEliteMobsLoot- Active le traitement normal du butin généré et des pièces (truepar défaut) ; ce n'est pas un interrupteur général du butin défini ou de classedropsVanillaLoot- Active les drops vanilla (truepar défaut)dropsRandomLoot- Active le butin généré aléatoire dans le traitement normal (truepar défaut)uniqueLootList- Entrées de butin définies, traitées séparément de ces interrupteursclassLoot- Contrôle séparément le butin de classe automatique ; ses paramètres globaux et critères d'admissibilité restent applicables
Exemple :
uniqueLootList:
- filename=custom_sword.yml:chance=1.0
- filename=rare_helmet.yml:chance=0.05:amount=1
L'ancienne forme abrégée custom_sword.yml:1 est toujours analysée, mais le nombre après les deux-points est la chance de chute (1 = 100 %), et non la quantité. Utilisez amount= pour la quantité. Voir Tables de butin pour l'ensemble complet des options.
Contenu préconçu
EliteMobs livre des configurations préconçues pour la plupart des types de contenu et les écrit directement dans les dossiers de contenu normaux au premier démarrage — il n'existe pas de dossier /premade/ distinct sur le disque. Les fichiers générés (boss dans custombosses/, objets dans customitems/, PNJ dans npcs/, etc.) sont du YAML ordinaire et servent d'exemples fonctionnels pour votre propre contenu.
Le plugin fournit aussi les définitions des paquets préconçus ; leurs mondes et contenus supplémentaires sont téléchargés et installés via /em setup. Voir Empaqueteur de donjons.
Obtenir de l'aide
- Consultez la barre latérale pour des guides de création de contenu spécifiques
- Visitez le Discord d'EliteMobs pour le support communautaire
- Consultez le Dépôt GitHub pour des exemples de code source