跳至主要內容

公告優先度系統

公告優先度系統用來管理 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'