夜雨晨风丶
本帖最后由 夜雨晨风丶 于 2023-4-13 00:49 编辑
本帖发帖标记格式来自于 Furry Island。更多内容请查看这里
AttributePotion - 属性药水


    . 作者的话

  第二个插件!get√,相比第一个插件成长了不少,如果代码有问题还请大佬指教
  感谢名单:Neige
  提示: 1.17+的服务器请额外添加  ——> MomoJs

    . 插件介绍

  功能:使用药水为玩家添加属性,暂时只支持AP3;
  (1)通过物品name或者lore进行识别;
  (2)可限制使用药水条件,例如等级大于xx,金币数量大于xx,或者玩家是否有xx权限;
  (3)可设置每一个药水冷却,并设置药水组与药水组冷却;
  (4)可直接设置回复血量、饥饿值、SkillAPI的魔力;
  (5)添加的属性可使用变量;
  (6)使用药水后可执行指令;
  (7)其他一些可选项;

    . 插件展示

  配置文件
  config.yml
# 调试选项
debug: false

# 消息前缀
prefix: "&6[属性药水]"

# 用什么识别药水,name表示药水名,lore表示药水的lore,模糊匹配
identifier: 'name'

# 是否启用龙核兼容
dragoncore: false

# 按键及对应的槽位
dragoncoreKeys:
  Z: '额外槽位1'
  X: '额外槽位2'
  C: '额外槽位3'

# 药水组设置,每个药水有单独的冷却,同组的药水共享冷却,例如使用了力量药水,30秒内无法再次使用力量或体力药水
# 而30秒后初级药水组冷却完毕,但力量药水冷却60秒,仍旧无法使用,此时你只能使用体力药水
group:
  初级药水组: 10
  中级药水组: 30
  高级药水组: 60

# 消息
messages:
  reload: "&a插件配置重载成功!"
  usePotion: "&a成功为玩家&6 %player% &a添加 %potion% &a效果,持续&e %time% &a秒"
  useDeny: "&c您不满足该药水的使用条件!"
  outPotion: "%potion% &5效果已结束!"
  onPotionCooldown: "%potion% &7冷却中,剩余&e %cooldown% &7秒"
  onGroupCooldown: "&b%group% &7冷却中,剩余&e %cooldown% &7秒"

  potions.yml
potions:
  # 药水节点名,用作识别(必写)
  测试药水:
    # 药水的显示名(必写)
    name: '&a测试药水'
    # 识别的lore(必写)
    lore: '&a这是一瓶测试药水'
    # 药水持续时间,单位/秒(必写),写0的话表示永久属性
    time: 10
    # 药水冷却时间,单位/秒(必写)
    cooldown: 30
    # 药水所属药水组(可选)
    group: '初级药水组'
    # 使用药水的条件,仅支持数值大小或者权限的判断,可以用变量,但不支持运算,你可以用math拓展,可写多个,一行一个,变量如果无法解析会出错(可选)
    conditions:
      - '%player_level% >= 10'
      - 'permission:vip'
    # 是否需要按住shift使用(可选,默认为false,即不需要)
    shift: false
    # 使用后的效果(可选)
    effects:
      # 回复生命值,前面是每秒回复血量,后面是回复的持续时间,写1表示立即回复
      health: '10:1'
      # 回复SkillAPI的魔力值,这个写法表示每秒10点,持续10秒,也就是总计回复100点mana
      mana: '10:10'
      # 回复饥饿值
      hunger: '2:5'
    # 药水添加的属性,格式是 【属性:数值】可以用变量,但不支持运算,你可以用math拓展,变量如果无法解析会出错(可选)
    attributes:
      - '物理伤害:100'
      - '生命力:%player_level%'
    # 使用后是否消耗(可选,不写的话默认是true)
    consume: true
    # 使用药水后执行的指令,console表示以控制台执行,不写表示玩家身份执行(可选) [注:不支持op执行]
    commands:
      - '[console]give %player% apple'
      - 'spawn'
    # 其他设置
    options:
      # 死亡后是否清除药水属性,false表示否(可选,默认false)
      death: false
      # 是否设置物品冷却。这是原版的那种,较为直观展示冷却时间,但是会导致同类型材料的物品一同进入冷却(可选,默认false)
      cool: false

  # 无注释展示版本
  生命药水:
    name: '&a生命药水'
    lore: '&e这是一瓶生命药水'
    time: 5
    cooldown: 30
    group: '初级药水组'
    conditions:
      - '%player_level% >= 10'
    shift: false
    effects:
      health: '0:0'
      mana: '10:5'
      hunger: '10:5'
    attributes:
      - '生命力:100'
    consume: true
    commands:
      - 'say 我使用了一瓶生命药水~'
    options:
      death: false
      cool: false

  # 必填展示版本
  无用药水:
    name: '&b无用药水'
    lore: '&a这是一瓶啥作用都没有的药水'
    time: 1
    cooldown: 60
    #group: '中级药水组'
    #conditions:
    #- '%playerpoints_points% >= 100'
    #shift: true
    #effects:
    #  health: '100:20'
    #  mana: '10:10'
    #  hunger: '10:5'
    #attributes:
    #- '物理防御:%player_level%'
    #commands:
    #- 'spawn'
    #options:
    #  death: false
    #  cool: false

  巨力药水:
    name: '&6巨力药水'
    lore: '&a这是一瓶巨力药水'
    time: 30
    cooldown: 180
    group: '高级药水组'
    attributes:
      - '物理伤害:%player_level%'

  图片演示





































    . 插件权限

  所有指令仅op可执行

    . 插件变量

  %attributepotion_药水节点_cooldown% —— 返回药水的剩余冷却时间

    . 插件指令

  /attributepotion 或 /apn - 主指令
  /ipt reload - 重载配置
复制代码
    . 下载地址

安装教程:下载插件,放入服务器plugins文件夹,重启服务器即可






AttributePotion-1.0.0.jar

(51.63 KB, 下载次数: 0)






    . 更新记录
  
V1.0.0 —— 2023/4/13 —— 插件发布

    . 更新计划

支持萌芽
支持AP2
支持SX2/3


    . 已知问题

暂无

    . 原创说明

  本插件所用代码部分来自其他开源或闭源(已授权)作品
  代码已在github上开源,遵循MIT协议

  未经允许你不能将本插件于其他地方发布

  | github |

第一页 上一页 下一页 最后一页