跳至主要内容

EliteScript

webapp_banner.jpg

EliteScript 是 MagmaGuy 插件的綜合腳本系統,提供進階自訂選項,用於為 Minecraft 中的 Boss 和其他實體建立動態行為。

概述

EliteScript 允許伺服器管理員為自訂 Boss 和生物建立複雜的事件驅動行為。腳本系統建立在五個核心元件之上:

  • Events:啟動腳本執行的觸發器(傷害、生成、死亡等)
  • Conditions:執行動作必須滿足的條件
  • Actions:要執行的行為(傷害、傳送、生成粒子等)
  • Targets:動作影響的實體或位置
  • Zones:世界中用於定位和偵測的定義區域
  • Cooldowns:防止腳本頻繁觸發的時間限制

Elite Scripts 可以作為獨立的能力檔案新增,也可以直接新增到自訂 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 - 區域和全域冷卻系統
  • 相對向量 - 進階定位和移動

常見用例

EliteScript 常用於:

  • 階段制 Boss 戰:不同生命值百分比下的不同攻擊模式
  • 競技場機制:特定區域中基於區域的傷害、增益或生成
  • 自訂攻擊:獨特的粒子效果、投射物和範圍攻擊
  • 環境危害:週期性閃電、墜落方塊或火焰
  • 互動機制:傳送、生物生成和世界修改
  • 玩家通訊:訊息、標題、動作列和 Boss 列
  • 條件行為:基於玩家數量、位置或 Boss 狀態的不同動作

實作

腳本可以透過兩種方式實作:

  1. 能力檔案:在 ~/plugins/EliteMobs/powers/ 中建立獨立的 .yml 檔案
  2. 自訂 Boss 檔案:直接在自訂 Boss 設定中新增 eliteScript: 區段

有關建立能力和自訂 Boss 的詳細說明,請參閱:

效能注意事項

建立腳本時,請牢記以下最佳實務:

  • 使用冷卻時間來防止快速觸發腳本導致的效能問題
  • 基於區域的事件(ZoneEnterEvent、ZoneLeaveEvent)計算成本較高——使用小區域和適當的冷卻時間
  • 使用篩選條件來減少不必要的檢查
  • 在部署到正式伺服器之前徹底測試腳本

後續步驟

要開始建立您自己的 EliteScripts:

  1. 查看 Events 頁面,了解什麼可以觸發腳本
  2. 探索 Actions 頁面,查看可以建立哪些行為
  3. 學習 Targets,控制您的動作影響什麼
  4. 學習每個元件頁面中的範例
  5. 從簡單的腳本開始,逐步增加複雜性