猹の技能
配置文件
yml
############################
# 数 据 库 #
############################
database:
schema: "cha_plugin"
# mysql数据库账号密码
username: "root"
password: "root"
# mysql数据库地址端口
host: "localhost"
port: "3306"
share: true
############################
# 系统设定 #
############################
# 编辑器设定
editor:
# 是否启用插件内置编辑器
enable: true
# 编辑器端口(如遇端口占用请修改此项)
port: 8088
技能插件用例
蓄力跳
玩家按下蹲键开始蓄力,松开蹲键后根据蓄力时间进行高跳。技能使用了计时器进度条、变量判断和动力机制。
yml
id: "蓄力跳"
display: "§f蓄力跳§r"
permission: "chaeraskill.蓄力跳"
onReady: "trigger"
onCast: "THEN(selector, progress, trigger2, IF(condition, THEN(deleteVariable, cancel), jump))"
components:
trigger:
type: "TRIGGER#CROUCH_START"
selector:
type: "SELECTOR#SELF"
progress:
type: "MECHANIC#TIMER_PROGRESS"
variable: "蓄力跳_charge"
duration: 3000
format: "§f【{progress}§f】"
holder1: "§f□"
holder2: "§6■"
size: 20
interruptMessage: "§c【蓄力中断】"
trigger2:
type: "TRIGGER#CROUCH_STOP"
condition:
type: "CONDITION#HAS_VARIABLE"
key: "蓄力跳_charge"
deleteVariable:
type: "MECHANIC#DELETE_VARIABLE"
key: "蓄力跳_charge"
cancel:
type: "MECHANIC#CANCEL"
jump:
type: "MECHANIC#VELOCITY"
y: 1
闪电链
对目标施放闪电攻击,并在一定范围内随机选择下一个目标,连续攻击多次
yml
id: "闪电链"
display: "§b闪电链§r"
permission: "chaeraskill.闪电链"
onCast: "aim, lighting, damage, FOR(delay, area, lighting, damage).TIMES(5)"
components:
aim:
type: SELECTOR#AIM
override: true
code: target
range: '10'
tolerance: '4'
limit: 1
lighting:
type: MECHANIC#LIGHTING
code: target
damage: '-1'
damage:
type: MECHANIC#DAMAGE
value: '10'
code: target
delay:
type: MECHANIC#DELAY
delay: 500
area:
type: SELECTOR#AREA
override: true
code: target
source: target
range: '5'
limit: 1
pick: random
放血疗法
玩家自我伤害后,经过一段时间获得大量回复
yml
id: "放血疗法"
display: "§6放血疗法§r"
permission: "chaeraskill.放血疗法"
# 生命周期
onReady: "trigger"
onCast: "THEN(selector, WHEN(damage, THEN(delay, damage), delayHeal).ANY(false), heal)"
# version 2 对比版本
# onCast: "THEN(selector, damage, delay, damage, delayHeal, heal)"
# 组件池
components:
trigger:
type: "TRIGGER#CAST"
selector:
type: "SELECTOR#SELF"
damage:
type: "MECHANIC#DAMAGE"
value: 5
delay:
type: "MECHANIC#DELAY"
delay: 2000
delayHeal:
type: "MECHANIC#DELAY"
delay: 5000
heal:
type: "MECHANIC#HEAL"
value: 20
爆裂魔法
玩家按下蹲键开始准备,随后左键点击空中,对准方向发生爆炸
yml
id: "爆裂魔法"
display: "§4爆裂魔法§r"
permission: "chaeraskill.爆裂魔法"
onReady: "trigger"
onCast: "THEN(trigger2, selector, explosion)"
components:
trigger:
type: "TRIGGER#CROUCH_START"
trigger2:
type: "TRIGGER#INTERACT"
action: "LEFT_CLICK_AIR"
timeout: 1000
selector:
type: "SELECTOR#AIM_BLOCK"
range: 10
explosion:
type: "MECHANIC#EXPLOSION"
power: 10
回复术
立即为自己恢复生命值的简单技能
yml
id: "回复术"
display: "§a回复术§r"
permission: "chaeraskill.回复术"
# 生命周期
onReady: "trigger"
onCast: "selector, heal"
# 组件池
components:
trigger:
type: "TRIGGER#CAST"
selector:
type: "SELECTOR#SELF"
heal:
type: "MECHANIC#HEAL"
value: 5
射击
右键点击空中,发射一个弹道速度快、无重力影响的弹丸
yml
id: "射击"
display: "§f射击§r"
permission: "chaeraskill.射击"
onReady: "trigger"
onCast: "selector, shoot"
# 组件池
components:
trigger:
type: "TRIGGER#INTERACT"
action: "RIGHT_CLICK_AIR"
selector:
type: "SELECTOR#SELF"
shoot:
type: "MECHANIC#PROJECTILE"
projectile: "ShulkerBullet"
speed: 3.0
gravity: false
隐匿术
玩家快速连续按两次蹲键进入隐身状态,再次按下蹲键解除隐身
yml
id: "隐匿术"
display: "§7隐匿术§r"
permission: "chaeraskill.隐匿术"
onReady: "trigger"
onCast: "THEN(trigger2, twice, selector, potion, cancel, clearPotion)"
components:
trigger:
type: "TRIGGER#CROUCH_START"
trigger2:
type: "TRIGGER#CROUCH_STOP"
timeout: 200
twice:
type: "TRIGGER#CROUCH_START"
timeout: 200
selector:
type: "SELECTOR#SELF"
potion:
type: "MECHANIC#ADD_POTION"
effect: INVISIBILITY
duration: 9999
amplifier: 1
cancel:
type: "TRIGGER#CROUCH_STOP"
clearPotion:
type: "MECHANIC#CLEAR_POTION"
effect: INVISIBILITY
直伤法术
对前方一定范围内的目标造成直接伤害
yml
id: "直伤法术"
display: "§c直伤法术§r"
permission: "chaeraskill.直伤法术"
# 生命周期
onReady: "trigger"
onCast: "THEN(selector, damage)"
# 组件池
components:
trigger:
type: "TRIGGER#CAST"
selector:
type: "SELECTOR#AIM"
range: 5
tolerance: 0.2
damage:
type: "MECHANIC#DAMAGE"
value: 5