套装主配置
实例配置
ExampleSuit:
check:
lore: "套装>>测试套装" #整行匹配
nbt: "测试套装"
#动态lore,用于展示套装信息,发包lore已经弃置,现在只兼容龙核
display:
#将替换掉的原本lore
origin:
- "&7---测试套装信息---"
- "套装未激活"
#替换后的lore,可以使用 <Ln> 作为换行符
replace:
- "&f---&l套装信息&f---"
- "&f属性附加"
- "{&attributes}"
#【 { if check &suit_amount > 2 then '' else 'DELETE' } 】 的意思是,如果套装件数大于2,则不做任何事
# 如果套装件数不大于2,则此行lore不显示(直接删除,不会有空行)
# 如果"为什么它会是这样"令你辗转反侧,请带着打破砂锅问到底的决心看下方的原理实现
# 原理:
# 解析Asahi语句,当某一行包含 "DELETE" 时删除这一行
- "&f套装技能: { if check &suit_amount > 2 then '' else 'DELETE' }"
- "&f受击时有{ calculate '${suit_amount} * 10' }%概率产生爆炸,击退敌人 { if check &suit_amount > 2 then '' else 'DELETE' }"
- "&f每3秒有{ calculate '${suit_amount} * 10' }%概率爆发火花,点燃周围敌人 { if check &suit_amount > 2 then '' else 'DELETE' }"
#套装能够给予的属性效果
attributes:
#指定兼容哪个属性插件
#目前支持AttributeSystem AttributePlusII AttributePlusIII OriginAttribute
compat: AttributeSystem
#针对特定件数生效
list:
#这里可以使用公式计算
- "&7物理伤害: ${ calculate '${suit_amount} * 20' }"
- "&4火元素伤害: 10(%)"
#【 { if check &suit_amount > 2 then '' else 'DELETE' } 】 的意思是,如果套装件数大于2,则不做任何事
# 如果套装件数不大于2,则此行lore不显示(直接删除,不会有空行)
# 如果"为什么它会是这样"令你辗转反侧,请带着打破砂锅问到底的决心看下方的原理实现
# 原理:
# 解析Asahi语句,当某一行包含 "DELETE" 时删除这一行
- "&6土元素伤害: 10(%){ if check &suit_amount > 2 then '' else 'DELETE' }"
#套装动作脚本,用于制作复杂套装效果,支持JavaScript(js),Kether(kether),Asahi(asahi),MM技能(mythic)
action:
#start的触发
#装备更新(简单理解就是有套装组合成功或者有套装被拆散)时(更新套装数据->onend结束旧数据对应的效果->onstart开始新数据对应的效果)
#加入服务器时(更新套装数据->onstart开始新数据对应的效果)
onStart:
- type: js #触发脚本的种类(js,kether,asahi),在脚本中suit_amount变量为套装件数
run: Example.js::main #格式为js文件名::函数名
- type: asahi
namespaces: [ bukkit,attsystem ]
run: |-
print inline '套装件数: ${suit_amount}'
#end的触发
#装备更新(简单理解就是有套装组合成功或者有套装被拆散)时(更新套装数据->onend结束旧数据对应的效果->onstart开始新数据对应的效果)
#退出服务器时(移除套装数据->onend结束旧数据对应的效果)
onEnd:
- type: asahi
namespaces: [ bukkit,attsystem ]
run: |-
print inline '套装件数: ${suit_amount}'
#timer
#即为在满足套装条件时,每隔一段时间触发一次
onTimer:
#间隔时间,以tick为单位,你可以简单理解为 1s约等于20tick
- period: 20
type: kether
run: |-
print join [ "套装件数: " &suit_amount ]
- period: 60
type: mythic
skillId: "套装技能-火花"