跳至主要內容

Elite Script 動作

動作是腳本的核心。它們決定腳本的行為並允許你設定自訂間隔。

動作永遠以你即將執行的動作類型作為開頭。不同的動作類型提供不同的功能。此外,所有動作都有一個或多個目標。動作也可以有等待計時器,以確保事情在可自訂的延遲下發生。最後,動作也可以有好幾個專屬於該動作類型的其他欄位。

共享屬性

Values詳細資訊特殊
Target更多資訊請參閱此處
wait設定在執行動作之前要等待的時間量(刻)
repeatEvery設定動作每隔設定的刻數重複一次。任何設定了此項但未使用 times 的腳本,會在怪物死亡時被終止以避免延遲。你可以使用 ~ 來隨機化此值,例如:1~5
times設定一個動作會發生的次數。你可以使用 ~ 來隨機化此值,例如:1~5需要 repeatEvery
scripts設定在動作結束時會執行的腳本
onlyRunOneScriptscripts 中隨機挑選一個並僅執行那一個。
offset此選項放在 Target 之下。讓你能夠偏移目標位置。Offset 對於以 ZONE_FULLZONE_BORDER 鎖定區域的動作無效。
debug此選項放在腳本的動作區段之下。設定為 true 時,它會在該動作所在的區域顯示屏障圖示。

動作類型

ACTION_BAR_MESSAGE

為目標設定動作列訊息。

注意: 此動作支援預留位置。完整列表請參閱 Placeholders

Values詳細資訊必填特殊
Target更多資訊請參閱此處
sValue訊息可使用 & 搭配 Color Codes
範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: ACTION_BAR_MESSAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
sValue: "&2Hello World!"

elitescript_actions_actionbar.jpg

會為任何位於 Boss 10 格範圍內的玩家,將動作列設定為顯示 Hello World。


BOSS_BAR_MESSAGE

為目標加入一個 Boss 血條。

注意: 此動作支援預留位置。完整列表請參閱 Placeholders

Values詳細資訊必填特殊
Target更多資訊請參閱此處
sValue訊息可使用 & 搭配 Color Codes
durationBoss 血條的持續時間(刻)
barColor設定 Boss 血條的顏色。有效值請參閱此處預設為 WHITE
barStyle設定 Boss 血條的樣式。有效值請參閱此處預設為 SOLID
範例
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

會為任何位於 Boss 10 格範圍內的玩家,設定一個顯示 Hello World 的 Boss 血條,持續 6 秒(120 刻)。


DAMAGE

這是你能夠以其他實體的身分傷害實體的方式。

注意:這原生使用 EliteMobs 傷害系統!這表示你會看到攻擊正常的菁英護甲減免。更多相關說明請參閱倍率章節。

Values詳細資訊必填
Target更多資訊請參閱此處
multiplier傷害倍率

關於遞迴的注意事項: 為了防止無限迴圈,傷害動作有 3 層的最大遞迴深度。如果一個傷害腳本呼叫另一個傷害腳本,該鏈會在深入 3 層後停止。

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

將傷害設定為 Boss 對玩家所造成基礎傷害的一半,並將傷害減免納入考量。

multiplier

為該效果設定 Boss 的傷害倍率。

重要:為了讓 powers 能夠輕鬆且自動地調整,傷害是透過讓 Boss 擊中玩家一次,並將 Boss 的基礎傷害乘以該倍率來套用的。

這表示倍率 1.0 與來自 Boss 的一次普通攻擊相同。2.0 是 2 倍正常強度的攻擊,而 0.5 則是 50% 的強度。


HEAL

這是你能夠治療實體(包含玩家)的方式。

注意:這原生使用 EliteMobs 治療系統!這表示你會看到 EliteMobs 通知訊息在實體附近顯示,標示他們被治療了多少點數!

Values詳細資訊必填
Target更多資訊請參閱此處
amount治療多少點數。(2 點是一顆心)
範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: HEAL
Target:
targetType: NEARBY_MOBS
range: 15
amount: 20

當 Boss 被擊中時,它會為 15 格範圍內的所有怪物治療 20 點(10 顆心)。


MAKE_INVULNERABLE

使目標變得無敵。

Values詳細資訊必填
Target更多資訊請參閱此處
invulnerable設定 Boss 是否無敵
duration設定無敵的持續時間(刻)
範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: MAKE_INVULNERABLE
Target:
targetType: SELF
invulnerable: true
duration: 60

使 Boss 無敵 60 刻(3 秒)。


MODIFY_DAMAGE

修改對 Boss 造成的傷害,或該 Boss 對玩家造成的傷害。這是一個特殊動作,有幾項特殊需求。

Values詳細資訊必填
multiplier傷害倍率。

此動作很特殊,必須位於一個具有傷害事件監聽器的腳本中。以下是有效的傷害事件:EliteMobDamagedByEliteMobEventEliteMobDamagedByPlayerEventEliteMobDamagedEvent(用於減少對 Boss 造成的傷害的事件),以及 PlayerDamagedByEliteMobEvent(用於減少對玩家造成的傷害)。

強烈建議你學習 hasTag 條件如何運作,以便最佳地使用此動作。正確使用時,就有可能讓 Boss 暫時抵抗或更易受傷害,而這可以與玩家增益、Boss 位置或許多其他因素相關聯。

範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: MODIFY_DAMAGE
multiplier: 2.0
Conditions:
hasTags:
- "CoolPlayer"
Target:
targetType: DIRECT_TARGET

將玩家對 Boss 造成的傷害提高 2 倍,但僅在玩家擁有一個名為「CoolPlayer」的標籤時。


MESSAGE

向目標發送一則訊息。

注意: 此動作支援預留位置。完整列表請參閱 Placeholders

Values詳細資訊必填特殊
Target更多資訊請參閱此處
sValue訊息可使用 & 搭配 Color Codes
範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: MESSAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
sValue: "&2Hello World!"

elitescript_actions_message.jpg

會向 Boss 10 格範圍內的所有玩家發送一則聊天訊息。


使 Boss 導航(步行)到指定的目標。

Values詳細資訊必填特殊
Target更多資訊請參閱此處
FinalTarget更多資訊請參閱此處
velocity設定 Boss 的導航速度。1.0 即為設定檔中所設定的 Boss 值。
bValue設定如果導航失敗,是否應強制將 Boss 傳送到 FinalTarget
durationBoss 在放棄之前應嘗試導航多久。以刻設定。預設為 100 刻。
範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: NAVIGATE
Target:
targetType: SELF
FinalTarget:
targetType: NEARBY_PLAYERS
range: 50
velocity: 1.0
bValue: true
duration: 100

會使 Boss 導航到玩家擊中 Boss 時所站立的位置。


PLACE_BLOCK

在目標位置放置一個方塊,持續一段時間。

Values詳細資訊必填
Target更多資訊請參閱此處
material方塊的材質(Material)完整列表請參閱此處
duration效果持續時間(刻)
範例
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

在 Boss 周圍放置一個玻璃圓頂,會持續 6 秒。

注意:如果未定義 duration,方塊放置就是永久性的。


PLAY_ANIMATION

使用 Model Engine 為自訂模型播放指定的動畫。需要 Model Engine,且執行該動畫的目標上要有一個有效的自訂模型。

Values詳細資訊必填
Target更多資訊請參閱此處
sValue設定動畫的名稱
範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: PLAY_ANIMATION
Target:
targetType: SELF
sValue: "fortnite_dance"

設定 Boss 播放 fortnite_dance 動畫。需要伺服器有 Model Engine、Boss 有一個自訂偽裝,且該自訂偽裝有一個名為「fortnite_dance」的動畫。


PLAY_SOUND

播放一個遊戲內音效。

Values詳細資訊必填
Target更多資訊請參閱此處
sValue設定要播放的音效名稱
pitch設定要播放音效的音高
volume設定要播放音效的音量

這裡有一份方便的所有 Minecraft 音效列表! 請記住,這也可以播放來自資源包的自訂音效。 當動作鎖定一個區域時,該動作會為該區域中的每個方塊播放一個音效。這可能會讓音效比正常情況大聲許多,因此如果鎖定一個區域,請考慮降低音量。

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

在 Boss 位置播放來自 Minecraft 鐘的共鳴音效。


POTION_EFFECT

對目標套用特定的藥水效果。

Values詳細資訊必填
Target更多資訊請參閱此處
potionEffectType效果類型,有效列表請參閱此處
amplifier藥水效果等級(從 0 開始)
duration效果持續時間(刻)
範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: POTION_EFFECT
Target:
targetType: NEARBY_PLAYERS
range: 10
potionEffectType: LEVITATION
amplifier: 1
duration: 40

elitescript_actions_potioneffect.jpg

這會使任何位於 Boss 10 格範圍內的玩家飄浮 2 秒(40 刻)。


PUSH

以設定的向量推動目標。

Values詳細資訊必填
Target更多資訊請參閱此處
vValue設定將套用的速度向量
bValue如果設定為 true,會將該速度加到目標當前的速度上,而非取代它。

注意:此動作也接受相對向量。關於如何使用那些,請參閱此處了解更多。

範例
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

這會使用 0.3 的力道,將 Boss 10 格範圍內的所有玩家推向空中。此動作會每 0.5 秒(10 刻)重複 10 次。換句話說,那會使此效果持續 5 秒(10 次 x 10 刻 = 100 刻)。

這會讓玩家看起來像是在跳躍。

vector

向量以 vValue: x,y,z 定義。舉例來說,如果你希望目標被向上推,你可以寫 vValue: 0,0.3,0


REMOVE_ELITE

此動作會移除任何被鎖定的菁英。可以與 Conditions 和 Tags 結合,以只移除特定的菁英。

Values詳細資訊必填
Target更多資訊請參閱此處
範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: REMOVE_ELITE
Target:
targetType: NEARBY_ELITES
range: 10

這會移除 10 格半徑內的任何鄰近菁英。

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

這會移除 3 格半徑內的任何鄰近菁英,但僅限於它們擁有標籤 remove_me 的情況。


RUN_COMMAND_AS_CONSOLE

以主控台身分執行一條指令。

Values詳細資訊必填
Target更多資訊請參閱此處
sValue將執行的指令

注意: 此動作支援預留位置。完整列表請參閱 Placeholders

範例
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

使主控台廣播訊息「Hello $bossName my name is $playerName. What is your level? $bossName my level is $bossLevel」


RUN_COMMAND_AS_PLAYER

以玩家身分執行一條指令。需要目標為玩家。

Values詳細資訊必填
target更多資訊請參閱此處
sValue將執行的指令

Placeholders

RUN_COMMAND_AS_PLAYER、RUN_COMMAND_AS_CONSOLE、MESSAGE、TITLE_MESSAGE、ACTION_BAR_MESSAGE 與 BOSS_BAR_MESSAGE 全都支援以下預留位置:

預留位置詳細資訊特殊
$playerName玩家的顯示名稱目標必須為玩家
$playerX玩家的 X 座標位置目標必須為玩家
$playerY玩家的 Y 座標位置目標必須為玩家
$playerZ玩家的 Z 座標位置目標必須為玩家
$targetName被鎖定玩家的顯示名稱。僅在 RUN_COMMAND_AS_PLAYER 中可用,會逐目標替換。目標必須為玩家
$bossNameBoss 的顯示名稱
$bossXBoss 的 X 座標位置
$bossYBoss 的 Y 座標位置
$bossZBoss 的 Z 座標位置
$bossLevelBoss 的等級
$bossWorldNameBoss 所在世界的名稱
範例
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

使玩家以 Hello $bossName my name is $playerName. 執行 say 指令,意即他們只是說出「Hello $bossName my name is $playerName.」


RUN_SCRIPT

這就只是執行 scripts 中定義的腳本。任何動作都能做到這點,此動作的存在只是作為一個便利動作,供你純粹想做這件事時使用。

Values詳細資訊必填
Target更多資訊請參閱此處
scripts將執行的腳本
onlyRunOneScript僅從列表中執行一個腳本。
範例
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

當菁英被傷害時,執行 RUN_SCRIPT,它會執行 Example1 與 Example2 腳本。

Example1 腳本會傷害 Boss 10 格範圍內的所有玩家。
Example2 腳本會向 Boss 10 格範圍內的所有玩家發送訊息「&cCool boss!: &fGotcha back!」。


SCALE

讓你能夠縮放實體。

Values詳細資訊必填
Target更多資訊請參閱此處
scale設定縮放大小
duration設定縮放效果應持續多久

縮放時,1.0 代表預設大小。要讓實體變大,請提高該值(例如 1.2)。要讓實體變小,請降低該值(例如 0.8)。

注意:這可以鎖定玩家,所以請小心使用!

注意:如果你已經使用 Boss 設定中的 scale 設定縮放了 Boss,duration 設定會將 Boss 重設回 1.0 的預設大小,無論設定中初始的 scale 值為何。

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

當怪物被擊中時,它會縮小到極小的尺寸。60 刻(3 秒)後,它會復原回其預設大小(1.0)。


SET_FACING

使 Boss 面向某個方向。大多與動畫一起使用。

Values詳細資訊必填
vValueBoss 應面向的方向。X,Y,Z
RelativeVector使用相對向量使 Boss 面向一個目標。
範例
eliteScript:
Example:
Events:
- EliteMobEnterCombatEvent
Actions:
- action: SET_FACING
vValue: 1,0,0

會使 Boss 面向東方。

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

會使 Boss 面向 20 格範圍內的一名玩家。


SET_MOB_AI

設定怪物是否具有 AI。在 Minecraft 中,沒有 AI 的怪物不會移動也不會攻擊。它們仍可被傷害,但傷害它們不會導致它們被擊退。

Values詳細資訊必填
Target更多資訊請參閱此處
bValue設定 Boss 是否具有 AI
duration設定所設值的持續時間(刻)
範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_MOB_AI
Target:
targetType: SELF
bValue: false
duration: 40

設定 Boss 在 2 秒(40 刻)內不具有 AI。


SET_MOB_AWARE

設定怪物是否具有意識(aware)。在 Minecraft 中,不具意識的怪物不會移動到新位置也不會攻擊。它們仍可被傷害,且會被擊退。

附帶一提,如果怪物在失去意識時已經正在移動到某個位置,它會在完全停止並不再移動之前,先完成前往該位置的動作。

這表示你可以使用不具意識的怪物來移動到定義的位置,這與沒有 AI 的怪物不同。

Values詳細資訊必填
Target更多資訊請參閱此處
bValue設定是否具有意識
duration設定所設值的持續時間(刻)
範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_MOB_AWARE
Target:
targetType: SELF
bValue: false
duration: 40

設定 Boss 在 2 秒(40 刻)內不具有意識。


SET_ON_FIRE

使一個實體著火,持續一段時間。

Values詳細資訊必填
Target更多資訊請參閱此處
duration效果持續時間(刻)
範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_ON_FIRE
Target:
targetType: NEARBY_PLAYERS
range: 10
duration: 60

elitescript_actions_setonfire.jpg

使 Boss 10 格範圍內的所有玩家著火 3 秒(60 刻)。


SET_TIME

設定目標所在世界的遊戲內時間。

Values詳細資訊必填
Target更多資訊請參閱此處
time設定時間
範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_TIME
Target:
targetType: SELF
time: 10000

elitescript_actions_settime.gif

當被擊中時,Boss 會將其所在世界的時間設定為 10000 刻。


SET_WEATHER

將目標所在世界的天氣設定為一段時間。

Values詳細資訊必填
Target更多資訊請參閱此處
weather設定天氣類型
duration設定天氣型態的持續時間
範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_WEATHER
Target:
targetType: SELF
weather: PRECIPITATION
duration: 120

elitescript_actions_setweather.gif

將 Boss 所在世界的天氣設定為在接下來一分鐘內下雨/下雪。

注意:效果需要一段時間才會觸發。

weather

以下是有效的天氣型態:

  • CLEAR - 將天氣設定為晴朗
  • PRECIPITATION - 將天氣設定為下雨/下雪,視生態域、位置高度與其他原版 Minecraft 考量而定。
  • THUNDER - 將天氣設定為雷暴

SPAWN_FIREWORKS

生成煙火。

Values詳細資訊必填特殊
Target更多資訊請參閱此處
vValue設定煙火火箭的速度
flicker設定煙火粒子是否會閃爍預設:true
withTrail設定煙火火箭是否會留下軌跡預設:true
power設定煙火的威力
fireworkEffects設定煙火的效果,與爆炸前所需的時間相關
fireworkEffectType設定煙火的形狀,從此列表選擇
fireworkEffectTypes設定煙火的形狀,從此列表選擇。這是一個形狀列表 —— 如果你想要一個形狀列表,請不要使用 fireworkEffectType![1]

[1] 當為煙火使用多個形狀時,每個形狀都會使用顏色列表中相同位置的顏色。請查看下方範例。

範例
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

在 Boss 位置偏移 x= 1、y= 1.5 及 z = 0 處生成煙火。賦予煙火 x=.5、y=-.35 及 z=1 的速度。煙火不會閃爍也不會有軌跡;power 設定為 2,因此煙火爆炸會延遲那麼多的量。

最後,這裡有兩個顏色列表的列表:列表 1 是橘色與紅色,列表 2 是黃色與藍色。煙火有兩個形狀:BALL_LARGE 與 STAR。這表示 BALL_LARGE(元素 1)會使用橘色與紅色(列表 1),而 STAR(元素 2)會使用黃色與藍色(列表 2)。

fireworkEffects

這些是煙火火箭會顯示的效果。至少需要一個效果。以下是有效的效果:

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

STRIKE_LIGHTNING

降下閃電。這是一個視覺效果,如果你想要傷害,你應該加入一個 damage 動作。

Values詳細資訊必填
Target更多資訊請參閱此處
範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: STRIKE_LIGHTNING
Target:
targetType: SELF
repeatEvery: 5
times: 5

elitescript_actions_strike.jpg

每 5 刻對 Boss 降下閃電,共 5 次。


SPAWN_FALLING_BLOCK

在目標處生成一個墜落的方塊。僅視覺效果,不會放置方塊。

Values詳細資訊必填
Target更多資訊請參閱此處
material設定墜落方塊的材質(Material)有效類型請查看此處,並確保它們是有效的方塊材質。
landingScripts設定方塊墜落時將執行的腳本列表
vValue設定墜落方塊的速度與方向。

landingScripts 的運作方式與 RUN_SCRIPT 相同,但可以接受特殊目標類型 LANDING_LOCATION

LANDING_LOCATION 會被腳本執行器繼承,讓一個落地位置腳本也能作為腳本執行器運作。你可以在呼叫腳本的動作上加入 wait,後接接續的腳本呼叫。LANDING_LOCATION 永遠會是目標的引數,即使是繼承而來的,因為它是以單一特定方式指派的。

注意:此動作也接受相對向量。關於如何使用那些,請參閱此處了解更多。

範例
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

當 Boss 被擊中時,此腳本會在 Boss 位置上方 10 格、旁邊 3 格處生成一個墜落的石頭方塊。

一旦方塊墜落,它會執行 LandingScriptExample 腳本,該腳本會在方塊落地的位置放置一個石頭方塊。 該方塊會在那裡停留 10 秒(200 刻)後消失。


SPAWN_PARTICLE

在目標處生成粒子。

注意:如果未設定 coverage,那麼 coverage 會預設設定為 0.3!

Values詳細資訊必填
Target更多資訊請參閱此處
particles列出將生成的粒子

particles

粒子有自己的特殊設定,如下所示:

Values詳細資訊預設特殊
x設定 X 的偏移0.01(1)
y設定 Y 的偏移0.01(1)
z設定 Z 的偏移0.01(1)
amount設定生成的粒子數量1(1)
speed設定粒子的速度0.01
particle設定粒子類型FLAME有效粒子列於下方
red設定紅色值255(2)
green設定綠色值255(2)
blue設定藍色值255(2)
toRed設定最終紅色值255(3)
toGreen設定最終綠色值255(3)
toBlue設定最終藍色值255(3)
moveToTarget設定粒子是否應朝目標位置移動null(4)
relativeVector為粒子的方向設定一個相對向量。關於相對向量的更多資訊請參閱此處none

(1) 如果 amount 設定為 0,xyz 會改為設定粒子的速度。

(2) 僅適用於 DUSTDUST_COLOR_TRANSITIONWITCH 這些 particle。也接受舊名稱 REDSTONE(→ DUST)、SPELL_MOBSPELL(→ WITCH)。

(3) 僅適用於 DUST_COLOR_TRANSITION 這個 particle

(4) 布林值。設定為 true 時,粒子會被導向動作的目標位置。對於建立從一點移動到另一點的視覺效果很有用。

很重要的一點是,一個 SPAWN_PARTICLE 腳本可以生成多個粒子。每個粒子接著可以在 SPAWN_PARTICLE 動作內擁有其各自的設定欄位。以下是一個範例:

範例
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
- particle: SMOKE_NORMAL
speed: 0.1
amount: 1
repeatEvery: 10

elitescript_actions_particle.jpg

這會在傷害了 Boss 的玩家周圍,生成一個由火焰與煙霧粒子構成的圓柱。

移動粒子:

可以為粒子設定特定的速度,其運作方式與 Spigot API 相同。這讓腳本撰寫者能夠設定粒子以特定速度朝特定方向移動。無法讓粒子在中途改變方向。此效果用於 flamethrower 附魔與 Boss power。

要移動粒子,請設定 amount: 0。這會向 Minecraft 發出訊號,表示 xyz 值實際上是一個向量。此向量設定你的粒子將朝向的方向。

假設你想要一個 FLAME 粒子向上移動。為此,你會想要一個正的 y 值,其他什麼都不要。最後,你會想要將速度設定為你想要的快慢。以下是一個完整範例:

範例
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
amount: 3
repeatEvery: 10

這會在 Boss 位置生成一個會向上移動的火焰粒子。

Valid particles

EliteMobs 接受來自 Spigot Particle 列舉的任何粒子。以下是最常用的粒子。舊的粒子名稱(來自較舊的 Minecraft 版本)會自動轉換為其現代等價名稱。

簡單粒子(不需要額外資料 —— 在任何地方皆可運作,包含 Boss 軌跡):

POOFEXPLOSIONEXPLOSION_EMITTERFIREWORKBUBBLESPLASHFISHINGUNDERWATERCRITENCHANTED_HITSMOKELARGE_SMOKEWITCHDRIPPING_WATERDRIPPING_LAVAANGRY_VILLAGERHAPPY_VILLAGERMYCELIUMNOTEPORTALENCHANTFLAMELAVACLOUDITEM_SNOWBALLITEM_SLIMEHEARTRAINELDER_GUARDIANEND_RODDAMAGE_INDICATORSWEEP_ATTACKTOTEM_OF_UNDYINGSPITSQUID_INKBUBBLE_POPCURRENT_DOWNBUBBLE_COLUMN_UPNAUTILUSDOLPHINSNEEZECAMPFIRE_COSY_SMOKECAMPFIRE_SIGNAL_SMOKECOMPOSTERFALLING_LAVALANDING_LAVAFALLING_WATERDRIPPING_HONEYFALLING_HONEYLANDING_HONEYFALLING_NECTARSOUL_FIRE_FLAMEASHCRIMSON_SPOREWARPED_SPORESOULDRIPPING_OBSIDIAN_TEARFALLING_OBSIDIAN_TEARLANDING_OBSIDIAN_TEARREVERSE_PORTALWHITE_ASHFALLING_SPORE_BLOSSOMSPORE_BLOSSOM_AIRSMALL_FLAMESNOWFLAKEDRIPPING_DRIPSTONE_LAVAFALLING_DRIPSTONE_LAVADRIPPING_DRIPSTONE_WATERFALLING_DRIPSTONE_WATERGLOW_SQUID_INKGLOWWAX_ONWAX_OFFELECTRIC_SPARKSCRAPESONIC_BOOMSCULK_SOULSCULK_CHARGE_POPCHERRY_LEAVESPALE_OAK_LEAVESEGG_CRACKDUST_PLUMEWHITE_SMOKEGUSTSMALL_GUSTGUST_EMITTER_LARGEGUST_EMITTER_SMALLTRIAL_SPAWNER_DETECTIONTRIAL_SPAWNER_DETECTION_OMINOUSVAULT_CONNECTIONINFESTEDITEM_COBWEBOMINOUS_SPAWNINGRAID_OMENTRIAL_OMENFIREFLYCOPPER_FIRE_FLAME

特殊粒子(在 EliteScript 中需要額外的設定資料):

Particle備註
DUST使用 redgreenblue 值設定顏色。舊名稱:REDSTONE
DUST_COLOR_TRANSITION使用 red/green/blue 作為起始顏色,並使用 toRed/toGreen/toBlue 作為結束顏色
WITCH使用 redgreenblue 設定顏色。舊名稱:SPELL_MOBSPELL

需要方塊/物品資料的粒子(無法用於 EliteScript 或 Boss 軌跡):

BLOCKFALLING_DUSTDUST_PILLARBLOCK_CRUMBLEBLOCK_MARKERITEM

具有特殊資料類型的其他粒子(無法用於 Boss 軌跡,但在沒有其資料的情況下可能可用於 EliteScript):

EFFECTINSTANT_EFFECTENTITY_EFFECTFLASHDRAGON_BREATHSCULK_CHARGESHRIEKVIBRATIONTRAILTINTED_LEAVES

舊名稱轉換(舊名稱在設定檔中仍可運作):

舊名稱現代名稱
EXPLOSION_NORMALEXPLOSION
EXPLOSION_LARGEEXPLOSION
EXPLOSION_HUGEEXPLOSION
SMOKE_NORMALSMOKE
SMOKE_LARGELARGE_SMOKE
REDSTONEDUST
SLIMEITEM_SLIME
DRIP_LAVADRIPPING_WATER(注意:這是轉換器中一個已知的錯誤 —— 請直接改用 DRIPPING_LAVA
DRIP_WATERDRIPPING_WATER
SNOWBALLSNOWFLAKE
SPELLWITCH
SPELL_MOBWITCH
VILLAGER_ANGRYANGRY_VILLAGER
VILLAGER_HAPPYHAPPY_VILLAGER
WATER_BUBBLEUNDERWATER
WATER_SPLASHSPLASH

SUMMON_REINFORCEMENT

從 EliteMobs 自訂 Boss 召喚增援。

Values詳細資訊必填
Target更多資訊請參閱此處
sValue設定自訂 Boss 增援的檔名
duration設定增援的持續時間(刻)
vValue設定生成增援的速度

注意:此動作也接受相對向量。關於如何使用那些,請參閱此處了解更多。

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

在 Boss 位置生成檔名為「your_boss_file.yml」的增援。


SUMMON_ENTITY

在目標位置召喚一個實體。

Values詳細資訊必填
Target更多資訊請參閱此處
sValue設定要召喚的實體類型
vValue設定召喚實體的速度
duration設定召喚的實體在被移除前的時間(刻)
landingScripts在實體落地或變為無效時要執行的腳本

注意:此動作也接受相對向量。關於如何使用那些,請參閱此處了解更多。

範例
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: ZONE_FULL
normalize: true
multiplier: 8.0

在 Boss 的位置生成一支箭,並以正規化的速度朝一個區域發射它。


TAG

為 Boss 或玩家加入標籤。標籤就只是腳本撰寫者可以定義的字串或文字。它們僅用於執行條件檢查,除了在腳本中所用的用途之外,沒有直接的遊戲效果。

Values詳細資訊必填
Target更多資訊請參閱此處
tags設定標籤
duration設定標籤的持續時間(刻)
範例
eliteScript:
Example:
Events:
- EliteMobSpawnEvent
Actions:
- action: TAG
Target:
targetType: SELF
tags:
- fireworks
- action: SPAWN_FIREWORKS
Target:
targetType: SELF
wait: 20
offset: 0,3,0
vValue: 0,.1,0
flicker: true
withTrail: true
power: 1
fireworkEffects:
- [ORANGE, RED]
repeatEvery: 20
Conditions:
hasTags:
- fireworks

為 Boss 加上字串「fireworks」標籤,之後可透過腳本條件檢查。

重要: 只能為玩家與菁英怪物加上標籤。


TELEPORT

將目標傳送到定義的位置。

Values詳細資訊必填
Target設定_誰_會被傳送。一般目標資訊請參閱此處!
FinalTarget設定他們會被傳送到_何處_。一般目標資訊請參閱此處!
location傳送位置

注意: FinalTargetlocation 是互斥的選項 —— 擇一使用,不要同時使用兩者。可以設定 FinalTarget 以使用基於目標的目的地,或設定 location 以使用基於特定座標的目的地。

範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: TELEPORT
Target:
targetType: NEARBY_PLAYERS
range: 10
FinalTarget:
targetType: SELF_SPAWN

elitescript_actions_teleport.gif

這會將位於 Boss 10 格範圍內的所有玩家傳送到 Boss 的生成位置。

location

設定玩家將被傳送到的位置。格式為標準的 EliteMobs world_name,x,y,z,pitch,yaw

範例

location: world,0,64,0,0,0

這有幾個特殊值:

  • 如果世界名稱設定為 same_as_boss,它會將世界名稱替換為 Boss 當前所在世界的名稱:
location: same_as_boss,0,64,0,0,0
  • 如果只有三個對應 x、y 與 z 的值,傳送會被導向一個相對於 Boss 位置的位置。如果該 Boss 是區域型 Boss,該位置會相對於 Boss 的生成點。

TITLE_MESSAGE

為目標設定一則標題訊息。

注意: 此動作支援預留位置。完整列表請參閱 Placeholders

Values詳細資訊必填特殊預設
Target更多資訊請參閱此處
title設定標題訊息可使用 & 搭配 Color Codes
subtitle設定副標題訊息可使用 & 搭配 Color Codes
duration設定訊息的持續時間(刻)0
fadeIn設定淡入時間(刻)1
fadeOut設定淡出時間(刻)1
範例
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

會為位於 Boss 10 格範圍內的所有玩家,設定標題訊息顯示標題「&2Hello World!」搭配副標題「&2I am a subtitle!」。

該訊息會在螢幕上停留 8 秒(120 + 20 + 20 = 160 刻),包含淡入與淡出動畫。


UNTAG

從 Boss 移除標籤。查看 TAG 以了解標籤如何運作。

Values詳細資訊必填
Target更多資訊請參閱此處
tags設定標籤
duration設定移除標籤的持續時間(刻)
範例
eliteScript:
Example:
Events:
- EliteMobSpawnEvent
Actions:
- action: TAG
Target:
targetType: SELF
tags:
- fireworks
- action: SPAWN_FIREWORKS
Target:
targetType: SELF
wait: 20
offset: 0,3,0
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

從 Boss 移除標籤「fireworks」,之後可透過腳本條件檢查。


VISUAL_FREEZE

為玩家賦予凍結的視覺效果,並造成其相關的傷害。如果你不希望效果立即消退,這應該與一個重複腳本結合。

Values詳細資訊必填
Target更多資訊請參閱此處
amount要為目標增加的凍結刻數
範例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: VISUAL_FREEZE
Target:
targetType: NEARBY_PLAYERS
range: 10
amount: 20
repeatEvery: 20
times: 3

為位於 Boss 10 格範圍內的所有玩家賦予凍結視覺效果 3 秒(60 刻)。


多個動作

有時你可能會想在一個事件發生時一次執行好幾個動作,例如發送多則訊息或依序執行不同的動作。這很容易做到!讓我們為範例加入一個藥水效果動作:

範例
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!