Skip to content

v1.3.3-b7303.7

Choose a tag to compare

@BredyAK BredyAK released this 02 Oct 01:00
· 93 commits to dev since this release

新增

  • 新增 EntityTag.add_target_goal 机制,经 Paper 的 Mob Goals API 为生物添加一个索敌目标,使其主动把符合实体匹配器的生物实体当作攻击目标,行为仿照原版“寻找玩家”的那一个:平均每半秒在范围内搜索一次,攻击其中最近的一个;目标死亡、离开范围、不再符合匹配器,或约 3 秒看不见后即告放弃。此前只能经 attack 从外部指定目标,原版 AI 一旦改换或遗忘目标,脚本就得重新指定。
  • 输入为映射:matcher 必填,为实体匹配器,如 mannequin 或 entity_flagged:my_flag;id 默认 default,同一生物上 ID 相同的目标会被替换;priority 默认 3;range 默认 16 格;must_see 默认 true,即必须看得见目标。
  • 该目标与原版的索敌目标同处一个目标选择器,遵循同一套优先级,数值越小越优先:取默认的 3 时,僵尸仍优先攻击玩家(优先级 2),挨打后仍会转向攻击者(优先级 1);数值取得更小,则优先攻击符合匹配器的实体。
  • 不会选中无敌的实体与创造、旁观模式的玩家,也不会抢走脚本或其他插件直接指定的目标。
  • 新增 EntityTag.remove_target_goal 机制,按 ID 移除经上述机制添加的索敌目标,不给出 ID 时移除全部;原版的目标不受影响。
  • 新增 <EntityTag.target_goals> 标签,返回经上述机制添加的索敌目标及其设置;目标正在生效时,另带当前追击的实体。

注意

  • 索敌目标不随实体存盘,实体卸载后即告丢失,宜在 entity added to world 事件中添加。
  • 仅对经 AI 目标选择攻击对象的生物有效,如僵尸、骷髅、蜘蛛、苦力怕;猪灵、疣猪兽、监守者等由“大脑”驱动的生物不受影响。
  • 带有索敌目标的生物在休眠期间仍会搜索,只是频率更低;为大量生物添加时,请留意其开销。

文档

  • 在两份 README 中补充索敌目标的条目与说明。
  • README 中的 upstream 徽章改用仓库内的 SVG 文件,不再因 GitHub 图片代理访问 shields.io 超时而无法加载。