目标用于确定技能释放的对象。

目标总是必需的(否则生物不知道攻击谁),忘记目标大概是新接触 MythicMobs 的人最常犯的错误了。

如果在一个复杂技能使用了目标器,那么所有里面的技能的目标都会继承父目标。需要注意的是,大量使用目标可能造成服务器性能的影响。当然,你可以覆写父类目标,将复杂技能里的每个技能都分配单独的目标,甚至有一大堆目标一起工作的非常优秀的例子。

目标既可以复杂也可以简单,全看你想怎样!

生物目标

单生物目标

目标 缩写 描述
@Self 将自身作为目标
@Target 将生物当前的攻击目标作为目标
@Trigger 将触发技能的生物作为目标
@NearestPlayer 将最近的玩家作为目标
@WolfOwner 将狼的主人作为目标
@Owner 将生物的主人作为目标(机制setOwner
@Mount (MM 2.5.0+) 将骑乘的生物作为目标

多生物目标

目标 缩写 描述
@LivingEntitiesInRadius{r=#} 将半径内的生物作为目标
@PlayersInRadius{r=#} @PIR{r=#} 将半径内的玩家作为目标
@MobsInRadius{r=#;types=X,X,X} @MIR{r=R;t=T} 将半径内的生物作为目标
@EntitiesInRadius{r=#;types=X,X,X} @EIR{r=R;t=T} 将目标范围内的所有实体作为目标
@PlayersInWorld @World 将当前世界所有玩家作为目标
@PlayersOnServer @Server 将服务器内的所有玩家作为目标
@PlayersInRing{min=#;max=#} 将环内的所有玩家作为目标
@PlayersNearOrigin{r=#}
@MobsNearOrigin{r=R;t=T}
@EntitiesNearOrigin{r=#}

威胁表目标

这些目标只有在威胁表启用时可用

目标 缩写 描述
@RandomThreatTarget @RTT 将威胁表内的随机一名玩家作为目标
@ThreatTable @TT 将所有威胁表内的生物作为目标
@ThreatTablePlayers 将威胁表内的所有玩家作为目标

坐标目标

单坐标目标

目标 缩写 描述
@SelfLocation 生物自己的坐标
@TargetLocation 生物目标的坐标
@TriggerLocation 将触发技能的生物的坐标作为目标
@Location{c=x,y,z} 指定坐标作为目标
@Origin 将发射物的发射者的坐标作(不一定是生物)为目标
@Spawner{s=[string]} 将刷怪点的坐标作为目标
@RLNTE{amount=#;radius=#;spacing=#;minradius=#;} 选择生物周围随机的坐标点作为目标,amount代表坐标点数量,radius代表半径的距离,spacing代表每个坐标之间的距离,minradius代表最小半径,这个选择常用于 Meteor 技能

多坐标目标

目标 缩写 描述
@PlayerLocationsInRadius{r=#} @PLIR{r=#} 将半径内的所有玩家的坐标作为目标
@Ring{radius=#;points=#} 选择范围圆环内的目标点
@Cone{angle=#;points=#;range=#;rotation=#;} 选择一个锥形体作为目标点组
@EntitiesInCone{angle=#;range=#;rotation=#;} 选择锥形内的所有生物

特殊目标

有一些目标只能用于技能内部

Laser:
  Mobtype: creeper
  Display: 'Laser'
  Health: 12
  AITargetSelectors:
  - 0 clear
  - 1 players
  Skills:
  - skill{s=Laser;} @target
Laser:
  Skills:
  - ignite @line{r=1}

在这个技能内,目标选择为生物使用技能的终点

目标 缩写 描述
@Line{radius=#;fromorigin=true/false} @Line{r=#;fo=true/false} 将目标和生物之间的连线的所有坐标点作为目标
@EntitiesInLine{radius=#;fromorigin=true/false} @EIL{r=#;fo=true/false} 将目标与生物间连线上的所有生物作为目标

这些全部在 MythicMobs 2.5.0 中加入

原版目标

这些目标会像 Minecraft 命令中的目标选择器一样工作。这些目标可能极其复杂冗长,但也可以很简单。这些拓展都包围在[ ]里,包含了可能的半径、数量、游戏模式、计分板分数、队员、生物种类、经验等级、目标等等。

请注意,因为一个BUG,原版的目标选择器搭配 MythicMobs 使用,有可能没有最小半径和半径参数,这将导致没有任何目标被选中。以后的 MythicMobs 版本不再能选择非同一世界的目标。

目标选择器 描述
@p 选择最近的玩家
@a 选择所有玩家
@r 选择随机玩家
@e !选择所有实体
参数 描述
x=X, y=Y, z=Z 坐标。如果给出了这些属性,那么目标会以此作为基准
r=R 最大半径,必须设置坐标
rm=RM 最小半径
m=M 游戏模式。目标处于的游戏模式 0 = 生存, 1 = 创造, 2 = 冒险, 3 = 旁观
c=C 最大数量的生物,正数尝试选择最近的,负数则是最远的
l=L 最大等级,会尝试选择最高的
lm=LM 最小等级
score_=SCORE 最大计分板分数
score__min=SCORE 最小计分板分数
team=TEAM 是“TEAM”队伍的成员
team=!TEAM 不是“TEAM”队伍的成员
name=NAME 名称必须为“NAME”
name=!NAME 名称必须不为“NAME”
dx=DX, dy=DY, dz=DZ 体积尺寸,选择长方形区域
rx=RX 最大垂直旋转角
rxm=RXM 最小垂直旋转角
ry=RY 最大水平旋转角
rym=RYM 最小水平旋转角
type=TYPE 目标必须为“TYPE”型生物
type=!TYPE 目标必须不是“TYPE”型生物
tag=TAG 目标必须拥有“TAG”计分板标签
tag=!TAG 目标必须没有“TAG”计分板标签

示例

@p[lm=10]

  • 选择最近经验大于10级的玩家

@a[r=10]

  • 选择所有10格内的玩家

@a[r=10,c=3]

  • 选择10格内最近的3个玩家

@a[r=10,c=2,lm=10]

  • 选择10格内的经验大于10级的最近的2个玩家

@a[r=10,score_ASD=1]

  • 选择10格内的计分板 ASD 最大为1的所有玩家

@a[r=12,score_ASD_min=2]

  • 选择10格内的计分板 ASD 最小为2的所有玩家

可能性非常之多!

目标过滤器

目标过滤器允许你过滤掉现有的目标,让目标选择器更加灵活

可以使用两个选项(可用任何生物目标):

  • ignore=X
  • target=X

举个例子,过滤掉所有的玩家和动物,可以这样做:

damage{a=20} @EntitiesInRadius{r=10;ignore=players,animals}

让目标只选择玩家,可以这样:

skill{s=ASkill} @EntitiesInRadius{r=5;target=players}

可用的过滤器:

  • animals (非敌人生物)
  • creative (创造模式,默认忽略)
  • creatures (任何生物)
  • flyingmobs
  • monsters (敌对生物)
  • NPCs (Citizens 的 NPC,默认忽略)
  • players
  • samefaction (同派系的生物)
  • spectators (旁观者,默认忽略)
  • watermobs
  • 还有更多....

results matching ""

    No results matching ""