Aller au contenu principal

Création de Boss

webapp_banner.jpg

Création de boss personnalisés

Avant de commencer

Où vont 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, tels que ~/plugins/EliteMobs/custombosses/mesbosses. Ceci est recommandé pour garder les choses organisées.

Un fichier définit un boss, bien qu'il soit possible de faire apparaître le même boss plusieurs fois et même de définir plusieurs emplacements d'apparition pour le même fichier de boss.

Il est possible d'utiliser l'application web pour créer rapidement et facilement des boss personnalisés et plus encore.

Configuration minimale possible

Le fichier de configuration minimal possible pour un Boss Personnalisé est :

Notez que ceci est juste un fichier vide. Cela fera toujours apparaître un boss zombie personnalisé avec un nom personnalisé, car ce sont les valeurs par défaut. Tout dans cette page est optionnel !

Exemple de boss

Jetons un coup d'œil à un exemple de ce à 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.yml
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éValeursDéfaut
isEnabledtrue / falsetrue
Exemple
isEnabled: true

entityType

Définit le type d'entité du boss.

CléValeursDéfaut
entityTypeChoisir parmi ici.
La valeur doit également être présente dans le dossier ~plugins/EliteMobs/mobproperties.
ZOMBIE
Magma Cubes et Slimes

Étant donné que ces types d'entités n'attaquent pas les joueurs directement, mais infligent des dégâts par contact, cela peut entraîner d'importantes rafales de dégâts en peu de temps. Pour cette raison, nous ne recommandons généralement pas de les utiliser comme mobs Elite fréquemment. Cependant, si vous souhaitez toujours les utiliser, nous vous suggérons de définir damageMultiplier à environ 0.1.

Nous recommandons également d'utiliser l'EliteScript suivant pour empêcher les Magma Cubes ou Slimes de bloquer les joueurs :

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éValeursDéfaut
nameString, accepte les codes de couleur et les placeholders listés ci-dessous"Default Name"
Exemple
name: "$normalLevel &cCool boss!"

create_boss_name_pic_no_level.jpg

Si vous souhaitez inclure le niveau du boss dans leur champ de nom, utilisez simplement l'un des placeholders suivants.

PlaceholderDescriptionExempleSortie (pour un boss de niveau 10)
$levelRemplace par le niveau"$level Cool boss"10 Cool boss
$normalLevelRemplace par le niveau, fait pour les mobs normaux"$normalLevel Cool boss"[10] Cool boss
$minibossLevelRemplace par le niveau, fait pour les miniboss"$minibossLevel Cool boss"〖10〗 Cool boss
$bossLevelRemplace par le niveau, fait pour les boss"$bossLevel Cool boss"『10』 Cool boss
$reinforcementLevelRemplace par le niveau, fait pour les renforts"$reinforcementLevel Cool boss"〔10〕 Cool Boss
$eventBossLevelRemplace par le niveau, fait pour les boss d'événement"$eventBossLevel Cool boss"「10」 Cool boss
Exemple
name: "$normalLevel &cCool boss!"

create_boss_name_pic.jpg


level

Définit le niveau du boss.

CléValeursDéfaut
levelNombres Integer positifs ou dynamicdynamic

dynamic est utilisé pour les événements et s'ajuste au niveau des joueurs à proximité au moment de l'apparition du boss. Il n'est pas recommandé pour les boss régionaux.

Exemple
level: 1

scale

Définit l'échelle (taille) du boss.

CléValeursDéfaut
scaleMultiplier1.0

Lors de la mise à l'échelle, 1.0 représente la taille par défaut. Pour rendre l'entité plus grande, augmentez la valeur (par ex., 1.2). Pour rendre l'entité plus petite, diminuez la valeur (par ex., 0.8).

Exemple
scale: 1.2

bossType

Définit le type de boss. Ceci est utilisé pour afficher les barres de santé du boss et d'autres fonctionnalités.

CléValeursDéfaut
bossTypeNORMAL, MINIBOSS, BOSS, EVENTNORMAL

MINIBOSS, BOSS, EVENT feront que le plugin affichera des barres de santé lorsque les joueurs combattent ces types de boss.

Exemple
bossType: MINIBOSS

silent

Définit si les sons du boss doivent être coupés.

CléValeursDéfaut
silentBooleanfalse

Lorsqu'il est défini sur true, cette option coupe tous les sons de mobs Minecraft par défaut, faisant en sorte que le boss ne produise aucun son.

Exemple
silent: true

bossType

Définit le type de boss. Ceci est utilisé pour afficher les barres de santé du boss et d'autres fonctionnalités.

CléValeursDéfaut
bossTypeNORMAL, MINIBOSS, BOSS, EVENTNORMAL

MINIBOSS, BOSS, EVENT feront que le plugin affichera des barres de santé lorsque les joueurs combattent ces types de boss.

Exemple
bossType: MINIBOSS

healthMultiplier

Définit la santé du boss. La valeur de ce paramètre détermine également le type de barre de santé affichée pendant le combat. Des valeurs plus élevées afficheront une barre de santé de mini-boss ou de boss complet.

CléValeursDéfaut
healthMultiplierMultiplier1.0
Exemple
healthMultiplier: 1.5

damageMultiplier

Définit le multiplicateur de dégâts du boss.

CléValeursDéfaut
damageMultiplierMultiplier1.0
Exemple
damageMultiplier: 1.5

isBaby

Définit si le boss utilise la variante bébé du mob. Ne peut être appliqué qu'aux mobs avec des variantes bébé. Si vous souhaitez déguiser le boss mais souhaitez qu'il reste également un bébé pendant le déguisement (assurez-vous que l'entité du déguisement prend également en charge la variante bébé), vous pouvez utiliser ce paramètre :

disguise: HOGLIN:baby
CléValeursDéfaut
isBabytrue / falsefalse
Exemple
isBaby: true

helmet/chestplate/leggings/boots/mainhand/offhand

Définit l'armure du boss. Tous les modèles Minecraft ne peuvent pas afficher d'armure. L'armure du boss est purement cosmétique et n'affecte pas le gameplay.

CléValeursDéfaut
helmetMaterial, UUIDnone
chestplateMaterialnone
leggingsMaterialnone
bootsMaterialnone
mainHandMaterialnone
offHandMaterialnone

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 selon ce format : ITEM_MATERIAL:ID. Exemple : DIAMOND_SWORD:1 définit le boss pour porter une épée en diamant avec le modèle personnalisé #1 dans 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, supprimez simplement le # du code hexadécimal. Vous pouvez obtenir des codes hexadécimaux ici.

Note 3 : Le champ helmet vous permet également de définir des casques de mob comme des têtes de joueur. Obtenez simplement l'UUID de la tête de joueur que vous souhaitez utiliser et tapez-le dans le champ helmet. Le joueur doit être en ligne pour que cela fonctionne ou la tête sera par défaut 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

create_boss_armor.jpg


powers

Définit les pouvoirs que le boss possède.

CléValeursDéfaut
powersRéférez-vous à la liste ci-dessousnone
Exemple
powers:
- hyper_loot.yml
- attack_arrow.yml

Note : Vous pouvez consulter cette page si vous voulez voir une liste de pouvoirs prédéfinis que vous pouvez utiliser.


Configuration intermédiaire - Apparition de renforts

Les renforts vont également dans la catégorie powers, en utilisant les paramètres suivants :

Paramètres de renfort
CléDescriptionValeursDéfaut
summonTypeCe qui déclenche l'apparition du renfort. Obligatoire.Référez-vous à la liste ci-dessousnone
filenameNom de fichier du boss à faire apparaître en tant que renfort. Obligatoire.Stringnone
chanceChance d'apparition du renfort. Optionnel.Double1.0
amountDéfinit la quantité de renforts à faire apparaître. Optionnel.Integer1
inheritAggroFait hériter l'aggro du boss au renfort. Optionnel.true / falsefalse
spawnNearbyFait apparaître les renforts dans un rayon de 30 blocs du boss. Optionnel.true / falsefalse
inheritLevelFait hériter le niveau du boss au renfort. Optionneltrue / falsefalse
customSpawnFait apparaître le renfort en utilisant le système d'apparition personnalisé. Utilisé uniquement pour summonType: GLOBAL
locationEmplacement 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 également utiliser same_as_boss pour faire apparaître les renforts dans le même monde que le boss.none
lightningRodParamètre spécial pour summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL. Fait apparaître des éclairs autour des cristaux d'end. Optionnel.true / falsenone

Les types de convocation définissent les conditions d'apparition des renforts. Voici une liste des types de convocation valides :

Types de convocation
ValeurDescription
ONCENe fait apparaître les renforts qu'une seule fois, la première fois que le boss est endommagé.
ON_HITFait apparaître les renforts lors d'un coup.
ON_COMBAT_ENTERFait apparaître les renforts lorsque le boss entre en combat.
GLOBALFait apparaître un renfort pour chaque joueur en ligne. Nécessite que la clé customSpawn ait un custom spawn valide défini.
ON_COMBAT_ENTER_PLACE_CRYSTALPlace des cristaux d'end comme renforts à l'entrée en combat, uniquement pour une utilisation avec des combats de dragon personnalisés.

Notez qu'il est également possible de faire apparaître des renforts via Elite Scripts, il existe donc des moyens plus personnalisables de faire apparaître des renforts.

Exemple
powers:
- summonType: ON_COMBAT_ENTER
filename: test_boss.yml
chance: 0.5
amount: 5
inheritAggro: true
spawnNearby: true
inheritLevel: true
customSpawn: false
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 sur le fichier de boss lui-même, soit en tant que nouveau fichier de configuration dans le dossier powers. Vous pouvez en savoir plus à ce sujet ici.

Limitation des pouvoirs en fonction de la difficulté du donjon instancié

Les donjons instanciés peuvent avoir des paramètres de difficulté, et il est possible de faire en sorte qu'un pouvoir spécifique ne soit activé que pour des difficultés spécifiques.

Options de limitation de pouvoir
CléDescriptionValeursDéfaut
filenameNom de fichier du pouvoir.Stringnone
difficultyIDNom de difficulté, correspondant au nom de la difficulté dans le paquet de donjon.Stringnone

Cela ne s'appliquera qu'aux donjons instanciés.

Exemple
powers:
- filename: movement_speed.yml
difficultyID:
- myDifficultyName1
- myDifficultyName2
- myDifficultyName3

spawnMessage

Définit le message à envoyer lorsque le boss apparaît. Nécessite la configuration de announcementPriority.

CléValeursDéfaut
spawnMessageStrings et codes de couleurnone
Exemple
announcementPriority: 3
spawnMessage: I rise once more!

create_boss_spawn_message.jpg


deathMessages

Définit la liste des messages à envoyer lorsque le boss meurt. Nécessite la configuration de announcementPriority.

CléValeursDéfaut
deathMessagesStrings, codes de couleur et les placeholders ci-dessousnone
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---------------------------------------------'

create_boss_death_message.jpg

Les messages de mort utilisent les placeholders suivants :

Placeholders
ValeurDescription
$damager1nameLe nom du meilleur attaquant
$damager2nameLe nom du deuxième meilleur attaquant
$damager3nameLe nom du troisième meilleur attaquant
$damager1damageLe montant de dégâts du meilleur attaquant
$damager2damageLe montant de dégâts du deuxième meilleur attaquant
$damager3damageLe montant de dégâts du troisième meilleur attaquant
$playersAffiche une liste de tous les attaquants

onKillMessage

Définit le message à envoyer lorsque le boss tue un joueur. Nécessite la configuration de announcementPriority.

CléValeursDéfaut
onKillMessageStrings et codes de couleurnone
Exemple
announcementPriority: 3
onKillMessage: I win, you lose!

create_boss_spawn_message.jpg


slimeSize

Définit la taille du boss slime, mais ne fonctionne que pour les Slimes et Magmacubes.

CléValeursDéfaut
slimeSizeInteger4
Exemple
slimeSize: 5

neutral

Définit si le boss apparaîtra comme neutre ou non. Cela s'applique uniquement aux types d'entités qui peuvent être neutres tels que les loups ou les golems de fer.

CléValeursDéfaut
neutralBooleanfalse
Exemple
neutral: true

Paramètres avancés

timeout

Définit le temps, en minutes, avant que le Boss Personnalisé ne disparaisse.

CléValeursDéfaut
timeoutTemps (en minutes) Integer0
Exemple
timeout: 20

Définit le boss pour s'échapper après 20 minutes.


isPersistent

Définit si le boss peut survivre à un déchargement de chunk. Recommandé uniquement pour les boss d'événement.

CléValeursDéfaut
isPersistenttrue / falsefalse
Exemple

Exemple :

isPersistent: true

damageModifiers

Définit les armes contre lesquelles les boss peuvent être forts ou faibles.

CléValeursDéfaut
damageModifiersMaterialnone
Exemple
damageModifiers:
- material:DIAMOND_SWORD,multiplier:0.8
- material:TRIDENT,multiplier:2.0

Dans cet exemple, les boss ne subiront que 80% de dégâts des épées en diamant (ou 20% de moins), mais subiront 200% de dégâts des tridents (ou 2x plus).


normalizedCombat

Modifie les dégâts et la santé maximale 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 pour garantir une courbe de difficulté fluide.

CléValeursDéfaut
normalizedCombattrue / falsefalse
Exemple

Exemple :

normalizedCombat: true

escapeMessage

Définit le message diffusé aux joueurs lorsque le boss s'échappe via le mécanisme timeout. Nécessite que announcementPriority soit configuré.

CléValeursDéfaut
escapeMessageStringnone
Exemple
announcementPriority: 3
timeout: 60
escapeMessage: "Sayonara!"

create_boss_escape_message.jpg


locationMessage

Définit le message affiché dans la barre de boss. Ceci est utilisé pour suivre à la fois la santé du Boss Personnalisé et son emplacement sur le serveur. Nécessite que annoucementPriority soit configuré.

CléValeursDéfaut
locationMessageString, Codes de couleur et les placeholders listés ci-dessousnone

Placeholders :

ValeurDescription
$distanceEst remplacé par la distance à laquelle le joueur se trouve du Boss Personnalisé. C'est l'option préférable.
$locationEst remplacé par les coordonnées d'emplacement x y z du Boss Personnalisé
Exemple
announcementPriority: 3
locationMessage: "&4Cool boss: At $location only $distance blocks away!"

create_boss_location_message.jpg

Cela afficherait quelque chose comme Cool boss: At 414,55,347 only 10 blocks away!


uniqueLootList

Définit les Objets Personnalisés qui tombent du boss.

CléValeursDéfaut
uniqueLootListListnone

Les entrées de butin dans le Butin Personnalisé suivent le format de Table de Butin. Informations à ce sujet ici ! Notez que certains fichiers plus anciens peuvent utiliser des tables de butin obsolètes qui semblent différentes de l'exemple.

Exemple
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.02
- minecraft:type=DIAMOND:amount=1:chance=0.9
- SCRAP:level=5-10:amount=10-20:ignorePlayerLevel=false:chance=0.5
- UPGRADE_ITEM:level=5-10:amount=1-2:ignorePlayerLevel=false:chance=0.1
- magmaguys_toothpick.yml:0.5:elitemobs.*

dropsEliteMobsLoot

Définit si le boss lâchera du butin EliteMobs, à l'exclusion des objets dans uniqueLootList. Inclut les pièces.

CléValeursDéfaut
dropsEliteMobsLoottrue / falsetrue

Il est recommandé de définir sur false pour les mobs de renfort.

Exemple
dropsEliteMobsLoot: true

dropsVanillaLoot

Définit si le Boss Personnalisé lâchera le butin vanilla généralement associé à son type de mob vanilla.

CléValeursDéfaut
dropsVanillaLoottrue / falsetrue
Exemple
dropsVanillaLoot: true

dropsRandomLoot

Définit si le Boss Personnalisé lâchera du butin généré de manière procédurale par EliteMobs. N'inclut pas les pièces elite.

CléValeursDéfaut
dropsRandomLoottrue / falsetrue
Exemple
dropsRandomLoot: true

trails

Définit la traînée que le boss laisse derrière lui en se déplaçant.

CléValeursDéfaut
trailsParticles ou item materialsnone
Exemple
trails:
- CLOUD

onDamageMessages

Définit le message que le Boss Mob affiche lorsqu'il frappe un joueur. C'est une liste, et celui utilisé est randomisé à partir de la liste.

CléValeursDéfaut
onDamageMessagesListnone
Exemple
onDamageMessages:
- "I hit you!"
- "Haha I hit you!"

create_boss_damage_message.jpg


onDamagedMessages

Définit le message que le Boss Mob affiche lorsqu'il est endommagé par un joueur. C'est une liste, et celui utilisé est randomisé à partir de la liste.

CléValeursDéfaut
onDamagedMessagesListnone
Exemple
onDamagedMessages:
- "You hit me!"
- "I've been hit!"

create_boss_damaged_message.jpg


mountedEntity

Définit l'entité que le boss montera et chevaucera.

CléValeursDéfaut
onDamagedMessagesNom de fichier du boss à monter ou type d'entiténone

N'essayez pas de faire monter le boss sur lui-même.

Exemple
mountedEntity: wild_wolf.yml

create_boss_mounted.jpg

Note : Les boss régionaux partageront leur laisse avec l'entité qu'ils montent, ce qui signifie qu'ils seront tous deux ramenés à l'emplacement d'apparition s'ils dépassent la distance autorisée par leur laisse.


announcementPriority

Définit le niveau de priorité pour les annonces. Les priorités inférieures signifient qu'aucune annonce n'est faite, les priorités supérieures peuvent annoncer non seulement sur le chat mais aussi sur Discord si configuré.

CléValeursDéfaut
announcementPriorityInteger1

Voici une liste de ce que font les priorités :

ValeurDescription
0Le boss sera complètement silencieux, sans messages d'annonce.
1C'est la valeur par défaut. Les boss peuvent envoyer des messages de chat, message d'apparition, messages de mort et d'évasion.
2En plus des choses dans 1, le boss sera défini comme étant traçable par les joueurs via le menu /em.
3En plus des choses dans 2, les messages de diffusion seront reflétés sur Discord si configuré. Informations de configuration Discord ici.

Voici un exemple d'un boss qui est traçable, capable d'envoyer des messages d'apparition/mort/évasion sur le chat et sur Discord :

Exemple
announcementPriority: 3

Note : Vous devrez configurer spawnMessage, deathMessage/deathMessages, escapeMessage pour les annonces de chat et Discord et locationMessage pour la fonctionnalité de suivi si vous souhaitez utiliser le niveau de Priorité d'Annonce correspondant.


followDistance

Définit la distance à laquelle les boss aggravent et entrent en combat. Mesuré à partir du mob lui-même.

CléValeursDéfaut
followDistanceDoublenone, utilise les valeurs par défaut de Minecraft

Note 1 : Les boss régionaux ont la moitié de la followDistance lorsqu'ils sont hors combat. C'est pour qu'ils n'aggravent pas de trop loin, ce qui peut causer des problèmes de combat ennuyeux en raison des contraintes de laisse.

Note 2 : Plus la followDistance est élevée, plus le boss devient intensif pour le CPU du serveur. Utilisez avec prudence et responsabilité !

Exemple
followDistance: 30

Définit une portée de 30 blocs où si un joueur se rapproche à cette distance du boss, il commencera à poursuivre/attaquer le joueur.


onDeathCommands

Définit la liste des commandes à exécuter à la mort du boss personnalisé.

CléValeursDéfaut
onDeathCommandsListnone

La liste prend en charge les placeholders suivants :

ValeurDescription
$levelPlaceholder pour le niveau du boss.
$namePlaceholder pour le nom du boss.
$chance=x$Fait qu'une commande a une chance de s'exécuter.
$playersFait exécuter la commande une fois pour chaque joueur dans la liste des attaquants et remplace à chaque fois par le nom d'utilisateur d'un joueur différent de cette liste.
$locationXCoordonnée X du boss au moment de la mort.
$locationYCoordonnée Y du boss au moment de la mort.
$locationZCoordonnée Z du boss au moment de la mort.
$damager1nameNom d'utilisateur du meilleur attaquant
$damager2nameNom d'utilisateur du deuxième meilleur attaquant
$damager3nameNom d'utilisateur du troisième meilleur attaquant

Jetez un œil à l'exemple ci-dessous pour mieux comprendre comment ceux-ci fonctionnent.

Exemple
onDeathCommands:
- "say $players has killed $name! That was level $level!"
- "$chance=0.5$ say What a kill!"

create_boss_mounted.jpg

Si Player1, Player2 et Player3 ont tous endommagé le boss avant de le tuer, voici ce que sera la sortie de commande de 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 chance que ce qui suit soit également affiché :

say What a kill!

onSpawnCommands

Définit la liste des commandes qui s'exécuteront à l'apparition du boss.

CléValeursDéfaut
onSpawnCommandsListnone

Cela utilise les mêmes placeholders que onDeathCommands ! Les placeholders d'attaquant ne s'appliqueront pas car il n'y aura pas d'attaquants à ce moment-là.

Exemple
onSpawnCommands:
- say Boss has spawned!

create_boss_mounted.jpg


onCombatEnterCommands

Définit la liste des commandes qui s'exécuteront lorsque le boss entre en combat.

CléValeursDéfaut
onCombatEnterCommandsListnone

Cela utilise les mêmes placeholders que onDeathCommands ! Les placeholders d'attaquant ne s'appliqueront pas car il n'y aura pas d'attaquants à ce moment-là.

Exemple
onCombatEnterCommands:
- say Boss has entered combat!

create_boss_mounted.jpg


onCombatLeaveCommands

Définit la liste des commandes à exécuter lorsque le boss quitte le combat.

CléValeursDéfaut
onCombatLeaveCommandsListnone

Cela utilise les mêmes placeholders que onDeathCommands !

Exemple
onCombatLeaveCommands:
- say Boss has left combat!

create_boss_mounted.jpg


disguise

Définit le déguisement LibsDisguises si ce plugin est activé. Plus d'informations ici.

CléValeursDéfaut
disguiseStringnone
customDisguiseDataStringnone
Exemple de déguisement
disguise: CHICKEN

create_boss_mounted.jpg

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}

create_boss_mounted.jpg

Définit un déguisement personnalisé de skindex. Consultez cette page pour apprendre comment formater correctement ces données.


customModel

Définit le modèle personnalisé à utiliser, si vous avez un modèle personnalisé et les plugins FreeMinecraftModels ou ModelEngine. Plus d'informations sur la création et l'utilisation de modèles personnalisés ici.

CléValeursDéfaut
customModelStringnone
Exemple
customModel: your_model

frozen

Définit si le boss peut bouger. Les boss gelés peuvent toujours attaquer.
Note : cela pourrait ne pas fonctionner sur certaines entités.

CléValeursDéfaut
frozentrue / falsefalse
Exemple
frozen: true

song

Définit la musique qu'un boss jouera, à partir de son apparition. Nécessite le fichier .ogg pour la chanson dans le pack de ressources.

CléValeursDéfaut
songStringnone

Note : Le paramètre song nécessite que followDistance soit défini, car followDistance détermine la portée à laquelle la chanson commence à jouer. Consultez l'exemple sur la façon de définir la length (millisecondes) de la song.

Exemple

Il existe deux façons de configurer des chansons. Voici la première :

song: name=elitemobs:ice_queen.idle length=76370

Cela jouera la chanson ice_queen.idle pendant 76370 millisecondes puis la bouclera. Notez que l'emplacement de la chanson est déterminé par le pack de ressources.

Voici la deuxième façon de configurer des chansons :

song: name=elitemobs:ice_queen.end_transition length=14328->name=elitemobs:ice_queen.end_loop length=28657

Cela jouera la chanson ice_queen.end_transition pendant 14328 millisecondes puis passera à ice_queen.end_loop pendant 28657 millisecondes et bouclera le end_loop.

Cela permet aux boss d'avoir une chanson "intro" ou "transition" puis une piste principale qui boucle.


cullReinforcements

Définit si les renforts du boss seront supprimés lorsque le boss meurt.

CléValeursDéfaut
cullReinforcementstrue / falsetrue
Exemple
cullReinforcements: true

movementSpeedAttribute

Définit la vitesse de déplacement du boss.
Note : tout au-delà de 0.36 pourrait être trop rapide.

CléValeursDéfaut
movementSpeedAttributeDoublenone
Exemple
movementSpeedAttribute: 0.3

Phases de boss

Les boss peuvent avoir des phases qui changent lorsque le boss atteint un certain pourcentage de santé. Lorsque cela se produit, le boss commence à utiliser un fichier de configuration différent, ce qui signifie que tout sur le boss peut changer, y compris des choses comme le type d'entité.
Pour en savoir plus sur les phases de boss, cliquez ici.

CléDescriptionValeursDéfaut
phasesDéfinit les phases que le boss aura. ObligatoireListnone
phaseSpawnLocationDéfinit où le boss de phase apparaît. OptionnelStringnone
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 passerait au fichier de configuration phase_2_boss.yml à 60% de santé, et au fichier de configuration phase_3_boss.yml à 30% de santé 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 pour 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.

Les choses suivantes sont importantes à savoir lors de la conception d'un boss de phase :

  • Le fichier de configuration pour la première phase définit toutes les phases du boss.
  • La menace / les dégâts comptabilisés sont conservés entre les phases pour les joueurs.
  • Le changement de phases est basé sur le pourcentage de santé perdu, qui est préservé lors du passage à une phase différente. Cela signifie qu'augmenter ou diminuer le healthMultiplier entre les phases ne soignera ni ne blessera le boss, il changera toujours avec le même pourcentage, mais aura plus ou moins de santé pour cette phase.
  • Les boss de phase reviennent à la phase 1 s'ils sortent du combat.
  • Les boss de phase qui sont également des boss régionaux partagent le même rayon de laisse et mécanisme de timeout à travers toutes les phases, et réapparaîtront comme boss de phase 1 lorsque le timer sera terminé.
  • Le fichier de configuration pour la dernière phase définit le butin pour le boss.
  • Les phases ne peuvent pas être sautées - les dégâts excessifs feront toujours changer le boss de phase au pourcentage défini.
  • Les boss de phase qui ont des montures cessent d'être montés lors du changement de phases.

Boss régionaux

Les boss régionaux sont un type spécifique de Boss Personnalisés qui apparaissent à un emplacement spécifique configuré 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 spécifique, entre autres fonctionnalités.

Ceux-ci sont utilisés pour tout le contenu de donjon. Pour en savoir plus sur les boss régionaux, cliquez ici.

CléDescriptionValeursDéfaut
isRegionalBossDéfinit si le boss est régional. Doit être true si vous voulez un boss régional.true / falsefalse
spawnLocationDéfinit les emplacements d'apparition du boss.Ajoutez-les via la commande /em addSpawnLocation [filename.yml] !none
spawnCooldownDéfinit le temps de recharge de réapparition du boss, en minutes.Integer0
leashRadiusDéfinit la distance que le boss peut parcourir depuis son point d'apparition avant d'être ramené. Mesuré depuis l'apparition.Doublenone
onSpawnBlockStatesDéfinit les blocs que le boss modifiera lorsqu'il apparaît.Vérifiez les commandes ci-dessousnone
onRemoveBlockStatesDéfinit les blocs que le boss modifiera lorsqu'il disparaît.Vérifiez les commandes ci-dessousnone

Comme indiqué, les Boss Régionaux peuvent avoir onSpawnBlockStates et onRemoveBlockStates.

C'est une fonctionnalité très utile pour modifier les arènes de combat pendant le combat, surtout lorsqu'elle est combinée avec des changements de phase, car il devient possible d'ouvrir et de fermer des arènes de combat en changeant les états de blocs.

Le format pour ceux-ci est trop complexe pour être écrit manuellement, donc quelques commandes existent pour vous aider à les configurer :

CommandeDescription
/em registerblocks [regional_boss_file.yml] [on_spawn/on_remove]Commence à enregistrer les sélections de blocs manuelles pour les états de blocs on spawn ou on remove.
/em registerblocksedit [regional_boss_file.yml] [on_spawn/on_remove]Modifie les états de blocs on spawn ou on remove.
/em registerblocksarea [regional_boss_file.yml] [on_spawn/on_remove]Permet aux admins de sélectionner de grandes zones de blocs à enregistrer comme états.
/em registerblocksareaedit [regional_boss_file.yml] [on_spawn/on_remove]Permet aux admins de modifier de grandes zones de blocs à enregistrer comme états.
Exemple d'utilisation :

Disons que vous voulez créer un combat où un boss apparaît dans une arène qui a une porte ouverte, et vous voulez faire en sorte que la porte se ferme lorsque le combat commence et se rouvre lorsque le combat est terminé.

Pour ce faire, vous aurez besoin de deux phases de boss et d'enregistrer trois ensembles différents d'états de blocs. Pour cet exemple, je nommerai ces phases phase_1_boss.yml et phase_2_boss.yml respectivement.

  1. Utilisez /em registerblocks phase_1_boss.yml on_spawn ou /em registerblocksedit phase_1_boss.yml on_spawn pour enregistrer les blocs de porte dans leur état ouvert.

Cela signifie enregistrer les blocs d'air. La sélection de zone est recommandée ici.

Cela est nécessaire pour s'assurer que la porte est ouverte lorsque le boss apparaît afin que les joueurs aient un moyen d'entrer garanti.

  1. Utilisez /em registerblocks phase_2_boss.yml on_spawn ou /em registerblocksedit phase_2_boss.yml on_spawn pour enregistrer les blocs de porte dans leur état fermé.

Cela signifie enregistrer les blocs solides de la porte qui empêcheraient le joueur de partir.

Cela est nécessaire pour changer la porte en solide lorsque le boss entre en phase 2, empêchant les joueurs de partir.

  1. Utilisez /em registerblocks phase_2_boss.yml on_remove ou /em registerblocksedit phase_2_boss.yml on_remove pour enregistrer les blocs de porte dans leur état ouvert.

Cela signifie enregistrer les mêmes blocs de la première étape à nouveau (les blocs d'air).

Cela est nécessaire pour ouvrir la porte lorsque le boss meurt, 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'aggro plus courte lorsqu'ils sont hors combat. Ce paramètre empêche les Boss Régionaux d'être ralentis et d'avoir une distance d'aggro plus courte en dehors du combat, donc ils se comporteront toujours de la même manière en combat ou hors combat.

CléValeursDéfaut
alertBooleantrue
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 combattu qu'une seule fois et plus jamais à cet emplacement.

CléValeursDéfaut
removeAfterDeathBooleanfalse
Exemple
removeAfterDeath: true

Boss instanciés

Les boss instanciés sont un sous-type de Boss Régionaux utilisés dans les Donjons Instanciés.

CléDescriptionValeursDéfaut
instancedRend le boss personnalisé instancié. Obligatoire.true / falsefalse

Définir les boss comme instanciés est obligatoire pour que les donjons instanciés fonctionnent correctement. Nous recommandons également de supprimer les laisses pour tous les boss instanciés.

Exemple
instanced: true