• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

MythicMobs/Skills/Targeters

来自Minecraft插件百科
跳转到导航 跳转到搜索

目标选择器与过滤器(Targeters)

有关目标选择/过滤器的注意事项与更多内容请点击-->目标选择/过滤器页面

  • 无目标类技能不需要目标选择器
  • 技能组内目标不填写则为生物Yml内该技能组所填写的目标选择器
  • 检测条件所检测的目标随目标选择器变化,例如@self为检测自己
  • @self时,Conditions/TargetConditions/TriggerConditions所检测的目标相同
  • 范围类目标选择器有最大值,超过最大值时技能无效
  • @self除外的实体目标选择器,Conditions检测施法者(与上述一样)TargetConditions检测技能的目标
  • @trigger时,TargetConditions/TriggerConditions所检测的目标相同
  • @self不同于@selflcation,本质上一个实体选择器一个位置选择器,其次selflcation选择的是脚下,而不是实体"中心"

目标选择器

待测试目标选择器

  • 添加于MM4.11.0-BETA的目标选择器..
目标 说明
@CasterSpawnLocation 施法者出生的位置
@ObstructingBlock 猜测是: 阻碍施法者接近目标的方块
@FloorOfTargets 得写在技能yml里
@LocationsOfTargets 猜测是: 目标的位置,得写在技能yml里

单实体目标选择器

目标选择器名 缩写 说明
@Self @Caster 施法者本身
@Target @T 选定施法者的目标为目标
@Trigger 以触发技能の实体为目标
@NearestPlayer{r=#} 以半径最近の玩家为目标。默认为r=5
@WolfOwner 以狼の主人为目标
@Owner 以主人为目标
@Mount 以目标骑乘着の实体为目标
@Parent 如果激活者召唤出其他的怪物,那么怪物会以激活者为目标
@Children 选取自身召唤出の其它怪物作为目标
@Passenger 骑在目标上方的实体
@PlayerByName{name==""}(MM4.12+) 选中指定名称の玩家为目标
@Vehicle(MM4.12+) 以目标骑乘着的实体为目标

多实体目标选择器

目标选择器名 缩写 描述
@LivingEntitiesInRadius{r=半径} 将半径内的生物作为目标
@PlayersInRadius{r=半径} @PIR{r=半径} 将半径内的玩家作为目标
@MobsInRadius{r=半径;types=A,B,C} @MIR{r=半径;t=指定生物} 将半径内的生物作为目标,,若type填写原版生物ID,那么与其类型一致的MM生物并不会被选中,type可以不写但会警告
@EntitiesInRadius{r=半径;types=A,B,C} @EIR{r=半径;t=指定生物} 将半径内的所有实体作为目标,type必须要写
@PlayersInWorld @World 将当前世界所有玩家作为目标
@PlayersOnServer @Server 将服务器内的所有玩家作为目标
@PlayersInRing{min=内圈半径;max=外圈半径} 将环内的所有玩家作为目标
@PlayersNearOrigin{r=半径} 将生效目标/投射物落点半径内的玩家作为目标
@MobsNearOrigin{r=半径;t=指定生物} 将生效目标/投射物落点半径内的生物作为目标
@EntitiesNearOrigin{r=半径} 将生效目标/投射物落点半径范围内的所有实体作为目标
@Siblings 以目标的同类为目标
@Cone修改项的说明

@Cone本质上是选取一个2D扇形范围内的生物

修改项 描述
angle 始边与终边的夹角度数,正数为正角(顺时针扩大),负数为负角(逆时针扩大)
point 扇形的弧由多少个点组成(不知道咋解释)
range 扇形的半径
rotation 对始边进行旋转,正数顺时针旋转,负数逆时针旋转

威胁表目标选择器

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

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

坐标类目标选择器

单坐标目标选择器

目标选择器名 缩写 描述
@SelfLocation{yoffset=0.0} 生物自己的坐标,y为y轴偏移
@TargetLocation 生物目标的坐标
@TriggerLocation 将触发技能的生物的坐标作为目标
@Location{c=x,y,z,,yaw,pitch} 指定坐标作为目标,Yaw/Ptich(视角水平/俯仰视角度)新增于4.11
@Origin 将发射物的发射者的坐标作(不一定是生物)为目标
@Spawner{s=刷怪点名} 将刷怪点的坐标作为目标
@RLNTE{amount=数量;radius=半径;spacing=各点距离;minradius=最小半径} 选择生物周围随机的坐标点作为目标
@FloorOfTargets{r=半径;ry=y轴半径;noise=不知道;shape=sphere;oa=false;na=true} 选取目标脚下の方块为目标
@BlocksInRadius{radius=半径;radiusy=#;noise=不知道;shape=形状(sphere(球体)/cube(正方体));onlyair=false;noair=true} 以目标为中心,选取指定半径内的所有方块为目标

多坐标目标选择器

目标选择器名 缩写 描述
@PlayerLocationsInRadius{r=半径} @PLIR{r=半径} 将半径内的所有玩家的坐标作为目标
@Ring{radius=半径;points=#} 选择范围圆环内的目标点
@Cone{angle=扇形角度;points=点数;range=范围;rotation=起始点角度;yoffset=竖直偏移} 选择一个扇形作为目标点组 @EntitiesInCone{angle=点数;range=范围;rotation=起始点角度;} 选择扇形内的所有生物

特殊目标选择器

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

鲲鲲:
  Type: creeper
  Display: '鲲鲲'
  Health: 12
  AITargetSelectors:
  - clear
  - players
  Skills::
  - skill:鲲鲲 @T
鲲鲲:
  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} 将目标与生物间连线上的所有生物作为目标

原版目标选择器,在1.13+全部过时

这些目标会像 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_<obj>=SCORE 最大计分板分数
score_<obj>_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的所有玩家

可能性非常之多!

目标过滤器

目标过滤器允许你过滤掉现有的目标,让目标选择器更加灵活 它仅支持@EIR以及@PIR 可以使用两个选项(可用任何生物目标):

  • ignore=X
  • target=X

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

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

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

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

或者

skill:鲲鲲 @EntitiesInRadius{r=5;targetplayers=true}

可用的过滤器: <spoiler>

  • 忽略创造/观察模式无效,此漏洞修复于4.11
说明
self 自身
animals 非敌人生物
creative 创造/观察模式,默认忽略
creatures 任何生物
flyingmobs 飞行生物
monsters 敌对生物
NPCs 插件:CitizensのNPC
players 玩家
samefaction 同派系生物
spectators 旁观者,默认忽略
watermobs 水中生物
vanilla 非 MythicMobs 生物

</spoiler>

目标数量限制器

所有实体目标现在都支持目标限制,通过此功能,您可以限制目标的数量,包括选择目标的顺序. 可以使用两个选项(可用任何生物目标):

  • limit=数量
  • sort=排序类型

举个例子,假设你想在30米内选择2个最近的玩家,您只需将limit的数量设置为2并将soft设置为按NEAREST(最近优先)的顺序排序: @PlayersInRadius{r=30;limit=2;sort=NEAREST} 可填写以下值 <spoiler>

说明
NONE 以实体的存活时间排序
RANDOM 随机
NEAREST 以实体离自身距离排序,近者优先
FURTHEST 以实体离自身距离排序,近者优先

</spoiler>

目标生命/威胁数量选择器

可填写以下值 <spoiler>

说明
HIGHEST_HEALTH 最高生命
LOWEST_HEALTH 最高生命
HIGHEST_THREAT 最大威胁
LOWEST_THREAT 最小威胁

</spoiler>

@ThreatTablePlayers{sort=HIGHEST_THREAT;limit=5}

选中5个威胁最高的玩家

随机附近目标选择器

@RandomLocationsNearTargets 随机选中自身附近的一个实体