EliteScript
EliteScript 是一個為 MagmaGuy 的外掛設計的綜合腳本系統,為在 Minecraft 中建立 Boss 和其他實體的動態行為提供進階自訂選項。
概述
EliteScript 允許伺服器管理員為自訂 Boss 和生物建立複雜的事件驅動行為。腳本系統建立在五個核心組件之上:
- 事件(Events):啟動腳本執行的觸發器(傷害、生成、死亡等)
- 條件(Conditions):執行動作必須滿足的要求
- 動作(Actions):要執行的行為(傷害、傳送、生成粒子等)
- 目標(Targets):動作影響的實體或位置
- 區域(Zones):世界中用於目標定位和偵測的定義區域
- 冷卻時間(Cooldowns):時間限制以防止腳本濫發
Elite Script 可以作為獨立的能力檔案添加,也可以直接添加到自訂 Boss 配置檔案中。
快速入門範例
以下是一個簡單的 EliteScript,當 Boss 受到傷害時向玩家發射閃電:
eliteScript:
LightningStrike:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: STRIKE_LIGHTNING
Target:
targetType: DIRECT_TARGET
repeatEvery: 20
times: 3
Cooldowns:
local: 60
global: 20
此腳本在玩家傷害 Boss 時觸發,然後向玩家發射 3 次閃電(每秒一次),並在再次觸發前有 60 刻的冷卻時間。
腳本組件
EliteScript 通過其組件系統提供廣泛的自訂功能。有關每個組件的詳細資訊,請參閱以下頁面:
核心組件
- 事件(Events) - 13 種事件類型,包括傷害、死亡、生成、戰鬥和基於區域的觸發器
- 動作(Actions) - 35 種動作類型,用於建立複雜的行為
- 目標(Targets) - 17 種目標類型,用於選擇實體和位置
- 條件(Conditions) - 具有多種檢查類型的過濾和阻止條件
- 區域(Zones) - 8 種區域形狀(球體、圓柱體、長方體、射線、錐體等)
- 冷卻時間(Cooldowns) - 局部和全域冷卻系統
- 相對向量(Relative Vectors) - 進階定位和移動
常見使用案例
EliteScript 通常用於:
- 階段式 Boss 戰:在不同的生命值百分比下的不同攻擊模式
- 競技場機制:基於區域的傷害、增益或在特定區域生成
- 自訂攻擊:獨特的粒子效果、投射物和區域攻擊
- 環境危險:週期性的閃電、掉落的方塊或火焰
- 互動機制:傳送、生物生成和世界修改
- 玩家溝通:訊息、標題、動作欄和 Boss 血量條
- 條件行為:根據玩家數量、位置或 Boss 狀態的不同動作
實作
腳本可以透過兩種方式實作:
- 能力檔案:在
~/plugins/EliteMobs/powers/中建立獨立的.yml檔案 - 自訂 Boss 檔案:直接將
eliteScript:部分添加到自訂 Boss 配置中
有關建立能力和自訂 Boss 的詳細說明,請參閱:
效能考量
在建立腳本時,請記住以下最佳實踐:
- 使用冷卻時間以防止快速發射腳本造成的效能問題
- 基於區域的事件(ZoneEnterEvent、ZoneLeaveEvent)在運算上很昂貴 - 使用小型區域和適當的冷卻時間
- 使用過濾條件來減少不必要的檢查
- 在部署到生產伺服器之前徹底測試腳本
下一步
要開始建立您自己的 EliteScript:
- 查閱 事件(Events) 頁面以了解什麼可以觸發腳本
- 探索 動作(Actions) 頁面以查看您可以建立的行為
- 了解 目標(Targets) 以控制您的動作影響什麼
- 研究每個組件頁面中的範例
- 從簡單的腳本開始,逐步增加複雜性
