アナウンス優先度システム
アナウンス優先度システムは、EliteMobs のメッセージがどれだけ重要かを管理します。カスタムボス(スポーン/死亡/逃走のメッセージとトラッキング)とカスタムイベント(startMessage / endMessage)で使用されます。
両者は異なるコードパスを使用しており、優先度 2 での動作が異なります — このページ末尾のカスタムイベントは別のパスを使用しますを参照してください。
簡易チートシート:
- レベル 0: 公開アナウンスなし。設定された死亡メッセージはダメージを与えたプレイヤーにのみ送信
- レベル 1: 設定されたチャットメッセージ +
showCustomBossLocationが有効な場合のトラッキング - レベル 2: カスタムボスにとってはレベル 1 と同一(別個の動作はなし)
- レベル 3: レベル 1 の機能 + Discord アナウンス(DiscordSRV が必要)
仕組み:
注: デフォルト以外の値を使用したい場合は、この優先度システムでカスタムボスを設定する必要があります。その方法を学ぶには こちら をクリックしてください。
レベル 0
カスタムボスの公開アナウンスを抑止します。これは次のことを意味します。
- スポーンメッセージは送信されません
- 逃走メッセージは送信されません
- 死亡メッセージはボスにダメージを与えたプレイヤーにのみ送信されます(サーバー全体ではありません)
- locationMessage が設定されていてもボストラッキングは無効になります
レベル 1
announcementPriority を省略すると、メッセージが設定されていても優先度は 0 です。死亡メッセージはダメージを与えたプレイヤーに個別に届く場合があります。公開アナウンスを有効にするには announcementPriority: 1 以上を設定してください。
カスタムボスは、設定されていればチャットでメッセージを送信できるようになります。設定されていれば、スポーン、死亡、逃走のメッセージを送信します。
デフォルトでは、スポーンメッセージはサーバー上のすべてのプレイヤーに送信されます。events.yml のイベントワールド内にアナウンスを限定する設定(announcementBroadcastWorldOnly: true)を有効にすると、ボスと同じワールドのプレイヤーだけに送信されます。
showCustomBossLocation が有効なら、このレベルでボストラッキングも有効になります。ボスのワールドにいるプレイヤーにはスポーン時にクリック可能な追跡通知が届きます。/em メニューからも追跡できます。locationMessage は追跡文を変更する任意設定です。
トラッキングの要件
優先度 1 または 2 でボストラッキングを機能させるには、次の設定が必要です。
announcementPriorityを 1 以上に設定する- 必要に応じて
locationMessageで追跡文を変更する。未設定または空白の場合は$name: $distance blocks away!を使用 - サーバー設定で
showCustomBossLocationが有効になっていることを確認する(デフォルト: true)
locationMessage にはプレースホルダーを含めることができます。
$name- ボス名を表示$distance- ナビゲーション先までの距離を表示$location- ナビゲーション先の座標を表示
同じワールドではボスがナビゲーション先になります。別のワールドでは、そのワールドへ直接つながるワームホールの入口を示すことがあります。該当する接続がない場合は、設定された別ワールド用メッセージを表示します。
レベル 2
カスタムボスの場合、レベル 2 はレベル 1 とまったく同じ動作をします。優先度 2 のための別個のコードパスはありません。各メッセージタイプは優先度 1 と優先度 2 で同じルールに従います。
- スポーンメッセージは、
announcementBroadcastWorldOnly: trueが設定されていない限りサーバー全体にブロードキャストされ、設定されている場合はボスのワールドにいるプレイヤーにのみ送信されます。 - 死亡メッセージは、優先度 1 以上であればサーバー全体にブロードキャストされます。
- 逃走メッセージは、優先度 1 以上であれば常にボスのワールドにいるプレイヤーにのみ送信されます。
showCustomBossLocation が有効なら、このレベルでもボストラッキングが有効になります。
注: トラッキングには優先度 1 以上と showCustomBossLocation が必要です。locationMessage は任意です。
レベル 3
カスタムボスはレベル 1 と同じ動作をするほか、EliteMobs に関する通知を送信するように設定された Discord ルームにもメッセージを送信します。この機能のセットアップ方法のページはこちらにあります。 Discord 上のメッセージはチャットメッセージと同じです(スポーン/死亡/逃走)。
カスタムイベントは別のパスを使用します
カスタムイベント(customevents/*.yml)も announcementPriority を持ちますが、その startMessage と endMessage は別の、より単純なルーチンを通ります。動作は次のとおりです。
| 優先度 | メッセージの送信先 | Discord |
|---|---|---|
| 0 | イベントのワールドにいるプレイヤーのみ | いいえ |
| 1 | サーバー全体。ただし events.yml で announcementBroadcastWorldOnly: true の場合はイベントのワールドのみ | いいえ |
| 2 | イベントのワールドにいるプレイヤーのみ(サーバー全体への分岐は優先度 1 ちょうどに対して書かれているため) | いいえ |
| 3以上 | イベントのワールドにいるプレイヤーのみ | はい |
つまりイベントでは、ボスとは異なり優先度 2 は優先度 1 と同じではなく、優先度 3 以上は announcementBroadcastWorldOnly が false でもサーバー全体にはブロードキャストされません。イベントの announcementPriority のデフォルトは 0 です。
メッセージタイプ
カスタムボスは3種類のアナウンスを持つことができます。
- スポーンメッセージ(
spawnMessage) - ボスがスポーンしたときに送信 - 死亡メッセージ(
deathMessage) - ボスが倒されたときに送信 - 逃走メッセージ(
escapeMessage) - ボスがデスポーン/逃走したときに送信
各メッセージタイプはボスファイル内で個別に設定する必要があります。アナウンス優先度レベルは、これらのメッセージが送信されるかどうか、また誰が受け取るかを制御します。
ボスの死亡メッセージには、MobCombatSettings.yml の doCustomEliteMobsDeathMessages(初期値 true)も有効にしておく必要があります。空でない deathMessages リストは単一の deathMessage より優先されます。該当する攻撃者が存在しない順位行は省略されます。
プレースホルダーはフィールドごとに異なります。locationMessage は $name、$distance、$location に対応します。スポーンと逃走のメッセージは $name を置換しないため、ボス名を直接記述してください。単一の deathMessage は $players と $playersName に対応し、順位付きの $damager1name/$damager1Name は deathMessages リストで使用します。
設定例
# Silent boss - only damagers see death message
announcementPriority: 0
deathMessage: '&cThe Sentinel has been defeated!'
# Chat announcements with tracking
announcementPriority: 1
spawnMessage: '&4The Sentinel &chas spawned!'
deathMessages:
- '&aThe Sentinel &2has been slain by $damager1Name!'
escapeMessage: '&eThe Sentinel &6has escaped!'
locationMessage: '&6$name &eis $distance blocks away at $location'
# Discord integration
announcementPriority: 3
spawnMessage: '&4The Sentinel &chas spawned!'
locationMessage: '&6Track $name at $location'