Créer des Renforts Personnalisés
Si vous souhaitez invoquer des élites pendant le combat pour renforcer un boss, ce guide couvre cela en détail.
Étapes pour créer un boss personnalisé :
- Créez votre boss personnalisé principal qui invoquera votre boss personnalisé
- Créez un boss personnalisé pour les renforts. Gardez à l'esprit que les boss personnalisés peuvent être plus forts que les mobs vanilla, mais ils peuvent aussi être plus faibles.
- Ajoutez la bonne ligne de renfort au fichier de configuration
Créer la ligne de renfort
Supposons que vous ayez un boss personnalisé avec ce format :
isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml
Et que vous vouliez y ajouter des renforts. Voici à quoi pourrait ressembler un tel renfort :
- summonType:ON_COMBAT_ENTER
filename: binder_of_worlds_phase_1_parkour_reinforcement.yml
Et pour le rendre valide, ajoutez-le à la liste des powers :
isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml
- summonType: ON_COMBAT_ENTER
filename: binder_of_worlds_phase_1_parkour_reinforcement.yml
Le renfort est maintenant ajouté à l'entité boss. Cependant, comme vous pouvez le voir, il y a plusieurs options ici que vous pouvez personnaliser. Couvrons-les.
Toutes les options de Renfort Personnalisé
Astuce : Vous pouvez aussi utiliser EliteScript pour invoquer des renforts, plus d'informations à ce sujet ici.
summonType
C'est un champ obligatoire. Il définit le moment où le renfort doit apparaître.
| Key | Values | Default |
|---|---|---|
summonType | Spécial [1] | aucun (obligatoire) |
Exemple
summonType: ON_HIT
Spécial [1]
| Key | Description |
|---|---|
ONCE | Fait apparaître le renfort une seule fois, la première fois que le boss est touché. (peut dépendre d'une chance en %) |
ON_HIT | Fait apparaître le renfort à chaque fois que le boss est touché (peut dépendre d'une chance en %) |
ON_COMBAT_ENTER | Fait apparaître le renfort lorsque le boss entre en combat (1) |
ON_COMBAT_ENTER_PLACE_CRYSTAL | Spécial : ceci sert spécifiquement à placer des cristaux de l'End pour les combats de dragon lorsque le boss entre en combat (1) |
ON_DEATH | Fait apparaître le renfort lorsque le boss meurt |
GLOBAL | Fait apparaître des renforts pour chaque joueur dans le même monde que le boss. Les renforts apparaîtront près des joueurs, peu importe leur distance par rapport au boss. Le système impose un plafond de population de 30 renforts par joueur en ligne pour éviter de surcharger le serveur. Les renforts apparaissent toutes les 10 secondes (200 ticks) tant que le boss est en combat et que le plafond n'a pas été atteint. Cela nécessite que le champ customSpawn soit défini pour fonctionner ! |
(1) Les boss entrent en combat soit lorsqu'ils sont touchés par des joueurs, soit lorsqu'ils détectent un joueur à portée.
filename
C'est un champ obligatoire car il définit quel renfort doit apparaître. La seule exception à l'obligation de ce champ est lors de l'utilisation du paramètre summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL, car les cristaux de l'End ne sont pas des élites.
| Key | Values | Default |
|---|---|---|
filename | Filename | aucun |
Exemple
filename: test_boss.yml
Important : Le nom de fichier doit référencer un fichier de configuration de boss existant. Si le fichier n'existe pas, le renfort sera ignoré silencieusement lors de l'apparition du boss. Vérifiez toujours que vos fichiers de boss de renfort sont correctement créés et placés dans le dossier custombosses.
Viabilité Minimale
summonType: SUMMON_TYPE et filename: filename.yml suffisent à eux seuls pour créer un Renfort Personnalisé. L'exemple suivant le démontre.
Note : Les clés de configuration ne sont pas sensibles à la casse. summonType et SUMMONTYPE (ou toute autre capitalisation) fonctionneront correctement.
Exemple
isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml
- summonType: ON_COMBAT_ENTER
filename: binder_of_worlds_phase_1_parkour_reinforcement.yml
Cependant, si vous voulez ou avez besoin de quelque chose de plus complexe, continuez la lecture ci-dessous pour voir ce que vous pouvez faire d'autre avec ces options.
chance
C'est un champ de configuration optionnel conçu pour compléter les options ONCE et ON_HIT de summonType. Il représente la chance que le Renfort Personnalisé apparaisse lorsqu'un boss est touché.
| Key | Values | Default |
|---|---|---|
chance | Double | 1.0 |
Exemple
chance: 0.5
Représente une chance de 50 % de faire apparaître un Renfort Personnalisé.
location
location: x,y,z est un champ de configuration optionnel qui permet aux administrateurs de décaler l'emplacement du renfort d'un certain nombre de blocs. Voici les concepts clés que vous devez connaître sur cette option :
L'emplacement de décalage est relatif. Cela signifie que location: 0,10,0 fera apparaître un boss exactement 10 blocs au-dessus du boss, et non aux coordonnées mondiales 0,10,0.
L'emplacement relatif est différent pour les boss régionaux. Les boss régionaux utiliseront toujours leur point d'apparition comme origine de l'emplacement relatif, ce qui signifie que si vous savez où se trouve le point d'apparition du boss et que vous comptez les blocs, vous pouvez faire apparaître les boss de renfort à des emplacements spécifiques. Le repaire du Binder of Worlds repose là-dessus pour faire apparaître les boss de la tour de défi à des positions de blocs extrêmement précises, peu importe où se trouve le boss dragon.
Les boss apparaîtront à l'intérieur des blocs si vous vous trompez dans le calcul des distances.
| Key | Values | Default |
|---|---|---|
location | String | aucun |
Exemple
location: 0,10,0
Pour un Boss Personnalisé non régional, fera apparaître le renfort exactement 10 blocs au-dessus du boss, peu importe où il se trouve.
Pour un Boss Personnalisé régional, fera apparaître le renfort exactement 10 blocs au-dessus du point d'apparition du boss régional, peu importe où se trouve le boss.
Note importante : c'est un champ obligatoire spécifiquement pour summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL !
lightningRod
C'est un paramètre spécial utile uniquement pour summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL. Cela donne aux cristaux de l'End la capacité de frapper le sol autour d'eux avec un délai. Le cristal est marqué comme un « cristal élite » et héritera de la cible de combat actuelle du boss. Le cristal lui-même est non persistant et sera supprimé si le boss meurt ou quitte le combat.
Il ne peut pas être utilisé avec les autres Renforts Personnalisés, car ceux-ci doivent s'appuyer sur des powers pour ce genre de capacités.
| Key | Values | Default |
|---|---|---|
lightningRod | Boolean | false |
Exemple
lightningRod: false
inheritAggro
C'est un champ de configuration optionnel qui fait hériter aux Renforts Personnalisés les niveaux de menace du boss.
Ceci est particulièrement utile lorsque vous voulez que les renforts qui apparaissent ciblent la personne qui inflige le plus de dégâts.
| Key | Values | Default |
|---|---|---|
inheritAggro | Boolean | false |
Exemple
inheritAggro: false
amount
C'est un champ de configuration optionnel qui définit le nombre de Renforts qui apparaissent.
| Key | Values | Default |
|---|---|---|
amount | Integer | 1 |
Exemple
amount: 1
spawnNearby
C'est un champ de configuration optionnel qui définit si le Renfort Personnalisé doit apparaître à proximité plutôt que sur le boss ou à un emplacement relatif spécifique.
Apparaît dans une zone de 30x30 blocs (±15 blocs sur les axes X et Z par rapport au boss). Le système tente jusqu'à 30 fois de trouver un emplacement d'apparition valide au niveau du sol, en tenant compte des variations de terrain. Si aucun emplacement valide n'est trouvé après 30 tentatives, le renfort apparaît à l'emplacement exact du boss.
| Key | Values | Default |
|---|---|---|
spawnNearby | Boolean | false |
Exemple
spawnNearby: false
inheritLevel
C'est un champ de configuration optionnel qui définit si le Renfort Personnalisé doit hériter du niveau du Boss Personnalisé qu'il renforce.
| Key | Values | Default |
|---|---|---|
inheritLevel | Boolean | false |
Exemple
inheritLevel: false
customSpawn
C'est un champ de configuration qui n'est utilisé que pour les renforts globaux. Il utilise les paramètres de spawn personnalisé pour définir où les renforts pourront apparaître.
Cela peut être utilisé pour permettre aux renforts d'apparaître à la surface, dans des endroits éclairés, dans des biomes spécifiques, etc. Consultez la page wiki sur les Spawns Personnalisés pour plus de détails
| Key | Values | Default |
|---|---|---|
customSpawn | Filename | aucun |
Exemple
customSpawn: normal_surface_spawn.yml
Assembler un grand renfort
Créons un exemple de renfort en utilisant la plupart des champs précédents :
- summonType: ON_COMBAT_ENTER
filename: test_boss.yml
spawnNearby: true
inheritAggro: true
inheritLevel: true
Cela fait ce qui suit :
- Crée un Renfort Personnalisé
- Le Renfort Personnalisé apparaîtra lorsque le Boss Personnalisé entre en combat (
summonType: ON_COMBAT_ENTER) - Le Renfort Personnalisé invoqué sera celui de
test_boss.yml(filename: test_boss.yml) - Le Renfort Personnalisé apparaîtra dans un rayon de 30 blocs de l'emplacement actuel du Boss Personnalisé (
spawnNearby: true) - Le Renfort Personnalisé héritera de l'aggro du Boss Personnalisé qu'il renforce, ce qui signifie qu'il attaquera le joueur qui a infligé le plus de dégâts (
inheritAggro: true) - Quel que soit le paramètre dans
test_boss.yml, le Renfort Personnalisé aura le même niveau que le Boss Personnalisé qu'il renforce (inheritLevel: true)
- summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL
location: -80,10,0
lightningRod: true
Cela fait ce qui suit :
- Crée un Renfort Personnalisé
- Le Renfort Personnalisé sera un Cristal de l'End qui est placé lorsque le combat commence (
summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL) - Le Cristal de l'End frappera le sol autour avec un délai (
lightningRod: true)
# Example: Boss that spawns revenge minions on death
- summonType: ON_DEATH
filename: revenge_minion.yml
amount: 3
spawnNearby: true
Cela fait ce qui suit :
- Crée un Renfort Personnalisé
- Le Renfort Personnalisé apparaîtra lorsque le boss meurt (
summonType: ON_DEATH) - Le Renfort Personnalisé invoqué sera celui de
revenge_minion.yml(filename: revenge_minion.yml) - Trois renforts apparaîtront (
amount: 3) - Les renforts apparaîtront dans un rayon de 30 blocs de l'endroit où le boss est mort (
spawnNearby: true)
Maintenant, pour appliquer cela au Boss Personnalisé :
isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml
- summonType: ON_COMBAT_ENTER
filename: test_boss.yml
spawnNearby: true
inheritAggro: true
inheritLevel: true
- summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL
location: -80,10,0
lightningRod: true
Et c'est terminé ! Voici quelques conseils supplémentaires :
- Les champs peuvent être définis dans n'importe quel ordre, bien qu'il soit recommandé de toujours avoir
summonTypeen premier ! - Ceci est une grande amélioration par rapport à l'ancien système de renforts, qui n'est plus listé. Il n'est pas recommandé de s'y fier à ce stade, car il pourrait cesser de fonctionner à l'avenir.