Spawns erstellen
Was sind benutzerdefinierte Spawns?
Benutzerdefinierte Spawns werden von Events und globalen Verstärkungen verwendet, um festzulegen, wie, wo und wann ein Event den Boss für dieses Event spawnen soll.
Events und globale Verstärkungen legen über den Dateinamen fest, welchen Spawn sie verwenden.
Benutzerdefinierte Spawns erstellen
Benutzerdefinierte Spawns gehören in den Ordner customspawns. Ein benutzerdefinierter Spawn kann von mehreren Events gleichzeitig verwendet werden, du musst also nicht für jedes Event einen eigenen erstellen.
Hier ist ein Beispiel für einen benutzerdefinierten Spawn:
isEnabled: true
validWorldEnvironments:
- NORMAL
- CUSTOM
bypassWorldGuard: false
isSurfaceSpawn: true
Einen überall möglichen Spawn erstellen
Um einen Spawn zu erstellen, der überall auftreten kann, sollte deine Konfiguration etwa so aussehen:
isEnabled: true
canSpawnInLight: true
Dies entfernt die Lichtbeschränkung und fügt keinen eigenen Welt-, Zeit- oder Mondfilter hinzu. Die Liste aktivierter Welten, der standardmäßige Y-Bereich, geeignete Spieler in der Nähe, geladene Chunks, Schutz-Flags und die folgenden Platzierungsprüfungen gelten weiterhin.
Wenn du daran interessiert bist, einen stärker angepassten Spawn zu erstellen, lies unten weiter.
Werte
isEnabled
Legt fest, ob der Spawn aktiviert ist.
| Schlüssel | Werte | Standard |
|---|---|---|
isEnabled | Boolean | true |
Beispiel
isEnabled: true
lowestYLevel
Legt das niedrigste Y-Level fest. Der Standardwert 0 schließt Höhlen mit negativem Y aus; verwende beispielsweise -64, um die unterirdische Suche auch in tieferen Höhlen zu erlauben. Das ändert weder die anfängliche zufällige Y-Auswahl noch die eingebaute Höhengrenze der Aufwärtssuche.
| Schlüssel | Werte | Standard |
|---|---|---|
lowestYLevel | Integer | 0 |
Beispiel
lowestYLevel: 0
highestYLevel
Legt das höchste verwendete Y-Level (Kartenhöhe) fest.
| Schlüssel | Werte | Standard |
|---|---|---|
highestYLevel | Integer | 320 |
Beispiel
highestYLevel: 320
validWorlds
Filtert die Welten für die gewöhnliche Spielerauswahl, einschließlich zeitgesteuerter Ereignisse. Lass die Einstellung weg, um keinen eigenen Weltfilter hinzuzufügen; ValidWorlds.yml und die anderen Eignungsprüfungen gelten weiterhin. Globale Verstärkungen wählen Spieler direkt aus der Welt des Beschwörers und wenden diesen Filter nicht an.
| Schlüssel | Werte | Standard |
|---|---|---|
validWorlds | String-Liste | keine |
Beispiel
validWorlds:
- WORLD
- FUN_LAND
Wenn du möchtest, dass alle deine Welten gültig sind, kannst du die Einstellung einfach nicht verwenden oder sie so formatieren:
validWorlds: []
validWorldEnvironments
Filtert die Weltumgebungen für die gewöhnliche Spielerauswahl. Lass die Einstellung weg, um keine Umgebungsbeschränkung hinzuzufügen. Globale Verstärkungen wählen Spieler direkt aus der Welt des Beschwörers und wenden diesen Filter nicht an.
| Schlüssel | Werte | Standard |
|---|---|---|
validWorldEnvironments | Umgebungsliste | keine |
Beispiel
validWorldEnvironments:
- NORMAL
- NETHER
Wenn du möchtest, dass alle Umgebungen gültig sind, kannst du die Einstellung einfach nicht verwenden oder sie so formatieren:
validWorldEnvironments: []
validBiomesV2
Legt die Biome fest, in denen der benutzerdefinierte Spawn stattfinden kann. Lass die Einstellung weg oder verwende eine leere Liste, um keine Biombeschränkung hinzuzufügen. In älteren Versionen hieß sie validBiomes.
Jeder Eintrag ist ein Biom-Schlüssel. Ein Name ohne Namespace wie plains oder DEEP_OCEAN wird als minecraft:<name> gelesen; Groß- und Kleinschreibung spielt keine Rolle. Ist ein Eintrag kein registriertes Biom, protokolliert EliteMobs eine Warnung und deaktiviert die gesamte Spawn-Datei, sodass Events und globale Verstärkungen, die sie verwenden, nicht spawnen können.
Das Biom wird am zufällig gewählten Kandidatenpunkt gelesen, bevor EliteMobs die endgültige Y-Höhe bestimmt. Siehe Wie ein Spawn-Ort ausgewählt wird.
| Schlüssel | Werte | Standard |
|---|---|---|
validBiomesV2 | Biomliste | keine |
Beispiel
validBiomesV2:
- minecraft:plains
- desert
earliestTime
Legt die früheste Spielzeit für den Spawn fest. Beide Zeitgrenzen sind eingeschlossen. Das Intervall kann nicht über Mitternacht laufen: Ist earliestTime größer als latestTime, findet kein Spawn statt.
Sobald ein Ort gefunden wurde, prüft EliteMobs earliestTime, latestTime und moonPhase jeden Tick und wartet dort, bis sie passen. Nach dieser Wartezeit werden Spielerabstand, Licht, geladener Chunk und WorldGuard nicht erneut geprüft. Der abschließende Zombietest und die Friedensbannerprüfung laufen weiterhin vor dem Platzieren des Bosses.
| Schlüssel | Werte | Standard |
|---|---|---|
earliestTime | Long | 0 |
Beispiel
earliestTime: 0
latestTime
Legt die späteste Spielzeit für den Spawn einschließlich dieser Grenze fest. Sie muss größer oder gleich earliestTime sein.
| Schlüssel | Werte | Standard |
|---|---|---|
latestTime | Long | 24000 |
Beispiel
latestTime: 24000
moonPhase
Legt die erforderliche Mondphase fest, damit der benutzerdefinierte Spawn auftritt.
| Schlüssel | Werte | Standard |
|---|---|---|
moonPhase | Speziell [1] | keiner |
Beispiel
moonPhase: FULL_MOON
Speziell [1]
Tabelle aufklappen
| Mondphase | Vorschau |
|---|---|
NEW_MOON | 🌑 |
WAXING_CRESCENT | 🌒 |
FIRST_QUARTER | 🌓 |
WAXING_GIBBOUS | 🌔 |
FULL_MOON | 🌕 |
WANING_GIBBOUS | 🌖 |
WANING_CRESCENT | 🌘 |
LAST_QUARTER | 🌗 |
bypassWorldGuard
Diese Einstellung soll den Spawn Schutzsysteme wie WorldGuard umgehen lassen.
Die Einstellung hat derzeit keine Wirkung. EliteMobs liest den Schlüssel, verwendet den Wert aber nicht. WorldGuard-Flags werden immer geprüft. Passe die relevanten Flags in der Region an, um dort einen Spawn zuzulassen.
| Schlüssel | Werte | Standard |
|---|---|---|
bypassWorldGuard | Boolean | false |
canSpawnInLight
Steuert die Lichtprüfung bei der Ortswahl. Bei false darf die kombinierte Lichtstufe des Blocks einschließlich Himmelslicht höchstens 8 sein. Bei true entfällt diese Prüfung.
| Schlüssel | Werte | Standard |
|---|---|---|
canSpawnInLight | Boolean | false |
Beispiel
canSpawnInLight: false
isSurfaceSpawn
Legt fest, ob der benutzerdefinierte Spawn nur an der Oberfläche einer Welt auftreten kann.
| Schlüssel | Werte | Standard |
|---|---|---|
isSurfaceSpawn | Boolean | false |
Beispiel
isSurfaceSpawn: false
isUndergroundSpawn
Legt fest, ob der benutzerdefinierte Spawn nur unter der Erde auftreten kann.
| Schlüssel | Werte | Standard |
|---|---|---|
isUndergroundSpawn | Boolean | false |
Beispiel
isUndergroundSpawn: false
Wie ein Spawn-Ort ausgewählt wird
EliteMobs durchsucht die Welt nicht nach einer Stelle. Es wählt einen zufälligen Online-Spieler und rechnet von ihm aus einen Versatz:
- Ein geeigneter Spieler wird zufällig gewählt. Er wird übersprungen, wenn seine EliteMobs-Daten nicht geladen sind, seine Welt nicht in
ValidWorlds.ymlsteht, er sich in einer Instanzregion für einen Dungeon, eine Arena oder eine Klassenprüfung befindet, seine Welt Mob-Spawning verbietet odervalidWorlds/validWorldEnvironmentssie ausschließen. Zeitgesteuerte Events schließen zusätzlich Spieler in EliteMobs-Dungeon-Welten aus. Der Spielmodus schließt einen Spieler nicht aus. - Eine Kandidatenstelle verwendet Versätze von 24 bis einschließlich 127 Blöcken auf X und Z, deren Vorzeichen unabhängig gewählt werden. Kandidaten in ungeladenen Chunks werden abgelehnt; die Suche lädt keine Chunks, um einen Spawn-Ort zu finden.
- Die Y-Höhe ergibt sich aus
isSurfaceSpawn,isUndergroundSpawnoder, wenn beide deaktiviert sind, aus einer Aufwärtssuche nach zwei Luftblöcken über einem nicht passierbaren Block. - Der Kandidat durchläuft anschließend die untenstehenden Validierungen.
Globale Verstärkungen verwenden alle Spieler in der Welt des Beschwörers statt der gefilterten Spielerliste aus Schritt 1. Sie überspringen daher dessen Prüfungen auf geladene Daten, Welt, Umgebung, Instanz und Mob-Spawning-Spielregel. Ihre Kandidatenorte durchlaufen weiterhin die Biom-, Höhen-, Nähe-, Licht- und WorldGuard-Prüfungen.
Es werden bis zu 100 Kandidaten geprüft, einer pro Tick. Funktioniert keiner, wartet EliteMobs eine Minute und versucht es erneut. Die anfängliche Y-Auswahl liegt bei 0–255. Die allgemeine Aufwärtssuche beginnt bei diesem Wert und endet bei highestYLevel oder zwei Blöcke unter der Bauhöhengrenze der Welt, je nachdem, welcher Wert niedriger ist. Die unterirdische Abwärtssuche endet bei Y=-63, auch wenn lowestYLevel niedriger ist. Oberflächen- und Untergrundmodus haben eigene Suchverfahren; sind beide aktiviert, hat die Oberfläche Vorrang.
Verhalten der Spawn-Validierung
EliteMobs prüft Kandidaten während der Suche. Sobald Zeit und Mond den Spawn erlauben, folgen der abschließende Zombietest und die Friedensbannerprüfung:
- Spielernähe: Kandidaten mit weniger als 24 Blöcken Abstand zu einem beliebigen Spieler werden abgelehnt, gemessen als dreidimensionale Entfernung
- Nether-Decke: Spawns oberhalb von Y=127 werden in der Nether-Dimension blockiert
- Blocksicherheit: Die Untergrundsuche verlangt festen Boden; die allgemeine Aufwärtssuche verlangt einen nicht passierbaren Block. Beide verlangen darüber zwei Luftblöcke. Der Oberflächenmodus verwendet den höchsten Block der Säule plus eins, ohne dieselben Freiraumprüfungen.
- Y-Level: Der endgültige Ort muss zwischen
lowestYLevelundhighestYLevelliegen. - Spielregeln: Die gewöhnliche Spielerauswahl beachtet die Mob-Spawning-Spielregel der Welt (
spawnMobsab Minecraft 1.21.11, davordoMobSpawning). Globale Verstärkungen umgehen diese Prüfung bei der Spielerauswahl. - WorldGuard-Flags: Prüft
elitemobs-events,elitemob-spawningund WorldGuards eigenes Flagmob-spawning. - Friedensbanner: Ist
suppressEventsinPeaceBanner.ymlwie standardmäßig aktiviert, bricht ein geschützter Ort diesen Spawn-Versuch ab. Ein zeitgesteuertes Event plant sein nächstes Event; diese Prüfung startet keine neue Ortssuche für den aktuellen Versuch. - Abschließender Testspawn: Unmittelbar vor dem Boss spawnt EliteMobs einen gewöhnlichen Vanilla-Zombie am Ort und entfernt ihn sofort wieder. Blockiert ein anderes Schutzplugin diesen Zombie, wird der Ort verworfen und die Suche beginnt erneut.
Diese Prüfungen laufen automatisch. Die Licht- und Friedensbannerprüfungen haben die oben beschriebenen Konfigurationsschalter; bypassWorldGuard deaktiviert die WorldGuard-Prüfungen nicht.
