スポーンの作成
カスタムスポーンとは?
カスタムスポーンは、イベントとグローバル援軍が、そのイベントのボスをどのように、どこで、いつスポーンさせるべきかを設定するために使用します。
イベントとグローバル援軍は、使用するスポーンのファイル名を記述することで、どのスポーンを使用するかを設定します。
カスタムスポーンの作成
カスタムスポーンは customspawns フォルダに入れます。1 つのカスタムスポーンを複数のイベントで同時に使用できるため、イベントごとに 1 つ作成する必要はありません。
カスタムスポーンの例を示します:
isEnabled: true
validWorldEnvironments:
- NORMAL
- CUSTOM
bypassWorldGuard: false
isSurfaceSpawn: true
どこでもスポーンの作成
どこでも発生できるスポーンを作成するには、設定を次のようにする必要があります:
isEnabled: true
canSpawnInLight: true
この設定により、Mob はあらゆる場所、あらゆるワールド、あらゆる時間、あらゆる月の満ち欠けの段階でスポーンできるようになります。
より細かくカスタマイズしたスポーンの作成に興味がある場合は、以下を読み進めてください。
値
isEnabled
スポーンが有効かどうかを設定します。
| Key | Values | Default |
|---|---|---|
isEnabled | Boolean | true |
例
isEnabled: true
lowestYLevel
使用する最も低い Y レベル(マップ高度)を設定します。デフォルトの 0 では地下スポーンが海面より下へ行かなくなる点に注意してください。深い洞窟でスポーンさせたい場合は -64 のような負の値を設定してください。
| Key | Values | Default |
|---|---|---|
lowestYLevel | Integer | 0 |
例
lowestYLevel: 0
highestYLevel
使用する最も高い Y レベル(マップ高度)を設定します。
| Key | Values | Default |
|---|---|---|
highestYLevel | Integer | 320 |
例
highestYLevel: 320
validWorlds
カスタムスポーンが発生できるワールドのリストを設定します。この設定を省略すると、すべてのワールドが有効になります。
| Key | Values | Default |
|---|---|---|
validWorlds | String List | none |
例
validWorlds:
- WORLD
- FUN_LAND
すべてのワールドを有効にしたい場合は、この設定を使わないか、次のように記述します:
validWorlds: []
validWorldEnvironments
カスタムスポーンが発生できる有効なワールド環境のリストを設定します。この設定を省略すると、すべての環境が有効になります。
| Key | Values | Default |
|---|---|---|
validWorldEnvironments | Environment List | none |
例
validWorldEnvironments:
- NORMAL
- NETHER
すべての環境を有効にしたい場合は、この設定を使わないか、次のように記述します:
validWorldEnvironments: []
validBiomesV2
カスタムスポーンが発生できる有効なバイオームのリストを設定することを意図した項目です。
この設定は EM の古いバージョンでは validBiomes と呼ばれていました。
この設定は現在何も行いません。 EliteMobs はこのキーをスポーンファイルに書き込みますが、読み戻すことは一度もないため、何を書いても無視され、バイオーム制限がないのと同じ挙動になります。
ボスを特定のバイオーム内に留めるためにこれを頼りにしないでください。代わりに validWorlds や validWorldEnvironments を使うか、isSurfaceSpawn / isUndergroundSpawn と Y レベルの設定でスポーンを制限してください。
| Key | Values | Default |
|---|---|---|
validBiomesV2 | Biome List | none |
earliestTime
カスタムスポーンが発生できる最も早いゲーム内時刻を設定します。他の設定とは異なり、earliestTime、latestTime、moonPhase はスポーン位置の検索中ではなく、ボスがまさに配置されようとする瞬間にチェックされます。そのため、位置が既に見つかっているスポーンは、時刻と月相の条件が満たされるまで待機するだけです。
| Key | Values | Default |
|---|---|---|
earliestTime | Long | 0 |
例
earliestTime: 0
latestTime
カスタムスポーンが発生できる最も遅いゲーム内時刻を設定します。
| Key | Values | Default |
|---|---|---|
latestTime | Long | 24000 |
例
latestTime: 24000
moonPhase
カスタムスポーンが発生するために必要な月の満ち欠けの段階を設定します。
| Key | Values | Default |
|---|---|---|
moonPhase | Special [1] | none |
例
moonPhase: FULL_MOON
Special [1]
テーブルを展開
| Moon Phase | Preview |
|---|---|
NEW_MOON | 🌑 |
WAXING_CRESCENT | 🌒 |
FIRST_QUARTER | 🌓 |
WAXING_GIBBOUS | 🌔 |
FULL_MOON | 🌕 |
WANING_GIBBOUS | 🌖 |
WANING_CRESCENT | 🌘 |
LAST_QUARTER | 🌗 |
bypassWorldGuard
カスタムスポーンが WorldGuard などの保護システムを回避するようにすることを意図した項目です。
この設定は現在何も行いません。 EliteMobs はスポーンファイルからこのキーを読み取りますが、それに基づいて動作することは一度もないため、ここに何を設定しても WorldGuard のフラグは常にチェックされます。保護されたリージョン内でスポーンを発生させたい場合は、代わりにそのリージョンに該当する WorldGuard のフラグを設定してください。
| Key | Values | Default |
|---|---|---|
bypassWorldGuard | Boolean | false |
canSpawnInLight
カスタムスポーンが光源で照らされたブロック上で発生できるかどうかを指定します。false に設定すると、スポーンは光レベル 8 以下でのみ発生します。true に設定すると、スポーンはあらゆる光レベルで発生できます。
| Key | Values | Default |
|---|---|---|
canSpawnInLight | Boolean | false |
例
canSpawnInLight: false
isSurfaceSpawn
カスタムスポーンがワールドの地表でのみ発生できるかどうかを設定します。
| Key | Values | Default |
|---|---|---|
isSurfaceSpawn | Boolean | false |
例
isSurfaceSpawn: false
isUndergroundSpawn
カスタムスポーンが地下でのみ発生できるかどうかを設定します。
| Key | Values | Default |
|---|---|---|
isUndergroundSpawn | Boolean | false |
例
isUndergroundSpawn: false
スポーン位置の選ばれ方
EliteMobs はワールドを走査して場所を探すわけではありません。オンラインのプレイヤーを 1 人ランダムに選び、そこからオフセットします。
- このスポーンの対象となるプレイヤーの中から 1 人がランダムに選ばれます。ワールドが
ValidWorlds.ymlに入っていない、アリーナやダンジョンインスタンスの中にいる、そのワールドで Mob スポーンが無効になっている、スポーンのvalidWorlds/validWorldEnvironmentsがそのワールドを除外している、といったプレイヤーはスキップされます。時間制イベントではさらに、EliteMobs のダンジョンワールド内にいるプレイヤーもスキップされます。 - そのプレイヤーから X 軸と Z 軸の両方で 24〜128 ブロック離れた候補地点が、任意の方向に選ばれます。
- Y レベルは
isSurfaceSpawn、isUndergroundSpawnに従って解決されます。どちらも設定されていない場合は、下に固い地面があり上に空気が 2 ブロックある最初のブロックを上方向へ探索します。 - その候補地点が、以下の検証にかけられます。
候補は最大 100 個、1 ティックにつき 4 個試されます。どれも成立しない場合、EliteMobs は 1 分待ってから再試行します。そのため、混雑したサーバーや保護の多いサーバーでは、イベントが実際に現れるまで時間がかかることがあります。
スポーン検証の動作
EliteMobs がカスタムスポーン設定を使ってボスをスポーンさせようとするとき、設定されたフィールドに加えて、いくつかの自動検証を実行します:
- プレイヤーとの近接: ボスはいずれのプレイヤーからも 24 ブロック以内にはスポーンしません
- ネザーの天井: ネザーディメンションでは Y=127 より上のスポーンはブロックされます
- ブロックの安全性: スポーンが固体の地面と、その上の空きスペースがある状態で発生することを保証します
- Y レベル: 最終的な位置は
lowestYLevelとhighestYLevelの間にある必要があります - ゲームルール: ワールドの Mob スポーンのゲームルールを尊重します(Minecraft 1.21.11 以降は
spawnMobs、それ以前はdoMobSpawning) - WorldGuard フラグ:
elitemobs-events、elitemob-spawning、および WorldGuard 自身のmob-spawningフラグをチェックします - ピースバナー:
PeaceBanner.ymlでsuppressEventsが有効な場合(デフォルトで有効)、ピースバナーで保護されたエリアはスキップされます - 最終テストスポーン: ボスが現れる直前に、EliteMobs はその位置に素のバニラのゾンビをスポーンさせて即座に削除します。他の保護プラグインがそのゾンビをブロックした場合、その位置は破棄され検索がやり直されます
これらの検証は自動的に行われ、設定で無効化することはできません。
