公告優先度系統
公告優先度系統用來管理 EliteMobs 訊息的重要程度。目前這套系統僅用於管理自訂 BOSS 生成所發送的訊息。
簡短版速查表:
- 等級 0:靜默(對於未設定任何訊息的 BOSS 為預設值)——僅造成傷害者會看到死亡訊息
- 等級 1:聊天訊息 + 追蹤(若已設定 messages/locationMessage)
- 等級 2:對自訂 BOSS 而言與等級 1 完全相同(無獨立行為)
- 等級 3:等級 1 的功能 + Discord 公告(需要 DiscordSRV)
運作方式:
註:如果你想使用非預設值,你需要為你的自訂 BOSS 設定這套優先度系統。點擊這裡了解如何設定。
等級 0
強制讓自訂 BOSS 保持靜默。這表示:
- 不會發送任何生成訊息
- 不會發送任何逃脫訊息
- 死亡訊息僅會發送給對 BOSS 造成傷害的玩家(而非全伺服器)
- 即使已設定 locationMessage,BOSS 追蹤仍會被停用
等級 1
如果你完全不設定 announcementPriority,它會依 BOSS 的內容決定預設值:有設定任何生成/死亡/逃脫訊息的 BOSS 預設為優先度 1,而沒有任何公告內容的 BOSS 則預設為優先度 0(靜默)。若要強制讓有訊息的 BOSS 仍保持靜默,請明確設定 announcementPriority: 0。
如果有設定的話,自訂 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 上的訊息將與聊天訊息相同——生成/死亡/逃脫。
訊息類型
自訂 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'