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

スポーンの作成

webapp_banner.jpg

カスタムスポーンとは?

カスタムスポーンは、イベントとグローバル援軍が、そのイベントのボスをどのように、どこで、いつスポーンさせるべきかを設定するために使用します。

イベントとグローバル援軍は、使用するスポーンのファイル名を記述することで、どのスポーンを使用するかを設定します。

カスタムスポーンの作成

カスタムスポーンは customspawns フォルダに入れます。1 つのカスタムスポーンを複数のイベントで同時に使用できるため、イベントごとに 1 つ作成する必要はありません。

カスタムスポーンの例を示します:

isEnabled: true
validWorldEnvironments:
- NORMAL
- CUSTOM
bypassWorldGuard: false
isSurfaceSpawn: true

どこでもスポーンの作成

どこでも発生できるスポーンを作成するには、設定を次のようにする必要があります:

isEnabled: true
canSpawnInLight: true

この設定により、Mob はあらゆる場所、あらゆるワールド、あらゆる時間、あらゆる月の満ち欠けの段階でスポーンできるようになります。

より細かくカスタマイズしたスポーンの作成に興味がある場合は、以下を読み進めてください。


isEnabled

スポーンが有効かどうかを設定します。

KeyValuesDefault
isEnabledBooleantrue
isEnabled: true

lowestYLevel

使用する最も低い Y レベル(マップ高度)を設定します。デフォルトの 0 では地下スポーンが海面より下へ行かなくなる点に注意してください。深い洞窟でスポーンさせたい場合は -64 のような負の値を設定してください。

KeyValuesDefault
lowestYLevelInteger0
lowestYLevel: 0

highestYLevel

使用する最も高い Y レベル(マップ高度)を設定します。

KeyValuesDefault
highestYLevelInteger320
highestYLevel: 320

validWorlds

カスタムスポーンが発生できるワールドのリストを設定します。この設定を省略すると、すべてのワールドが有効になります。

KeyValuesDefault
validWorldsString Listnone
validWorlds:
- WORLD
- FUN_LAND

すべてのワールドを有効にしたい場合は、この設定を使わないか、次のように記述します:

validWorlds: []

validWorldEnvironments

カスタムスポーンが発生できる有効なワールド環境のリストを設定します。この設定を省略すると、すべての環境が有効になります。

KeyValuesDefault
validWorldEnvironmentsEnvironment Listnone
validWorldEnvironments:
- NORMAL
- NETHER

すべての環境を有効にしたい場合は、この設定を使わないか、次のように記述します:

validWorldEnvironments: []

validBiomesV2

カスタムスポーンが発生できる有効なバイオームのリストを設定することを意図した項目です。 この設定は EM の古いバージョンでは validBiomes と呼ばれていました。

この設定は現在何も行いません。 EliteMobs はこのキーをスポーンファイルに書き込みますが、読み戻すことは一度もないため、何を書いても無視され、バイオーム制限がないのと同じ挙動になります。

ボスを特定のバイオーム内に留めるためにこれを頼りにしないでください。代わりに validWorldsvalidWorldEnvironments を使うか、isSurfaceSpawn / isUndergroundSpawn と Y レベルの設定でスポーンを制限してください。

KeyValuesDefault
validBiomesV2Biome Listnone

earliestTime

カスタムスポーンが発生できる最も早いゲーム内時刻を設定します。他の設定とは異なり、earliestTimelatestTimemoonPhase はスポーン位置の検索中ではなく、ボスがまさに配置されようとする瞬間にチェックされます。そのため、位置が既に見つかっているスポーンは、時刻と月相の条件が満たされるまで待機するだけです。

KeyValuesDefault
earliestTimeLong0
earliestTime: 0

latestTime

カスタムスポーンが発生できる最も遅いゲーム内時刻を設定します。

KeyValuesDefault
latestTimeLong24000
latestTime: 24000

moonPhase

カスタムスポーンが発生するために必要な月の満ち欠けの段階を設定します。

KeyValuesDefault
moonPhaseSpecial [1]none
moonPhase: FULL_MOON

Special [1]

テーブルを展開
Moon PhasePreview
NEW_MOON🌑
WAXING_CRESCENT🌒
FIRST_QUARTER🌓
WAXING_GIBBOUS🌔
FULL_MOON🌕
WANING_GIBBOUS🌖
WANING_CRESCENT🌘
LAST_QUARTER🌗

bypassWorldGuard

カスタムスポーンが WorldGuard などの保護システムを回避するようにすることを意図した項目です。

この設定は現在何も行いません。 EliteMobs はスポーンファイルからこのキーを読み取りますが、それに基づいて動作することは一度もないため、ここに何を設定しても WorldGuard のフラグは常にチェックされます。保護されたリージョン内でスポーンを発生させたい場合は、代わりにそのリージョンに該当する WorldGuard のフラグを設定してください。

KeyValuesDefault
bypassWorldGuardBooleanfalse

canSpawnInLight

カスタムスポーンが光源で照らされたブロック上で発生できるかどうかを指定します。false に設定すると、スポーンは光レベル 8 以下でのみ発生します。true に設定すると、スポーンはあらゆる光レベルで発生できます。

KeyValuesDefault
canSpawnInLightBooleanfalse
canSpawnInLight: false

isSurfaceSpawn

カスタムスポーンがワールドの地表でのみ発生できるかどうかを設定します。

KeyValuesDefault
isSurfaceSpawnBooleanfalse
isSurfaceSpawn: false

isUndergroundSpawn

カスタムスポーンが地下でのみ発生できるかどうかを設定します。

KeyValuesDefault
isUndergroundSpawnBooleanfalse
isUndergroundSpawn: false

スポーン位置の選ばれ方

EliteMobs はワールドを走査して場所を探すわけではありません。オンラインのプレイヤーを 1 人ランダムに選び、そこからオフセットします。

  1. このスポーンの対象となるプレイヤーの中から 1 人がランダムに選ばれます。ワールドが ValidWorlds.yml に入っていない、アリーナやダンジョンインスタンスの中にいる、そのワールドで Mob スポーンが無効になっている、スポーンの validWorlds / validWorldEnvironments がそのワールドを除外している、といったプレイヤーはスキップされます。時間制イベントではさらに、EliteMobs のダンジョンワールド内にいるプレイヤーもスキップされます。
  2. そのプレイヤーから X 軸と Z 軸の両方で 24〜128 ブロック離れた候補地点が、任意の方向に選ばれます。
  3. Y レベルは isSurfaceSpawnisUndergroundSpawn に従って解決されます。どちらも設定されていない場合は、下に固い地面があり上に空気が 2 ブロックある最初のブロックを上方向へ探索します。
  4. その候補地点が、以下の検証にかけられます。

候補は最大 100 個、1 ティックにつき 4 個試されます。どれも成立しない場合、EliteMobs は 1 分待ってから再試行します。そのため、混雑したサーバーや保護の多いサーバーでは、イベントが実際に現れるまで時間がかかることがあります。

スポーン検証の動作

EliteMobs がカスタムスポーン設定を使ってボスをスポーンさせようとするとき、設定されたフィールドに加えて、いくつかの自動検証を実行します:

  • プレイヤーとの近接: ボスはいずれのプレイヤーからも 24 ブロック以内にはスポーンしません
  • ネザーの天井: ネザーディメンションでは Y=127 より上のスポーンはブロックされます
  • ブロックの安全性: スポーンが固体の地面と、その上の空きスペースがある状態で発生することを保証します
  • Y レベル: 最終的な位置は lowestYLevelhighestYLevel の間にある必要があります
  • ゲームルール: ワールドの Mob スポーンのゲームルールを尊重します(Minecraft 1.21.11 以降は spawnMobs、それ以前は doMobSpawning
  • WorldGuard フラグ: elitemobs-eventselitemob-spawning、および WorldGuard 自身の mob-spawning フラグをチェックします
  • ピースバナー: PeaceBanner.ymlsuppressEvents が有効な場合(デフォルトで有効)、ピースバナーで保護されたエリアはスキップされます
  • 最終テストスポーン: ボスが現れる直前に、EliteMobs はその位置に素のバニラのゾンビをスポーンさせて即座に削除します。他の保護プラグインがそのゾンビをブロックした場合、その位置は破棄され検索がやり直されます

これらの検証は自動的に行われ、設定で無効化することはできません。