和平旗幟
和平旗幟是一個可合成的物品,玩家可以放置它來建立一個壓制菁英怪物的區域。放置後,和平旗幟會阻止其可設定的區塊半徑內的菁英怪物生成,並且還可以選擇性地壓制 EliteMobs 事件。
運作方式
- 合成: 玩家使用預設配方(或管理員設定的自訂配方)合成和平旗幟。預設配方需要骨頭環繞任意顏色的旗幟。
- 放置: 當玩家放置和平旗幟時,它會立即在周圍建立保護區域。預設保護半徑為旗幟所在區塊各方向 4 個區塊。
- 移除: 破壞和平旗幟方塊會移除保護區域,允許菁英怪物再次在該區域生成。
- 持久化: 已放置的和平旗幟會儲存到磁碟,在伺服器重啟後保留。當包含和平旗幟的區塊載入時,外掛程式會驗證旗幟方塊是否仍然存在,如果它已被其他方式摧毀,則會自動移除保護。
預設合成配方
BBB
BWB
BBB
- B = 骨頭
- W = 任意旗幟(接受全部 16 種旗幟顏色)
此配方會產生一面帶有自訂圖案、顯示名稱和說明的藍色旗幟,標識為和平旗幟。
設定
所有和平旗幟的設定都在 PeaceBanner.yml 中。完整參考請參閱設定頁面。
| 設定 | 預設值 | 說明 |
|---|---|---|
enabled | true | 是否啟用和平旗幟功能 |
craftable | true | 玩家是否可以合成和平旗幟 |
chunkRadius | 4 | 已放置旗幟周圍壓制菁英怪物的半徑(以區塊為單位) |
suppressEvents | true | 已放置的旗幟是否同時壓制 EliteMobs 事件(行動事件和計時事件) |
recipeShape | BBB / BWB / BBB | 合成格配置 |
recipeIngredients | B: BONE, W: ANY_BANNER | 將配方字元對應到材料 |
itemName | &aPeace Banner | 和平旗幟物品的顯示名稱 |
itemLore | (參見設定檔) | 物品上顯示的說明文字 |
placedMessage | (參見設定檔) | 放置旗幟時發送的訊息 |
removedMessage | (參見設定檔) | 破壞旗幟時發送的訊息 |
管理員指令
| 指令 | 權限 | 說明 |
|---|---|---|
/em peacebanner give <player> | elitemobs.peacebanner.admin | 給予指定玩家一個和平旗幟物品 |
/em peacebanner list | elitemobs.peacebanner.admin | 列出所有已放置的和平旗幟及其座標和區塊半徑 |
重疊旗幟
可以放置多個保護區域重疊的和平旗幟。系統使用引用計數,因此只要至少有一面旗幟覆蓋,區塊就會保持受保護狀態。移除單一旗幟只會取消未被其他旗幟覆蓋的區塊的保護。
技術細節
- 和平旗幟通過持久化資料容器(PDC)標籤識別,而非外觀。普通旗幟不受影響。
- 旗幟資料儲存在
plugins/EliteMobs/data/peace-banners.yml中。 - 當區塊載入時,外掛程式會檢查已儲存位置的旗幟方塊是否仍然存在。如果該方塊不再是旗幟(例如被爆炸或世界編輯摧毀),保護會自動移除。