公告優先度系統
公告優先度系統用來管理 EliteMobs 訊息的重要程度。它由自訂 BOSS(生成/死亡/逃脫訊息與追蹤)以及自訂事件(startMessage / endMessage)使用。
兩者使用不同的程式路徑,在優先度 2 時行為也不同——請見本頁底部的自訂事件使用不同的路徑。
簡短版速查表:
- 等級 0:靜默(對於未設定任何訊息的 BOSS 為預設值)——僅造成傷害者會看到死亡訊息
- 等級 1:聊天訊息 + 追蹤(若已設定 messages/locationMessage)
- 等級 2:對自訂 BOSS 而言與等級 1 完全相同(無獨立行為)
- 等級 3:等級 1 的功能 + Discord 公告(需要 DiscordSRV)
運作方式:
註:如果你想使用非預設值,你需要為你的自訂 BOSS 設定這套優先度系統。點擊這裡了解如何設定。
等級 0
強制讓自訂 BOSS 保持靜默。這表示:
- 不會發送任何生成訊息
- 不會發送任何逃脫訊息
- 死亡訊息僅會發送給對 BOSS 造成傷害的玩家(而非全伺服器)
- 即使已設定 locationMessage,BOSS 追蹤仍會被停用
等級 1
announcementPriority is silent如果你完全不設定 announcementPriority,該 BOSS 會取得優先度 0——靜默——無論它是否設定了生成、死亡或逃脫訊息。光是設定那些訊息並不足夠;你還必須一併設定 announcementPriority: 1(或更高)。這一點讓很多內容踩坑:訊息明明就在那裡、也能正常解析,卻永遠不會被廣播。
如果有設定的話,自訂 BOSS 將能夠在聊天中發送訊息。若有設定,它們會發送生成、死亡與逃脫訊息。
預設情況下,生成訊息會廣播給伺服器上的所有玩家。你可以在 events.yml 中啟用「Only broadcast event message in event worlds」設定(announcementBroadcastWorldOnly: true),讓 EliteMobs 只廣播給與 BOSS 處於同一世界的玩家。
若有設定 locationMessage,BOSS 追蹤在此等級也會啟用。玩家可在 BOSS 生成時點擊聊天來追蹤它,或使用 /em 選單來追蹤它。
追蹤需求
要讓 BOSS 追蹤在優先度 1 或 2 下運作,必須完成以下設定:
- 將
announcementPriority設為 1 或更高 - 在你的自訂 BOSS 設定中加入
locationMessage欄位 - 確保伺服器設定中已啟用
showCustomBossLocation(預設:true)
locationMessage 可包含預留位置:
$distance- 顯示與 BOSS 的距離$location- 顯示 BOSS 座標
等級 2
對自訂 BOSS 而言,等級 2 的行為與等級 1 完全相同——優先度 2 並沒有獨立的程式路徑。每種訊息類型在優先度 1 與優先度 2 下都遵循相同規則:
- 生成訊息會在全伺服器廣播,除非設定了
announcementBroadcastWorldOnly: true,此時它們僅會送給 BOSS 所在世界的玩家。 - 對於任何 1 或更高的優先度,死亡訊息都會在全伺服器廣播。
- 對於任何 1 或更高的優先度,逃脫訊息一律只會送給 BOSS 所在世界的玩家。
若有設定 locationMessage,BOSS 追蹤在此等級也會啟用。
註:追蹤同時需要 1 或更高的公告優先度,以及已設定的 locationMessage 欄位。
等級 3
自訂 BOSS 的行為將與等級 1 相同,並且還會將訊息發送到設定用來傳送 EliteMobs 通知的 Discord 房間。設定此功能的方式請見此頁面。 Discord 上的訊息將與聊天訊息相同——生成/死亡/逃脫。
自訂事件使用不同的路徑
自訂事件(customevents/*.yml)同樣帶有 announcementPriority,但它們的 startMessage 與 endMessage 走的是另一條較簡單的程式路徑。其行為如下:
| 優先度 | 訊息送往何處 | Discord |
|---|---|---|
| 0 | 僅事件所在世界的玩家 | 否 |
| 1 | 全伺服器,除非 events.yml 中設定 announcementBroadcastWorldOnly: true,此時僅事件所在世界 | 否 |
| 2 | 僅事件所在世界的玩家(全伺服器分支僅針對優先度剛好為 1 撰寫) | 否 |
| 3+ | 僅事件所在世界的玩家 | 是 |
因此對事件而言——與 BOSS 不同——優先度 2 並不等同於優先度 1,而 3 或更高的優先度即使 announcementBroadcastWorldOnly 為 false 也不會全伺服器廣播。事件的 announcementPriority 預設為 0。
訊息類型
自訂 BOSS 可以有三種類型的公告:
- 生成訊息(
spawnMessage)- 在 BOSS 生成時發送 - 死亡訊息(
deathMessage)- 在 BOSS 被擊殺時發送 - 逃脫訊息(
escapeMessage)- 在 BOSS 消失/逃脫時發送
每種訊息類型都必須在你的 BOSS 檔案中分別設定。公告優先度等級控制這些訊息是否發送以及由誰接收。
設定範例
# 靜默 BOSS - 僅造成傷害者會看到死亡訊息
announcementPriority: 0
deathMessage: '&c$name has been defeated!'
# 帶追蹤的聊天公告
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 整合
announcementPriority: 3
spawnMessage: '&4$name &chas spawned!'
locationMessage: '&6Track $name at $location'