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

“MythicMobs/Skills/Targeters”的版本间的差异

来自Minecraft插件百科
跳转至: 导航搜索
目标选择器与过滤器(Targeters)
(以“https://gitlab.com/TranslatedByShark/Mythic-Manual-CN/-/wikis/home”替换内容)
1个标签替换
第1行: 第1行:
==目标选择器与过滤器(Targeters)==
+
https://gitlab.com/TranslatedByShark/Mythic-Manual-CN/-/wikis/home
*{{Minecraft Color|&d|'''粉色粗体为5.0.0新增'''}}
 
*[[MythicMobs/Skills/NoTargetSkills|无目标类技能]]不需要目标选择器
 
*[[MythicMobs/Skills|技能组]]内目标不填写则为生物Yml内该[[MythicMobs/Skills|技能组]]所填写的目标选择器
 
*检测[[MythicMobs/Conditions|条件]]所检测的目标随目标选择器变化,例如[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]]为检测自己
 
*[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]]时,Conditions/TargetConditions/TriggerConditions所检测的目标相同
 
*范围类目标选择器目前测出来的上限在1000~2000之内,半径越大,所触发の技能延迟就越久,r=200至少要等5分钟
 
*[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]]除外的实体目标选择器,Conditions检测施法者(与上述一样)TargetConditions检测[[MythicMobs/Skills|技能]]的目标
 
*[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@trigger]]时,TargetConditions/TriggerConditions所检测的目标相同
 
*[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]]不同于[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@selflcation]],本质上一个实体选择器一个位置选择器,其次[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|selflcation]]选择的是脚下,而不是实体"中心"
 
===目标选择器===
 
====待测试目标选择器====
 
*添加于MM4.11.0-BETA的目标选择器..
 
{| class="wikitable"
 
|-
 
! 目标 !! 说明
 
|-
 
|@CasterSpawnLocation || 施法者出生的位置
 
|-
 
|@ObstructingBlock || 猜测是: 阻碍施法者接近目标的方块
 
|-
 
|@FloorOfTargets || 得写在[[MythicMobs/Skills|技能]]yml里
 
|-
 
|@LocationsOfTargets || 猜测是: 目标的位置,得写在[[MythicMobs/Skills|技能]]yml里
 
|}
 
====单实体目标选择器====
 
{| class="wikitable"
 
|-
 
! 目标选择器名 !! 缩写 !! 说明
 
|-
 
| @Self || @Caster || 施法者本身
 
|-
 
| @Target || @T || 选定施法者的目标为目标
 
|-
 
| @Trigger || || 以触发技能の实体为目标
 
|-
 
| {{Minecraft Color|&d|'''@ItemsInRadius'''}} ||  || 周围的掉落物
 
|-
 
| {{Minecraft Color|&d|'''@ItemsNearOrigin'''}} ||  || 坐标原点周围的掉落物
 
|-
 
| @NearestPlayer{r=#} || || 以半径最近の玩家为目标。默认为r=5
 
|-
 
| @WolfOwner || ||  以狼の主人为目标(可选取创造/观察者模式玩家)
 
|-
 
| @Owner || ||  以主人为目标(可选取创造/观察者模式玩家)
 
|-
 
| @Mount || ||  以目标骑乘着の实体为目标
 
|-
 
| @Parent || ||  如果激活者召唤出其他的怪物,那么怪物会以激活者为目标
 
|-
 
| @Children || ||  选取自身召唤出の其它怪物作为目标
 
|-
 
| @Passenger || ||  骑在目标上方的实体
 
|-
 
| {{Minecraft Color|&d|'''@TargetedTarget'''}} ||  || 已选择的目标
 
|-
 
| @PlayerByName{name==""}(MM4.12+) || ||  选中指定名称の玩家为目标
 
|-
 
| @Vehicle(MM4.12+) || ||  以目标骑乘着的实体为目标
 
|-
 
| {{Minecraft Color|&d|'''@UniqueIdentifier'''}}{u="UUID"} || 指定UUID实体
 
|}
 
 
 
====多实体目标选择器====
 
{| class="wikitable"
 
| 目标选择器名 || 缩写 || 描述
 
|-
 
| @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扇形范围内的生物
 
{| class="wikitable"
 
|-
 
! 修改项 !! 描述
 
|-
 
| angle || 始边与终边的夹角度数,正数为正角(顺时针扩大),负数为负角(逆时针扩大)
 
|-
 
| point || 扇形的弧由多少个点组成(不知道咋解释)
 
|-
 
| range || 扇形的半径
 
|-
 
| rotation || 对始边进行旋转,正数顺时针旋转,负数逆时针旋转
 
|}
 
====威胁表目标选择器====
 
这些目标只有在威胁表启用时可用
 
{| class="wikitable"
 
| 目标选择器名 || 缩写 || 描述
 
|-
 
| @RandomThreatTarget || @RTT || 将威胁表内的随机一名玩家作为目标
 
|-
 
| @ThreatTable || @TT || 将所有威胁表内的生物作为目标
 
|-
 
| @ThreatTablePlayers ||  || 将威胁表内的所有玩家作为目标
 
|}
 
====随机附近目标选择器====
 
@RandomLocationsNearTargets
 
随机选中自身附近的一个实体
 
 
 
===坐标类目标选择器===
 
====单坐标目标选择器====
 
{| class="wikitable"
 
| 目标选择器名 || 缩写 || 描述
 
|-
 
| @SelfLocation{yoffset=0.0} ||  || 生物自己的坐标,y为y轴偏移
 
|-
 
| @TargetLocation ||  || 生物目标的坐标
 
|-
 
| @Forward{f=?;y=竖直偏移} ||  || 指定生物前方?格位置,负数时为后方
 
|-
 
| @TriggerLocation ||  || 将触发[[MythicMobs/Skills|技能]]的生物的坐标作为目标
 
|-
 
| @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;origin=true(是否以目标坐标原点为中心)} ||  ||  以目标为中心,选取指定半径内的所有方块为目标
 
|-
 
| {{Minecraft Color|&d|'''@ForwardWall'''}}} ||  || 正前方方块
 
|-
 
| {{Minecraft Color|&d|'''@NearestStructure'''}}} ||  || 最近的结构
 
|-
 
| {{Minecraft Color|&d|'''@SelfEyeLocation'''}} ||  || 视角正前方(与MMEの@Eyedirection一致)
 
|-
 
| {{Minecraft Color|&d|'''@SpawnLocation'''}} ||  || 出生点位置
 
|-
 
| {{Minecraft Color|&d|'''}@TargetedLocation'''}} ||  || 已选择的位置
 
|}
 
 
 
====多坐标目标选择器====
 
{| class="wikitable"
 
| 目标选择器名 || 缩写 || 描述
 
|-
 
| @PlayerLocationsInRadius{r=半径} || @PLIR{r=半径} || 将半径内的所有玩家的坐标作为目标
 
|-
 
| @Ring{radius=半径;points=#} ||  || 选择范围圆环内的目标点
 
|-
 
| @Cone{angle=扇形角度;points=点数;range=范围;rotation=起始点角度;yoffset=竖直偏移} ||  || 选择一个扇形作为目标点组
 
|-
 
| @EntitiesInCone{angle=点数;range=范围;rotation=起始点角度;} ||  || 选择扇形内的所有生物
 
|-
 
| {{Minecraft Color|&d|'''@BlocksInChunk'''}} ||  ||区块内的方块
 
|-
 
| {{Minecraft Color|&d|'''@BlocksNearOrigin'''}} ||  ||坐标原点周围的方块
 
|-
 
|}
 
 
 
===特殊目标选择器===
 
有一些目标只能用于[[MythicMobs/Skills|技能]]内部
 
<pre>鲲鲲:
 
  Type: creeper
 
  Display: '鲲鲲'
 
  Health: 12
 
  AITargetSelectors:
 
  - clear
 
  - players
 
  Skills::
 
  - skill:鲲鲲 @T
 
鲲鲲:
 
  Skills::
 
  - ignite @line{r=1}</pre>
 
鲲鲲会点燃目标和生物之间的一切生物
 
{| class="wikitable"
 
| 目标选择器名 || 缩写 || 描述
 
|-
 
| @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 版本不再能选择非同一世界的目标。
 
{| class="wikitable"
 
| 目标选择器名 || 描述
 
|-
 
| @p || 选择最近的玩家
 
|-
 
| @a || 选择所有玩家
 
|-
 
| @r || 选择随机玩家
 
|-
 
| @e || !选择所有实体
 
|}
 
{| class="wikitable"
 
| 参数 || 描述
 
|-
 
| 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的所有玩家
 
可能性非常之多!
 
 
 
==目标过滤/数量限制器==
 
===目标过滤器===
 
目标过滤器允许你过滤掉现有的目标,让[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8|目标选择器]]更加灵活
 
它仅支持[[MythicMobs#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8|@EIR]]以及[[MythicMobs#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8|@PIR]]
 
可以使用两个选项(可用任何生物目标):
 
*ignore=X
 
*target=X
 
举个例子,过滤掉所有的玩家和动物,可以这样做:
 
<pre>damage{a=20} @EntitiesInRadius{r=10;ignore=players,animals}</pre>
 
让目标只选择玩家,可以这样:
 
<pre>skill{s=鲲鲲} @EntitiesInRadius{r=5;target=players}</pre>
 
或者
 
<pre>skill:鲲鲲 @EntitiesInRadius{r=5;targetplayers=true}</pre>
 
可用的过滤器:
 
*忽略创造/观察模式无效,此漏洞修复于4.11
 
{| class="wikitable"
 
|-
 
! 值 !! 说明
 
|-
 
| self || 自身
 
|-
 
| animals || 非敌人生物
 
|-
 
| creative || 创造/观察模式,默认忽略
 
|-
 
| creatures || 任何生物
 
|-
 
| flyingmobs || 飞行生物
 
|-
 
| monsters || 敌对生物
 
|-
 
| NPCs || 插件:'''Citizens'''のNPC
 
|-
 
| players || 玩家
 
|-
 
| samefaction || 同派系生物
 
|-
 
| spectators || 旁观者,默认忽略
 
|-
 
| watermobs || 水中生物
 
|-
 
| vanilla || 非 MythicMobs 生物
 
|}
 
 
 
===目标数量限制器===
 
仅有@PIR支持目标限制,通过此功能,您可以限制目标的数量,包括选择目标的顺序<br>
 
若要其他选择器也支持数量限制,请康[[MythicMobs/Courses|教程]]<br>
 
可以使用两个选项
 
*limit=数量
 
*sort=排序类型
 
举个例子,假设你想在30米内选择2个最近的玩家,您只需将limit的数量设置为2并将soft设置为按NEAREST(最近优先)的顺序排序:
 
@PlayersInRadius{r=30;limit=2;sort=NEAREST}
 
可填写以下值
 
{| class="wikitable"
 
|-
 
! 值 !! 说明
 
|-
 
| NONE || 以实体的存活时间排序
 
|-
 
| RANDOM || 随机
 
|-
 
| NEAREST || 以实体离自身距离排序,近者优先
 
|-
 
| FURTHEST || 以实体离自身距离排序,近者优先
 
|}
 
 
 
==目标生命/威胁数量选择器==
 
可填写以下值
 
{| class="wikitable"
 
|-
 
! 值 !! 说明
 
|-
 
| HIGHEST_HEALTH || 最高生命
 
|-
 
| LOWEST_HEALTH || 最高生命
 
|-
 
| HIGHEST_THREAT || 最大威胁
 
|-
 
| LOWEST_THREAT || 最小威胁
 
|}
 
</pre>
 
<pre>@ThreatTablePlayers{sort=HIGHEST_THREAT;limit=5}</pre>
 
选中5个威胁最高的玩家
 

2022年7月7日 (四) 13:01的版本