LogoArcartX Doc
Aria 脚本

实体选择器

Chronos 提供的范围选取生物语句(EntitySelector)

  • 以下语句均由 Chronos 插件提供,目标对象为生物LivingEntity)——玩家本身也是生物,所以 self 可以直接调用;通过选择器拿到的其它生物也能继续调用。
  • 这组语句以调用者为中心、按几何范围选取周围的生物,用来做范围攻击、群体判定。除 getNearestLivingEntity 返回单个生物外,其余都返回生物列表,通常配合 for 循环逐个处理:
# 对面前扇形范围内的每个敌人各打一下(attack 为本体语句)
for(e in self.getLivingEntitiesInCone(4.0, 120)){
    self.attack(e)
}

选取结果不包含调用者自己

getLivingEntitiesInRadius(radius)

  • 选取球形半径内的所有生物。
  • 对象:LivingEntity
  • 参数radius — 半径(方块)
  • 返回值:生物列表(List<LivingEntity>
  • 调用示例
self.getLivingEntitiesInRadius(5.0)

getLivingEntitiesInCone(radius, angle)

  • 选取面前扇形范围内的生物,适合做朝向性的横扫攻击。
  • 对象:LivingEntity
  • 参数
    • radius — 半径(方块)
    • angle — 扇形总角度(度数,例如 180 表示正前方半圆)
  • 返回值:生物列表
  • 调用示例
self.getLivingEntitiesInCone(4.0, 180)

getLivingEntitiesInBox(width, length, height)

  • 选取面前的矩形(长方体)区域内的生物,适合做直线突刺、长条形范围。
  • 对象:LivingEntity
  • 参数
    • width — 宽度(左右方向的总宽)
    • length — 长度(朝正前方延伸的距离)
    • height — 高度(上下方向的总高)
  • 返回值:生物列表
  • 调用示例
# 面前一条 2 宽 × 6 长 × 3 高的突刺范围
self.getLivingEntitiesInBox(2.0, 6.0, 3.0)

getLivingEntitiesInRing(innerRadius, outerRadius)

  • 选取环形范围(内圈到外圈之间)的生物,适合做「只打远处一圈、不打贴身」的冲击波类效果。
  • 对象:LivingEntity
  • 参数
    • innerRadius — 内半径(方块)
    • outerRadius — 外半径(方块)
  • 返回值:生物列表
  • 调用示例
self.getLivingEntitiesInRing(3.0, 6.0)

getNearestLivingEntity(maxDistance)

  • 选取最近的单个生物,找不到时返回空。常用来配合 朝向吸附 或单体技能。
  • 对象:LivingEntity
  • 参数maxDistance — 最大搜索距离(方块)
  • 返回值:单个生物(LivingEntity),范围内无生物时返回空
  • 调用示例
var.target = self.getNearestLivingEntity(5.0)

On this page