イベントの作成
このガイドはEliteMobs 7.3.4以降に対応しています
カスタムイベントとは?
ここでのカスタムイベントとは、プレイヤーのアクションに基づいて発生するか、時間によるトリガーを持つ、ゲーム内でランダムに発生するイベントを指します。プラグインには、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 | none |
注: BREAK_BLOCK、FISH、TILL_SOILはアクションイベントであり、TIMEDはタイマーイベントです。DEFAULTは他の手段や特殊な条件によってトリガーされるイベント用です。
例
eventType: BREAK_BLOCK
bossFilenames
スポーンするボスのリストを設定します。必須!
| キー | 値 | デフォルト |
|---|---|---|
bossFilenames | String List | none |
例
bossFilenames:
- balrog.yml
- my_event_boss.yml
announcementPriority
アナウンスの優先度を設定します。
| キー | 値 | デフォルト |
|---|---|---|
announcementPriority | Integer | none |
例
announcementPriority: 1
startMessage
イベント開始時に送信されるメッセージを設定します。
| キー | 値 | デフォルト |
|---|---|---|
startMessage | String | none |
例
startMessage: An event has started!
![]()
endMessage
イベント終了時に送信されるメッセージを設定します。
| キー | 値 | デフォルト |
|---|---|---|
endMessage | String | none |
例
endMessage: An event has ended!
eventStartCommands
イベント開始時に実行されるコマンドを設定します。
| キー | 値 | デフォルト |
|---|---|---|
eventStartCommands | String List | none |
例
eventStartCommands:
- say The event now starts!!
- "$chance=0.5$ say What a spawn!"

eventEndCommands
イベント終了時に実行されるコマンドを設定します。
| キー | 値 | デフォルト |
|---|---|---|
eventEndCommands | String List | none |
例
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
アクションイベント
ブロックを壊す、釣りをするなど、特定のアクションが実行されたときに発生する可能性のあるイベントです。
注: アクションイベントは、同じプレイヤーが繰り返しイベントをトリガーすることを防ぐため、プレイヤーごとに自動的に60分のクールダウンが適用されます。
chance
アクションが発生したときにイベントが起こる確率を設定します。
| キー | 値 | デフォルト |
|---|---|---|
chance | 0.0から1.0の間の値 | 0 |
例
chance: 0.001
breakableMaterials
アクションがBREAK_BLOCKに設定されている場合にチェックするマテリアルのリストを設定します。
| キー | 値 | デフォルト |
|---|---|---|
breakableMaterials | materialsのリスト | none |
例
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
タイマーイベント
タイマーイベントは、設定可能な時間間隔で発生するイベントです。タイマーイベントのクールダウンが終了すると、イベントの重みに基づいて、タイマーイベントのリストからランダムなタイマーイベントが選択されます。
spawnType
イベントで使用されるカスタムスポーンを設定します。これにより、ボスがスポーンできる場所が定義されます。
| キー | 値 | デフォルト |
|---|---|---|
spawnType | Filename | none |
例
spawnType: nether_spawn.yml
localCooldown
このイベントが再度選択されるまでの時間を分単位で設定します。
| キー | 値 | デフォルト |
|---|---|---|
localCooldown | Integer | 0 |
例
localCooldown: 120
globalCooldown
次のイベントが選択されるまでの時間を分単位で設定します。
| キー | 値 | デフォルト |
|---|---|---|
globalCooldown | Integer | 0 |
例
globalCooldown: 60
weight
イベントの重みを設定し、他のイベントよりも選択される確率に影響を与えます。推奨: 100。
重みシステムは、イベント選択の相対的な確率を決定します。例:
- 重み100のイベントAと重み50のイベントB = イベントAが選択される可能性は2倍
- 重みが高い = 選ばれる確率が高い
- イベントは約5分ごとに評価されます
| キー | 値 | デフォルト |
|---|---|---|
weight | Double | 0 |
例
weight: 60.5
eventDuration
イベントの最大継続時間を分単位で設定します。
| キー | 値 | デフォルト |
|---|---|---|
eventDuration | Integer | 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
