Targeters
目标
瞄准器用于确定技能在发射时的目标。 总是需要瞄准器(否则 生物 不知道它在攻击什么),忘记瞄准器可能是 MythicMobs 新手最常犯的错误之一。 如果目标与 组合技能 一起使用,则 组合技能 中的所有技能都会继承父目标。记住这一点很重要,因为过度使用目标器是服务器性能不佳的常见原因。当然,您可以通过为 组合技能 内的单个技能提供自己的目标器来覆盖父目标器以供使用,甚至还有一些目标器专门针对继承的目标工作。 目标可以像您想要的那样复杂或简单!
组合技能详见 技能列表
实体目标
单一实体目标
瞄准器 | 缩写 | 描述 |
@Self | @Caster | 瞄准生物自己 |
@Target | @T | 瞄准生物指向的目标 |
@Trigger | 以触发技能的实体为目标 | |
@NearestPlayer{r=#} | 以半径范围内最近的玩家为目标。默认 r=5 | |
@WolfOwner | 以狼的主人为目标 | |
@Owner | 以生物的主人为目标 | |
@Mount | 以生物当前骑乘的实体为目标 | |
@Parent | 如果生物被其他生物 召唤 ,则以 召唤者 为目标。 | |
@Children | 以施法者 召唤 的任何 子实体 为目标。 | |
@Passenger | 以生物的乘客。 | |
@CasterSpawnLocation | 以施法者生成的位置为目标。 | |
@PlayerByName{name=“Ashijin”} | 按名称定位特定玩家,支持占位符。 | |
@UniqueIdentifier{u=“<target.uuid>”} | @UUID | 通过 UUID 定位特定实体,支持占位符。 |
@Vehicle | 瞄准您安装的载具(矿车,船) |
多实体目标
瞄准器 | 缩写 | 描述 |
@LivingInCone{a=90.0;r=16.0;rot=0.0} | @EIC{} | 以角度 a 和长度为 r 的锥体中的所有生物为目标,相对于方向旋转 rot |
@LivingInWorld | @EIW | 以所在世界中的所有生物为目标 |
@PlayersInRadius{r=#} | @PIR{r=#} | 以给定半径内的所有玩家为目标 |
@MobsInRadius{r=#;types=X,X,X} | @MIR{r=#;t=X,X,X} | 以半径内所有给定类型的生物为目标 |
@LivingEntitiesInRadius{r=#} | @EIR{r=#;t=X,X,X/ignore=x,x,x} | 以给定半径内的所有实体为目标。(ignore为忽略某些实体,详看定位器选项) |
@PlayersInWorld | @World | 以当前世界的所有玩家为目标。 |
@PlayersOnServer | @Server | 以服务器中的所有玩家为目标。 |
@PlayersInRing{min=#;max=#} | @PIR{r=#} | 以指定的半径“环”内的所有玩家为目标。 |
@PlayersNearOrigin{r=#} | 以组合技能起源附近的玩家为目标。 | |
@MobsNearOrigin{r=#;t=X} | 以组合技能起源附近的怪物为目标。 | |
@EntitiesNearOrigin{r=#} | @EIO{r=#} / @ENO{r=#} | 以组合技能起源附近的实体为目标。 |
@PlayersNearTargetLocation{r=#} | @PNTL{r=#} | 瞄准目标位置附近的所有玩家。默认情况下半径=5。 |
@Siblings | 针对目标的兄弟姐妹。 | |
@Targeted | 针对继承的目标。 |
仇恨表目标
这些目标仅在生物启用了仇恨表时才起作用。
瞄准器 | 缩写 | 描述 |
@RandomThreatTarget | @RTT | 以仇恨表上的随机人为目标 |
@ThreatTable | @TT | 以仇恨表上的所有实体为目标 |
@ThreatTablePlayers | 以仇恨表上的所有玩家为目标 | |
@RTTL | 瞄准仇恨表上随机目标的位置 |
定位器
瞄准器 | 缩写 | 描述 |
@SelfLocation{y=0.0} | 使用 偏移量 0.0 定位生物的位置本身 | |
@Forward{f=5;y=0.0} | 以 偏移量 0.0 定位实体方向前方 5 个方块的位置 | |
@TargetLocation | @targetloc, @TL | 瞄准生物的目标位置 |
@TriggerLocation | 瞄准触发技能的实体的位置 | |
@Location{c=x,y,z,yaw,pitch} | 该技能将针对指定的坐标,偏航和俯仰 | |
@Origin{xoffset=0;yoffset=0;zoffset=0} | 瞄准 组合技能的原点。通常是施法生物,也可以指向投射物当前的位置 | |
@Spawner{s=[string]} | 以指定生成器的位置为目标。该字符串可以是生成器的名称或一组生成器的名称(使用 g:groupname),并且还接受通配符(Spawner* 将针对 Spawner1、Spawner2、Spawner3 等) | |
@ObstructingBlock | 尝试瞄准施法者前方阻碍它的方块 |
多地点定位器
瞄准器 | 缩写 | 描述 |
@PlayerLocationsInRadius{r=#} | @PLIR{r=#} | 以给定半径内的所有玩家位置为目标 |
@Ring{radius=#;points=#;yoffset=#} | 目标点形成位置环 | |
@Cone{angle=#;points=#;range=#;rotation=#;yoffset=#} | 返回包含锥体的目标位置的点数(注意:锥体固定在 y 轴上,不能向上或向下旋转) | |
@EntitiesInCone{angle=#;range=#;rotation=#;} | 瞄准锥体内的所有实体 |
特殊目标
瞄准器 | 缩写 | 描述 |
@None | 不提供目标。(对于没有目标输入的机制很有用。) |
这些是meta目标 - 它们只能在技能内部使用。例如:
Laser: Mobtype: creeper Display: 'Laser' Health: 12 AITargetSelectors: - 0 clear - 1 players Skills: - skill{s=Laser} @target Laser: Skills: - ignite @line{r=1}
在怪物技能中,指定的目标是 meta目标使用的终点。
瞄准器 | 缩写 | 描述 |
@Line{radius=#;fromorigin=true/false} | @Line{r=#;fo=true/false} | 瞄准生物和指定目标之间的位置 |
@EntitiesInLine{r=#;fo=true/false} | @EIL{r=#;fo=true/false} | 瞄准目标和施法生物之间一条线上的任何实体。 |
@LivingNearTargetLocation{radius=5} | @LNTL{r=#} | 以meta目标位置附近的所有生物为目标。 |
@PlayersNearTargetLocation{radius=5} | @LNTL{r=#} | 以meta目标位置附近的所有玩家为目标。 |
@RLNTE{a=#;r=#;s=#;minr=#} | 瞄准目标实体周围的随机位置。(用法示例:流星技能。数量决定流星的数量,半径是落下的流星的范围有多宽,间距是它们相距多远。一般保持半径大于间距,因为它是未经测试的小半径和大间距将如何做 | |
@FloorOfTargets | @FOT | 瞄准目标下方的方块 |
@LocationsOfTargets | @LOT | Targets 目标的位置 |
@BlocksInRadius{radius=#;radiusy=#;noise=#;shape=sphere/cube;onlyair=false;noair=true} | 以块中的所有块为目标 | |
@BlocksInChunk{noair=true/false;onlyair=true/false;nearorigin=true/false} | 以块中的所有块为目标 | |
@BlocksNearOrigin{radius=#;radiusy=#;noise=#;shape=sphere/cube;onlyair=false;noair=true} | 瞄准指定目标半径内的所有方块 |
定位器选项
目标过滤器 目标过滤器允许您过滤掉某些目标,并使目标更加灵活。 它们与两个选项一起使用(适用于任何实体目标):
ignore = X target = X
例如,要制作一个忽略任何玩家或非敌对生物的目标,您可以使用:
damage{a=20} @EntitiesInRadius{r=10;ignore=players,animals}
要使定位器仅针对玩家,您可以执行以下操作:
skill{s=ASkill} @EntitiesInRadius{r=5;target=players}
可能的过滤器包括:
- self (自己)
- animals (非敌对生物)
- creative (创造模式,默认忽略)
- creatures (任何类型的有知觉的实体)
- flyingmobs (飞行中的生物)
- monsters (敌对生物)
- NPCs (Citizens NPC 默认忽略)
- players (玩家)
- samefaction (标记为相同阵营类型的生物)
- spectators (观众 默认忽略)
- vanilla
- watermobs (水中的生物)
- 等待更新更多…
您还可以通过添加选项targetXXXXX将 XXXXX 替换为过滤器名称来关闭特定过滤器,例如targetPlayers=false或targetcreative=true
目标限制
所有实体目标器也支持目标限制(从 v4.5 开始)。有了这个,您可以限制目标的数量,包括选择它们的顺序。 这是通过以下选项完成的:
- limit=#
- sort=X
假设您希望您的能力仅针对 30 码内最近的 2 个玩家。为此,您只需将限制 2 设置为并按最近的排序:
@PlayersInRadius{r=30;limit=2;sort=NEAREST}
目前 sort 可以有以下值:
- NONE (通常按实体存在的时间排序)
- RANDOM (随机)
- NEAREST (最近的)
- FURTHEST (最远的)
- HIGHEST_HEALTH (血量最高的)
- LOWEST_HEALTH(血量最低的)
- HIGHEST_THREAT (仇恨最高的)
- LOWEST_THREAT (仇恨最低的)