イベントの作成
このガイドは EliteMobs 10 以降向けです
カスタムイベントとは?
ここでのカスタムイベントとは、プレイヤーのアクションに基づくものであれ、時間制のトリガーを持つものであれ、ゲーム内でランダムに発生するイベントを指します。プラグインには、Balrog イベント、Kraken イベント、Treasure Goblin イベントなど、いくつかのカスタムイベントがあらかじめ読み込まれています。
このシステムがカスタムイベントと呼ばれるのは、イベントをカスタマイズできるだけでなく、ゼロから作成することもできるからです。以下は、独自のイベントを作成・カスタマイズする方法のガイドです。
カスタムイベントの作成
カスタムイベントの設定ファイルは次の場所に作成すべきです。
plugins/EliteMobs/customevents/
ファイルは .yml 形式を使用する必要があります。ファイル名(.yml 拡張子を除く)がイベントの識別子になります。
例: my_cool_event.yml は my_cool_event として参照されます
共通の設定項目
次の設定は、アクションイベントと時間制イベントの両方で使用できます/すべきです。
isEnabled
イベントが有効かどうかを設定します。
| キー | 値 | デフォルト |
|---|---|---|
isEnabled | Boolean | true |
例
isEnabled: true
eventType
イベントのタイプを設定します。
| キー | 値 | デフォルト |
|---|---|---|
eventType | DEFAULT / BREAK_BLOCK / FISH / TILL_SOIL / TIMED | なし |
BREAK_BLOCK、FISH、TILL_SOIL は アクションイベント であり、TIMED は 時間制イベント である点に注意してください。DEFAULT は、他の手段や特殊な条件によってトリガーされるイベント向けです。
例
eventType: BREAK_BLOCK
bossFilenames
スポーンするボスのリストを設定します。必須!
| キー | 値 | デフォルト |
|---|---|---|
bossFilenames | String List | なし |
例
bossFilenames:
- balrog.yml
- my_event_boss.yml
announcementPriority
アナウンス優先度 を設定します。
| キー | 値 | デフォルト |
|---|---|---|
announcementPriority | Integer | 0 |
例
announcementPriority: 1
startMessage
イベント開始時に送信されるメッセージを設定します。
| キー | 値 | デフォルト |
|---|---|---|
startMessage | String | なし |
例
startMessage: An event has started!
![]()
endMessage
イベント終了時に送信されるメッセージを設定します。
| キー | 値 | デフォルト |
|---|---|---|
endMessage | String | なし |
例
endMessage: An event has ended!
eventStartCommands
イベント開始時に実行されるコマンドを設定します。
| キー | 値 | デフォルト |
|---|---|---|
eventStartCommands | String List | なし |
例
eventStartCommands:
- say The event now starts!!
- "$chance=0.5$ say What a spawn!"

eventEndCommands
イベント終了時に実行されるコマンドを設定します。
| キー | 値 | デフォルト |
|---|---|---|
eventEndCommands | String List | なし |
例
eventEndCommands:
- say The event ends, so sad.
- "$chance=0.5$ say Too slow bud!"

イベント設定の例
isEnabled: true
bossFilenames:
- "cool_boss.yml"
- "other_cool_boss.yml"
announcementPriority: 3
startMessage: "Cool event is starting!"
endMessage: "Cool event is ending!"
eventStartCommands:
- say The event started!
eventEndCommands:
- say The event ended!
時間制イベントの完全な例
isEnabled: true
eventType: TIMED
bossFilenames:
- "my_timed_boss.yml"
announcementPriority: 3
startMessage: "A timed event has started!"
endMessage: "The timed event has ended!"
eventStartCommands:
- say The timed event began!
eventEndCommands:
- say The timed event concluded!
spawnType: "my_spawn_location.yml"
localCooldown: 120
globalCooldown: 30
weight: 100
eventDuration: 15
endEventWithBossDeath: true
minimumPlayerCount: 1
アクションイベント
ブロックの破壊や釣りなど、特定のアクションが発生したときに、一定の確率で実行されるイベントです。
注: アクションイベントは、同じプレイヤーが繰り返しイベントをトリガーするのを防ぐため、プレイヤーごとのクールダウンを自動的に適用します。クールダウンはデフォルトで 4 分であり、events.yml の actionEventMinimumCooldownMinutes で設定できます。
chance
アクションが発生したときにイベントが起こる確率を設定します。
| キー | 値 | デフォルト |
|---|---|---|
chance | 0.0 から 1.0 までの値 | 0 |
例
chance: 0.001
breakableMaterials
アクションが BREAK_BLOCK に設定されている場合にチェックするマテリアルのリストを設定します。
| キー | 値 | デフォルト |
|---|---|---|
breakableMaterials | マテリアル のリスト | なし |
例
breakableMaterials:
- BEEHIVE
- BIRCH_WOOD
設定の例
chance: 0.001
breakableMaterials:
- COAL_ORE
イベントタイプが BREAK_BLOCK であると仮定して、石炭鉱石ブロックが破壊されたときに 0.1% の確率でイベントを実行するように設定します。
アクションイベントの完全な例
isEnabled: true
eventType: BREAK_BLOCK
bossFilenames:
- "mining_boss.yml"
announcementPriority: 2
startMessage: "You've awakened something..."
chance: 0.001
breakableMaterials:
- DIAMOND_ORE
- EMERALD_ORE
時間制イベント
時間制イベントは、設定可能な時間間隔で発生するイベントです。時間制イベントのクールダウンが終わると、イベントの重み(weight)に基づいて、時間制イベントのリストからランダムな時間制イベントが選ばれます。
spawnType
イベントが使用する カスタムスポーン を設定します。これはボスがスポーンできる場所を定義します。
| キー | 値 | デフォルト |
|---|---|---|
spawnType | Filename | なし |
例
spawnType: nether_spawn.yml
localCooldown
このイベントが再び選ばれるまでの時間を分単位で設定します。
| キー | 値 | デフォルト |
|---|---|---|
localCooldown | Double | 0 |
例
localCooldown: 120
globalCooldown
次のイベントが選ばれるまでの時間を分単位で設定します。
| キー | 値 | デフォルト |
|---|---|---|
globalCooldown | Double | 0 |
例
globalCooldown: 60
weight
イベントの重み(weight)を設定し、他のイベントよりも選ばれる確率に影響を与えます。推奨: 100。
重みシステムは、イベント選択の相対的な確率を決定します。例えば次のとおりです。
- 重み 100 のイベント A と重み 50 のイベント B の比較 = イベント A が選ばれる確率は 2 倍
- 重みが大きいほど選ばれる確率が高くなる
- 時間制イベントのスケジューラーはサーバー起動の約 5 分後に開始され、その後 1 分に 1 回、グローバルクールダウンが経過してイベントを選べる状態かどうかをチェックする
| キー | 値 | デフォルト |
|---|---|---|
weight | Double | 0 |
例
weight: 60.5
eventDuration
イベントの最大継続時間を分単位で設定します。
| キー | 値 | デフォルト |
|---|---|---|
eventDuration | Double | 0 |
例
eventDuration: 30
endEventWithBossDeath
イベントがボスの死亡で終了するかどうかを設定します。
| キー | 値 | デフォルト |
|---|---|---|
endEventWithBossDeath | Boolean | true |
例
endEventWithBossDeath: true
eventEndTime
イベントが終了するゲーム内時刻(ティック単位)を設定します。Minecraft の時刻システムを使用します(0=夜明け、6000=正午、12000=日暮れ、18000=真夜中、23000=深夜)。時刻ベースの終了を無効にするには -1 を設定します。
| キー | 値 | デフォルト |
|---|---|---|
eventEndTime | Integer(0〜24000、無効にするには -1) | -1 |
例
eventEndTime: 23000
minimumPlayerCount
イベントが開始される前に必要な、オンラインプレイヤーの最小数を設定します。
| キー | 値 | デフォルト |
|---|---|---|
minimumPlayerCount | Integer | 1 |
例
minimumPlayerCount: 5
イベントはキューに入れられる点に注意してください。つまり、spawnType で定義された条件が満たされた場合にのみ開始されます。
イベント設定の例
isEnabled: true
bossFilenames:
- "cool_boss.yml"
- "other_cool_boss.yml"
announcementPriority: 3
startMessage: "Cool event is starting!"
endMessage: "Cool event is ending!"
eventStartCommands:
- say The event started!
eventEndCommands:
- say The event ended!
spawnType: "myCoolSpawn.yml"
localCooldown: 30
globalCooldown: 15
weight: 100
eventDuration: 20
endEventWithBossDeath: true
eventEndTime: 10000
minimumPlayerCount: 5
