Einführung
Auf dieser Seite findest du verschiedene Beispiele für benutzerdefinierte Bosskräfte, die mit EliteScript und der WebApp erstellt wurden. Diese unkomplizierten Beispiele veranschaulichen, wie sich mehrere Aktionen und weitere Funktionen nutzen lassen, um einzigartige Bosskräfte zu gestalten.
Zusätzlich gibt es zu jedem Beispiel eine visuelle Demonstration, damit leichter nachvollziehbar ist, wie das Skript im Spiel funktioniert.
Du kannst jedes der Beispiele gerne kopieren und in deinen eigenen Dungeons oder Welten verwenden.
EliteScript (.yml) wird weiterhin vollständig unterstützt und ist das, was jedes Beispiel auf dieser Seite verwendet. Es ist jedoch nicht mehr die einzige Option: Kräfte können auch in Lua geschrieben werden, was inzwischen nahezu jede mit EliteMobs ausgelieferte Kraft nutzt. Unter Kräfte erstellen erfährst du, wie sich die beiden Formate unterscheiden.
potionEffectType-Werte verwenden Minecrafts moderne, mit Namensraum versehene Bezeichnungen — SLOWNESS, INSTANT_HEALTH, NAUSEA — und nicht die alten Bukkit-Schreibweisen (SLOW, HEAL, CONFUSION). Alte Namen werden über einen veralteten Rückfallmechanismus weiterhin aufgelöst, aber die modernen Namen sind das, was die ausgelieferten Kräfte verwenden, und sie funktionieren garantiert auch künftig.
Kraft-Beispiele
Slam Down
Dieses Skript lässt den Boss 8 Blöcke über den Spieler teleportieren, der ihm Schaden zugefügt hat, und anschließend auf den Boden krachen. Danach wird allen Spielern innerhalb von 3 Blöcken um den Boss der Langsamkeits-Trankeffekt zugefügt und 3 Sekunden lang die Nachricht "Stunned" auf dem Bildschirm angezeigt.
Beispiel ausklappen
eliteScript:
SlamDown:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: TELEPORT
FinalTarget:
targetType: DIRECT_TARGET
offset: 0,8,0
Target:
targetType: SELF
- action: PUSH
vValue: 0,-5,0
Target:
targetType: SELF
wait: 15
- action: POTION_EFFECT
potionEffectType: SLOWNESS
amplifier: 3
duration: 60
Target:
targetType: NEARBY_PLAYERS
range: 3
wait: 20
- action: TITLE_MESSAGE
subtitle: "Stunned!"
duration: 40
fadeIn: 10
fadeOut: 10
Target:
targetType: NEARBY_PLAYERS
range: 3
wait: 20
Cooldowns:
local: 180
global: 80
Push Away
Dieses Skript erzeugt eine 4 Blöcke große Kuppel um den Boss. Anschließend startet es einen Partikeleffekt am Zonenrand, der eine Sekunde lang anhält, danach stößt eine weitere Aktion alle Spieler innerhalb der Zone weg. Aufgrund der Offset-Einstellung des Stoßes werden die Spieler leicht nach oben geschleudert. Zum Schluss sendet das Skript eine Nachricht an alle Spieler innerhalb der Zone.
Beispiel ausklappen
eliteScript:
PushAway:
Events:
- EliteMobDamagedEvent
Zone:
shape: DOME
radius: 4
borderRadius: 3
Target:
targetType: SELF
track: true
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_BORDER
track: true
repeatEvery: 5
times: 4
- action: PUSH
Target:
targetType: ZONE_FULL
track: true
RelativeVector:
SourceTarget:
targetType: SELF
DestinationTarget:
targetType: ACTION_TARGET
normalize: true
multiplier: 1.0
offset: 0,0.2,0
repeatEvery: 1
times: 20
- action: MESSAGE
sValue: "&cCool boss!: &fBE GONE!"
Target:
targetType: ZONE_FULL
repeatEvery: 10
times: 2
Cooldowns:
local: 140
global: 80
Arrow Rain
Erstellt ein Skript, das einen Kreis auf dem Boden um den Spieler zeichnet, der dem Mob Schaden zugefügt hat. Außerdem wird auf dem Bildschirm eine Nachricht angezeigt, die den Spieler auffordert, den Kreis zu verlassen. Zwei Sekunden später werden an derselben Stelle Pfeile nach unten abgefeuert, allerdings aus 10 Blöcken Höhe.
Beispiel ausklappen
eliteScript:
MakeCircle:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: CYLINDER
radius: 5
borderRadius: 4
height: 1
Target:
targetType: DIRECT_TARGET
track: false
Actions:
- action: SPAWN_PARTICLE
Target:
targetType: ZONE_BORDER
track: false
coverage: 1.0
repeatEvery: 5
times: 8
particles:
- particle: FLAME
- action: TITLE_MESSAGE
Target:
targetType: DIRECT_TARGET
fadeOut: 10
duration: 20
fadeIn: 10
subtitle: Move out of the zone!
- action: RUN_SCRIPT
scripts:
- "ArrowRain"
Cooldowns:
local: 160
global: 80
ArrowRain:
Zone:
shape: CYLINDER
radius: 5
borderRadius: 4
height: 1
Target:
targetType: DIRECT_TARGET
track: false
offset: 0,10,0
Actions:
- action: SUMMON_ENTITY
wait: 40
sValue: ARROW
Target:
targetType: ZONE_FULL
track: false
vValue: 0,-1,0
repeatEvery: 10
times: 4
Fire Aura
Damit entsteht ein Skript, das mithilfe der Zylinderzone Partikel um den Boss erzeugt und 6 Sekunden lang anhält. Der Boss erhält außerdem 6 Sekunden lang den Tag FireOn.
Greifen die Spieler den Boss an, während der Tag aktiv ist, geraten sie 1 Sekunde lang in Brand. Das wird über Bedingungen umgesetzt: Das Skript SetOnFire kann nur ausgeführt werden, wenn der Boss den passenden Tag FireOn besitzt.
Beispiel ausklappen
eliteScript:
Visual:
Events:
- PlayerDamagedByEliteMobEvent
Zone:
shape: CYLINDER
radius: 2
height: 3
Target:
targetType: SELF
track: true
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: FLAME
Target:
targetType: ZONE_FULL
track: true
coverage: 1.0
repeatEvery: 5
times: 24
- action: TAG
tags:
- "FireOn"
duration: 120
Target:
targetType: SELF
Cooldowns:
local: 180
global: 80
SetOnFire:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_ON_FIRE
duration: 20
Target:
targetType: DIRECT_TARGET
Conditions:
Target:
targetType: SELF
conditionType: BLOCKING
hasTags:
- "FireOn"
Poison Lines
Dieses Skript erzeugt zwei Quaderzonen, die auf den Boss zentriert sind. Die Boss-KI wird 2 Sekunden lang deaktiviert. Die Quaderzonen sind so konfiguriert, dass sie auf dem Boden ein Pluszeichen bilden.
Das Skript erzeugt dann 2 Sekunden lang Wolkenpartikel in den Zonen und anschließend 3 Sekunden lang Rauchpartikel und wendet den Gift-Trankeffekt auf die Zonen an.
Beispiel ausklappen
eliteScript:
PoisonLine1:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: CUBOID
x: 20
y: 1
z: 2
Target:
targetType: SELF
track: false
Actions:
- action: SET_MOB_AI
bValue: false
duration: 40
Target:
targetType: SELF
scripts:
- "PoisonLine2"
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
coverage: 1
repeatEvery: 5
times: 8
- action: SPAWN_PARTICLE
particles:
- particle: SMOKE_NORMAL
Target:
targetType: ZONE_FULL
coverage: 1
wait: 40
repeatEvery: 5
times: 12
- action: POTION_EFFECT
potionEffectType: POISON
amplifier: 4
duration: 50
Target:
targetType: ZONE_FULL
wait: 40
repeatEvery: 5
times: 12
Cooldowns:
local: 200
global: 80
PoisonLine2:
Zone:
shape: CUBOID
x: 2
y: 1
z: 20
Target:
targetType: SELF
track: false
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
coverage: 1
repeatEvery: 5
times: 8
- action: SPAWN_PARTICLE
particles:
- particle: SMOKE_NORMAL
Target:
targetType: ZONE_FULL
coverage: 1
wait: 40
repeatEvery: 5
times: 12
- action: POTION_EFFECT
potionEffectType: POISON
amplifier: 4
duration: 50
Target:
targetType: ZONE_FULL
wait: 40
repeatEvery: 5
times: 12
Bounce
Dieses Skript erzeugt eine 10 Blöcke große Zylinderzone, die auf den Boss zentriert ist, und wendet dann 10 Sekunden lang Partikeleffekte und einen Stoß auf die Zone an.
Die Stoß-Aktion schiebt die Spieler in jedem Tick leicht nach oben und erzeugt so die Illusion, dass die Spieler umherhüpfen, solange sie sich in der Zone befinden.
Beispiel ausklappen
eliteScript:
Bounce:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: CYLINDER
radius: 10
height: 2
Target:
targetType: SELF
track: false
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: EXPLOSION_NORMAL
repeatEvery: 10
times: 20
Target:
targetType: ZONE_FULL
track: false
coverage: 0.2
- action: PUSH
vValue: 0,0.4,0
Target:
targetType: ZONE_FULL
repeatEvery: 1
times: 200
Cooldowns:
local: 220
global: 80
Summon
Dieses Skript erzeugt eine zylindrische Zone (aufgrund des angewendeten Offsets 6 Blöcke über dem Spieler positioniert), zentriert um den Spieler, der dem Boss Schaden zugefügt hat. Zusätzlich wird diesem Spieler eine Nachricht auf dem Bildschirm angezeigt.
Nach einer Verzögerung von 2 Sekunden spawnen Verstärkungen in der festgelegten Zone. Allerdings wird nur ein Teil der Zone von Verstärkungen belegt, da wir coverage verwendet haben. Gelingt es dem Spieler nicht, alle Verstärkungen auszuschalten, verschwinden diese nach 20 Sekunden (400 Ticks) automatisch.
Beispiel ausklappen
eliteScript:
Summon:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: CYLINDER
radius: 3
height: 1
Target:
targetType: DIRECT_TARGET
offset: 0,6,0
Actions:
- action: SUMMON_REINFORCEMENT
sValue: "fc_boss.yml"
duration: 400
Target:
targetType: ZONE_FULL
coverage: 0.2
wait: 40
- action: TITLE_MESSAGE
subtitle: "Friends! Help!!!"
duration: 30
fadeIn: 10
fadeOut: 10
Target:
targetType: DIRECT_TARGET
Cooldowns:
local: 333
global: 80
Potion Zones
Dieses Skript wird ausgelöst, wenn ein Spieler dem Boss Schaden zufügt. Es führt dann entweder das Skript PotionZoneBad oder PotionZoneGood aus.
Im Skript PotionZoneBad wird eine zylindrische Zone um nahegelegene Spieler erzeugt, die sich innerhalb von 20 Blöcken um den Boss befinden. Es erzeugt Wolken- und große Rauchpartikeleffekte mit einer bestimmten Abdeckung, fügt den Wither-Trankeffekt zu und sendet eine Nachricht an nahegelegene Spieler.
Im Skript PotionZoneGood wird eine zylindrische Zone um Spieler erzeugt, die sich innerhalb von 20 Blöcken um den Boss befinden. Die Partikeleffekte dieses Skripts sind umgekehrt. Dieses Skript wendet statt Wither einen Heilungs-Trankeffekt an und sendet eine Nachricht an nahegelegene Spieler.
Beispiel ausklappen
eliteScript:
Trigger:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: RUN_SCRIPT
scripts:
- "PotionZoneBad"
- "PotionZoneGood"
onlyRunOneScript: true
Cooldowns:
local: 110
global: 80
PotionZoneBad:
Zone:
shape: CYLINDER
height: 2
radius: 5
Target:
targetType: NEARBY_PLAYERS
range: 20
track: false
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
coverage: 0.3
track: false
repeatEvery: 10
times: 4
- action: SPAWN_PARTICLE
particles:
- particle: SMOKE_LARGE
Target:
targetType: ZONE_FULL
coverage: 0.3
track: false
wait: 40
repeatEvery: 10
times: 6
- action: POTION_EFFECT
potionEffectType: WITHER
amplifier: 3
duration: 80
Target:
targetType: ZONE_FULL
track: false
wait: 40
repeatEvery: 10
times: 6
- action: MESSAGE
sValue: "&cCool boss!: &fFeel the burn!"
Target:
targetType: NEARBY_PLAYERS
range: 20
PotionZoneGood:
Zone:
shape: CYLINDER
height: 2
radius: 5
Target:
targetType: NEARBY_PLAYERS
range: 20
track: false
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: SMOKE_LARGE
Target:
targetType: ZONE_FULL
coverage: 0.3
track: false
repeatEvery: 10
times: 4
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
coverage: 0.3
track: false
wait: 40
repeatEvery: 10
times: 6
- action: POTION_EFFECT
potionEffectType: INSTANT_HEALTH
amplifier: 1
duration: 80
Target:
targetType: ZONE_FULL
track: false
wait: 40
repeatEvery: 10
times: 6
- action: MESSAGE
sValue: "&cCool boss!: &fFeel the... Wait, this is the wrong one."
Target:
targetType: NEARBY_PLAYERS
range: 20
Blind Waves
Dieses Skript startet zwei Bodenstrahl-Wellen, die vom Boss ausgehend in positive und negative X-Richtung geworfen werden.
Wir nutzen den Parameter offset, um Länge und Größe der Strahlen festzulegen, konkret über den Z-Wert. Zusätzlich bestimmen wir die Ausbreitungsrichtung der Wellen über die X-Werte. (Das ist lediglich eine Erklärung, wie dieses konkrete Skript diese Werte nutzt -- du musst deines nicht genau so aufbauen.)
Zwar ließe sich die Höhe der Strahlwellen über die Y-Werte erhöhen, wir belassen sie jedoch bei 0, damit Spieler die Möglichkeit haben, über die Strahlen zu springen.
Der Parameter animationDuration bestimmt, wie lange die Strahlwellen von den Zielen zu den Endzielen brauchen. Ein niedrigerer Wert macht die Strahlen schneller und schwerer auszuweichen.
Anschließend werden Partikel- und Trankeffekte angewendet. Spieler, die den Strahlwellen nicht ausweichen oder nicht über sie hinwegspringen, werden 5 Sekunden (100 Ticks) lang geblendet.
Beispiel ausklappen
eliteScript:
Blind:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: TRANSLATING_RAY
Target:
targetType: SELF
offset: 0,0,5
track: false
FinalTarget:
targetType: SELF
offset: 10,0,5
track: false
Target2:
targetType: SELF
offset: 0,0,-5
track: false
FinalTarget2:
targetType: SELF
offset: 10,0,-5
track: false
animationDuration: 100
ignoresSolidBlocks: true
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: SMOKE_NORMAL
Target:
targetType: ZONE_FULL
track: false
coverage: 1.0
repeatEvery: 5
times: 20
- action: POTION_EFFECT
potionEffectType: BLINDNESS
amplifier: 5
duration: 100
Target:
targetType: ZONE_FULL
track: true
repeatEvery: 1
times: 100
scripts: "Blind2"
Cooldowns:
local: 200
global: 80
Blind2:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: TRANSLATING_RAY
Target:
targetType: SELF
offset: 0,0,5
track: false
FinalTarget:
targetType: SELF
offset: -10,0,5
track: false
Target2:
targetType: SELF
offset: 0,0,-5
track: false
FinalTarget2:
targetType: SELF
offset: -10,0,-5
track: false
animationDuration: 100
ignoresSolidBlocks: true
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: SMOKE_NORMAL
Target:
targetType: ZONE_FULL
track: false
coverage: 1.0
repeatEvery: 5
times: 20
- action: POTION_EFFECT
potionEffectType: BLINDNESS
amplifier: 5
duration: 100
Target:
targetType: ZONE_FULL
track: true
repeatEvery: 1
times: 100
Freeze Wall
Dieses Skript erzeugt 3 rotierende Strahlen, die auf den Boss zentriert sind. Wir brauchen 3 verschiedene rotierende Strahlen, da sich die Strahlhöhe nicht festlegen lässt. Deshalb verwenden wir mehrere Skripte und offset, damit sich die Strahlen in der Höhe stapeln und wie eine einzige rotierende Wand wirken.
Alle 3 Skripte haben identische Zonen, lediglich der offset unterscheidet sich. Sie sind auf eine Länge von 6 Blöcken ab dem Boss eingestellt und führen in 10 Sekunden (200 Ticks) eine 360-Grad-Yaw-Drehung aus.
Alle Skripte haben Partikeleffekte eingestellt und wenden die Aktion VISUAL_FREEZE 5 Sekunden (100 Ticks) lang auf alle Spieler an, die von den Strahlwänden getroffen werden.
Beispiel ausklappen
eliteScript:
Trigger:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: RUN_SCRIPT
scripts:
- "FreezeWall"
- "FreezeWall2"
- "FreezeWall3"
Cooldowns:
local: 300
global: 80
FreezeWall:
Zone:
shape: ROTATING_RAY
Target:
targetType: SELF
track: false
Target2:
targetType: SELF
offset: 6,0,0
track: false
yawRotation: 360
animationDuration: 200
ignoresSolidBlocks: true
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: SNOWFLAKE
repeatEvery: 10
times: 20
Target:
targetType: ZONE_FULL
track: false
coverage: 1.0
- action: VISUAL_FREEZE
duration: 100
Target:
targetType: ZONE_FULL
track: false
repeatEvery: 1
times: 200
FreezeWall2:
Zone:
shape: ROTATING_RAY
Target:
targetType: SELF
track: false
offset: 0,1,0
Target2:
targetType: SELF
track: false
offset: 6,1,0
yawRotation: 360
animationDuration: 200
ignoresSolidBlocks: true
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: SNOWFLAKE
repeatEvery: 10
times: 20
Target:
targetType: ZONE_FULL
track: false
coverage: 1.0
- action: VISUAL_FREEZE
duration: 100
Target:
targetType: ZONE_FULL
track: false
repeatEvery: 1
times: 200
FreezeWall3:
Zone:
shape: ROTATING_RAY
Target:
targetType: SELF
track: false
offset: 0,2,0
Target2:
targetType: SELF
track: false
offset: 6,2,0
yawRotation: 360
animationDuration: 200
ignoresSolidBlocks: true
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: SNOWFLAKE
repeatEvery: 10
times: 20
Target:
targetType: ZONE_FULL
track: false
coverage: 1.0
- action: VISUAL_FREEZE
duration: 100
Target:
targetType: ZONE_FULL
track: false
repeatEvery: 1
times: 200