Zum Hauptinhalt springen

Elite-Script-Aktionen

Aktionen bilden den Kern des Skripts. Sie bestimmen, was das Skript tut, und ermöglichen es dir, benutzerdefinierte Intervalle festzulegen.

Jede Aktion beginnt mit einem action-Typ und seinen Einstellungen. Die meisten Aktionen ermitteln Entitäten oder Positionen über Target, das ohne Angabe den Wert SELF hat. RUN_COMMAND_AS_CONSOLE und MODIFY_DAMAGE lesen keine Ziele; RUN_SCRIPT gibt den Kontext an aufgerufene Skripte weiter. Mit wait legst du eine Verzögerung fest. Die weiteren Einstellungen stehen bei den jeweiligen Aktionen.

Die folgenden Beispiele mit NEARBY_PLAYERS, NEARBY_MOBS und NEARBY_ELITES verwenden einen Suchquader, der sich auf jeder Achse um range Blöcke erstreckt, keinen Kugelradius. Ausschlüsse und Zielbegrenzungen stehen unter Ziele.

Gemeinsame Attribute​

WerteDetailsSpeziell
TargetWeitere Infos hier❌
waitLegt die Zeit (in Ticks) fest, die vor dem Ausführen der Aktionen gewartet werden soll❌
repeatEveryWiederholt diese Aktion in einem positiven Tickintervall. times begrenzt die Anzahl. Unterstützt Bereiche wie 1~5; beachte die Regeln zur Laufzeit unten.❌
timesLegt fest, wie oft eine Aktion ausgeführt wird. Du kannst diesen Wert mit ~ randomisieren, Beispiel: 1~5.Erfordert repeatEvery
scriptsLegt die Skripte fest, die am Ende der Aktion ausgeführt werden❌
onlyRunOneScriptWählt eines der scripts zufällig aus und führt nur dieses aus.❌
offsetDiese Option gehört unter Target. Ermöglicht es dir, den Zielstandort zu versetzen. Bei Zielen mit ZONE_FULL oder ZONE_BORDER verschiebt es jeden abgetasteten Zonenstandort.❌
debugDiese Option gehört in den Aktionsabschnitt des Skripts. Wenn auf true gesetzt, zeigt sie Barriere-Symbole in dem Bereich an, in dem die Aktion stattfindet.❌
ConditionsBedingungen dieser Aktion. Weitere Informationen. Hier ist conditionType standardmäßig FILTERING, anders als bei Skriptbedingungen.❌
FinalTargetZweiter Zielblock als Bestimmungsort. Auf Aktionsebene lesen ihn nur TELEPORT und NAVIGATE. Zone: hat eigene FinalTarget- und FinalTarget2-Blöcke für TRANSLATING_RAY.❌
RelativeVectorWeitere Informationen. Wird von PUSH, SET_FACING, SPAWN_FALLING_BLOCK, SUMMON_ENTITY und SUMMON_REINFORCEMENT gelesen. Bei SPAWN_PARTICLE gehört relativeVector in den jeweiligen Partikeleintrag.❌
offset gehört unter Target

Ein offset: direkt unter einer Aktion, die einen Target-Block hat, wird ohne Warnung eingelesen, aber nie verwendet. Es verschiebt nichts. Damit es wirkt, muss es im Block Target, FinalTarget oder Target2 stehen. Hat eine Aktion überhaupt keinen Target-Block, liest ihr Standardziel SELF Zielschlüssel wie offset direkt aus der Aktion.

Aktionstypen​

Das wait einer Aktion verzögert nur diese Aktion. Eine wiederholte Aktion beginnt nach ihrer Wartezeit und wiederholt sich dann alle repeatEvery Ticks. times: 3 mit repeatEvery: 20 läuft ungefähr bei Tick 0, 20 und 40 nach der Wartezeit. Eine nicht erfüllte blockierende Bedingung beendet die Wiederholung. Ohne times gilt -1; damit stoppt die Aktion auch, sobald der Boss ungültig wird. Verwende times: 0 nicht zum Deaktivieren einer Aktion.

Wird eine Fähigkeit geschlossen, etwa durch einen Phasenwechsel oder das Entfernen des Bosses, werden ihre ausstehenden Wartezeiten und Wiederholungen abgebrochen. Beim Tod dürfen endliche Aktionen aus EliteMobDeathEvent noch fertiglaufen, solange die Ursprungswelt geladen bleibt. Diese Ausnahme erlaubt keine endlosen Aufrufzyklen von Unterskripten. Temporäre Zustandsänderungen behalten ihre eigenen Wiederherstellungstimer. Das Schließen einer Fähigkeit macht bereits erzeugte Blöcke oder Entitäten nicht rückgängig.

Ganzzahlbereiche schließen beide Grenzen ein. repeatEvery wird beim Planen der Wiederholung ausgewählt, ein zufälliges times dagegen bei den Zählerprüfungen erneut. Dezimalbereiche wählen Werte ab min bis ausschließlich max. Ein umgekehrter Bereich wie 5~1, ein Bereich mit mehr als zwei Werten, eine Dezimalzahl in einem Ganzzahlfeld wie duration oder Text, der keine Zahl ist, führt dazu, dass EliteMobs das gesamte Skript überspringt und Skipped script <name> in <file> protokolliert.

Zeitlich begrenzte Änderungen durch SCALE, SET_MOB_AI, SET_MOB_AWARE, MAKE_INVULNERABLE, TAG und UNTAG bewahren den ursprünglichen Zustand. Bei überlappenden Änderungen derselben Eigenschaft gilt die neueste noch aktive Änderung. Beim Ablauf wird eine ältere aktive Änderung oder der Ausgangswert wiederhergestellt. Eine Dauer von 0 oder weniger setzt einen dauerhaften Wert und verwirft ausstehende Wiederherstellungen dieser Eigenschaft. Beim Abschalten des Plugins werden noch aktive temporäre Zustände wiederhergestellt.

MAKE_INVULNERABLE verfolgt eine Änderung pro Aktion und Ziel. Wird dieselbe Aktion erneut ausgeführt, ersetzt sie ihre frühere Änderung samt Timer, statt eine weitere zu stapeln. Eine Dauer von 0 oder weniger gibt der Änderung dieser Aktion kein Ablaufdatum, anders als die oben beschriebene dauerhafte Zuweisung: Sie bleibt verfolgt, und beim Abschalten des Plugins wird der ursprüngliche Zustand wiederhergestellt. Wird eine verfolgte Eigenschaft außerhalb dieser Aktionen geändert, verfolgt EliteMobs sie nicht weiter und stellt sie später nicht wieder her.

POTION_EFFECT, SET_ON_FIRE und VISUAL_FREEZE prüfen ihre Ziele bei der Ausführung erneut. Spieler müssen online, am Leben und in der Ursprungswelt sein. In einer Dungeoninstanz müssen sie außerdem aktuell an dieser Instanz teilnehmen. Diese Prüfungen gelten nicht für jede Aktion dieser Seite.

ACTION_BAR_MESSAGE​

Legt die Aktionsleisten-Nachricht für die Ziele fest.

Hinweis: Diese Aktion unterstützt Platzhalter. Die vollständige Liste findest du unter Platzhalter.

WerteDetailsPflichtSpeziell
TargetWeitere Infos hier✅❌
sValueNachricht✅Kann Color Codes mit & verwenden
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: ACTION_BAR_MESSAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
sValue: "&2Hello World!"

elitescript_actions_actionbar.jpg

Setzt die Aktionsleiste so, dass sie für alle Spieler innerhalb von 10 Blöcken vom Boss „Hello World" anzeigt.


BOSS_BAR_MESSAGE​

Fügt dem Ziel / den Zielen eine Bossleiste hinzu.

Hinweis: Diese Aktion unterstützt Platzhalter. Die vollständige Liste findest du unter Platzhalter.

WerteDetailsPflichtSpeziell
TargetWeitere Infos hier✅❌
sValueNachricht✅Kann Color Codes mit & verwenden
durationDauer der Bossleiste in Ticks❌Ohne Angabe oder bei nicht positivem Wert 100, also 5 Sekunden
barColorLegt die Farbe der Bossleiste fest. Gültige Werte hier❌Standardwert WHITE
barStyleLegt den Stil der Bossleiste fest. Gültige Werte hier❌Standardwert SOLID
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: BOSS_BAR_MESSAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
duration: 120
sValue: "&2Hello World!"
barColor: GREEN
barStyle: SEGMENTED_10

elitescript_actions_bossbar.jpg

Zeigt allen Spielern innerhalb von 10 Blöcken vom Boss für 6 Sekunden (120 Ticks) eine Bossleiste mit „Hello World" an.


DAMAGE​

So kannst du Entitäten als andere Entitäten schädigen.

Hinweis: Dies verwendet von Haus aus das EliteMobs-Schadenssystem! Das bedeutet, dass du die normale Elite-Rüstungsreduzierung bei Treffern siehst. Mehr dazu im Abschnitt über Multiplikatoren.

WerteDetailsPflichtStandard
TargetWeitere Infos hier✅❌
multiplierSchadensmultiplikator im Kampfsystem gegen Spieler❌1.0
amountAn Bukkit übergebener Schaden. Bei einem lebenden Boss als Quelle berechnet der Spielerkampf ihn mit Bosswerten und multiplier neu; auch das Ereignis zwischen Elites kann ihn ersetzen.❌1.0

Hinweis zur Rekursion: Verschachtelte synchrone DAMAGE-Aufrufe stoppen bei einer Schadenstiefe von 3. Normale Aufrufe von Unterskripten zählen nicht dazu. Für spätere Ticks geplante Schleifen werden dadurch ebenfalls nicht gestoppt.

Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: DAMAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
multiplier: 0.5

Setzt den Schaden auf die Hälfte des Grundschadens, den der Boss dem Spieler zufügen würde, unter Berücksichtigung der Schadensreduzierungen.

multiplier​

Legt den Schadensmultiplikator des Bosses für den Effekt fest.

Wichtig: Um Powers leicht und automatisch skalierbar zu machen, wird Schaden so angewendet, dass der Boss den Spieler einmal trifft und der Grundschaden des Bosses mit dem Multiplikator multipliziert wird.

1.0 behält den Grundschaden bei, 2.0 verdoppelt ihn und 0.5 halbiert ihn. Rüstung, weitere Kampfmodifikatoren, Abbruch und Schadensimmunität beeinflussen weiterhin den tatsächlich erlittenen Schaden.

Der multiplier wirkt nur auf Spielerziele über das Kampfsystem von EliteMobs. Für andere Ziele übergibt die Aktion amount, standardmäßig 1.0, ohne diesen Multiplikator an Bukkit. Weitere Schadensverarbeitung bleibt aktiv: Sind Quelle und Ziel erkannte Elites, ersetzt der Handler für Elite-gegen-Elite-Kämpfe den übergebenen Schaden durch den Grundschaden des Angreifers plus dessen Level. Hat der Boss keine lebende Entität mehr, wird Schaden ohne Angreifer statt eines Bossangriffs übergeben.


HEAL​

So kannst du Entitäten einschließlich Spieler heilen.

Eliteziele verwenden das Heilsystem von EliteMobs. Bei anderen lebenden Zielen, einschließlich Spielern, wird die Gesundheit direkt geändert und auf den Basiswert ihres Attributs für maximale Gesundheit begrenzt. Dabei entstehen weder das EliteMobs-Heilereignis noch dessen schwebende Anzeige.

WerteDetailsPflicht
TargetWeitere Infos hier✅
amountUm wie viele Punkte geheilt werden soll. (2 Punkte sind ein Herz)✅
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: HEAL
Target:
targetType: NEARBY_MOBS
range: 15
amount: 20

Wenn der Boss getroffen wird, heilt er alle Mobs innerhalb von 15 Blöcken um 20 Punkte (10 Herzen).


MAKE_INVULNERABLE​

Macht ein Ziel unverwundbar.

WerteDetailsPflicht
TargetWeitere Infos hier✅
invulnerableLegt fest, ob der Boss unverwundbar ist. Standardmäßig true.❌
durationLegt die Dauer der Unverwundbarkeit (Ticks) fest❌
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: MAKE_INVULNERABLE
Target:
targetType: SELF
invulnerable: true
duration: 60

Macht einen Boss für 60 Ticks (3 Sekunden) unverwundbar.


MODIFY_DAMAGE​

Modifiziert den an einem Boss verursachten Schaden oder den von diesem Boss an Spielern verursachten Schaden. Dies ist eine spezielle Aktion mit einigen besonderen Anforderungen.

WerteDetailsPflicht
multiplierSchadensmultiplikator.✅

Diese Aktion ist speziell und muss in einem Skript stehen, das einen Event-Listener für ein Schadensereignis hat. Die folgenden sind gültige Schadensereignisse: EliteMobDamagedByEliteMobEvent, EliteMobDamagedByPlayerEvent, EliteMobDamagedEvent für Ereignisse, die den am Boss verursachten Schaden reduzieren, und PlayerDamagedByEliteMobEvent für Ereignisse, die den an Spielern verursachten Schaden reduzieren.

Bei EliteMobDamagedByEliteMobEvent beginnt das Ereignis mit dem Grundschaden des angreifenden Elites plus dessen Level, und der Treffer verwendet den Ereignisschaden nach dem Ausführen der Skripte, einschließlich etwaiger Änderungen durch MODIFY_DAMAGE. Alle aufgeführten Hooks unterliegen der anschließenden Schadensverarbeitung.

Nutze hasTags mit einer BLOCKING-Bedingung zur Steuerung dieser Aktion. MODIFY_DAMAGE verändert das Ereignis direkt und wertet keine Filterbedingungen pro Ziel aus. Führe die Aktion synchron im Schadenshook aus; eine verzögerte Aktion verändert ein bereits verarbeitetes Ereignis.

Setze MODIFY_DAMAGE direkt in die Actions dieses Ereignisskripts. Über scripts oder RUN_SCRIPT aufgerufene Unterskripte erhalten das Schadensereignis nicht in ihren Aktionsdaten. Wird diese Aktion dorthin verschoben, kann sie den Treffer nicht mehr ändern.

Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: MODIFY_DAMAGE
multiplier: 2.0
Conditions:
conditionType: BLOCKING
hasTags:
- "CoolPlayer"
Target:
targetType: DIRECT_TARGET

Erhöht den von den Spielern am Boss verursachten Schaden um das 2-Fache, aber nur, wenn der Spieler einen Tag namens „CoolPlayer" hat.


MESSAGE​

Sendet eine Nachricht an das Ziel / die Ziele.

Hinweis: Diese Aktion unterstützt Platzhalter. Die vollständige Liste findest du unter Platzhalter.

WerteDetailsPflichtSpeziell
TargetWeitere Infos hier✅❌
sValueNachricht✅Kann Color Codes mit & verwenden
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: MESSAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
sValue: "&2Hello World!"

elitescript_actions_message.jpg

Sendet allen Spielern innerhalb von 10 Blöcken vom Boss eine Chat-Nachricht.


Lässt die ausgewählten Custom Bosses zur ersten von FinalTarget ermittelten Position laufen. Jede Ausführung erfasst diese Position einmal und folgt einem bewegten Spieler nicht fortlaufend. Eine neue Navigationsaktion ersetzt die vorherige Navigation dieses Bosses.

WerteDetailsPflichtSpeziell
TargetWeitere Infos hier✅❌
FinalTargetWeitere Infos hier✅❌
velocityGeschwindigkeit, die an den Navigationsadapter übergeben wird.❌Standardmäßig 1.0
bValueBei true wird der Boss nach Ablauf der Navigationsdauer zum Ziel teleportiert. Dies geschieht nicht bei jedem vorzeitigen Abbruch.❌Standardmäßig false
durationWie lange der Boss versuchen soll zu navigieren, bevor er aufgibt. In Ticks festgelegt. Standard sind 100 Ticks.❌❌
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: NAVIGATE
Target:
targetType: SELF
FinalTarget:
targetType: DIRECT_TARGET
velocity: 1.0
bValue: true
duration: 100

Lässt den Boss zu der Stelle navigieren, an der der Spieler stand, als er den Boss traf.


PLACE_BLOCK​

Platziert für die Dauer einen Block am Zielstandort / an den Zielstandorten.

WerteDetailsPflicht
TargetWeitere Infos hier✅
materialMaterial des Blocks, vollständige Liste hier✅
durationDauer des Effekts, in Ticks❌
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: DOME
radius: 3
Target:
targetType: SELF
Actions:
- action: PLACE_BLOCK
Target:
targetType: ZONE_FULL
duration: 120
material: GLASS

elitescript_actions_placeblock.jpg

Platziert eine Glaskuppel um den Boss, die 6 Sekunden lang bestehen bleibt.

Hinweis: Wenn keine Dauer definiert ist, ist die Blockplatzierung dauerhaft.

Läuft eine temporäre Platzierung ab, werden die Blockdaten wiederhergestellt, die vor der ersten Platzierung dort waren, sofern der platzierte Block noch vorhanden ist. Baut ein Spieler einen temporären Block ab, erhält er keine Drops, und der Block wird nicht wiederhergestellt. Eine neue temporäre Platzierung auf einem Block, der noch temporär ist, ersetzt das Material und startet den Timer mit der neuen duration neu. Temporäre Platzierungen überspringen Container und andere Blöcke mit Blockentitäten sowie Blöcke, die bereits ein anderer Besitzer, etwa ein anderes Plugin, als temporär hält.


PLAY_ANIMATION​

Spielt die angegebene Animation eines benutzerdefinierten Modells ab. Das Ziel muss ein Custom Boss mit einem gültigen Modell von FreeMinecraftModels oder Model Engine sein. Ziele ohne eigenes Modell werden ohne Warnung übersprungen.

WerteDetailsPflicht
TargetWeitere Infos hier✅
sValueLegt den Namen der Animation fest✅
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: PLAY_ANIMATION
Target:
targetType: SELF
sValue: "fortnite_dance"

Lässt den Boss fortnite_dance abspielen. Das aktive Modell muss eine Animation mit genau diesem Namen besitzen.


PLAY_SOUND​

Spielt einen Ingame-Sound ab.

WerteDetailsPflicht
TargetWeitere Infos hier✅
sValueLegt den Namen des abzuspielenden Sounds fest✅
pitchTonhöhe. Standardmäßig 1.0.❌
volumeLautstärke. Standardmäßig 1.0.❌

Hier ist eine praktische Liste aller Minecraft-Sounds! Denke daran, dass dies auch benutzerdefinierte Sounds aus Ressourcenpaketen abspielen kann. Der Sound wird in der Welt an jeder ermittelten Position abgespielt. Auch nahe Spieler, die keine Ziele sind, können ihn hören. Eine Zone erzeugt einen Sound pro ausgewähltem Punkt. Nutze eine einzelne Position oder eine geringere Lautstärke, um überlagerte Sounds zu vermeiden.

Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: PLAY_SOUND
Target:
targetType: SELF
sValue: minecraft:block.bell.resonate

Spielt den Resonanz-Sound von Minecraft-Glocken am Standort des Bosses ab.


POTION_EFFECT​

Wendet einen bestimmten Trankeffekt auf das Ziel / die Ziele an.

WerteDetailsPflicht
TargetWeitere Infos hier✅
potionEffectTypeEffekttyp, gültige Liste hier✅
amplifierTrankeffektlevel (beginnt bei 0)✅
durationDauer des Effekts (Ticks)✅
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: POTION_EFFECT
Target:
targetType: NEARBY_PLAYERS
range: 10
potionEffectType: LEVITATION
amplifier: 1
duration: 40

elitescript_actions_potioneffect.jpg

Dies lässt alle Spieler innerhalb von 10 Blöcken vom Boss für 2 Sekunden (40 Ticks) schweben.


PUSH​

Wendet einen Tick später denselben Geschwindigkeitsvektor auf alle ermittelten Ziele an. Standardmäßig ersetzt er ihre Geschwindigkeit. RelativeVector hat Vorrang vor vValue; ein fehlender oder nicht endlicher Vektor wird zum Nullvektor.

WerteDetailsPflicht
TargetWeitere Infos hier✅
vValueGeschwindigkeitsvektor. Kann bei RelativeVector entfallen.❌
bValueWenn auf true gesetzt, wird die Geschwindigkeit zur aktuellen Geschwindigkeit des Ziels addiert, anstatt sie zu ersetzen.❌

Hinweis: Diese Aktion akzeptiert auch relative Vektoren. Mehr darüber, wie du diese verwendest, erfährst du hier.

Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: PUSH
wait: 3
Target:
targetType: NEARBY_PLAYERS
range: 10
vValue: 0,0.3,0
times: 10
repeatEvery: 10

elitescript_actions_push.jpg

Stößt Spieler im nahen Suchquader mit einer Geschwindigkeit von 0.3 nach oben. Nach 3 Ticks Wartezeit läuft die Aktion zehnmal im Abstand von 10 Ticks. Zwischen erster und letzter Ausführung liegen 90 Ticks, also 4,5 Sekunden. Jeder Stoß erfolgt einen Tick nach seiner Aktionsausführung. Dies legt keine feste Dauer für die resultierende Bewegung fest.

Das lässt es so aussehen, als würden die Spieler springen.

vector​

Vektoren werden durch vValue: x,y,z definiert. Wenn du zum Beispiel möchtest, dass das Ziel nach oben gestoßen wird, kannst du vValue: 0,0.3,0 verwenden.


REMOVE_ELITE​

Diese Aktion entfernt alle anvisierten Elites. Kann mit Conditions und Tags kombiniert werden, um nur bestimmte Elites zu entfernen.

WerteDetailsPflicht
TargetWeitere Infos hier✅
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: REMOVE_ELITE
Target:
targetType: NEARBY_ELITES
range: 10

Entfernt Elites im Suchquader, der sich auf jeder Achse um 10 Blöcke erstreckt.

eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: REMOVE_ELITE
Target:
targetType: NEARBY_ELITES
range: 3
Conditions:
conditionType: FILTERING
hasTags:
- remove_me
Target:
targetType: ACTION_TARGET

Entfernt Elites im Suchquader, der sich auf jeder Achse um 3 Blöcke erstreckt, sofern sie den Tag remove_me besitzen.


RUN_COMMAND_AS_CONSOLE​

Führt einen Befehl über die Konsole aus. Verwende BLOCKING, um die Ausführung durch Bedingungen zu verhindern. Diese Aktion ermittelt keine Entitätsziele und wendet daher keine Filterbedingungen auf sie an.

Der Befehl läuft einmal pro Aktionsaufruf, nicht einmal pro Entität in Target. Spielerplatzhalter beziehen sich auf den direkten Spieler des Ereignisses.

WerteDetailsPflicht
TargetWird nicht gelesen; der Befehl läuft einmal.❌
sValueBefehl, der ausgeführt wird✅

Hinweis: Diese Aktion unterstützt Platzhalter. Die vollständige Liste findest du unter Platzhalter.

Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: RUN_COMMAND_AS_CONSOLE
Target:
targetType: NEARBY_PLAYERS
range: 10
sValue: say Hello $bossName my name is $playerName. What is your level? $bossName my level is $bossLevel.

elitescript_actions_commandconsole.jpg

Lässt die Konsole die Nachricht „Hello $bossName my name is $playerName. What is your level? $bossName my level is $bossLevel" senden.


RUN_COMMAND_AS_PLAYER​

Führt einen Befehl als Spieler aus. Erfordert, dass das Ziel Spieler sind.

WerteDetailsPflicht
TargetWeitere Infos hier✅
sValueBefehl, der ausgeführt wird✅

Platzhalter​

RUN_COMMAND_AS_PLAYER, RUN_COMMAND_AS_CONSOLE, MESSAGE, TITLE_MESSAGE, ACTION_BAR_MESSAGE und BOSS_BAR_MESSAGE unterstützen alle die folgenden Platzhalter:

$playerName und die Spielerkoordinaten beschreiben den direkten Spieler des Ereignisses, nicht jeden Empfänger. Ohne direkten Spieler ist der Name Unknown und die Koordinaten sind null. $targetName ist der Kontoname des jeweiligen Befehlsausführenden und nur in RUN_COMMAND_AS_PLAYER verfügbar. Beide Namensplatzhalter verwenden keine angezeigten Spitznamen.

PlatzhalterDetailsSpeziell
$playerNameKontoname des direkten Spielers im EreignisUnknown ohne direkten Spieler
$playerXX-Koordinate des direkten Spielers0 ohne direkten Spieler
$playerYY-Koordinate des direkten Spielers0 ohne direkten Spieler
$playerZZ-Koordinate des direkten Spielers0 ohne direkten Spieler
$targetNameKontoname des jeweiligen Befehlsausführenden. Nur in RUN_COMMAND_AS_PLAYER verfügbar und dort pro Ziel ersetzt.Ziel muss ein Spieler sein
$bossNameAnzeigename des Bosses❌
$bossXX-Standort des Bosses❌
$bossYY-Standort des Bosses❌
$bossZZ-Standort des Bosses❌
$bossLevelLevel des Bosses❌
$bossWorldNameName der Welt des Bosses❌
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: RUN_COMMAND_AS_PLAYER
Target:
targetType: NEARBY_PLAYERS
range: 10
sValue: say Hello $bossName my name is $playerName.

elitescript_actions_commandplayer.jpg

Lässt den Spieler den say-Befehl mit „Hello $bossName my name is $playerName." ausführen, was bedeutet, dass er einfach „Hello $bossName my name is $playerName." sagt.


RUN_SCRIPT​

Führt die unter scripts genannten Skripte aus. Auch andere Aktionen können dieses Feld nutzen, um anschließend Unterskripte aufzurufen. RUN_SCRIPT ermittelt selbst keine Ziele und führt keine Filterung pro Ziel durch. Nutze eine BLOCKING-Bedingung, um den Aufruf zu verhindern. Verwendet ein Unterskript geerbte Zielselektoren, konfiguriere die benötigten Ziele im aufrufenden Skript.

WerteDetailsPflicht
TargetFür diese Aktion optional; Unterskripte ermitteln eigene Ziele und können den Kontext des Aufrufers erben.❌
scriptsSkripte, die ausgeführt werden✅
onlyRunOneScriptFührt nur ein Skript aus der Liste aus.❌
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: RUN_SCRIPT
onlyRunOneScript: false
scripts:
- Example1
- Example2
Example1:
Actions:
- action: DAMAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
multiplier: 0.5
Example2:
Actions:
- action: MESSAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
sValue: "&cCool boss!: &fGotcha back!"

elitescript_actions_runscript.jpg

Wenn ein Elite geschädigt wird, führt es RUN_SCRIPT aus, das die Skripte Example1 und Example2 ausführt.

Das Skript Example1 schädigt alle Spieler innerhalb von 10 Blöcken vom Boss.
Das Skript Example2 sendet allen Spielern innerhalb von 10 Blöcken vom Boss die Nachricht „&cCool boss!: &fGotcha back!".


SCALE​

Ermöglicht es dir, Entitäten zu skalieren.

WerteDetailsPflicht
TargetWeitere Infos hier✅
scaleLegt die Skalierungsgröße fest✅
durationLegt fest, wie lange der Skalierungseffekt andauern soll❌

Beim Skalieren stellt 1.0 die Standardgröße dar. Um die Entität größer zu machen, erhöhe den Wert (z. B. 1.2). Um die Entität kleiner zu machen, verringere den Wert (z. B. 0.8).

Hinweis: Dies kann auf Spieler zielen, sei also bitte vorsichtig damit, wie du es verwendest!

Nach Ablauf einer zeitlich begrenzten Skalierung wird der vorherige Basiswert wiederhergestellt, einschließlich einer konfigurierten Bossskalierung. Überlappende Änderungen folgen den oben beschriebenen Regeln für temporäre Zustände.

Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedEvent
Actions:
- action: SCALE
Target:
targetType: SELF
scale: 0.3
duration: 60

Wird der Mob getroffen, wird seine Basisskalierung auf 0.3 gesetzt. Nach 60 Ticks kehrt er zum vorherigen Basiswert zurück, sofern keine neuere temporäre Skalierung mehr aktiv ist.


SET_FACING​

Dreht die Zielentitäten in eine Richtung, häufig zusammen mit einer Animation. Target ist standardmäßig SELF. Gib vValue oder RelativeVector an; der relative Vektor hat Vorrang. Alle Ziele erhalten dieselbe Richtung.

WerteDetailsPflicht
vValueIn welche Richtung der Boss schauen soll. X,Y,Z❌
RelativeVectorVerwendet relative Vektoren, um den Boss zu einem Ziel schauen zu lassen.❌
Beispiel
eliteScript:
Example:
Events:
- EliteMobEnterCombatEvent
Actions:
- action: SET_FACING
vValue: 1,0,0

Lässt den Boss nach Osten schauen.

eliteScript:
Example:
Events:
- EliteMobEnterCombatEvent
Actions:
- action: SET_FACING
RelativeVector:
SourceTarget:
targetType: SELF
DestinationTarget:
targetType: NEARBY_PLAYERS
range: 20

Richtet den Boss zum ersten Spieler aus, den der auf jeder Achse um 20 Blöcke erweiterte Suchquader liefert. Das ist nicht unbedingt der nächste Spieler.


SET_MOB_AI​

Legt fest, ob der Mob eine KI hat. In Minecraft bewegen sich Mobs ohne KI nicht und greifen nicht an. Sie können trotzdem geschädigt werden, aber wenn man sie schädigt, werden sie nicht zurückgestoßen.

WerteDetailsPflicht
TargetWeitere Infos hier✅
bValueLegt fest, ob der Boss eine KI hat✅
durationDauer in Ticks; nicht positive Werte setzen den Zustand dauerhaft.❌
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_MOB_AI
Target:
targetType: SELF
bValue: false
duration: 40

Setzt den Boss so, dass er für 2 Sekunden (40 Ticks) keine KI hat.


SET_MOB_AWARE​

Legt fest, ob der Mob wahrnehmend ist. In Minecraft bewegen sich Mobs, die nicht wahrnehmend sind, nicht zu neuen Standorten und greifen nicht an. Sie können trotzdem geschädigt werden, und sie werden zurückgestoßen.

Ein bereits vorhandener Navigationspfad kann nach dem Deaktivieren der Wahrnehmung weiterlaufen. Diese Aktion akzeptiert nur Mobs und kann keine Spielerwahrnehmung ändern.

Das bedeutet, dass du nicht wahrnehmende Mobs verwenden kannst, um sich zu definierten Standorten zu bewegen, anders als Mobs ohne KI.

WerteDetailsPflicht
TargetWeitere Infos hier✅
bValueLegt fest, ob er wahrnehmend ist✅
durationDauer in Ticks; nicht positive Werte setzen den Zustand dauerhaft.❌
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_MOB_AWARE
Target:
targetType: SELF
bValue: false
duration: 40

Setzt den Boss so, dass er für 2 Sekunden (40 Ticks) keine Wahrnehmung hat.


SET_ON_FIRE​

Setzt eine Entität für die Dauer in Brand.

WerteDetailsPflicht
TargetWeitere Infos hier✅
durationDauer des Effekts, in Ticks✅
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_ON_FIRE
Target:
targetType: NEARBY_PLAYERS
range: 10
duration: 60

elitescript_actions_setonfire.jpg

Setzt alle Spieler innerhalb von 10 Blöcken vom Boss für 3 Sekunden (60 Ticks) in Brand.


SET_TIME​

Setzt die Ingame-Zeit der Welt, in der sich das Ziel befindet.

WerteDetailsPflicht
TargetWeitere Infos hier✅
timeLegt die Zeit fest✅
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_TIME
Target:
targetType: SELF
time: 10000

elitescript_actions_settime.gif

Wenn der Boss getroffen wird, setzt er die Zeit der Welt, in der sich der Boss befindet, auf 10000 Ticks.


SET_WEATHER​

Setzt das Wetter der Welt, in der sich das Ziel befindet, für eine festgelegte Zeit.

Diese Aktion ermittelt Entitätsziele. Nutze SELF oder einen anderen Entitätsselektor statt einer bloßen LOCATION. Ohne Dauer oder bei nicht positiver Dauer verwendet der Vanilla-Wettertimer 6.000 Ticks. Positive Regen- oder Gewitterdauern planen zusätzlich nach duration + 1 Ticks einen Wechsel zu klarem Wetter. Überlappende Wetteraktionen verwenden nicht den oben beschriebenen Stapel zur Zustandswiederherstellung.

WerteDetailsPflicht
TargetWeitere Infos hier✅
weatherLegt den Wettertyp fest✅
durationDauer in Ticks; ohne Angabe oder bei nicht positivem Wert gilt der oben beschriebene Ersatzwert.❌
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_WEATHER
Target:
targetType: SELF
weather: PRECIPITATION
duration: 120

elitescript_actions_setweather.gif

Lässt es in der Welt des Bosses 120 Ticks lang regnen oder schneien, also 6 Sekunden. Der Niederschlag hängt von Biom und Position ab.

Hinweis: Der Effekt braucht eine Weile, bis er ausgelöst wird.

weather​

Die folgenden sind gültige Wettermuster:

  • CLEAR - Setzt das Wetter auf klar
  • PRECIPITATION - Setzt das Wetter auf Regen / Schnee, abhängig vom Biom, der Standorthöhe und anderen Vanilla-Minecraft-Faktoren.
  • THUNDER - Setzt das Wetter auf Gewitter

SPAWN_FIREWORKS​

Spawnt Feuerwerk.

WerteDetailsPflichtSpeziell
TargetWeitere Infos hier✅❌
vValueGeschwindigkeit der Rakete. Mit diesem Wert wird sie auch schräg statt senkrecht abgeschossen.❌❌
flickerLegt fest, ob die Feuerwerkspartikel funkeln❌Standard: true
withTrailLegt fest, ob die Feuerwerksrakete eine Spur hinterlässt❌Standard: true
powerFlugstärke des Feuerwerks❌Standard: 10
fireworkEffectsFarben der einzelnen Explosionseffekte. Die Flugdauer steuert power, nicht diese Liste.✅❌
fireworkEffectTypeFeuerwerksform aus dieser Liste❌Standard: BALL_LARGE
fireworkEffectTypesLegt die Formen des Feuerwerks fest aus dieser Liste. Dies ist eine Liste von Formen – wenn du eine Liste von Formen möchtest, verwende nicht fireworkEffectType! [1]❌❌

[1] Jede Form verwendet die Farbliste an derselben Position. Gibt es mehr Formen als Farblisten, verwenden die übrigen Formen die letzte Farbliste erneut. Zusätzliche Farblisten ohne passende Form bleiben ungenutzt.

Beispiel
eliteScript:
fireworkShot1:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SPAWN_FIREWORKS
Target:
targetType: SELF
offset: 1,1.5,0
vValue: .5,-.35,1
flicker: false
withTrail: false
power: 2
fireworkEffects:
- [ORANGE, RED]
- [YELLOW, BLUE]
fireworkEffectTypes:
- BALL_LARGE
- STAR

elitescript_actions_fireworks.jpg

Erzeugt Feuerwerk an der Bossposition mit dem Versatz x=1, y=1.5 und z=0 sowie der Geschwindigkeit x=.5, y=-.35 und z=1. Es funkelt nicht und hinterlässt keine Spur. power: 2 wird als Flugstärke übergeben und ist keine Verzögerung von 2 Ticks oder 2 Sekunden.

Schließlich gibt es zwei Listen von Farblisten: Liste 1 ist Orange & Rot und Liste 2 ist Gelb & Blau. Es gibt zwei Formen für das Feuerwerk: BALL_LARGE und STAR. Das bedeutet, dass BALL_LARGE (Element 1) die Farben Orange & Rot (Liste 1) verwendet und STAR (Element 2) die Farben Gelb & Blau (Liste 2).

fireworkEffects​

Dies sind die Effekte, die die Feuerwerksrakete zeigen wird. Es ist mindestens ein Effekt erforderlich. Die folgenden sind gültige Effekte:

  • WHITE, SILVER, GRAY, BLACK, RED, MAROON, YELLOW, OLIVE, LIME, GREEN, AQUA, TEAL, BLUE, NAVY, FUCHSIA, PURPLE, ORANGE

STRIKE_LIGHTNING​

Schlägt einen Blitz. Dies ist ein visueller Effekt; wenn du Schaden möchtest, solltest du eine Schadensaktion hinzufügen.

WerteDetailsPflicht
TargetWeitere Infos hier✅
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: STRIKE_LIGHTNING
Target:
targetType: SELF
repeatEvery: 5
times: 5

elitescript_actions_strike.jpg

Schlägt 5-mal alle 5 Ticks einen Blitz auf den Boss.


SPAWN_FALLING_BLOCK​

Spawnt einen fallenden Block am Ziel. Nur visuell, platziert den Block nicht.

WerteDetailsPflicht
TargetWeitere Infos hier✅
materialLegt das Material des fallenden Blocks fest. Prüfe hier gültige Typen und stelle sicher, dass es sich um ein gültiges Blockmaterial handelt.✅
landingScriptsSkripte, die laufen, wenn die fallende Entität versucht, zu einem Block zu werden. Optional; der visuelle Effekt funktioniert ohne Callback.❌
vValueLegt die Geschwindigkeit und Richtung eines fallenden Blocks fest.❌

landingScripts funktioniert auf dieselbe Weise wie RUN_SCRIPT, kann aber den speziellen Zieltyp LANDING_LOCATION akzeptieren.

Die LANDING_LOCATION wird von Skript-Ausführern geerbt, sodass ein Landeort-Skript auch als Skript-Ausführer fungieren kann. Du kannst der Aktion, die die Skripte aufruft, eine Wartezeit hinzufügen, gefolgt von den nachfolgenden Skriptaufrufen. Die LANDING_LOCATION ist immer das Argument für das Ziel, auch wenn sie geerbt wird, da sie auf eine einzige bestimmte Weise zugewiesen wird.

Hinweis: Diese Aktion akzeptiert auch relative Vektoren. Mehr darüber, wie du diese verwendest, erfährst du hier.

Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SPAWN_FALLING_BLOCK
Target:
targetType: SELF
offset: 3,10,0
material: STONE
vValue: 0,0,0
landingScripts:
- LandingScriptExample
LandingScriptExample:
Actions:
- action: PLACE_BLOCK
Target:
targetType: LANDING_LOCATION
duration: 200
material: STONE

elitescript_actions_block.gif

Wenn der Boss getroffen wird, spawnt dieses Skript einen fallenden Steinblock 10 Blöcke über und 3 Blöcke neben dem Standort des Bosses.

Sobald der Block fällt, führt es das Skript LandingScriptExample aus, das einen Steinblock an dem Standort platziert, an dem der Block gelandet ist. Der Block bleibt dort 10 Sekunden (200 Ticks), bevor er verschwindet.


SPAWN_PARTICLE​

Spawnt Partikel am Ziel.

Nur bei Zonenzielen gilt ohne coverage der Wert 0.3. Setze coverage: 1.0, um die gesamte Zone abzutasten. Normale Entitäts- und Positionsziele erhalten diese Standardreduzierung nicht.

Partikelziele aus Zonen, festen Positionen und Landepositionen werden vor dem Erzeugen auf X und Z um 0.5 verschoben. Bei Entitätszielen wird die ermittelte Position ohne diesen Versatz verwendet.

WerteDetailsPflicht
TargetWeitere Infos hier✅
particlesListet die Partikel auf, die gespawnt werden✅

particles​

Partikel haben ihre eigenen speziellen Einstellungen, die wie folgt aussehen:

WerteDetailsStandardSpeziell
xLegt den Offset von X fest0.01(1)
yLegt den Offset von Y fest0.01(1)
zLegt den Offset von Z fest0.01(1)
amountLegt die Anzahl der gespawnten Partikel fest1(1)
speedLegt die Geschwindigkeit der Partikel fest0.01❌
particleLegt den Partikeltyp festFLAMEGültige Partikel unten aufgeführt
redLegt den Rotwert fest255(2)
greenLegt den Grünwert fest255(2)
blueLegt den Blauwert fest255(2)
toRedLegt den End-Rotwert fest255(3)
toGreenLegt den End-Grünwert fest255(3)
toBlueLegt den End-Blauwert fest255(3)
materialBlock oder Gegenstand für Partikel mit Block- oder GegenstandsdatenSTONE(4)
relativeVectorRelativer Vektor für die Partikelrichtung. Weitere Informationen findest du hier.none(5)

(1) Wenn amount auf 0 gesetzt ist, legen x, y und z stattdessen die Geschwindigkeit des Partikels fest.

(2) RGB gilt für DUST, DUST_COLOR_TRANSITION und Partikel mit Farbdaten wie ENTITY_EFFECT. WITCH hat eine feste Farbe; red, green und blue färben es nicht um.

(3) Nur für das particle DUST_COLOR_TRANSITION

(4) Nur für Partikel mit Blockdaten (BLOCK, FALLING_DUST, DUST_PILLAR, BLOCK_CRUMBLE, BLOCK_MARKER) oder Gegenstandsdaten (ITEM). Ist das Material für den Datentyp ungültig, wird STONE verwendet.

(5) relativeVector setzt amount auf 0 und überschreibt x, y und z mit dem ermittelten Vektor. Dadurch bewegt sich das Partikel gerichtet.

moveToTarget hat keine Wirkung

Der Parser akzeptiert moveToTarget weiterhin ohne Warnung, aber kein Code liest den Wert. Verwende relativeVector, um Partikel auszurichten.

Es ist wichtig zu beachten, dass ein SPAWN_PARTICLE-Skript mehrere Partikel spawnen kann. Jedes Partikel kann dann seine eigenen Konfigurationsfelder innerhalb der SPAWN_PARTICLE-Aktion haben. Hier ist ein Beispiel:

Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: CYLINDER
radius: 4
borderRadius: 3
height: 30
Target:
targetType: DIRECT_TARGET
track: true
Actions:
- action: SPAWN_PARTICLE
Target:
targetType: ZONE_BORDER
particles:
- particle: FLAME
speed: 0.2
amount: 1
- particle: SMOKE_NORMAL
speed: 0.1
amount: 1
repeatEvery: 10

elitescript_actions_particle.jpg

Dies spawnt einen Zylinder aus Flammen- und Rauchpartikeln um den Spieler herum, der den Boss geschädigt hat.

Ein Partikel bewegen:​

Es ist möglich, eine bestimmte Geschwindigkeit für ein Partikel festzulegen, und es funktioniert auf dieselbe Weise wie die Spigot-API. Dies ermöglicht es Skript-Erstellern, ein Partikel so einzustellen, dass es mit einer bestimmten Geschwindigkeit in eine bestimmte Richtung geht. Es ist nicht möglich, Partikel mitten im Weg die Richtung ändern zu lassen. Dieser Effekt wird in der Flammenwerfer-Verzauberung und dem Boss-Power verwendet.

Um ein Partikel zu bewegen, setze amount: 0. Dies signalisiert Minecraft, dass die Werte x, y und z tatsächlich ein Vektor sind. Dieser Vektor legt die Richtung fest, in die dein Partikel gehen wird.

Nehmen wir an, du möchtest, dass ein FLAME-Partikel nach oben geht. Dazu möchtest du einen positiven y-Wert und nichts anderes. Schließlich möchtest du die Geschwindigkeit auf das setzen, was die Geschwindigkeit sein soll. Hier ist ein vollständiges Beispiel:

Beispiel
eliteScript:
Example:
Events:
- EliteMobEnterCombatEvent
Zone:
shape: CYLINDER
radius: 4
borderRadius: 3
height: 30
Target:
targetType: DIRECT_TARGET
track: true
Actions:
- action: SPAWN_PARTICLE
Target:
targetType: ZONE_BORDER
particles:
- particle: FLAME
amount: 0
x: 0
y: 1
z: 0
speed: 0.2
- particle: SMOKE_NORMAL
speed: 0.1
amount: 0
x: 0.5
y: 1
z: 0.5
repeatEvery: 10

Erzeugt aufsteigende Flammen und diagonal wandernden Rauch am Zylinderrand um den Spieler, der den Kampf ausgelöst hat. Setze amount in jeden Partikeleintrag; ein amount auf Aktionsebene steuert die Partikel nicht.

Gültige Partikel​

EliteMobs akzeptiert jedes Partikel aus dem Spigot-Particle-Enum. Die folgenden sind die am häufigsten verwendeten Partikel. Legacy-Partikelnamen (aus älteren Minecraft-Versionen) werden automatisch in ihre modernen Entsprechungen umgewandelt.

Einfache Partikel benötigen in EliteScript keine zusätzlichen Daten. Für Boss-Spuren gelten eigene Einschränkungen:

POOF, EXPLOSION, EXPLOSION_EMITTER, FIREWORK, BUBBLE, SPLASH, FISHING, UNDERWATER, CRIT, ENCHANTED_HIT, SMOKE, LARGE_SMOKE, WITCH, DRIPPING_WATER, DRIPPING_LAVA, ANGRY_VILLAGER, HAPPY_VILLAGER, MYCELIUM, NOTE, PORTAL, ENCHANT, FLAME, LAVA, CLOUD, ITEM_SNOWBALL, ITEM_SLIME, HEART, RAIN, ELDER_GUARDIAN, END_ROD, DAMAGE_INDICATOR, SWEEP_ATTACK, TOTEM_OF_UNDYING, SPIT, SQUID_INK, BUBBLE_POP, CURRENT_DOWN, BUBBLE_COLUMN_UP, NAUTILUS, DOLPHIN, SNEEZE, CAMPFIRE_COSY_SMOKE, CAMPFIRE_SIGNAL_SMOKE, COMPOSTER, FALLING_LAVA, LANDING_LAVA, FALLING_WATER, DRIPPING_HONEY, FALLING_HONEY, LANDING_HONEY, FALLING_NECTAR, SOUL_FIRE_FLAME, ASH, CRIMSON_SPORE, WARPED_SPORE, SOUL, DRIPPING_OBSIDIAN_TEAR, FALLING_OBSIDIAN_TEAR, LANDING_OBSIDIAN_TEAR, REVERSE_PORTAL, WHITE_ASH, FALLING_SPORE_BLOSSOM, SPORE_BLOSSOM_AIR, SMALL_FLAME, SNOWFLAKE, DRIPPING_DRIPSTONE_LAVA, FALLING_DRIPSTONE_LAVA, DRIPPING_DRIPSTONE_WATER, FALLING_DRIPSTONE_WATER, GLOW_SQUID_INK, GLOW, WAX_ON, WAX_OFF, ELECTRIC_SPARK, SCRAPE, SONIC_BOOM, SCULK_SOUL, SCULK_CHARGE_POP, CHERRY_LEAVES, PALE_OAK_LEAVES, EGG_CRACK, DUST_PLUME, WHITE_SMOKE, GUST, SMALL_GUST, GUST_EMITTER_LARGE, GUST_EMITTER_SMALL, TRIAL_SPAWNER_DETECTION, TRIAL_SPAWNER_DETECTION_OMINOUS, VAULT_CONNECTION, INFESTED, ITEM_COBWEB, OMINOUS_SPAWNING, RAID_OMEN, TRIAL_OMEN, FIREFLY, COPPER_FIRE_FLAME

Spezielle Partikel (benötigen zusätzliche Konfigurationsdaten in EliteScript):

PartikelAnmerkungen
DUSTVerwendet die Werte red, green, blue für die Farbe. Legacy-Name: REDSTONE
DUST_COLOR_TRANSITIONVerwendet red/green/blue für die Startfarbe und toRed/toGreen/toBlue für die Endfarbe
ENTITY_EFFECT und andere Partikel mit FarbdatenVerwenden red, green und blue für die Farbe

Partikel mit Block- oder Item-Daten sind in EliteScript nutzbar. Setze das Material mit material. BLOCK, FALLING_DUST, DUST_PILLAR, BLOCK_CRUMBLE und BLOCK_MARKER benötigen ein Blockmaterial; ITEM benötigt ein Itemmaterial. Fehlende oder ungültige Materialien fallen auf STONE zurück.

      particles:
- particle: BLOCK
material: CRIMSON_NYLIUM
amount: 20

Partikel mit weiteren Datentypen:

EliteScript prüft den von Bukkit verlangten Datentyp und liefert die Daten automatisch:

  • Partikel mit einem einzelnen Zahlenwert, etwa SCULK_CHARGE, erhalten ihren speed-Wert.
  • Partikel mit einem einzelnen Ganzzahlwert, etwa SHRIEK, erhalten 0.
  • Kann EliteScript die Daten nicht erzeugen, etwa für VIBRATION, wird das Partikel übersprungen. Warnungen werden skriptübergreifend nach Partikel und benötigtem Datentyp dedupliziert. Die erste Warnung nennt das betroffene Skript:
[EliteMobs] Skipping script particle VIBRATION in script MyScript because Bukkit requires unsupported Vibration data.

Boss-Spuren verwenden ein separates System mit strengeren Anforderungen. Ein in EliteScript nutzbares Partikel funktioniert daher nicht automatisch als Boss-Spur.

Umwandlungen von Legacy-Namen (alte Namen funktionieren weiterhin in Konfigurationsdateien):

Legacy-NameModerner Name
EXPLOSION_NORMALEXPLOSION
EXPLOSION_LARGEEXPLOSION
EXPLOSION_HUGEEXPLOSION
SMOKE_NORMALSMOKE
SMOKE_LARGELARGE_SMOKE
REDSTONEDUST
SLIMEITEM_SLIME
DRIP_LAVADRIPPING_LAVA
DRIP_WATERDRIPPING_WATER
SNOWBALLSNOWFLAKE
SPELLWITCH
SPELL_MOBWITCH
VILLAGER_ANGRYANGRY_VILLAGER
VILLAGER_HAPPYHAPPY_VILLAGER
WATER_BUBBLEUNDERWATER
WATER_SPLASHSPLASH

SUMMON_REINFORCEMENT​

Beschwört Verstärkungen aus EliteMobs Custom Bosses.

WerteDetailsPflicht
TargetWeitere Infos hier✅
sValueLegt den Dateinamen der Custom-Boss-Verstärkung fest✅
durationLegt die Dauer der Verstärkung (Ticks) fest❌
vValueLegt die Geschwindigkeit der gespawnten Verstärkung fest❌

Hinweis: Diese Aktion akzeptiert auch relative Vektoren. Mehr darüber, wie du diese verwendest, erfährst du hier.

Beispiel
eliteScript:
Example:
Events:
- EliteMobEnterCombatEvent
Actions:
- action: SUMMON_REINFORCEMENT
Target:
targetType: DIRECT_TARGET
sValue: your_boss_file.yml

Erzeugt your_boss_file.yml an der Position des Spielers, der den Kampf ausgelöst hat. Mit SELF erscheint die Verstärkung stattdessen beim Boss.


SUMMON_ENTITY​

Beschwört eine Entität an der Zielposition. Projektile eines lebenden Bosses sind eine Ausnahme: Sie werden pro ermittelter Zielposition einmal vom Boss abgeschossen. Die Zielpositionen verschieben den Abschussort nicht.

Die Überwachung für landingScripts wartet darauf, dass die Entität den Boden erreicht, ungültig wird oder der Zähler 6.000 Ticks überschreitet. Dies ist kein Callback für Projektiltreffer. Verwende ein passendes Ereignis, wenn der genaue Aufprall benötigt wird.

WerteDetailsPflicht
TargetWeitere Infos hier✅
sValueLegt den zu beschwörenden Entitätstyp fest✅
vValueLegt die Geschwindigkeit der beschworenen Entität fest❌
durationLegt fest, wie lange es dauert, bis die beschworene Entität entfernt wird (Ticks)❌
landingScriptsSkripte, die ausgeführt werden, wenn die Entität landet oder ungültig wird❌

Hinweis: Diese Aktion akzeptiert auch relative Vektoren. Mehr darüber, wie du diese verwendest, erfährst du hier.

Beispiel
eliteScript:
Example:
Events:
- EliteMobEnterCombatEvent
Actions:
- action: SUMMON_ENTITY
sValue: ARROW
vValue: 0,1,0
Target:
targetType: SELF
track: false
RelativeVector:
SourceTarget:
targetType: SELF
DestinationTarget:
targetType: NEARBY_PLAYERS
range: 20
normalize: true
multiplier: 8.0

Schießt einen Pfeil vom Boss auf den ersten Spieler im Suchquader, der sich auf jeder Achse um 20 Blöcke erstreckt. Die relative Richtung wird normalisiert und mit 8.0 multipliziert; sie überschreibt vValue.


TAG​

Fügt den Bossen oder Spielern Tags hinzu. Tags sind einfach Strings oder Wörter, die Skript-Ersteller definieren können. Diese werden nur verwendet, um Bedingungsprüfungen durchzuführen, und haben außerhalb dessen, wofür sie in Skripten verwendet werden, keinen direkten Gameplay-Effekt.

WerteDetailsPflicht
TargetWeitere Infos hier✅
tagsLegt die Tags fest✅
durationLegt die Dauer der Tags (Ticks) fest❌
Beispiel
eliteScript:
Example:
Events:
- EliteMobSpawnEvent
Actions:
- action: TAG
Target:
targetType: SELF
tags:
- fireworks
- action: SPAWN_FIREWORKS
Target:
targetType: SELF
offset: 0,3,0
wait: 20
vValue: 0,.1,0
flicker: true
withTrail: true
power: 1
fireworkEffects:
- [ORANGE, RED]
repeatEvery: 20
Conditions:
hasTags:
- fireworks

Versieht den Boss mit dem String „fireworks", der später über Skriptbedingungen geprüft werden kann.

Wichtig: Es ist nur möglich, Spieler und Elite Mobs zu taggen.


TELEPORT​

Teleportiert alle Zielentitäten zur ersten von FinalTarget ermittelten Position. Mehrere Ziele werden weder einzelnen Entitäten zugeordnet noch zufällig ausgewählt.

WerteDetailsPflicht
TargetLegt fest, wer teleportiert wird. Allgemeine Zielinfos hier!✅
FinalTargetLegt fest, wohin sie teleportiert werden. Allgemeine Zielinfos hier!✅
location ist ein Zielschlüssel, kein Aktionsschlüssel

FinalTarget ist die einzige Möglichkeit, das Teleportziel festzulegen. TELEPORT liest location: direkt unter der Aktion nicht. Beim Start erscheint Failed to read key location ..., bei der Ausführung dann Failed to get teleport destination ... because there is no set FinalTarget!.

Für feste Koordinaten gehört location in FinalTarget, zusammen mit targetType: LOCATION:

FinalTarget:
targetType: LOCATION
location: world,0,64,0,0,0
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: TELEPORT
Target:
targetType: NEARBY_PLAYERS
range: 10
FinalTarget:
targetType: SELF_SPAWN

elitescript_actions_teleport.gif

Dies würde alle Spieler innerhalb von 10 Blöcken vom Boss zum Spawn-Standort des Bosses teleportieren.

location​

Legt die Zielposition fest. Der Schlüssel steht in FinalTarget neben targetType: LOCATION. Das normale EliteMobs-Format lautet world_name,x,y,z,yaw,pitch.

Beispiel

FinalTarget:
targetType: LOCATION
location: world,0,64,0,0,0

Der Parser akzeptiert genau drei Formate:

FormatBeispielHinweise
world,x,y,z,yaw,pitchworld,0,64,0,0,0Normales Format
world,x,y,zworld,0,64,0yaw und pitch sind standardmäßig 0
x,y,z,yaw,pitch0,64,0,0,0Ohne Weltnamen; siehe Warnung unten

Die letzten beiden Werte sind yaw und dann pitch, in dieser Reihenfolge. Andere Formate, insbesondere nur drei Werte x,y,z, werden mit Attempted to deserialize an invalid location! in der Konsole abgelehnt, und die Aktion schlägt bei der Ausführung mit einem Fehler fehl.

Bei same_as_boss wird der Weltname durch die aktuelle Welt des Bosses ersetzt:

location: same_as_boss,0,64,0,0,0

Ist die konfigurierte Welt nicht geladen und befindet sich der Boss in einer instanzierten Kopie davon, etwa <worldName>_1 oder <worldName>_2, wird ebenfalls seine Welt verwendet. Dadurch funktionieren Dungeonskripte in Instanzen.

Das Format ohne Welt enthält keine Welt

x,y,z,yaw,pitch wird eingelesen, liefert aber eine Position ohne Welt. EliteScript ergänzt keine. Es ist keine Kurzform für relative Bosskoordinaten. Nutze same_as_boss für absolute Koordinaten in der Bosswelt oder targetType: SELF / SELF_SPAWN mit einem offset für einen relativen Versatz.


TITLE_MESSAGE​

Setzt eine Titel-Nachricht für die Ziele.

Hinweis: Diese Aktion unterstützt Platzhalter. Die vollständige Liste findest du unter Platzhalter.

WerteDetailsPflichtSpeziellStandard
TargetWeitere Infos hier✅❌❌
titleTiteltext. Gib mindestens title oder subtitle an.❌Kann Color Codes mit & verwendenLeere Zeichenfolge
subtitleUntertiteltext. Gib mindestens title oder subtitle an.❌Kann Color Codes mit & verwendenLeere Zeichenfolge
durationLegt die Dauer der Nachricht (Ticks) fest✅❌0
fadeInLegt die Einblendzeit (Ticks) fest❌❌1
fadeOutLegt die Ausblendzeit (Ticks) fest❌❌1
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: TITLE_MESSAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
title: "&2Hello World!"
subtitle: "&2I am a subtitle!"
duration: 120
fadeIn: 20
fadeOut: 20

elitescript_actions_titlescreen.jpg

Setzt die Titel-Nachricht so, dass sie allen Spielern innerhalb von 10 Blöcken vom Boss den Titel „&2Hello World!" mit dem Untertitel „&2I am a subtitle!" anzeigt.

Die Nachricht bleibt 8 Sekunden (120 + 20 + 20 = 160 Ticks) auf dem Bildschirm, einschließlich der Ein- und Ausblendanimation.


UNTAG​

Entfernt Tags von den anvisierten Elites oder Spielern. Unter TAG wird ihre Funktionsweise erklärt.

WerteDetailsPflicht
TargetWeitere Infos hier✅
tagsLegt die Tags fest✅
durationLegt die Dauer des Entfernens der Tags (Ticks) fest❌
Beispiel
eliteScript:
Example:
Events:
- EliteMobSpawnEvent
Actions:
- action: TAG
Target:
targetType: SELF
tags:
- fireworks
- action: SPAWN_FIREWORKS
Target:
targetType: SELF
offset: 0,3,0
wait: 20
vValue: 0,.1,0
flicker: true
withTrail: true
power: 1
fireworkEffects:
- [ORANGE, RED]
repeatEvery: 20
Conditions:
hasTags:
- fireworks
Example2:
Events:
- EliteMobEnterCombatEvent
Actions:
- action: UNTAG
Target:
targetType: SELF
tags:
- fireworks

Entfernt den Tag „fireworks" vom Boss, der später über Skriptbedingungen geprüft werden kann.


VISUAL_FREEZE​

Fügt jedem Ziel Einfrier-Ticks hinzu. Minecraft steuert den visuellen Effekt, das Auftauen und den Frostschaden. Diese Aktion verursacht keinen direkten Schaden und garantiert keine feste sichtbare Dauer. Wiederholte Anwendungen können dem Auftauen entgegenwirken.

WerteDetailsPflicht
TargetWeitere Infos hier✅
amountAnzahl der Einfrier-Ticks, die dem Ziel hinzugefügt werden✅
Beispiel
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: VISUAL_FREEZE
Target:
targetType: NEARBY_PLAYERS
range: 10
amount: 20
repeatEvery: 20
times: 3

Fügt Spielern im nahen Suchquader bei jeder von drei Ausführungen 20 Einfrier-Ticks hinzu. Zwischen den Ausführungen liegen 20 Ticks. Da Spieler dazwischen auftauen können, garantiert dies keinen dreisekündigen Einfriereffekt.


Mehrere Aktionen

Liste mehrere Aktionen im selben Ereignisskript auf. Aktionen ohne Wartezeit laufen in Listenreihenfolge. Das wait jeder Aktion ist unabhängig und hält spätere Einträge nicht auf. Dieses Beispiel sendet zwei Chatnachrichten:

Beispiel
eliteScript:
MessagePlayers:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: MESSAGE
Target:
targetType: ALL_PLAYERS
sValue: I am messaging all online players!
- action: MESSAGE
Target:
targetType: DIRECT_TARGET
sValue: I am messaging the player that hit the boss!