跳到主要内容

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. 从简单的脚本开始,逐步增加复杂性