停用爆炸傷害
方法比較
| 方法 | 範圍 | 影響原版怪物 | 影響 EliteMobs | 建議 |
|---|---|---|---|---|
| /gamerule mobGriefing false | 全域 | 是 | 可能不會* | 僅用於原版怪物 |
| WorldGuard elitemobs-explosion-block-damage | 各區域 | 否 | 是 | 最適合用於選擇性保護 |
| doExplosionRegen: false | 全域 | 否 | 是(防止復原) | 如果你想要永久傷害則使用此選項 |
*由於採用自訂的爆炸處理機制,mobGriefing 對 EliteMobs 的有效性尚未確認
停用方塊傷害
使用 gamerule
執行指令 /gamerule mobGriefing false。這會防止原版怪物爆炸造成的方塊傷害。
警告: 由於採用自訂的爆炸處理機制,這可能不會影響 EliteMobs 的爆炸。EliteMobs 的爆炸有自己的復原系統。請使用下方 EliteMobs 專屬的方法以獲得有保證的結果。
使用 WorldGuard
在你的 WorldGuard 區域中,將自訂的 EliteMobs WorldGuard 旗標 elitemobs-explosion-block-damage 設定為 deny。這會防止 EliteMobs 的爆炸破壞方塊。
注意: 這需要同時安裝 EliteMobs 與 WorldGuard。這是一個由 EliteMobs 註冊的自訂旗標,並非標準的 WorldGuard 旗標。它只會影響來自 EliteMobs 的爆炸,不影響原版怪物。
阻止 EliteMobs 火球破壞方塊
EliteMobs 的火球 powers(例如 attack_fireball 與 tracking_fireball)是位於 plugins/EliteMobs/powers/ 資料夾中的 Lua 腳本。這些內建的 Lua powers 並沒有各別 power 的 isEnabled 切換開關 —— 阻止其方塊傷害的建議方式是下列其中一種受支援的方塊傷害控制方法:
- 各區域: 將 WorldGuard 旗標
elitemobs-explosion-block-damage設定為deny(參閱上方的 WorldGuard 章節)。這會阻止 EliteMobs 的爆炸在該區域內破壞方塊,同時仍允許 power 的其餘效果(擊退、實體傷害)。 - 全伺服器清理: 維持
doExplosionRegen: true(預設值),這樣任何被破壞的方塊都會在大約一分鐘後自動復原,使傷害成為暫時性的。
設定 EliteMobs 爆炸復原
EliteMobs 的爆炸會在爆炸後大約 1 分鐘自動開始復原方塊。你可以在 config.yml 檔案中控制此行為:
- 打開
plugins/EliteMobs/config.yml - 找到以下設定:
doExplosionRegen:設定為false以防止方塊復原(方塊維持被破壞狀態)doRegenerateContainers:設定為false以防止箱子/容器復原
注意: 如果 doExplosionRegen 為 true(預設值),方塊會自動修復,使爆炸傷害成為暫時性而非永久性。
其他爆炸/火焰 Powers
EliteMobs 提供了好幾個會造成爆炸或火焰的其他 powers。這些是位於 plugins/EliteMobs/powers/ 資料夾中的 Lua 腳本:
終界龍 Powers:
ender_dragon_aimed_fireball.luaender_dragon_disco_fireballs.luaender_dragon_fireball_bombardment.luaender_dragon_ender_fireball_bombardment.lua
其他爆炸 Powers:
gold_explosion.luaarrow_fireworks.luafireworks_barrage.lua
火焰類 Powers:
firestorm.luaflame_pyre.luaflamethrower.luaattack_fire.lua
和火球 powers 一樣,這些內建的 Lua powers 也沒有各別 power 的 isEnabled 切換開關。若要阻止它們造成的方塊傷害,請使用 WorldGuard 的 elitemobs-explosion-block-damage 旗標,或上述的爆炸復原設定。
區域性爆炸控制(需要 WorldGuard)
如果你只想在特定區域停用爆炸:
- 安裝 WorldGuard 外掛
- 建立或選取一個 WorldGuard 區域
- 設定 EliteMobs 自訂旗標:
/region flag <region-name> elitemobs-explosion-block-damage deny
這只會防止 EliteMobs 的爆炸在該區域內破壞方塊,同時允許其他地方的爆炸。
疑難排解
如果在設定 WorldGuard 旗標後方塊仍受到破壞:
- 確認該區域確實涵蓋了爆炸發生的範圍(用
/region info檢查) - 驗證旗標已設定為
deny:/region flag <region-name> elitemobs-explosion-block-damage deny - 確保 EliteMobs 與 WorldGuard 都已安裝並載入(檢查啟動記錄)
- 檢查伺服器記錄中是否有 EliteMobs 或 WorldGuard 的錯誤
如果方塊被破壞後沒有恢復:
- 檢查
doExplosionRegen是否已啟用 —— 方塊會在爆炸後大約 1 分鐘開始復原 - WorldGuard 旗標會完全防止區域內的方塊傷害;爆炸復原則只控制對已發生傷害的清理
- 若要在整個伺服器上提供永久性的方塊保護,請在 config.yml 中設定
doExplosionRegen: false