Skip to content
On this page

猹の技能

配置文件

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