Créer des Boss
Créer des boss personnalisés
Avant de commencer
Où placer les fichiers de boss ?
Les fichiers de boss vont dans le dossier de configuration ~/plugins/EliteMobs/custombosses.
Il est possible de créer des sous-dossiers, comme ~/plugins/EliteMobs/custombosses/mybosses. C'est recommandé pour garder les choses bien organisées.
Un fichier définit un boss, même s'il est possible de faire apparaître le même boss plusieurs fois et même de définir plusieurs emplacements d'apparition pour un même fichier de boss.
Il est possible d'utiliser la webapp pour créer rapidement et facilement des boss personnalisés et bien plus encore.
Configuration minimale possible
Le plus petit fichier de configuration possible pour un Boss Personnalisé est :
Remarquez qu'il s'agit simplement d'un fichier vide. Cela fera malgré tout apparaître un boss personnalisé de type zombie avec un nom personnalisé, car ce sont les valeurs par défaut. Tout ce qui figure sur cette page est optionnel !
Exemple de boss
Voyons à quoi ressemble un fichier de boss.
Exemple
isEnabled: true
entityType: ZOMBIE
name: '&eTest boss'
level: dynamic
timeout: 10
isPersistent: false
healthMultiplier: 2.0
damageMultiplier: 0.5
helmet: GOLDEN_HELMET
chestplate: IRON_CHESTPLATE
leggings: LEATHER_LEGGINGS
boots: CHAINMAIL_BOOTS
mainHand: GOLDEN_AXE
offHand: SHIELD
isBaby: false
powers:
- invulnerability_knockback.lua
spawnMessage: A test boss has been spawned!
deathMessage: A test boss has been slain by $players!
escapeMessage: A test boss entity has escaped!
locationMessage: 'Test entity: $location'
uniqueLootList:
- magmaguys_toothpick.yml:1
dropsEliteMobsLoot: true
dropsVanillaLoot: true
trails:
- BARRIER
onDamageMessages:
- "I've hit you!"
onDamagedMessages:
- "I've been hit!"
Paramètres de base
isEnabled
Définit si le boss est activé.
| Clé | Valeurs | Défaut |
|---|---|---|
isEnabled | true / false | true |
Exemple
isEnabled: true
entityType
Définit le type d'entité du boss.
| Clé | Valeurs | Défaut |
|---|---|---|
entityType | À choisir ici. La valeur doit également être présente dans le dossier ~plugins/EliteMobs/mobproperties. | ZOMBIE |
Cubes de magma et Slimes
Comme ces types d'entités n'attaquent pas directement les joueurs mais infligent des dégâts par contact, cela peut provoquer de fortes rafales de dégâts en très peu de temps. Pour cette raison, nous déconseillons généralement de les utiliser fréquemment comme mobs Elite. Toutefois, si vous souhaitez malgré tout les utiliser, nous suggérons de régler damageMultiplier autour de 0.1.
Nous recommandons également d'utiliser l'EliteScript suivant pour empêcher les Cubes de magma ou les Slimes de bloquer les joueurs en stun-lock :
eliteScript:
NerfDamage:
Events:
- ZoneEnterEvent
- ZoneLeaveEvent
Zone:
shape: SPHERE
radius: 1
Target:
targetType: SELF
Actions:
- action: SET_MOB_AI
Target:
targetType: SELF
bValue: false
duration: 10
Exemple
entityType: ZOMBIE
name
Définit le nom du boss.
| Clé | Valeurs | Défaut |
|---|---|---|
name | String, accepte les color codes et les espaces réservés listés ci-dessous | "Default Name" |
Exemple
name: "$normalLevel &cCool boss!"

Si vous souhaitez inclure le niveau du boss dans son champ de nom, utilisez simplement l'un des espaces réservés suivants.
| Espace réservé | Description | Exemple | Résultat (pour un boss de niveau 10) |
|---|---|---|---|
$level | Remplacé par le niveau | "$level Cool boss" | 10 Cool boss |
$normalLevel | Remplacé par le niveau, conçu pour les mobs normaux | "$normalLevel Cool boss" | [10] Cool boss |
$minibossLevel | Remplacé par le niveau, conçu pour les mini-boss | "$minibossLevel Cool boss" | 〖10〗 Cool boss |
$bossLevel | Remplacé par le niveau, conçu pour les boss | "$bossLevel Cool boss" | 『10』 Cool boss |
$reinforcementLevel | Remplacé par le niveau, conçu pour les renforts | "$reinforcementLevel Cool boss" | 〔10〕 Cool Boss |
$eventBossLevel | Remplacé par le niveau, conçu pour les boss d'événement | "$eventBossLevel Cool boss" | 「10」 Cool boss |
Exemple
name: "$normalLevel &cCool boss!"

level
Définit le niveau du boss.
| Clé | Valeurs | Défaut |
|---|---|---|
level | Nombres Integer positifs ou dynamic | dynamic |
dynamic est utilisé pour les événements et s'ajuste au niveau des joueurs à proximité au moment de l'apparition du boss.
Ce n'est pas recommandé pour les boss régionaux.
Exemple
level: 1
scale
Définit l'échelle (la taille) du boss.
| Clé | Valeurs | Défaut |
|---|---|---|
scale | Multiplier | 1.0 |
Lors de la mise à l'échelle, 1.0 représente la taille par défaut. Pour agrandir l'entité, augmentez la valeur (par exemple 1.2). Pour la rétrécir, diminuez la valeur (par exemple 0.8).
Exemple
scale: 1.2
bossType
Définit le type du boss. Cela sert à afficher les barres de vie de boss et d'autres fonctionnalités.
| Clé | Valeurs | Défaut |
|---|---|---|
bossType | NORMAL, MINIBOSS, BOSS, REINFORCEMENT, EVENT | NORMAL |
MINIBOSS, BOSS et EVENT feront afficher au plugin des barres de vie lorsque les joueurs affrontent ces types de boss.
Note : REINFORCEMENT est généralement attribué automatiquement aux mobs de renfort invoqués, mais peut être défini manuellement si nécessaire.
Exemple
bossType: MINIBOSS
silent
Définit si les sons du boss doivent être coupés.
| Clé | Valeurs | Défaut |
|---|---|---|
silent | Boolean | false |
Lorsque cette option est réglée sur true, elle coupe tous les sons de mobs par défaut de Minecraft, si bien que le boss ne produit plus aucun son.
Exemple
silent: true
healthMultiplier
Définit les points de vie du boss. La valeur de ce paramètre détermine également le type de barre de vie affichée pendant le combat. Des valeurs plus élevées afficheront une barre de vie de mini-boss ou de boss complet.
| Clé | Valeurs | Défaut |
|---|---|---|
healthMultiplier | Multiplier | 1.0 |
Les points de vie finaux valent baseHealth × healthMultiplier, et ce produit est plafonné à la valeur settings.attribute.maxHealth.max du serveur définie dans spigot.yml. EliteMobs relève cette valeur à 2048 au démarrage si elle est inférieure, mais jamais au-delà : 2048 est donc le plafond effectif sur un serveur par défaut.
Les points de vie de base suivent la formule 2.1875 × 2^(level / 5), ils doublent donc tous les 5 niveaux. Combiné au plafonnement, chaque healthMultiplier possède un niveau au-delà duquel le boss cesse totalement de gagner des points de vie alors que ses dégâts continuent d'augmenter :
healthMultiplier | Les points de vie cessent d'augmenter au niveau |
|---|---|
1.0 | 50 |
2.0 | 45 |
5.0 | 38 |
7.0 | 36 |
10.0 | 33 |
20.0 | 28 |
40.0 | 23 |
Au-delà de ce niveau, le boss devient plus fragile par rapport à ses propres dégâts à mesure que vous montez : le joueur le tue en autant de coups, mais meurt plus vite. Lorsque le plafonnement se déclenche, EliteMobs consigne un avertissement nommant le boss, son niveau et le multiplicateur — surveillez la console lorsque vous réglez des boss de haut niveau.
Si vous avez réellement besoin de plus de 2048 PV, augmentez vous-même settings.attribute.maxHealth.max dans spigot.yml ; le plafonnement lit la valeur active du serveur, et non une constante codée en dur.
Exemple
healthMultiplier: 1.5
damageMultiplier
Définit le multiplicateur de dégâts du boss.
| Clé | Valeurs | Défaut |
|---|---|---|
damageMultiplier | Multiplier | 1.0 |
Exemple
damageMultiplier: 1.5
isBaby
Définit si le boss utilise la variante bébé du mob. Ne peut s'appliquer qu'aux mobs disposant d'une variante bébé. Si vous souhaitez déguiser le boss tout en le gardant bébé sous son déguisement (assurez-vous que l'entité de déguisement prend également en charge la variante bébé), vous pouvez utiliser ce paramètre :
disguise: HOGLIN:baby
| Clé | Valeurs | Défaut |
|---|---|---|
isBaby | true / false | false |
Exemple
isBaby: true
helmet/chestplate/leggings/boots/mainhand/offhand
Définit l'armure du boss. Tous les modèles Minecraft ne sont pas capables d'afficher une armure. L'armure du boss est purement cosmétique et n'affecte pas le gameplay.
| Clé | Valeurs | Défaut |
|---|---|---|
helmet | Material, UUID | aucun |
chestplate | Material | aucun |
leggings | Material | aucun |
boots | Material | aucun |
mainHand | Material | aucun |
offHand | Material | aucun |
Note : Ce champ vous permet également de définir des modèles personnalisés pour les objets. Pour définir l'ID du modèle personnalisé, ajoutez l'ID après le type de matériau en suivant ce format : ITEM_MATERIAL:ID. Exemple : DIAMOND_SWORD:1 fait porter au boss une épée en diamant avec le modèle personnalisé n°1 de votre pack de textures.
Note 2 : Ce champ vous permet également de définir des couleurs de cuir personnalisées avec le format ITEM_MATERIAL:CODE, où le code est la représentation hexadécimale de la couleur. Exemple : LEATHER_LEGGINGS:ffa500 créerait des jambières orange. Vous pouvez utiliser des codes hexadécimaux, il suffit de retirer le # du code. Vous pouvez obtenir des codes hexadécimaux ici.
Note 3 : Le champ helmet vous permet aussi de faire porter des têtes de joueur aux mobs. Récupérez simplement l'UUID de la tête de joueur que vous souhaitez utiliser et saisissez-le dans le champ helmet. Le joueur doit être en ligne pour que cela fonctionne, sinon la tête sera remplacée par une tête MineCraft générique. Vous pouvez obtenir les UUID des joueurs ici.
Exemple
helmet: 198c4123-cafc-45df-ba79-02a421eb8ce7
chestplate: DIAMOND_CHESTPLATE:1
leggings: LEATHER_LEGGINGS:ffa500
boots: NETHERITE_BOOTS
mainHand: DIAMOND_SWORD
offHand: SHIELD

powers
Définit les pouvoirs dont dispose le boss.
| Clé | Valeurs | Défaut |
|---|---|---|
powers | Reportez-vous à la liste ci-dessous | aucun |
Exemple
powers:
- hyper_loot.lua
- attack_arrow.lua
- mycoolpower.lua
Note : vous pouvez consulter cette page si vous souhaitez voir une liste des pouvoirs préfabriqués que vous pouvez utiliser.
Note : les pouvoirs peuvent être des fichiers .yml (EliteScript) ou .lua (scripts Lua). Les deux types sont pris en charge et peuvent être mélangés librement dans la liste powers. Presque tous les pouvoirs préfabriqués sont désormais en .lua.
.yml power names still workSi un pouvoir .lua existe avec le même nom de base, EliteMobs résout automatiquement une demande .yml vers celui-ci. Les configurations de boss écrites avant la migration vers Lua continuent de fonctionner sans modification — attack_arrow.yml charge de façon transparente attack_arrow.lua. Les nouvelles configurations devraient nommer directement le fichier .lua.
Configuration intermédiaire - Faire apparaître des renforts
Les renforts entrent également dans la catégorie des pouvoirs, en utilisant les paramètres suivants :
Note : les renforts se configurent dans la section powers de votre fichier de configuration de boss, et non dans une section distincte.
Paramètres des renforts
| Clé | Description | Valeurs | Défaut |
|---|---|---|---|
summonType | Ce qui déclenche l'apparition du renfort. Obligatoire. | Reportez-vous à la liste ci-dessous | aucun |
filename | Nom du fichier du boss à faire apparaître comme renfort. Obligatoire. | String | aucun |
chance | Probabilité d'apparition du renfort. Optionnel. | Double | 1.0 |
amount | Définit le nombre de renforts à faire apparaître. Optionnel. | Integer | 1 |
inheritAggro | Fait hériter au renfort l'aggro du boss. Optionnel. | true / false | false |
spawnNearby | Fait apparaître les renforts dans un rayon de 30 blocs autour du boss. Optionnel. | true / false | false |
inheritLevel | Fait hériter au renfort le niveau du boss. Optionnel | true / false | false |
customSpawn | Fait apparaître le renfort via le système de spawns personnalisés. Utilisé uniquement pour summonType: GLOBAL | Nom de fichier du Spawn Personnalisé | aucun |
location | Emplacement d'apparition. Optionnel. | world_name,x,y,z ou x,y,z pour un emplacement relatif au boss. Le décalage est relatif à l'emplacement d'apparition pour les boss régionaux. Vous pouvez aussi utiliser same_as_boss pour faire apparaître les renforts dans le même monde que le boss. | aucun |
lightningRod | Paramètre spécial pour summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL. Fait apparaître des éclairs autour des cristaux de l'End. Optionnel. | true / false | aucun |
Les types d'invocation définissent les conditions d'apparition des renforts. Voici la liste des types d'invocation valides :
Types d'invocation
| Valeur | Description |
|---|---|
ONCE | Fait apparaître les renforts une seule fois, la première fois que le boss subit des dégâts. |
ON_HIT | Fait apparaître les renforts à chaque coup reçu. |
ON_COMBAT_ENTER | Fait apparaître les renforts lorsque le boss entre en combat. |
ON_DEATH | Fait apparaître les renforts lorsque le boss meurt. |
GLOBAL | Fait apparaître un renfort pour chaque joueur en ligne. Nécessite que la clé customSpawn ait un spawn personnalisé valide. |
ON_COMBAT_ENTER_PLACE_CRYSTAL | Place des renforts de type cristal de l'End à l'entrée en combat, à utiliser uniquement avec des combats de dragon personnalisés. |
Notez qu'il est également possible de faire apparaître des renforts via les Elite Scripts, ce qui offre des méthodes d'apparition encore plus personnalisables.
Exemple
powers:
- summonType: ON_COMBAT_ENTER
filename: test_boss.yml
chance: 0.5
amount: 5
inheritAggro: true
spawnNearby: true
inheritLevel: true
location: same_as_boss,10,20,30
lightningRod: false
Configuration experte - Créer vos propres pouvoirs
Il est possible de créer vos propres pouvoirs, soit dans le fichier du boss lui-même, soit dans un nouveau fichier de configuration placé dans le dossier des pouvoirs. Vous pouvez en apprendre davantage ici.
Note : vous pouvez également définir les comportements du boss directement dans le fichier de configuration du boss à l'aide du champ eliteScript. Pour la documentation complète sur l'utilisation des Elite Scripts, consultez le guide des pouvoirs.
En alternative à EliteScript, vous pouvez aussi écrire des pouvoirs à l'aide de scripts Lua. Les pouvoirs Lua sont placés dans le dossier des pouvoirs avec l'extension .lua et référencés par leur nom de fichier dans la liste powers. Consultez le guide Lua Getting Started pour plus d'informations.
Limiter les pouvoirs selon la difficulté d'un donjon instancié
Les donjons instanciés peuvent avoir des réglages de difficulté, et il est possible de faire en sorte qu'un pouvoir donné ne soit activé que pour certaines difficultés.
Options de limitation des pouvoirs
Cela ne s'applique qu'aux donjons instanciés.
Exemple
powers:
- filename: movement_speed.lua
difficultyID:
- myDifficultyName1
- myDifficultyName2
- myDifficultyName3
spawnMessage
Définit le message à envoyer lorsque le boss apparaît. Nécessite la configuration de announcementPriority.
| Clé | Valeurs | Défaut |
|---|---|---|
spawnMessage | Strings et color codes | aucun |
Exemple
announcementPriority: 3
spawnMessage: I rise once more!
deathMessages
Définit la liste des messages à envoyer lorsque le boss meurt. Nécessite la configuration de announcementPriority.
| Clé | Valeurs | Défaut |
|---|---|---|
deathMessages | Strings, color codes et les espaces réservés ci-dessous | aucun |
Exemple
announcementPriority: 3
deathMessages:
- '&e&l---------------------------------------------'
- '&4The Test Boss has been killed!'
- '&c&l 1st Damager: $damager1name &cwith $damager1damage damage!'
- '&6&l 2nd Damager: $damager2name &6with $damager2damage damage!'
- '&e&l 3rd Damager: $damager3name &ewith $damager3damage damage!'
- '&4Slayers: $players'
- '&e&l---------------------------------------------'

Les messages de mort utilisent les espaces réservés suivants :
Espaces réservés
| Valeur | Description |
|---|---|
$damager1name | Le nom du principal attaquant |
$damager2name | Le nom du deuxième plus gros attaquant |
$damager3name | Le nom du troisième plus gros attaquant |
$damager1damage | La quantité de dégâts du principal attaquant |
$damager2damage | La quantité de dégâts du deuxième plus gros attaquant |
$damager3damage | La quantité de dégâts du troisième plus gros attaquant |
$players | Affiche la liste de tous les attaquants |
deathMessage
Définit un message unique à envoyer lorsque le boss meurt. C'est une alternative à deathMessages lorsque vous n'avez besoin que d'un seul message de mort plutôt que d'une liste. Nécessite la configuration de announcementPriority.
| Clé | Valeurs | Défaut |
|---|---|---|
deathMessage | String, color codes et les mêmes espaces réservés que deathMessages | aucun |
Exemple
announcementPriority: 3
deathMessage: '&4The Test Boss has been killed by $players!'
onKillMessage
Définit le message à envoyer lorsque le boss tue un joueur. Nécessite la configuration de announcementPriority.
| Clé | Valeurs | Défaut |
|---|---|---|
onKillMessage | Strings et color codes | aucun |
Espaces réservés :
| Valeur | Description |
|---|---|
$player | Le nom d'affichage du joueur qui a été tué |
$playerName | Le pseudo du joueur qui a été tué |
Exemple
announcementPriority: 3
onKillMessage: I win, you lose!
slimeSize
Définit la taille du boss slime, mais ne fonctionne que pour les Slimes et les Cubes de magma.
| Clé | Valeurs | Défaut |
|---|---|---|
slimeSize | Integer | 4 |
Exemple
slimeSize: 5
neutral
Définit si le boss apparaîtra en tant que mob neutre ou non. Cela ne s'applique qu'aux types d'entités pouvant être neutres, comme les Loups ou les Golems de fer.
| Clé | Valeurs | Défaut |
|---|---|---|
neutral | Boolean | false |
Exemple
neutral: true
Paramètres avancés
timeout
Définit la durée, en minutes, avant que le Boss Personnalisé ne disparaisse.
| Clé | Valeurs | Défaut |
|---|---|---|
timeout | Durée (en minutes) Integer | 0 |
Exemple
timeout: 20
Fait s'échapper le boss au bout de 20 minutes.
isPersistent
Définit si le boss peut survivre au déchargement d'un chunk. Recommandé uniquement pour les boss d'événement, en raison de l'impact potentiel sur les performances lié au chargement persistant des chunks et au suivi des entités entre les redémarrages du serveur.
| Clé | Valeurs | Défaut |
|---|---|---|
isPersistent | true / false | false |
Exemple
Exemple :
isPersistent: true
damageModifiers
Définit les armes contre lesquelles les boss peuvent être résistants ou vulnérables.
| Clé | Valeurs | Défaut |
|---|---|---|
damageModifiers | Material | aucun |
Exemple
damageModifiers:
- material:DIAMOND_SWORD,multiplier:0.8
- material:TRIDENT,multiplier:2.0
Dans cet exemple, les boss ne subiront que 80 % des dégâts des épées en diamant (soit 20 % de moins), mais subiront 200 % des dégâts des tridents (soit 2 fois plus).
normalizedCombat
Modifie les dégâts et les points de vie maximum du boss pour correspondre aux valeurs de l'entité normalisée dans ~/plugins/EliteMobs/mobproperties. C'est la valeur par défaut pour les boss régionaux, afin de garantir une courbe de difficulté régulière.
| Clé | Valeurs | Défaut |
|---|---|---|
normalizedCombat | true / false | false |
Exemple
Exemple :
normalizedCombat: true
scaledCombat
Définit si le boss utilise le système de combat mis à l'échelle. Lorsqu'il est activé, le boss simule d'être du même niveau que le joueur qui l'affronte : les dégâts, la mise à l'échelle des points de vie et le butin s'adaptent tous au niveau de progression du joueur plutôt qu'au niveau enregistré du boss. L'affrontement paraît ainsi tout aussi équitable pour tous les joueurs, quelle que soit leur progression.
Le combat mis à l'échelle est principalement conçu pour les boss d'événement du monde normal et les boss personnalisés qui doivent rester accessibles aux joueurs de tous niveaux. Pour du contenu de donjon avec une difficulté fixe voulue, utilisez plutôt normalizedCombat.
Lorsque scaledCombat: true est défini, il est prioritaire même si le boss utiliserait autrement le combat normalisé. Les mobs elite apparus naturellement utilisent le combat mis à l'échelle par défaut (contrôlé par le paramètre useScaledCombatForNaturalElites dans MobCombatSettings.yml).
Consultez la page Damage System pour tous les détails sur le fonctionnement du combat mis à l'échelle.
| Clé | Valeurs | Défaut |
|---|---|---|
scaledCombat | true / false | false |
Exemple
scaledCombat: true
escapeMessage
Définit le message diffusé aux joueurs lorsque le boss s'échappe via le mécanisme de timeout. Nécessite que announcementPriority soit configuré.
| Clé | Valeurs | Défaut |
|---|---|---|
escapeMessage | String | aucun |
Exemple
announcementPriority: 3
timeout: 60
escapeMessage: "Sayonara!"
locationMessage
Définit le message affiché dans la barre de boss. Cela sert à suivre à la fois les points de vie du Boss Personnalisé et sa position sur le serveur. Nécessite que announcementPriority soit configuré.
| Clé | Valeurs | Défaut |
|---|---|---|
locationMessage | String, Color codes et les espaces réservés listés ci-dessous | aucun |
Espaces réservés :
| Valeur | Description |
|---|---|
$distance | Remplacé par la distance séparant le joueur du Boss Personnalisé. C'est l'option à privilégier. |
$location | Remplacé par les coordonnées x y z du Boss Personnalisé |
Exemple
announcementPriority: 3
locationMessage: "&4Cool boss: At $location only $distance blocks away!"

Cela afficherait quelque chose comme Cool boss: At 414,55,347 only 10 blocks away!
uniqueLootList
Définit les Objets Personnalisés que le boss laisse tomber.
| Clé | Valeurs | Défaut |
|---|---|---|
uniqueLootList | List | aucun |
Les entrées de butin du Butin Personnalisé suivent le format des Tables de Butin. Plus d'informations ici ! Notez que certains fichiers plus anciens peuvent utiliser des tables de butin obsolètes, dont l'aspect diffère de l'exemple.
Exemple
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.02
- minecraft:type=DIAMOND:amount=1:chance=0.9
- magmaguys_toothpick.yml:0.5:elitemobs.*
dropsEliteMobsLoot
Définit si le boss laisse tomber du butin EliteMobs, hors objets de uniqueLootList. Cela inclut les pièces.
| Clé | Valeurs | Défaut |
|---|---|---|
dropsEliteMobsLoot | true / false | true |
Il est recommandé de le régler sur false pour les mobs de renfort.
Exemple
dropsEliteMobsLoot: true
dropsVanillaLoot
Définit si le Boss Personnalisé laissera tomber le butin vanilla habituellement associé à son type de mob vanilla.
| Clé | Valeurs | Défaut |
|---|---|---|
dropsVanillaLoot | true / false | true |
Exemple
dropsVanillaLoot: true
dropsRandomLoot
Définit si le Boss Personnalisé laissera tomber du butin généré de façon procédurale par EliteMobs. N'inclut pas les pièces elite.
| Clé | Valeurs | Défaut |
|---|---|---|
dropsRandomLoot | true / false | true |
Exemple
dropsRandomLoot: true
dropsSkillXP
Définit si le boss laisse tomber de l'XP de compétence lorsqu'il est tué. L'XP de compétence est utilisée par le système de bonus de compétence d'arme.
| Clé | Valeurs | Défaut |
|---|---|---|
dropsSkillXP | true / false | true |
Il est recommandé de le régler sur false pour les mobs de renfort ou les boss qui ne doivent pas contribuer à la progression des compétences.
Exemple
dropsSkillXP: false
trails
Définit la traînée que le boss laisse derrière lui lorsqu'il se déplace.
| Clé | Valeurs | Défaut |
|---|---|---|
trails | Particles ou matériaux d'objets | aucun |
Seules les particules ne nécessitant pas de données supplémentaires fonctionnent comme traînées de boss (c'est-à-dire toutes les « particules simples » de la liste des particules valides). Les particules comme BLOCK, DUST, ITEM, etc. sont ignorées silencieusement. Les noms de matériaux font apparaître à la place une traînée d'objets animée.
Exemple
trails:
- CLOUD
onDamageMessages
Définit le message que le Boss affiche lorsqu'il frappe un joueur. Il s'agit d'une liste, et le message utilisé est tiré au hasard dans cette liste.
| Clé | Valeurs | Défaut |
|---|---|---|
onDamageMessages | List | aucun |
Exemple
onDamageMessages:
- "I hit you!"
- "Haha I hit you!"

onDamagedMessages
Définit le message que le Boss affiche lorsqu'il subit des dégâts d'un joueur. Il s'agit d'une liste, et le message utilisé est tiré au hasard dans cette liste.
| Clé | Valeurs | Défaut |
|---|---|---|
onDamagedMessages | List | aucun |
Exemple
onDamagedMessages:
- "You hit me!"
- "I've been hit!"

mountedEntity
Définit l'entité que le boss va chevaucher.
| Clé | Valeurs | Défaut |
|---|---|---|
mountedEntity | Filename of the boss to mount ou type d'entité | aucun |
N'essayez pas de faire chevaucher le boss par lui-même.
Exemple
mountedEntity: wild_wolf.yml

Note : les boss régionaux partagent leur laisse avec l'entité qu'ils chevauchent, ce qui signifie que tous deux seront ramenés à l'emplacement d'apparition s'ils dépassent la distance autorisée par leur laisse.
announcementPriority
Définit le niveau de priorité des annonces. Les priorités basses signifient qu'aucune annonce n'est faite ; les priorités élevées permettent d'annoncer non seulement dans le chat, mais aussi sur Discord si celui-ci est configuré.
| Clé | Valeurs | Défaut |
|---|---|---|
announcementPriority | Integer | 0 |
Voici la liste de ce que font les différentes priorités :
| Valeur | Description |
|---|---|
0 | C'est la valeur par défaut. Le boss sera totalement silencieux, sans aucun message d'annonce. |
1 | Les boss peuvent envoyer des messages dans le chat : message d'apparition, messages de mort et d'évasion. Le suivi du boss via le menu /em est également activé à ce niveau, si un locationMessage est défini. |
2 | Identique à 1 pour les Boss Personnalisés — il n'existe pas de traitement distinct pour la priorité 2. (Les événements personnalisés traitent en revanche le 2 différemment ; voir Announcement Priority System.) |
3 | En plus de ce que fait 1, les messages diffusés seront répercutés sur Discord s'il est configuré. Informations sur la configuration de Discord ici. |
Voici un exemple de boss traçable, capable d'envoyer des messages d'apparition/de mort/d'évasion dans le chat et sur Discord :
Exemple
announcementPriority: 3
Note : vous devrez configurer le spawnMessage, le deathMessage/deathMessages et l'escapeMessage pour les annonces dans le chat et sur Discord, ainsi que le locationMessage pour la fonctionnalité de suivi, si vous souhaitez utiliser le niveau de Priorité d'Annonce correspondant.
Note : dès qu'un contenu d'annonce existe (spawnMessage, deathMessage, deathMessages, escapeMessage, etc.), announcementPriority prend automatiquement la valeur 1 s'il n'est pas défini explicitement.
followDistance
Définit la distance à laquelle les boss deviennent agressifs et entrent en combat. Mesurée depuis le mob lui-même.
| Clé | Valeurs | Défaut |
|---|---|---|
followDistance | Integer | 0 |
Note 1 : les boss régionaux ont un followDistance réduit de moitié hors combat. Cela évite qu'ils ne deviennent agressifs de trop loin, ce qui peut provoquer des problèmes de combat pénibles à cause des contraintes de laisse.
Note 2 : plus le followDistance est élevé, plus le boss est gourmand en CPU pour le serveur. À utiliser avec prudence et discernement !
Exemple
followDistance: 30
Définit une portée de 30 blocs : si un joueur s'approche du boss à cette distance, celui-ci se mettra à le poursuivre et à l'attaquer.
onDeathCommands
Définit la liste des commandes à exécuter à la mort d'un boss personnalisé.
| Clé | Valeurs | Défaut |
|---|---|---|
onDeathCommands | List | aucun |
La liste prend en charge les espaces réservés suivants :
| Valeur | Description |
|---|---|
$level | Espace réservé pour le niveau du boss. |
$name | Espace réservé pour le nom du boss. |
$chance=x$ | Fait en sorte qu'une commande n'ait qu'une certaine probabilité de s'exécuter. |
$players | Fait exécuter la commande une fois pour chaque joueur de la liste des attaquants, en la remplaçant à chaque fois par le pseudo d'un joueur différent de cette liste. |
$locationX | Coordonnée X du boss au moment de sa mort. |
$locationY | Coordonnée Y du boss au moment de sa mort. |
$locationZ | Coordonnée Z du boss au moment de sa mort. |
$damager1name | Pseudo du principal attaquant |
$damager2name | Pseudo du deuxième plus gros attaquant |
$damager3name | Pseudo du troisième plus gros attaquant |
Consultez l'exemple ci-dessous pour mieux comprendre leur fonctionnement.
Exemple
onDeathCommands:
- "say $players has killed $name! That was level $level!"
- "$chance=0.5$ say What a kill!"

Si Player1, Player2 et Player3 ont tous infligé des dégâts au boss avant de le tuer, voici ce que la commande produira dans la console :
say Player1 has killed CustomBossName! That was level X!
say Player2 has killed CustomBossName! That was level X!
say Player3 has killed CustomBossName! That was level X!
De plus, il y a 50 % de chances que le message suivant soit également affiché :
say What a kill!
onSpawnCommands
Définit la liste des commandes qui s'exécuteront à l'apparition du boss.
| Clé | Valeurs | Défaut |
|---|---|---|
onSpawnCommands | List | aucun |
Ceci utilise les mêmes espaces réservés que onDeathCommands ! Les espaces réservés liés aux attaquants ne s'appliqueront pas, puisqu'il n'y a aucun attaquant à ce moment-là.
Exemple
onSpawnCommands:
- say Boss has spawned!

onCombatEnterCommands
Définit la liste des commandes qui s'exécuteront lorsque le boss entre en combat.
| Clé | Valeurs | Défaut |
|---|---|---|
onCombatEnterCommands | List | aucun |
Ceci utilise les mêmes espaces réservés que onDeathCommands ! Les espaces réservés liés aux attaquants ne s'appliqueront pas, puisqu'il n'y a aucun attaquant à ce moment-là.
Exemple
onCombatEnterCommands:
- say Boss has entered combat!

onCombatLeaveCommands
Définit la liste des commandes à exécuter lorsque le boss quitte le combat.
| Clé | Valeurs | Défaut |
|---|---|---|
onCombatLeaveCommands | List | aucun |
Ceci utilise les mêmes espaces réservés que onDeathCommands !
Exemple
onCombatLeaveCommands:
- say Boss has left combat!

disguise
Définit le déguisement LibsDisguises si ce plugin est activé. Plus d'informations ici.
| Clé | Valeurs | Défaut |
|---|---|---|
disguise | String | aucun |
customDisguiseData | String | aucun |
Exemple de déguisement
disguise: CHICKEN

Exemple de déguisement personnalisé
disguise: custom:the_beast_sanctuary_beast
customDisguiseData: player the_beast_sanctuary_beast setskin {"id":"44e6d42b-bd8d-4e48-873b-fae7afed36e4","name":"Unknown","properties":[{"name":"textures","value":"ewogICJ0aW1lc3RhbXAiIDogMTY2NjcwNjYwODA1MCwKICAicHJvZmlsZUlkIiA6ICI3MmY5MTdjNWQyNDU0OTk0YjlmYzQ1YjVhM2YyMjIzMCIsCiAgInByb2ZpbGVOYW1lIiA6ICJUaGF0X0d1eV9Jc19NZSIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS82YmYyMTY4NmM1MGQ1ODhmZmExMDZhZDdjNmViZTk1ZWZiMjE2NDU5ODRjZDFjZWYwODkzNDc4NzMzNmI2YTI3IiwKICAgICAgIm1ldGFkYXRhIiA6IHsKICAgICAgICAibW9kZWwiIDogInNsaW0iCiAgICAgIH0KICAgIH0KICB9Cn0=","signature":"jSsQvpUeWVtyqjtnydPadormkrZLVihetiX4dFQb3+BF/1x6wOgsNKRnnwj6J1mfu2im79LYEJbL+fQ9p1SJIW1uZ6hV7vPSAGUopyXGHNibNXorfV/dGjM77S0t86Jls50XWgJAnLn5RdhQcHahDAHHZ8to6K0HW5gvKKSalR5X/myaiV0E5ujJ+LUFWIiuDmtsmyxTX1zsohyYrVMo/4sD0DpBN+as95wO476gLb5fDTDV569QwExlDOt60W8qSzPw6ncYsOKJIiRE3EddspUm3/NrfDiKApUh8UbzVtwu1XlVAxWNgYN3PkqhWKuE4kvORQuoSJzOgSHkiqdXsQOED2HXfOKdfsnpZUwjepIU5A+/mu0gc3mPQPToKSss2bC1nXn//0bOZZSuQRgTS6PkKDHIQ1nClSZQZlJIsiLmaaN2k1tIHTIlDquKN6G1Ta9c3t6G5kugjqRo78ebbt7l3e0Z3BcdOkuO2WbvBjIg5Uiqyf+cYDZedJ+OEOqL/U6VVlsmbw0rd5deHrbnPn9cRzmWGjrXnxIlAszl+0Uqabj/BrkWcbBCwZJEPaV1hHpC4nJX1m5xvKZHB2Bw0AYWaQ3f3tRBbCA/xqwCS0Px1QohzV0nvtiMbjB38ziT1M5DgLtAVLcHPio7THZMxXAi4IjEIMac9ODbh5OxthA="}],"legacy":false}

Définit un déguisement personnalisé issu de skindex. Consultez cette page pour apprendre à formater correctement ces données.
customModel
Définit le modèle personnalisé à utiliser, si vous disposez d'un modèle personnalisé et des plugins FreeMinecraftModels ou ModelEngine. Plus d'informations sur la création et l'utilisation de modèles personnalisés ici.
| Clé | Valeurs | Défaut |
|---|---|---|
customModel | String | aucun |
Exemple
customModel: your_model
customModelMountPointID
Définit l'ID du point d'attache pour les modèles personnalisés lorsque le boss chevauche une autre entité ou est chevauché par elle.
| Clé | Valeurs | Défaut |
|---|---|---|
customModelMountPointID | String | aucun |
Exemple
customModelMountPointID: your_mount_point_id
frozen
Définit si le boss peut se déplacer. Les boss figés peuvent toujours attaquer.
Note : cela peut ne pas fonctionner sur certaines entités.
| Clé | Valeurs | Défaut |
|---|---|---|
frozen | true / false | false |
Exemple
frozen: true
ai
Définit si l'IA du boss est activée. Lorsque ce paramètre est réglé sur false, le boss ne se déplacera ni n'attaquera de lui-même. C'est utile pour les boss entièrement contrôlés par des Elite Scripts.
| Clé | Valeurs | Défaut |
|---|---|---|
ai | true / false | true |
Exemple
ai: false
alwaysShowName
Définit si le boss affiche en permanence son étiquette de nom au-dessus de sa tête. Par défaut, les étiquettes de nom des boss ne s'affichent qu'en combat. Ce paramètre remplace ce comportement pour ce boss précis, rendant l'étiquette de nom toujours visible.
| Clé | Valeurs | Défaut |
|---|---|---|
alwaysShowName | true / false | false |
Exemple
alwaysShowName: true
reinforcement
Définit si le boss est un renfort. Les boss de renfort ne sont pas initialisés comme boss régionaux au démarrage et sont uniquement destinés à être invoqués comme renforts par d'autres boss.
| Clé | Valeurs | Défaut |
|---|---|---|
reinforcement | true / false | false |
Exemple
reinforcement: true
song
Définit la musique qu'un boss jouera, à partir de son apparition. Nécessite que le fichier .ogg de la musique soit présent dans le pack de ressources.
| Clé | Valeurs | Défaut |
|---|---|---|
song | String | aucun |
Note : le paramètre song requiert que followDistance soit défini, car followDistance détermine la portée à laquelle la musique commence à jouer.
Consultez l'exemple pour savoir comment définir la length (en millisecondes) de la song.
Exemple
Il existe deux façons de configurer les musiques. Voici la première :
song: name=elitemobs:ice_queen.idle length=76370
Cela jouera la musique ice_queen.idle pendant 76370 millisecondes, puis la mettra en boucle. Notez que l'emplacement de la musique est déterminé par le pack de ressources.
Voici la seconde façon de configurer les musiques :
song: name=elitemobs:ice_queen.end_transition length=14328->name=elitemobs:ice_queen.end_loop length=28657
Cela jouera la musique ice_queen.end_transition pendant 14328 millisecondes, puis enchaînera sur ice_queen.end_loop pendant 28657 millisecondes, en mettant end_loop en boucle.
Cela permet aux boss d'avoir une musique d'« intro » ou de « transition », puis une piste principale qui tourne en boucle.
cullReinforcements
Définit si les renforts du boss seront supprimés à la mort de celui-ci.
| Clé | Valeurs | Défaut |
|---|---|---|
cullReinforcements | true / false | true |
Exemple
cullReinforcements: true
movementSpeedAttribute
Définit la vitesse de déplacement du boss.
Note : au-delà de 0.36, cela risque d'être trop rapide.
| Clé | Valeurs | Défaut |
|---|---|---|
movementSpeedAttribute | Double | aucun |
Exemple
movementSpeedAttribute: 0.3
Phases de boss
Les boss peuvent avoir des phases qui changent lorsque le boss atteint un certain pourcentage de points de vie. Lorsque cela se produit, le boss se met à utiliser un fichier de configuration différent, ce qui signifie que tout peut changer chez le boss, y compris des éléments comme le type d'entité.
Pour en savoir plus sur les phases de boss, cliquez ici.
| Clé | Description | Valeurs | Défaut |
|---|---|---|---|
phases | Définit les phases que le boss aura. Obligatoire | List | aucun |
phaseSpawnLocation | Définit l'endroit où le boss de la phase apparaît. Optionnel | String | aucun |
Exemple
Pour cet exemple, nous allons montrer trois fichiers de configuration différents.
Premier fichier de configuration de boss : phase_1_boss.yml
name: "Phase 1"
entityType: ZOMBIE
phases:
- phase_2_boss.yml:0.60
- phase_3_boss.yml:0.30
Deuxième fichier de configuration de boss : phase_2_boss.yml
name: "Phase 2"
entityType: SKELETON
Troisième fichier de configuration de boss : phase_3_boss.yml
name: "Phase 3"
phaseSpawnLocation: same_as_boss,10,64,100,0,0
entityType: RAVAGER
Ce boss basculerait vers le fichier de configuration phase_2_boss.yml à 60 % de points de vie, puis vers le fichier de configuration phase_3_boss.yml à 30 % de points de vie, dans le même monde que la phase 2 et aux coordonnées x=10, y=64 et z=100. Le type d'entité et le nom du boss changeraient également.
Le format d'une entrée est filename:healthPercentage.
phaseSpawnLocation est optionnel ; s'il n'est pas défini, le boss changera de phase là où il se trouve.
Voici les points importants à connaître lors de la conception d'un boss à phases :
- Le fichier de configuration de la première phase définit toutes les phases du boss.
- La menace / les dégâts comptabilisés sont conservés d'une phase à l'autre pour les joueurs.
- Le changement de phase repose sur le pourcentage de points de vie perdus, qui est conservé lors du passage à une autre phase. Cela signifie qu'augmenter ou diminuer le healthMultiplier entre les phases ne soignera ni ne blessera le boss : il changera toujours au même pourcentage, mais disposera de plus ou moins de points de vie pour cette phase.
- Les boss à phases reviennent à la phase 1 s'ils sortent du combat.
- Les boss à phases qui sont également des boss régionaux partagent le même rayon de laisse et le même mécanisme de timeout sur toutes les phases, et réapparaîtront en tant que boss de phase 1 une fois le minuteur écoulé.
- Le fichier de configuration de la dernière phase définit le butin du boss.
- Les phases ne peuvent pas être sautées : des dégâts excédentaires feront tout de même changer le boss de phase au pourcentage défini.
- Les boss à phases qui ont des montures cessent d'être montés lors d'un changement de phase.
Boss régionaux
Les boss régionaux sont un type particulier de Boss Personnalisés qui apparaissent à un emplacement configuré précis et sont capables de réapparaître à cet emplacement après un délai. De plus, ils peuvent avoir des laisses qui garantissent qu'ils restent dans une zone donnée, entre autres fonctionnalités.
Ils sont utilisés pour tout le contenu de donjon. Pour en savoir plus sur les boss régionaux, cliquez ici.
| Clé | Description | Valeurs | Défaut |
|---|---|---|---|
isRegionalBoss | Définit si le boss est régional. Doit être true si vous voulez un boss régional. | true / false | false |
spawnLocations | Définit les emplacements d'apparition du boss. | Ajoutez-les via la commande /em place boss [filename.yml] ! | aucun |
spawnCooldown | Définit le délai de réapparition du boss, en minutes. | Integer | 0 |
leashRadius | Définit la distance que le boss peut parcourir depuis son point d'apparition avant d'être ramené en arrière. Mesurée depuis le point d'apparition. | Double | aucun |
onSpawnBlockStates | Définit les blocs que le boss modifiera lorsqu'il apparaît. | Voir les commandes ci-dessous | aucun |
onRemoveBlockStates | Définit les blocs que le boss modifiera lorsqu'il disparaît. | Voir les commandes ci-dessous | aucun |
Comme indiqué, les Boss Régionaux peuvent avoir des onSpawnBlockStates et des onRemoveBlockStates.
C'est une fonctionnalité très utile pour modifier les arènes de combat pendant le combat, en particulier lorsqu'elle est combinée aux changements de phase, car il devient possible d'ouvrir et de fermer les arènes en modifiant les états des blocs.
Le format de ces données est trop complexe pour être écrit manuellement, c'est pourquoi quelques commandes existent pour vous aider à les configurer :
| Commande | Description |
|---|---|
| /em transitiveBlocks register [regional_boss_file.yml] [on_spawn/on_remove] | Démarre l'enregistrement de sélections manuelles de blocs pour les états à l'apparition ou à la disparition. |
| /em transitiveBlocks edit [regional_boss_file.yml] [on_spawn/on_remove] | Modifie les états de blocs à l'apparition ou à la disparition. |
| /em transitiveBlocks registerArea [regional_boss_file.yml] [on_spawn/on_remove] | Permet aux administrateurs de sélectionner de grandes zones de blocs à enregistrer comme états. |
| /em transitiveBlocks editArea [regional_boss_file.yml] [on_spawn/on_remove] | Permet aux administrateurs de modifier de grandes zones de blocs à enregistrer comme états. |
Exemple d'utilisation :
Supposons que vous vouliez créer un combat où un boss apparaît dans une arène dotée d'une porte ouverte, et que vous souhaitiez que la porte se ferme au début du combat et se rouvre à la fin.
Pour cela, vous aurez besoin de deux phases de boss et devrez enregistrer trois jeux différents d'états de blocs. Pour cet exemple, je nommerai ces phases respectivement phase_1_boss.yml et phase_2_boss.yml.
- Utilisez
/em transitiveBlocks register phase_1_boss.yml on_spawnou/em transitiveBlocks edit phase_1_boss.yml on_spawnpour enregistrer les blocs de la porte dans leur état ouvert.
Cela revient à enregistrer les blocs d'air. La sélection par zone est recommandée ici.
C'est nécessaire pour garantir que la porte est ouverte à l'apparition du boss, afin que les joueurs aient assurément un moyen d'entrer.
- Utilisez
/em transitiveBlocks register phase_2_boss.yml on_spawnou/em transitiveBlocks edit phase_2_boss.yml on_spawnpour enregistrer les blocs de la porte dans leur état fermé.
Cela revient à enregistrer les blocs solides de la porte qui empêcheraient le joueur de sortir.
C'est nécessaire pour rendre la porte solide lorsque le boss entre en phase 2, empêchant ainsi les joueurs de sortir.
- Utilisez
/em transitiveBlocks register phase_2_boss.yml on_removeou/em transitiveBlocks edit phase_2_boss.yml on_removepour enregistrer les blocs de la porte dans leur état ouvert.
Cela revient à enregistrer de nouveau les mêmes blocs qu'à la première étape (les blocs d'air).
C'est nécessaire pour ouvrir la porte à la mort du boss, permettant aux joueurs de quitter l'arène.
alert
Définit si le boss est en alerte. Par défaut, les Boss Régionaux sont ralentis et ont une distance d'agression réduite lorsqu'ils sont hors combat. Ce paramètre empêche les Boss Régionaux d'être ralentis et d'avoir une distance d'agression réduite hors combat : ils se comporteront donc toujours de la même manière, en combat comme hors combat.
| Clé | Valeurs | Défaut |
|---|---|---|
alert | Boolean | false |
Exemple
alert: true
removeAfterDeath
Définit si le Boss Régional sera définitivement supprimé après avoir été tué. C'est ce que BetterStructures utilise pour les Sanctuaires, où le Boss Régional n'est conçu pour être affronté qu'une seule fois, puis plus jamais à cet emplacement.
| Clé | Valeurs | Défaut |
|---|---|---|
removeAfterDeath | Boolean | false |
Exemple
removeAfterDeath: true
Boss instanciés
Les boss instanciés sont un sous-type de Boss Régionaux utilisé dans les Donjons Instanciés.
| Clé | Description | Valeurs | Défaut |
|---|---|---|---|
instanced | Rend le boss personnalisé instancié. Obligatoire. | true / false | false |
Régler les boss sur instanciés est obligatoire pour que les donjons instanciés fonctionnent correctement. Nous recommandons également de retirer les laisses de tous les boss instanciés.
Exemple
instanced: true
