自定义基岩版模型


示例配置文件

该行配置文件位于服务端plugins/GermPlugin/item文件夹内

详见此处 >>> 传送门

#在游戏中按 F3+H 然后鼠标放在物品上,可以看真实的物品名和ID
#索引名 无意义随便设置
default_bedrock_item:
  #代表这是一个基岩版物品模型
  type: "bedrockEdition"
  #当type设置为 bedrockEdition 时路径格式
  # 在材质包中时省略路径assets/germmod/models/bedrock_item
  # 在萌芽缓存中省略路径GermCache/models/bedrock_item
  modelPath: 'chainsaw.geo.json' #该模型已内置 所以手持钻石剑添加lore测试武器即可显示
  # 这里为该模型的动画文件
  # 放在材质包时地址省略地址 assets/germmod/models/bedrock_item 直接写以后的地址即可
  # 放在GermCache时地址省略地址 GermCache/models/bedrock_item 直接写以后的地址即可
  animationPath: "chainsaw.animation.json"
  # 模型的色调 ARGB 格式 可以不修改贴图的前提下修改模型颜色
  textureTone: 0xFFFFFFFF
  # 模型贴图的位置
  # 在材质包中时省略路径assets/germmod/textures/bedrock_item
  # 在萌芽缓存中省略路径GermCache/textures/bedrock_item
  texturePath: 'chainsaw.png'
  # 模型文件发光贴图地址 不需要直接删掉该字段
  # 放在材质包时地址省略地址地址 assets/germmod/textures/bedrock_item 直接写以后的地址即可
  # 放在GermCache时地址省略地址 GermCache/textures/bedrock_item 直接写以后的地址即可
  textureGlowPath: "chainsaw.glow.png"
  # 如果物品类型是弓该字段才会生效
  # 重写射出去箭的名字
  # 可以配合entity文件夹的模型替换,实现替换箭的模型
  overwriteArrowName: "我是一支箭"
  #变换设置 可以调整各状态的位置
  transformSetting:
    #在GUI中调整预览位置
    #基岩模型在gui预览会默认触发播放preview动画
    gui:
      #图标在GUI中的 偏移值 设置了可以让图标移动中心位置
      offsetX: 0.0
      offsetY: 0.0
      offsetZ: 0.0
      #在GUI中缩放系数 不能小于 0
      scaleX: 0.5
      scaleY: 0.5
      scaleZ: 0.5
      #在gui的旋转X
      rotateX: 0
      rotateY: 0
      rotateZ: 0
    # 图标在第三人称左手手中的拓展配置
    # 除此之外还支持 thirdPersonRightHand 第三人称右手
    #             firstPersonLeftHand  第一人称左手
    #             firstPersonRightHand 第一人称右手
    #             head                    头上
    #             ground                  在地上
    thirdPersonLeftHand:
      #在手中大小系数 不能小于 0
      scaleX: 1
      scaleY: 1
      scaleZ: 1
      #在手中时的旋转X
      rotateX: 300
      rotateY: 300
      rotateZ: 300
      #偏移量
      offsetX: 0.0
      offsetY: 0.0
      offsetZ: 0.0
  # 玩家控制器
  # 用来控制玩家使用该武器的动作和攻击范围等
  # 目前仅支持主手手持时触发效果
  # 目前仅支持基岩武器
  playerController:
    # 触发处理器列表
    triggerHandlers:
      # 处理器索引名
      attack1:
        # type 支持 LEFT_FIRST  为鼠标左键的首个处理器
        # type 支持 RIGHT_FIRST 为鼠标右键的首个处理器
        # type 支持 COMBINE     为衔接处理器
        #   其中左键和右键的首个处理器都可以有多个,当玩家第一次左键鼠标时
        #  将从首个左键处理器中随机选择一个触发,右键时同理
        #   衔接处理器多用于衔接各种动作
        #
        #  灵活运用各个参数可以做到以下功能(不要再问啦~)
        #   √ 连续左键鼠标三次 和 连续左边鼠标两次然后右键鼠标释放的动作不同
        #   √ 每次左键触发的动作都有概率不相同(例如在nextHandlers填写了两个handle1一个handle2,那么大概率触发的是handle1喽)
        type: LEFT_FIRST
        # 按压多久触发键才会开始执行 待实现
        # press: 300
        # 当攻击动作结束后多少毫秒后打断衔接
        # 可以理解为攻击动作结束后多少毫秒内再次点击鼠标可以衔接到下一个处理器
        interrupt: 200
        # 在当前处理器的动作播放完成 后及时操作然后执行的下一个处理器 将从下列列表中的处理器中选一个
        # 及时左键的下一个处理器
        leftNextHandlers:
          - "attack2"
        # 及时右键的下一个处理器
        rightNextHandlers:
          - "attack2"
        # 道具触发动画 播放下列中的随机一个动画 默认为空
        # 当你想同时触发多个动画的时候用,隔开
        # 默认为触发主手道具的动画
        # 当你想触发其他部位道具的动画时可以写 槽位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,max最大伤害的数量
        # 目前仅有damage命令
      # 处理器索引名
      attack2:
        type: COMBINE
        # 当是最后一个处理时 interrupt 将作为下次可以触发第一个处理器需要的时间
        interrupt: 200
        # 设置下一个处理为空 说明这个是结束处理器了
        leftNextHandlers: [ ]
        # 玩家触发动画 播放下列中的随机一个动画 不准为空
        # 在设置动画名字前 你应该在 bend 文件夹先给玩家添加上动画
        # 当你想同时触发多个动画的时候用,隔开
        playerAnimations:
          - "sj"
  #匹配该模型的条件
  matchCondition:
    #匹配该模型的材质要求
    #json模型必须写模型材质条件
    #格式 物品名:子ID 或者 物品ID:子ID
    type: 'DIAMOND_SWORD'
    # ! 颜色符号请使用§,而不是&
    # 当描述或者名字含有下方字符串时会替换到设置的模型
    match: "测试武器"
    # ! 颜色符号请使用§,而不是&
    # 当装备的名字等于该值的时候匹配模型
    name: "测试武器"
    # 当装备的某行描述等于设定的值时匹配模型
    # 格式为:行号<->值 (行号从0开始为第一行)
    lore:
      - "2<->&5&o测试武器"
      - "7<->测试武器"
    # 当装备的某个nbt等于设定的值时匹配
    nbt:
      - "nbtKey1<->测试武器"
      - "parentNbt.childNbt<->测试武器" #当有多层NBT时用.隔开
    #匹配时需要满足的表达式 更多表达式请看wiki https://wiki.germmc.com/gui/arithmetic.html
    expressions:
      - "%player_level% > -1"

自定义基岩盔甲时装制作教程

第一步,准备Blockbench

germmod_bedrock_helper.js插件拖入Blockbench应用程序界面内,此时弹出如下图对话框并点击好的

点击【文件->插件->已安装来确认是否安装成功

Tips:该插件的功能目前有,制作萌芽引擎的基岩盔甲,添加更多的模型属性,后期会添加更多功能,如果有建议请私聊。

第二步,了解骨骼结构

standard.geo.bbmodel (这是一个标准的Player基岩模型,暂时使用该模型的骨骼结构,后面可能会根据代码推进继续修改骨骼)拖入Blockbench,加载该模型的意图是为了做基岩盔甲时有一个参照物。

Tips:骨骼结构并不是需要完全一致,你可以任意的在每个组之间添加任意组

第三步,配置盔甲属性

点击【插件->盔甲属性

打开以后可以看到如下图所示的配置项,在这里我们可以设置一些穿上该模型后玩家的隐藏开关

第四步,配置盔甲动画

下面我们点击动画模式然后随便新建一个动画,双击这个动画打开动画设置界面

可以看到上面多了一些带有[G]标记的选项,这里需要输入的内容都是动画名称,填写多个动画时用逗号,隔开。

下面详细解释一下这些新增配置选项

  1. 无视覆盖:不会被其他带有覆盖的动画覆盖掉播放

  2. 自动播放:当模型被加载的时候就会开始播放(例如做一个呼吸动画,这个动画应该一开始就不断播放的,所以可以使用自动播放触发播放)

  3. 覆盖原版:这个选项只在模型作为基岩盔甲的时候生效,他会覆盖掉原版同名的动作,现在可列出的覆盖原版的名字有

    • elytra - 鞘翅飞行
    • riding – 骑乘
    • climbing – 攀爬
    • swimming – 游泳
    • flying – 飞行
    • jump – 跳跃
    • idle – 站立
    • sprint – 冲刺跑
    • walk – 走路
    • sneak – 下蹲
    • guard – 持盾
    • eat – 吃
    • bow – 弓箭
    • mining – 挖矿
    • axe – 砍树
    • punch – 空手挥拳
    • punch_ready – 空手准备攻击动作
    • main_hold_sword - 当主手手中有武器的动作
    • main_hold_axe - 当主手手中有斧头的动作
    • main_hold_mining - 当主手手中有稿子的动作
    • attack1 – 攻击动作1
    • attack2 – 攻击动作2
    • attack3 – 攻击动作3
    • attack_ready – 攻击动作准备
  4. 触发动画:在该动画开始播放时,顺带开始某些动画。

  5. 伴随动画:在该动画期间,强制让某些动画也一起播放。

  6. 冲突动画:在该动画期间,强制停止某些动画。

  7. 衔接动画:在该动画结束播放时,开始某些动画。

  8. 终止动画:在该动画结束播放时,顺带停止某些动画。

第四步,进行基岩物品配置

接下来进行正常的基岩物品模型配置即可


自定义基岩物品模型演示教程

第一步,准备贴图文件

results matching ""

    No results matching ""