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

イベントの作成

webapp_banner.jpg

このガイドはEliteMobs 7.3.4以降に対応しています

カスタムイベントとは?

ここでのカスタムイベントとは、プレイヤーのアクションに基づいて発生するか、時間によるトリガーを持つ、ゲーム内でランダムに発生するイベントを指します。プラグインには、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 / TIMEDnone

注: BREAK_BLOCKFISHTILL_SOILアクションイベントであり、TIMEDタイマーイベントです。DEFAULTは他の手段や特殊な条件によってトリガーされるイベント用です。

eventType: BREAK_BLOCK

bossFilenames

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

キーデフォルト
bossFilenamesString Listnone
bossFilenames:
- balrog.yml
- my_event_boss.yml

announcementPriority

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

キーデフォルト
announcementPriorityIntegernone
announcementPriority: 1

startMessage

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

キーデフォルト
startMessageStringnone
startMessage: An event has started!

create_events_start_message.jpg


endMessage

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

キーデフォルト
endMessageStringnone
endMessage: An event has ended!

create_events_end_message.jpg


eventStartCommands

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

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

create_events_start_commands.jpg


eventEndCommands

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

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

アクションイベント

ブロックを壊す、釣りをするなど、特定のアクションが実行されたときに発生する可能性のあるイベントです。

注: アクションイベントは、同じプレイヤーが繰り返しイベントをトリガーすることを防ぐため、プレイヤーごとに自動的に60分のクールダウンが適用されます。

chance

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

キーデフォルト
chance0.0から1.0の間の値0
chance: 0.001

breakableMaterials

アクションがBREAK_BLOCKに設定されている場合にチェックするマテリアルのリストを設定します。

キーデフォルト
breakableMaterialsmaterialsのリスト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

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

キーデフォルト
spawnTypeFilenamenone
spawnType: nether_spawn.yml

localCooldown

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

キーデフォルト
localCooldownInteger0
localCooldown: 120

globalCooldown

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

キーデフォルト
globalCooldownInteger0
globalCooldown: 60

weight

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

重みシステムは、イベント選択の相対的な確率を決定します。例:

  • 重み100のイベントAと重み50のイベントB = イベントAが選択される可能性は2倍
  • 重みが高い = 選ばれる確率が高い
  • イベントは約5分ごとに評価されます
キーデフォルト
weightDouble0
weight: 60.5

eventDuration

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

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