====== Targeters ====== ===== 目标 ===== 瞄准器用于确定技能在发射时的目标。 总是需要瞄准器(否则 生物 不知道它在攻击什么),忘记瞄准器可能是 MythicMobs 新手最常犯的错误之一。 如果目标与 组合技能 一起使用,则 组合技能 中的所有技能都会继承父目标。记住这一点很重要,因为过度使用目标器是服务器性能不佳的常见原因。当然,您可以通过为 组合技能 内的单个技能提供自己的目标器来覆盖父目标器以供使用,甚至还有一些目标器专门针对继承的目标工作。 目标可以像您想要的那样复杂或简单! **组合技能详见 [[插件手册:mythicmobs:技能:机制列表|技能列表]]** ===== 实体目标 ===== **单一实体目标** |**瞄准器**|**缩写**|**描述**| |@Self|@Caster|瞄准生物自己| |@Target|@T|瞄准生物指向的目标| |@Trigger||以触​​发技能的实体为目标| |@NearestPlayer{r=#}||以半径范围内最近的玩家为目标。默认 r=5| |@WolfOwner||以狼的主人为目标| |@Owner||以生物的主人为目标| |@Mount||以生物当前骑乘的实体为目标| |@Parent||如果生物被其他生物 召唤 ,则以 召唤者 为目标。| |@Children||以施法者 召唤 的任何 子实体 为目标。| |@Passenger||以生物的乘客。| |@CasterSpawnLocation||以施法者生成的位置为目标。| |@PlayerByName{name="Ashijin"}||按名称定位特定玩家,支持占位符。| |@UniqueIdentifier{u=""}|@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 (仇恨最低的)