Skip to content

MythicMobs 属性扩展

LyAttributeMythicMobs 是一款 MythicMobs 技能扩展插件,为 MythicMobs 增加属性伤害、临时属性、属性召唤、召唤链追踪、生命值控制、标签条件、队伍条件、队伍选择器、龙核联动和萌芽镜头等功能。

插件通过 MythicMobs 的技能、条件和目标选择器注册机制工作。相关功能需要在 MythicMobs 已启用后才能注册。

插件信息

项目内容
插件名LyAttributeMythicMobs
插件版本1.2.0
支持版本1.12.2
核心前置MythicMobs
属性支持AttributePlusSX-Attribute
其他联动AttributeCoreGermPluginDragonCorePlaceholderAPIDungeonPlusDungeonMaster

SX-Attribute 会根据已安装版本自动选择 2.x 或 3.x 接口。其他联动功能只会在对应插件和接口可用时生效。

玩法支持

功能说明
属性伤害在 MythicMobs 技能中使用 AttributePlus 或 SX-Attribute 属性造成伤害。
临时属性为目标增加指定时长的 AttributePlus 或 SX-Attribute 属性。
属性召唤召唤 MythicMobs 怪物,并根据召唤者变量计算生命值和属性。
召唤链追踪记录 ly-summon 和替换后的 summon 关系,让技能继续解析最上级召唤者。
生命值控制为目标恢复生命、设置当前生命或设置最大生命。
标签层数为实体设置、增加或扣除数值标签,并通过条件判断标签层数。
队伍条件判断目标是否为 DungeonPlus 或 DungeonMaster 队友。
队伍选择器选择队友、非队友玩家和非队友实体,支持自身坐标或基础坐标。
移动控制让有 AI 的实体移动到目标位置,或在距离过远时跟随并传送。
指令执行让目标玩家执行支持 PlaceholderAPI 的玩家、OP 或控制台指令。
DragonCore 联动向目标玩家执行 runfunction,或绑定实体位置。
GermPlugin 联动向玩家发送镜头控制效果。

警告

MythicMobs 是核心前置。缺少或未启用时,插件不会注册新增技能、条件和目标选择器。

指令

主命令:/lamm

指令说明使用要求
/lamm显示可用子命令。OP
/lamm reload重载插件配置。OP
/lamm use <技能ID>让执行命令的玩家释放指定 MythicMobs 技能。技能目标会优先取玩家准星指向的实体,没有目标时取玩家自身。OP,玩家执行
/lamm cast <技能ID> <玩家>强制指定在线玩家释放指定 MythicMobs 技能。OP,指定玩家必须在线

命令处理逻辑使用 OP 判断,没有证据表明插件注册了独立权限节点。

/lamm use/lamm cast 的技能 ID 必须已经在 MythicMobs 中注册。技能不存在时,use 会提示技能不存在;cast 指定的玩家不在线时不会执行技能。

配置文件

默认配置文件为插件目录下的 config.yml,配置重载时会重新读取该文件。

配置键默认值说明
attack-mode4控制 damage-apdamage-sx 的伤害执行方式。1 使用兼容动作大师的攻击方式,23 使用 MythicMobs 伤害逻辑,4 使用 Bukkit 实体伤害。
replace-mythic-summontrue是否将 MythicMobs 的 summon 注册为插件的 ly-summon 实现。修改后需要执行一次 MythicMobs 重载以同步技能。
no-clear-attribute['生命力', '移速加成']伤害技能清除攻击者属性时跳过的属性列表。当前实现会读取该列表;配置注释说明目前可以不填写内容。
debugfalse是否输出 damageattr 相关属性内容和部分技能调试信息。部分属性调试信息还会发送给 OP 召唤者。
load-mythic-functiontrue是否加载插件提供的 MythicMobs 技能、条件和目标选择器。关闭后这些扩展不会注册。

attack-mode

damage-apdamage-sx 支持以下模式:

数值行为
1使用插件内的原版近战攻击方式,兼容动作大师。
2使用 MythicMobs 的基础伤害处理。
3使用 MythicMobs 的伤害元数据处理,并支持技能自身的伤害选项。
4使用 Bukkit 的实体伤害接口。

配置示例

yaml
# 攻击模式,默认使用 4
attack-mode: 4

# 是否替换 MythicMobs 原版 summon
replace-mythic-summon: true

# damage-ap 和 damage-sx 清除属性时跳过的属性
no-clear-attribute:
  - '生命力'
  - '移速加成'

# 是否输出调试信息
debug: false

# 是否加载插件扩展的 MythicMobs 技能、条件和选择器
load-mythic-function: true

MythicMobs 技能

以下技能只有在 load-mythic-function: true 时注册。

属性伤害

技能说明
damage-ap使用 AttributePlus 属性生成一次伤害。技能会解析召唤链并使用最上级召唤者作为属性来源。
damage-sx使用 SX-Attribute 2.x 或 3.x 属性生成一次伤害。具体实现根据已加载的 SX-Attribute 版本自动选择。

两个技能都会读取 清除属性 配置。启用时,会先抵消召唤者当前属性,再提交技能指定的伤害属性,技能执行结束后移除临时属性。

damage-ap 的属性键必须是 AttributePlus 已注册的属性名;未注册的属性键会被跳过。属性值支持 PlaceholderAPI 和四则运算,也支持使用尖括号包裹的公式,例如:

yaml
damage-ap{清除属性=true;物理伤害=<10+5>;暴击几率=5} @target

damage-sx 支持 MythicMobs 伤害机制中的以下参数:

参数别名说明
清除属性是否在伤害前清除召唤者属性。
ignorearmoriai是否忽略护甲。
preventimmunitypi是否防止伤害免疫。
preventknockbackpkbpk是否防止击退。
elementedamagetypetypeMythicMobs 自定义伤害类型。使用自定义伤害类型需要 MythicMobs Premium。
其他属性键按 SX-Attribute 属性名称提交属性值。

临时属性

技能说明
attr-ap为目标增加临时 AttributePlus 属性。
attr-sx为目标增加临时 SX-Attribute 属性,自动适配 SX-Attribute 2.x 或 3.x。
参数说明
time属性持续时间,单位为 tick,最小值为 1
唯一指定临时属性来源标识。相同标识用于覆盖同一来源。
其他参数属性名称和属性值,例如 物理伤害=100

属性值支持 MythicMobs 占位符、PlaceholderAPI 和四则运算。尖括号中的内容会先作为公式计算。

yaml
attr-ap{time=200;物理伤害=100;暴击几率=5} @target

召唤

ly-summon

ly-summon 的参数与 MythicMobs summon 基本一致,并额外记录召唤物与召唤者的关系。后续 damage-apattr-ap 等技能可以沿着召唤链解析最上级召唤者。

参数别名默认值说明
typetmobmSKELETONMythicMob 或 MythicEntity 类型。
amounta1召唤数量,支持 MythicMobs 占位符。
levell-1召唤等级。为 -1 时使用施法者等级。
noisenradiusr0水平随机范围。大于 0 时寻找安全位置。
ynoiseynyradiusyrnoise 相同垂直随机范围。
yradiusuponlyyradiusonlyupyruoyufalse是否只向上取垂直范围。
onsurfaceossfalse是否限制在表面位置生成。
copythreattablecttfalse是否复制施法者仇恨表。
inheritfactioniftrue是否继承施法者阵营。
inheritthreattableittfalse未复制仇恨表时,是否继承施法者仇恨表。
summonerisownersiotrue是否将施法者设置为召唤者和主人。
summonerisparentsiptrue读取并保留原版召唤关系参数。
summonerisfactionsiffalse读取并保留原版召唤阵营参数。
yaml
ly-summon{type=测试;amount=1} @self

替换原版 summon

replace-mythic-summontrue 时,插件会拦截 MythicMobs 的 summon 技能并使用 ly-summon 实现。这样可以让原有技能中的 summon 也记录召唤链。

修改该配置后,需要执行 MythicMobs 重载,使新的技能注册状态生效。

attribute-summon

attribute-summon 在召唤怪物时附加召唤者属性,并可以设置召唤物生命值。

参数别名默认值说明
typetmobmSKELETONMythicMob 或 MythicEntity 类型。
amounta1召唤数量。
levell-1召唤等级,为 -1 时使用施法者等级。
healthhp生命0召唤物生命值。小于等于 0 时不修改生命值。
attributepluginplugin插件ap属性实现标识,可使用 apsx2sx3
additionalattributesaa属性以逗号分隔的附加属性列表。
noisenradiusr0水平随机范围。
ynoiseynyradiusyrnoise 相同垂直随机范围。
yradiusuponlyyradiusonlyupyruoyufalse是否只向上取垂直范围。
onsurfaceossfalse是否限制在表面位置生成。
copythreattablecttfalse是否复制仇恨表。
inheritfactioniftrue是否继承阵营。
inheritthreattableittfalse是否继承仇恨表。
summonerisownersiotrue是否设置召唤者为主人。
summonerisparentsiptrue是否保留父子召唤关系设置。
summonerisfactionsiffalse是否保留召唤阵营设置。

health属性以及属性列表中的数值支持 PlaceholderAPI 和 {math:公式} 四则运算。

属性列表使用逗号分隔,每项由属性名称和数值组成,具体格式取决于对应属性插件。

yaml
attribute-summon{type=测试;amount=1;插件=ap;生命={math:1330*%player_level%};属性=攻击力+{math:13.31415*%player_level%},生命恢复+{math:2}} @self

移动与跟随

技能参数说明
movetospeed让有 AI 的施法实体移动到目标位置。默认速度为 0.35
autofollowspeed施法实体跟随目标,默认速度为 0.35
autofollowborder施法者与目标距离超过该值时,将目标传送到施法者身后。默认值为 30

两个技能只对有 AI 的实体执行寻路,并在距离足够近时停止。autofollow 在施法者与目标不在同一世界时会令施法者生命值归零。

yaml
moveto{speed=0.35} @Owner
autofollow{speed=0.35;border=30} @Owner

生命值

技能参数说明
heal-papivvalue为目标恢复指定数值的生命,生命不会超过最大生命。
heal-papioorigin数值来源。默认使用目标变量;设置为 me 时使用最上级召唤者变量。
sethealth-papivvalue设置目标当前生命值。
setmaxhealth-papivvalue设置目标最大生命值。

生命值技能支持 PlaceholderAPI 和四则运算。sethealth-papisetmaxhealth-papi 的数值最小为 0.01,并且不会超过目标当前最大生命值。

yaml
heal-papi{v=10} @self
sethealth-papi{v=%player_level%*2} @self
setmaxhealth-papi{v=100} @self

指令执行

lycmd 只能作用于玩家目标。指令中的 PlaceholderAPI 变量使用目标玩家的变量。

参数说明
cmd要执行的指令内容。
[console]由控制台执行指令。
[op]临时将目标玩家视为 OP 后执行指令。
yaml
lycmd{cmd=[console]bc %player_name%放了一个技能} @self

不带 [console][op] 时,指令由目标玩家执行。

DragonCore

runfunc

向目标玩家发送 DragonCore 的 runfunction 调用。

参数说明
s要执行的 DragonCore 方法字符串。
yaml
runfunc{s=方法.屏幕抖动(3,15,10,3)} @self

bindentity

将 DragonCore 的实体位置绑定发送给目标玩家。目标必须是玩家。

参数说明
entity要绑定的实体 UUID。
owner绑定关系中的主人 UUID。
forward前后方向偏移。
offsetYY 轴偏移。
sideways左右方向偏移。
bindYaw是否绑定水平旋转。
bindPitch是否绑定垂直旋转。
yaml
bindentity{entity=<实体UUID>;owner=<主人UUID>;forward=0;offsetY=0;sideways=0;bindYaw=true;bindPitch=true} @self

GermPlugin 镜头

camera 只对玩家目标生效,怪物目标不会执行镜头效果。

参数说明
t镜头类型。
m移动到该视角所需的时间。
s视角持续时间,-1 表示持续。
v视角数值。
r是否旋转玩家头部,使用 truefalse

支持的镜头类型包括:

类型说明
CAMERA_PITCH只调整镜头俯仰,不调整玩家头部。
CAMERA_ROLL只调整镜头翻滚,不调整玩家头部。
CAMERA_YAW只调整镜头水平旋转,不调整玩家头部。
OFFSET_XX 轴位置偏移。
OFFSET_YY 轴位置偏移。
OFFSET_ZZ 轴位置偏移。
PITCH上下移动视角。
ROLL横向倾斜视角。
YAW左右移动视角。
yaml
camera{t=ROLL;m=10;s=10;v=1;r=false} @self

标签技能

标签保存在实体的 Metadata 中,值为整数层数。

技能参数说明
ly-settagttag标签 ID。
ly-settagvvaluellayer将标签设置为指定层数。
ly-addtag同上在当前层数上增加指定数值。不存在标签时从 0 开始。
ly-taketag同上在当前层数上扣除指定数值。不存在标签时从 0 开始。
yaml
ly-settag{t=怒气;v=1} @self
ly-addtag{t=怒气;v=1} @self
ly-taketag{t=怒气;v=1} @self

MythicMobs 条件

以下条件只有在 load-mythic-function: true 时注册。

标签条件

条件参数判断方式
gtagttagvvaluellayer目标标签层数大于指定值。
ltagttagvvaluellayer目标标签层数小于指定值。
etagttagvvaluellayer目标标签层数等于指定值。
yaml
- gtag{t=怒气;v=1}
- ltag{t=怒气;v=5}
- etag{t=怒气;v=3}

条件只读取本插件写入的 Metadata 值。目标没有对应标签时,条件不通过。

队伍条件

条件依赖说明
dpDungeonPlus判断目标是否为施法者的 DungeonPlus 队友,不包含施法者自身。
dmDungeonMaster判断目标是否为施法者的 DungeonMaster 队友,不包含施法者自身。
参数说明
sstatetrue目标必须是队友。默认值。
sstatefalse目标不能是队友。
sstateallow不限制队友关系,条件直接通过。

怪物作为施法者时,插件会沿召唤链解析最上级玩家,用于判断玩家队伍关系。

yaml
- dp{s=true}
- dm{s=false}

MythicMobs 目标选择器

以下选择器只有在 load-mythic-function: true 时注册。数字参数支持 PlaceholderAPI 和四则运算。

DungeonPlus 选择器

选择器目标范围坐标中心
@dptm{r=3}DungeonPlus 队伍内的队友。当前施法者位置。
@dpotm{r=3}DungeonPlus 队伍内的队友。技能基础坐标。
@dpntp{r=3}不属于施法者及其 DungeonPlus 队伍的玩家。当前施法者位置。
@dpontp{r=3}不属于施法者及其 DungeonPlus 队伍的玩家。技能基础坐标。
@dpnte{r=3}不属于施法者及其 DungeonPlus 队伍的实体。当前施法者位置。
@dponte{r=3}不属于施法者及其 DungeonPlus 队伍的实体。技能基础坐标。

DungeonMaster 选择器

选择器目标范围坐标中心
@dmtm{r=3}DungeonMaster 队伍内的队友。当前施法者位置。
@dmotm{r=3}DungeonMaster 队伍内的队友。技能基础坐标。
@dmntp{r=3}不属于施法者及其 DungeonMaster 队伍的玩家。当前施法者位置。
@dmontp{r=3}不属于施法者及其 DungeonMaster 队伍的玩家。技能基础坐标。
@dmnte{r=3}不属于施法者及其 DungeonMaster 队伍的实体。当前施法者位置。
@dmonte{r=3}不属于施法者及其 DungeonMaster 队伍的实体。技能基础坐标。
参数说明
r=3选择范围为 3 格。
r=-1选择全部符合条件的目标,不限制范围;队友选择器还会忽略世界限制。

tm 表示队伍成员,ntp 表示非队友玩家,nte 表示非队友实体;带 o 的选择器使用技能基础坐标。

PlaceholderAPI 与公式

多个技能会在解析数值前处理 PlaceholderAPI 变量。玩家变量通常使用技能当前解析的玩家或最上级召唤者。

插件内置四则运算解析,支持:

  • 加法:+
  • 减法:-
  • 乘法:*
  • 除法:/
  • 幂运算:^
  • 括号:()
  • 小数和科学计数法

attribute-summon 使用 {math:公式} 形式计算嵌入式公式;属性伤害和临时属性还支持尖括号公式。

尖括号占位内容应放进行内代码或代码块中,避免被文档解析器当作 HTML 标签。

相关页面

页面内容
配置说明基础开关、攻击模式和召唤替换配置。
技能扩展MythicMobs 技能写法和参数说明。
条件与选择器标签条件、队伍条件和目标选择器。
常见问题前置、伤害、召唤链和变量排查。