自定义特殊武器


示例配置

# 特殊武器
# 用来控制玩家使用该武器的动作和攻击范围等
# 目前仅支持主手手持时触发
# 索引名 可随意更改
SpecialItem:
  type: specialItem
  #匹配的条件
  matchCondition:
    #匹配该模型的材质要求
    #格式 物品名:子ID 或者 物品ID:子ID
    type: '336'
    #匹配
    # 当描述或者武器名字含有下方字符串时会替换到设置的模型
    match: "测试Logo图标"
    # 当装备的名字等于该值的时候匹配模型
    name: "测试Logo图标"
    # 当装备的某行描述等于设定的值时匹配模型
    # 格式为:行号<->值 (行号从0开始为第一行)
    lore:
      - "3<->测试Logo图标"
    # 当装备的某个nbt等于设定的值时匹配
    nbt:
      - "nbtKey1<->测试Logo图标"
      - "parentNbt.childNbt<->测试Logo图标" #当有多层NBT时用.隔开
  # 触发处理器列表
  triggerHandlers:
    # 处理器索引名
    attack1:
      # 处理器类型
      #   FIRST    首个处理器 玩家达成触发条件时将从所有符合条件的触发器里面随机选择一个开始执行
      #   COMBINE  衔接处理器 用于衔接各种动作
      type: FIRST
      # match 设置 LEFT        为鼠标左键时可匹配的触发处理器
      # match 设置 RIGHT       为鼠标右键时可匹配的触发处理器
      # match 设置 KEYDOWN@R   为按下R键时可匹配的触发处理器 R可以换为任意键
      #
      #  灵活运用各个参数可以做到以下功能
      #   √ 连续左键鼠标三次 和 连续左边鼠标两次然后右键鼠标释放的动作不同
      #   √ 每次左键触发的动作都有概率不相同(例如在nextHandlers填写了两个handle1一个handle2,那么大概率触发的是handle1喽)
      #
      #  多个条件用,隔开
      match: LEFT
      # 按压多久触发键才会开始执行 待实现
      # press: 300
      # 当攻击动作结束后多少毫秒后打断衔接
      # 可以理解为攻击动作结束后多少毫秒内再次点击鼠标可以衔接到下一个处理器
      interrupt: 200
      # 在当前处理器的动作播放完成 后及时操作然后执行的下一个处理器 将从下列列表中随机选择一个符合条件的处理器
      # 多个条件用,隔开
      nextHandlers:
        - "left<->attack2"
        - "right<->attack2"
        - "keyDown@U<->attack3"
      # 道具触发动画 播放下列中的随机一个动画 默认为空
      # 当你想同时触发多个动画的时候用,隔开
      # 默认为触发主手道具的动画
      # 当你想触发其他部位道具的动画时可以写 槽位id:动画名
      # 支持germplugin_开头的所有拓展槽位,当然这个槽位内要有基岩装备
      itemAnimations:
        - "attack1"
        - "attack1,germplugin_armor_chestplate:bianxing2,germplugin_off_hand:bianxing3"
      # 玩家触发动画 播放下列中的随机一个动画 不准为空
      # 在设置动画名字前 你应该在 bend 文件夹先给玩家添加上动画
      # 当你想同时触发多个动画的时候用,隔开
      playerAnimations:
        - "attack1"
      # 刚开始执行时执行指令 待实现
      # handleCommands:
      #   - "servercmd<->class %player_name% cast attack1"
      #
      # 如何设置触发动作时触发伤害?
      # 使用bb打开动作文件,找到需要添加伤害的时间点 添加一个动画效果
      # 然后添加一个指令的关键帧 写入 damage{range=2;shape=cycle}
      # 他代表在动作运行至此关键帧处 伤害周围两格内的实体
      # damage命令 支持的参数有 range范围支持小数,shape形状,目前仅圆型cycle和point,max最大伤害的数量
      # cycle 代表以玩家本体为圆心的一圈 其中可以使用 sectionH=-180,180 来表示整个圆周 -90,90则表示前方 其他类比
      # point 仅代表鼠标指向的实体
      # 目前仅有damage命令
    # 处理器索引名
    attack2:
      type: COMBINE
      # 当是最后一个处理时 interrupt 将作为下次可以触发第一个处理器需要的时间
      interrupt: 200
      # 设置下一个处理为空 说明这个是结束处理器了
      nextHandlers: [ ]
      # 玩家触发动画 播放下列中的随机一个动画 不准为空
      # 在设置动画名字前 你应该在 bend 文件夹先给玩家添加上动画
      # 当你想同时触发多个动画的时候用,隔开
      playerAnimations:
        - "sj"

results matching ""

    No results matching ""