Créer des Spawns
Que sont les Spawns Personnalisés ?
Les Spawns Personnalisés sont utilisés par les Événements et les renforts globaux pour définir comment, où et quand un événement doit faire apparaître le boss pour cet événement.
Les événements et renforts globaux définissent quel spawn ils utilisent en indiquant son nom de fichier.
Créer des Spawns Personnalisés
Les Spawns Personnalisés se trouvent dans le dossier customspawns. Un Spawn Personnalisé peut être utilisé par plusieurs événements en même temps, vous n'avez donc pas besoin d'en créer un par événement.
Voici un exemple de Spawn Personnalisé :
isEnabled: true
validWorldEnvironments:
- NORMAL
- CUSTOM
bypassWorldGuard: false
isSurfaceSpawn: true
Créer un Spawn Partout
Pour créer un spawn qui peut se produire n'importe où, votre configuration devrait ressembler à ceci :
isEnabled: true
canSpawnInLight: true
Cette configuration supprime la restriction de lumière sans ajouter de filtre de monde, d'heure ou de lune. La liste des mondes activés, les limites Y par défaut, les joueurs proches éligibles, les chunks chargés, les flags de protection et les contrôles de placement ci-dessous restent applicables.
Si vous souhaitez créer un spawn plus personnalisé, continuez la lecture ci-dessous.
Valeurs
isEnabled
Définit si le spawn est activé.
| Clé | Valeurs | Défaut |
|---|---|---|
isEnabled | Boolean | true |
Exemple
isEnabled: true
lowestYLevel
Définit le niveau Y minimal. La valeur par défaut 0 exclut les grottes à Y négatif. Utilisez une valeur comme -64 pour autoriser une recherche souterraine plus profonde. Cela ne change ni le tirage Y initial ni la limite interne de la recherche ascendante.
| Clé | Valeurs | Défaut |
|---|---|---|
lowestYLevel | Integer | 0 |
Exemple
lowestYLevel: 0
highestYLevel
Définit le niveau Y le plus haut (hauteur de la carte) utilisé.
| Clé | Valeurs | Défaut |
|---|---|---|
highestYLevel | Integer | 320 |
Exemple
highestYLevel: 320
validWorlds
Filtre les mondes lors de la sélection normale des joueurs, y compris pour les événements chronométrés. Omettez-le pour ne pas ajouter de filtre propre ; ValidWorlds.yml et les autres contrôles restent applicables. Les renforts globaux prennent directement les joueurs du monde de l'invocateur et ignorent ce filtre.
| Clé | Valeurs | Défaut |
|---|---|---|
validWorlds | String List | aucun |
Exemple
validWorlds:
- WORLD
- FUN_LAND
Si vous voulez que tous vos mondes soient valides, vous pouvez simplement ne pas utiliser ce paramètre ou le formater ainsi :
validWorlds: []
validWorldEnvironments
Filtre les environnements lors de la sélection normale des joueurs. Omettez-le pour ne pas ajouter de restriction d'environnement. Les renforts globaux prennent directement les joueurs du monde de l'invocateur et ignorent ce filtre.
| Clé | Valeurs | Défaut |
|---|---|---|
validWorldEnvironments | Environment List | aucun |
Exemple
validWorldEnvironments:
- NORMAL
- NETHER
Si vous voulez que tous les environnements soient valides, vous pouvez simplement ne pas utiliser ce paramètre ou le formater ainsi :
validWorldEnvironments: []
validBiomesV2
Définit les biomes où le spawn personnalisé peut se produire. Omettez-le, ou utilisez une liste vide, pour n'ajouter aucune restriction de biome.
Ce paramètre s'appelait validBiomes dans les anciennes versions d'EM.
Chaque entrée est une clé de biome. Un nom sans espace de noms, comme plains ou DEEP_OCEAN, est lu comme minecraft:<name>, et la casse n'a pas d'importance. Si une entrée ne correspond à aucun biome enregistré, EliteMobs enregistre un avertissement et désactive tout le fichier de spawn : les événements et renforts globaux qui l'utilisent ne peuvent alors pas apparaître.
Le biome est lu au point candidat tiré au hasard, avant qu'EliteMobs ne détermine son niveau Y final. Consultez Comment un emplacement de spawn est choisi.
| Clé | Valeurs | Défaut |
|---|---|---|
validBiomesV2 | Liste de biomes | aucun |
Exemple
validBiomesV2:
- minecraft:plains
- desert
earliestTime
Définit l'heure minimale en jeu pour le spawn. Les deux bornes sont incluses. L'intervalle ne peut pas traverser minuit : si earliestTime dépasse latestTime, le spawn ne se produit pas.
Une fois l'emplacement trouvé, EliteMobs vérifie earliestTime, latestTime et moonPhase à chaque tick et y attend que les conditions soient réunies. Après cette attente, il ne revérifie ni la distance aux joueurs, ni la lumière, ni le chargement du chunk, ni WorldGuard. Le test final du zombie et le contrôle de bannière de paix restent exécutés avant de placer le boss.
| Clé | Valeurs | Défaut |
|---|---|---|
earliestTime | Long | 0 |
Exemple
earliestTime: 0
latestTime
Définit l'heure maximale en jeu pour le spawn, incluse. Elle doit être supérieure ou égale à earliestTime.
| Clé | Valeurs | Défaut |
|---|---|---|
latestTime | Long | 24000 |
Exemple
latestTime: 24000
moonPhase
Définit la phase lunaire requise pour que le spawn personnalisé se produise.
| Clé | Valeurs | Défaut |
|---|---|---|
moonPhase | Spécial [1] | aucun |
Exemple
moonPhase: FULL_MOON
Spécial [1]
Déplier le Tableau
| Moon Phase | Aperçu |
|---|---|
NEW_MOON | 🌑 |
WAXING_CRESCENT | 🌒 |
FIRST_QUARTER | 🌓 |
WAXING_GIBBOUS | 🌔 |
FULL_MOON | 🌕 |
WANING_GIBBOUS | 🌖 |
WANING_CRESCENT | 🌘 |
LAST_QUARTER | 🌗 |
bypassWorldGuard
Vise à faire contourner au spawn personnalisé les systèmes de protection tels que WorldGuard.
Ce paramètre ne fait actuellement rien. EliteMobs lit la clé dans votre fichier de spawn mais n'en tient jamais compte : les flags WorldGuard sont toujours vérifiés, quelle que soit la valeur définie ici. Pour permettre à un spawn de se produire à l'intérieur d'une région protégée, définissez plutôt les flags WorldGuard adéquats sur cette région.
| Clé | Valeurs | Défaut |
|---|---|---|
bypassWorldGuard | Boolean | false |
canSpawnInLight
Contrôle la vérification de lumière lors du choix de l'emplacement. Avec false, la lumière combinée du bloc, y compris celle du ciel, doit être de 8 ou moins. Avec true, ce contrôle est ignoré.
| Clé | Valeurs | Défaut |
|---|---|---|
canSpawnInLight | Boolean | false |
Exemple
canSpawnInLight: false
isSurfaceSpawn
Définit si le spawn personnalisé ne peut se produire qu'à la surface d'un monde.
| Clé | Valeurs | Défaut |
|---|---|---|
isSurfaceSpawn | Boolean | false |
Exemple
isSurfaceSpawn: false
isUndergroundSpawn
Définit si le spawn personnalisé ne peut se produire que sous terre.
| Clé | Valeurs | Défaut |
|---|---|---|
isUndergroundSpawn | Boolean | false |
Exemple
isUndergroundSpawn: false
Comment un emplacement de spawn est choisi
EliteMobs ne parcourt pas le monde à la recherche d'un endroit. Il choisit un joueur en ligne au hasard et se décale à partir de lui :
- Un joueur éligible est choisi au hasard. Il est ignoré si ses données EliteMobs ne sont pas chargées, si son monde n'est pas dans
ValidWorlds.yml, s'il est dans une région d'instance de donjon, d'arène ou d'épreuve de classe, si son monde interdit l'apparition des mobs ou sivalidWorlds/validWorldEnvironmentsl'excluent. Les événements chronométrés excluent aussi les joueurs des mondes de donjon EliteMobs. Le mode de jeu n'exclut pas un joueur. - Le candidat utilise des décalages de 24 à 127 blocs en X et Z, avec un signe indépendant pour chaque axe. Les chunks non chargés sont rejetés ; la recherche ne charge pas de chunks.
- Y est déterminé par
isSurfaceSpawn,isUndergroundSpawnou, si aucun n'est activé, par une recherche ascendante de deux blocs d'air au-dessus d'un bloc non traversable. - Le candidat passe ensuite par les validations ci-dessous.
Les renforts globaux utilisent tous les joueurs du monde de l'invocateur au lieu de la liste filtrée de l'étape 1. Ils ignorent donc les contrôles de données chargées, de monde, d'environnement, d'instance et de règle d'apparition des mobs de cette étape. Leurs candidats restent soumis aux contrôles de biome, de hauteur, de proximité, de lumière et de WorldGuard.
Jusqu'à 100 candidats sont essayés, un par tick. Si aucun ne convient, EliteMobs attend une minute et réessaie. Le Y initial est tiré de 0 à 255. La recherche ascendante générique part de ce tirage et s'arrête à highestYLevel ou deux blocs sous la limite de construction du monde, selon la valeur la plus basse. La recherche souterraine descendante s'arrête à Y=-63 même si lowestYLevel est inférieur. Les modes surface et souterrain ont leurs propres recherches ; la surface est prioritaire si les deux sont activés.
Comportement de Validation du Spawn
EliteMobs vérifie les candidats pendant la recherche, puis effectue le test final du zombie et le contrôle de bannière de paix lorsque l'heure et la lune permettent le spawn :
- Proximité des joueurs : Les candidats à moins de 24 blocs d'un joueur sont rejetés, selon la distance tridimensionnelle
- Plafond du Nether : Les spawns au-dessus de Y=127 sont bloqués dans la dimension du Nether
- Sécurité des blocs : La recherche souterraine exige un sol solide ; la recherche ascendante générique exige un bloc non traversable. Les deux exigent deux blocs d'air au-dessus. Le mode surface utilise le bloc le plus haut de la colonne plus un, sans les mêmes contrôles d'espace libre.
- Niveau Y : L'emplacement final doit se situer entre
lowestYLevelethighestYLevel - Règles du jeu : La sélection normale des joueurs respecte la règle d'apparition des mobs du monde (
spawnMobsdepuis Minecraft 1.21.11,doMobSpawningauparavant). Les renforts globaux ignorent ce contrôle de sélection. - Flags WorldGuard : Vérifie les flags
elitemobs-events,elitemob-spawningainsi que le flagmob-spawningpropre à WorldGuard - Bannières de paix : Avec
suppressEventsactivé dansPeaceBanner.yml, comme par défaut, un emplacement protégé annule cette tentative. Un événement chronométré programme son prochain événement ; ce contrôle ne relance pas la recherche pour la tentative actuelle. - Test d'apparition final : Juste avant l'apparition du boss, EliteMobs fait apparaître puis retire immédiatement un simple zombie vanilla à cet emplacement. Si un autre plugin de protection bloque ce zombie, l'emplacement est écarté et la recherche recommence
Ces contrôles sont automatiques. La lumière et la bannière de paix ont les options décrites plus haut ; bypassWorldGuard ne désactive pas les contrôles WorldGuard.
