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

イベントの作成

webapp_banner.jpg

このガイドは EliteMobs 10 以降向けです

カスタムイベントとは?

ここでのカスタムイベントとは、プレイヤーのアクションに基づくものであれ、時間制のトリガーを持つものであれ、ゲーム内でランダムに発生するイベントを指します。プラグインには、Balrog イベント、Kraken イベント、Treasure Goblin イベントなど、いくつかのカスタムイベントがあらかじめ読み込まれています。

このシステムがカスタムイベントと呼ばれるのは、イベントをカスタマイズできるだけでなく、ゼロから作成することもできるからです。以下は、独自のイベントを作成・カスタマイズする方法のガイドです。

カスタムイベントの作成

カスタムイベントの設定ファイルは次の場所に作成すべきです。 plugins/EliteMobs/customevents/

ファイルは .yml 形式を使用する必要があります。ファイル名(.yml 拡張子を除く)がイベントの識別子になります。

例: my_cool_event.ymlmy_cool_event として参照されます

共通の設定項目

次の設定は、アクションイベントと時間制イベントの両方で使用できます/すべきです。


isEnabled

イベントが有効かどうかを設定します。

キーデフォルト
isEnabledBooleantrue
isEnabled: true

eventType

イベントのタイプを設定します。

キーデフォルト
eventTypeDEFAULT / BREAK_BLOCK / FISH / TILL_SOIL / TIMEDなし

BREAK_BLOCKFISHTILL_SOILアクションイベント であり、TIMED時間制イベント である点に注意してください。DEFAULT は、他の手段や特殊な条件によってトリガーされるイベント向けです。

eventType: BREAK_BLOCK

bossFilenames

スポーンするボスのリストを設定します。必須!

キーデフォルト
bossFilenamesString Listなし
bossFilenames:
- balrog.yml
- my_event_boss.yml

announcementPriority

アナウンス優先度 を設定します。

キーデフォルト
announcementPriorityInteger0
announcementPriority: 1

startMessage

イベント開始時に送信されるメッセージを設定します。

キーデフォルト
startMessageStringなし
startMessage: An event has started!

create_events_start_message.jpg


endMessage

イベント終了時に送信されるメッセージを設定します。

キーデフォルト
endMessageStringなし
endMessage: An event has ended!

create_events_end_message.jpg


eventStartCommands

イベント開始時に実行されるコマンドを設定します。

キーデフォルト
eventStartCommandsString Listなし
eventStartCommands:
- say The event now starts!!
- "$chance=0.5$ say What a spawn!"

create_events_start_commands.jpg


eventEndCommands

イベント終了時に実行されるコマンドを設定します。

キーデフォルト
eventEndCommandsString Listなし
eventEndCommands:
- say The event ends, so sad.
- "$chance=0.5$ say Too slow bud!"

create_events_end_commands.jpg


イベント設定の例
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.ymlactionEventMinimumCooldownMinutes で設定できます。

chance

アクションが発生したときにイベントが起こる確率を設定します。

キーデフォルト
chance0.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

イベントが使用する カスタムスポーン を設定します。これはボスがスポーンできる場所を定義します。

キーデフォルト
spawnTypeFilenameなし
spawnType: nether_spawn.yml

localCooldown

このイベントが再び選ばれるまでの時間を分単位で設定します。

キーデフォルト
localCooldownDouble0
localCooldown: 120

globalCooldown

次のイベントが選ばれるまでの時間を分単位で設定します。

キーデフォルト
globalCooldownDouble0
globalCooldown: 60

weight

イベントの重み(weight)を設定し、他のイベントよりも選ばれる確率に影響を与えます。推奨: 100

重みシステムは、イベント選択の相対的な確率を決定します。例えば次のとおりです。

  • 重み 100 のイベント A と重み 50 のイベント B の比較 = イベント A が選ばれる確率は 2 倍
  • 重みが大きいほど選ばれる確率が高くなる
  • 時間制イベントのスケジューラーはサーバー起動の約 5 分後に開始され、その後 1 分に 1 回、グローバルクールダウンが経過してイベントを選べる状態かどうかをチェックする
キーデフォルト
weightDouble0
weight: 60.5

eventDuration

イベントの最大継続時間を分単位で設定します。

キーデフォルト
eventDurationDouble0
eventDuration: 30

endEventWithBossDeath

イベントがボスの死亡で終了するかどうかを設定します。

キーデフォルト
endEventWithBossDeathBooleantrue
endEventWithBossDeath: true

eventEndTime

イベントが終了するゲーム内時刻(ティック単位)を設定します。Minecraft の時刻システムを使用します(0=夜明け、6000=正午、12000=日暮れ、18000=真夜中、23000=深夜)。時刻ベースの終了を無効にするには -1 を設定します。

キーデフォルト
eventEndTimeInteger(0〜24000、無効にするには -1)-1
eventEndTime: 23000

minimumPlayerCount

イベントが開始される前に必要な、オンラインプレイヤーの最小数を設定します。

キーデフォルト
minimumPlayerCountInteger1
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