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

アナウンス優先度システム

アナウンス優先度システムは、EliteMobs のメッセージがどれだけ重要かを管理します。カスタムボス(スポーン/死亡/逃走のメッセージとトラッキング)とカスタムイベントstartMessage / endMessage)で使用されます。

両者は異なるコードパスを使用しており、優先度 2 での動作が異なります — このページ末尾のカスタムイベントは別のパスを使用しますを参照してください。

簡易チートシート:

  • レベル 0: サイレント(メッセージが設定されていないボスのデフォルト) - ダメージを与えた者のみが死亡メッセージを見る
  • レベル 1: チャットメッセージ + トラッキング(messages/locationMessage が設定されている場合)
  • レベル 2: カスタムボスにとってはレベル 1 と同一(別個の動作はなし)
  • レベル 3: レベル 1 の機能 + Discord アナウンス(DiscordSRV が必要)

仕組み:

注: デフォルト以外の値を使用したい場合は、この優先度システムでカスタムボスを設定する必要があります。その方法を学ぶには こちら をクリックしてください。

レベル 0

カスタムボスを強制的にサイレントにします。これは次のことを意味します。

  • スポーンメッセージは送信されません
  • 逃走メッセージは送信されません
  • 死亡メッセージはボスにダメージを与えたプレイヤーにのみ送信されます(サーバー全体ではありません)
  • locationMessage が設定されていてもボストラッキングは無効になります

レベル 1

メッセージがあっても announcementPriority がないボスはサイレントです

announcementPriority をまったく設定しない場合、そのボスは、スポーン/死亡/逃走のメッセージが設定されているかどうかに関係なく優先度 0(サイレント)になります。メッセージを設定するだけでは不十分で、announcementPriority: 1(またはそれ以上)も設定する必要があります。これは多くのコンテンツで見落とされています。メッセージは存在し、正しく解析されているのに、何もブロードキャストされないのです。

カスタムボスは、設定されていればチャットでメッセージを送信できるようになります。設定されていれば、スポーン、死亡、逃走のメッセージを送信します。

デフォルトでは、スポーンメッセージはサーバー上のすべてのプレイヤーにブロードキャストされます。events.yml の「Only broadcast event message in event worlds」設定を有効にすることで(announcementBroadcastWorldOnly: true)、ボスと同じワールドにいるプレイヤーにのみブロードキャストするよう EliteMobs を設定できます。

locationMessage が設定されていれば、このレベルではボストラッキングも有効になります。プレイヤーはボスがスポーンした際にチャットをクリックして追跡できるほか、/em メニューを使って追跡することもできます。

トラッキングの要件

優先度 1 または 2 でボストラッキングを機能させるには、次の設定が必要です。

  • announcementPriority を 1 以上に設定する
  • カスタムボスの設定に locationMessage フィールドを追加する
  • サーバー設定で showCustomBossLocation が有効になっていることを確認する(デフォルト: true)

locationMessage にはプレースホルダーを含めることができます。

  • $distance - ボスまでの距離を表示
  • $location - ボスの座標を表示

レベル 2

カスタムボスの場合、レベル 2 はレベル 1 とまったく同じ動作をします。優先度 2 のための別個のコードパスはありません。各メッセージタイプは優先度 1 と優先度 2 で同じルールに従います。

  • スポーンメッセージは、announcementBroadcastWorldOnly: true が設定されていない限りサーバー全体にブロードキャストされ、設定されている場合はボスのワールドにいるプレイヤーにのみ送信されます。
  • 死亡メッセージは、優先度 1 以上であればサーバー全体にブロードキャストされます。
  • 逃走メッセージは、優先度 1 以上であれば常にボスのワールドにいるプレイヤーにのみ送信されます。

locationMessage が設定されていれば、このレベルでもボストラッキングが有効になります。

注: トラッキングには、1 以上のアナウンス優先度および設定された locationMessage フィールドの両方が必要です。

レベル 3

カスタムボスはレベル 1 と同じ動作をするほか、EliteMobs に関する通知を送信するように設定された Discord ルームにもメッセージを送信します。この機能のセットアップ方法のページはこちらにあります。 Discord 上のメッセージはチャットメッセージと同じです(スポーン/死亡/逃走)。

カスタムイベントは別のパスを使用します

カスタムイベント(customevents/*.yml)も announcementPriority を持ちますが、その startMessageendMessage は別の、より単純なルーチンを通ります。動作は次のとおりです。

優先度メッセージの送信先Discord
0イベントのワールドにいるプレイヤーのみいいえ
1サーバー全体。ただし events.ymlannouncementBroadcastWorldOnly: true の場合はイベントのワールドのみいいえ
2イベントのワールドにいるプレイヤーのみ(サーバー全体への分岐は優先度 1 ちょうどに対して書かれているため)いいえ
3以上イベントのワールドにいるプレイヤーのみはい

つまりイベントでは、ボスとは異なり優先度 2 は優先度 1 と同じではなく、優先度 3 以上は announcementBroadcastWorldOnlyfalse でもサーバー全体にはブロードキャストされません。イベントの announcementPriority のデフォルトは 0 です。

メッセージタイプ

カスタムボスは3種類のアナウンスを持つことができます。

  • スポーンメッセージ(spawnMessage) - ボスがスポーンしたときに送信
  • 死亡メッセージ(deathMessage) - ボスが倒されたときに送信
  • 逃走メッセージ(escapeMessage) - ボスがデスポーン/逃走したときに送信

各メッセージタイプはボスファイル内で個別に設定する必要があります。アナウンス優先度レベルは、これらのメッセージが送信されるかどうか、また誰が受け取るかを制御します。

設定例

# Silent boss - only damagers see death message
announcementPriority: 0
deathMessage: '&c$name has been defeated!'

# Chat announcements with tracking
announcementPriority: 1
spawnMessage: '&4$name &chas spawned!'
deathMessage: '&a$name &2has been slain by $damager1name!'
escapeMessage: '&e$name &6has escaped!'
locationMessage: '&6$name &eis $distance blocks away at $location'

# Discord integration
announcementPriority: 3
spawnMessage: '&4$name &chas spawned!'
locationMessage: '&6Track $name at $location'