メインコンテンツまでスキップ

はじめに

このページでは、EliteScript と WebApp で作成されたカスタムボスパワーのさまざまな例を紹介します。これらのわかりやすい例は、複数のアクションやその他の機能を活用して独自のボスパワーを作り上げる方法を示しています。

さらに、各例には視覚的なデモが添えられているため、スクリプトがゲーム内でどのように動作するかを理解しやすくなっています。

どの例も自由にコピーして、自分のダンジョンやワールドで使ってください。

These are EliteScript examples

EliteScript(.yml)は現在も完全にサポートされており、このページのすべての例がそれを使用しています。ただし、もはや唯一の選択肢ではありません。パワーはLuaでも記述でき、EliteMobsに同梱されているパワーはほぼすべて現在Luaを使用しています。2つの形式の比較についてはパワーの作成を参照してください。

potionEffectType の値には、レガシーなBukkitの綴り(SLOWHEALCONFUSION)ではなく、Minecraftの現代的なネームスペース名(SLOWNESSINSTANT_HEALTHNAUSEA)を使用します。レガシー名も非推奨のフォールバックを通じて解決されますが、同梱パワーが使用しているのは現代的な名前であり、今後も確実に動作するのはそちらです。

パワーの例

Slam Down

このスクリプトは、ボスをダメージを与えたプレイヤーの8ブロック上へテレポートさせ、その後地面へ叩きつけます。着地後、ボスから3ブロック以内にいるプレイヤーに鈍化のポーション効果を付与し、「Stunned」というメッセージを3秒間画面に表示します。

例を展開
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

このスクリプトは、ボスの周囲に4ブロックのドームを生成します。続いてゾーンのボーダーで1秒間続くパーティクル効果を発生させ、その後の別のアクションでゾーン内のプレイヤーを押し飛ばします。押し出しの offset 設定により、プレイヤーはわずかに上方へ飛ばされます。最後に、このスクリプトはゾーン内のプレイヤーにメッセージを送ります。

例を展開
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

モブにダメージを与えたプレイヤーの周囲の地面に円を描き、円の外へ出るよう促すメッセージを画面に表示するスクリプトです。その2秒後、同じ場所の10ブロック上から矢を真下に向けて放ちます。

例を展開
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

これは、円柱ゾーンを使ってボスの周囲にパーティクルを6秒間発生させるスクリプトを作ります。同時にボスには6秒間 FireOn タグが付与されます。

タグが有効な間にプレイヤーがボスを攻撃すると、そのプレイヤーは1秒間燃え上がります。これは条件を使って実現しており、SetOnFire スクリプトはボスが対応する FireOn タグを持っている場合にのみ実行できます。

例を展開
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

このスクリプトは、ボスを中心とする2つの直方体ゾーンを作成します。ボスのAIは2秒間オフになります。直方体ゾーンは、地面にプラス記号を形作るように設定されています。

その後、スクリプトはゾーン内に2秒間雲パーティクルを発生させ、続いて3秒間、煙パーティクルを発生させてゾーンに毒のポーション効果を適用します。

例を展開
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

このスクリプトは、ボスを中心とする10ブロックの円柱ゾーンを作成し、そのゾーンに10秒間パーティクル効果と押し出しを適用します。

押し出しアクションは毎ティックごとにプレイヤーをわずかに上方へ押し上げるため、ゾーン内にいる間プレイヤーが跳ね回っているように見えます。

例を展開
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

このスクリプトは、ボスにダメージを与えたプレイヤーを中心とする円柱ゾーン(offset の適用により、プレイヤーの6ブロック上に配置されます)を作成します。さらに、そのプレイヤーの画面にメッセージを表示します。

2秒の遅延の後、指定したゾーンに増援がスポーンします。ただし coverage を使っているため、増援が占めるのはゾーンの一部だけです。プレイヤーが増援をすべて倒せなかった場合、20秒(400ティック)後に自動的にデスポーンします。

例を展開
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

このスクリプトは、プレイヤーがボスにダメージを与えたときに発動します。その後、PotionZoneBadPotionZoneGood のいずれかのスクリプトを実行します。

PotionZoneBad スクリプトでは、ボスから20ブロック以内にいる近くのプレイヤーの周囲に円柱ゾーンが生成されます。指定した coverage で雲と大きな煙のパーティクル効果を発生させ、衰弱のポーション効果を与え、近くのプレイヤーにメッセージを届けます。

PotionZoneGood スクリプトでは、ボスから20ブロック以内にいるプレイヤーの周囲に円柱ゾーンが生成されます。このスクリプトのパーティクル効果は逆になっています。衰弱の代わりに回復のポーション効果を適用し、近くのプレイヤーにメッセージを送ります。

例を展開
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

このスクリプトは、ボスを起点として X 軸の正方向と負方向の両方へ放たれる、2つの地表レイの波を発生させます。

offset パラメーター、特に Z 値を定義することでレイの長さと大きさを決めています。さらに X 値を設定することで波の進行方向を指定しています。(これはこの特定のスクリプトがこれらの値をどう使っているかの説明にすぎず、まったく同じように作る必要はありません)

Y 値を調整してレイの波の高さを上げることもできますが、プレイヤーがレイを飛び越えられるようにするため 0 のままにしています。

animationDuration パラメーターは、レイの波がターゲットから最終ターゲットまで移動するのにかかる時間を決めます。この値を小さくすると、レイは速くなり回避が難しくなります。

続いてパーティクル効果とポーション効果が適用されます。レイの波を避けたり飛び越えたりできなかったプレイヤーは、5秒(100ティック)間失明します。

例を展開
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

このスクリプトは、ボスを中心とする3本の回転レイを作成します。レイの高さは定義できないため、複数のスクリプトと offset を使ってレイを高さ方向に積み重ね、1枚の回転するのように見せる必要があり、そのために3本の異なる回転レイが必要になります。

3つのスクリプトのゾーンは offset が異なる点を除いてすべて同一です。ボスを起点に長さ6ブロックで、10秒(200ティック)かけてヨー方向に360度回転するよう設定されています。

すべてのスクリプトにパーティクル効果が設定されており、レイの壁に当たったプレイヤーには5秒(100ティック)間 VISUAL_FREEZE アクションが適用されます。

例を展開
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