自定义实体模型


示例配置文件

#本文件无法进行修改,重载强制覆盖,仅做格式对照
# 请在本文件所在的文件夹新建个文件对照本文件添加和修改
#
#索引名无意义任意填写 但是不能重复
xiaohaungren:
  # 模型类型 bedrock 代表是基岩模型 (不可缺省)
  type: "bedrock"
  # 内置的萌芽血条是否开启 默认为false
  showBlood: true
  # 是否显示生物名字 默认为true
  showName: true
  # 模型缩放 默认1
  modelScale: 1.0
  # 这里的模型文件为基岩版的模型文件 (不可缺省)
  # 放在材质包时地址省略地址 assets/germmod/models/entity 直接写以后的地址即可
  # 放在GermCache省略地址 GermCache/models/entity 直接写以后的地址即可
  modelPath: "xiaohuangren.json"
  # 这里为该模型的动画文件 默认为空
  # 放在材质包时地址省略地址 assets/germmod/models/entity 直接写以后的地址即可
  # 放在GermCache时地址省略地址 GermCache/models/entity 直接写以后的地址即可
  #
  # 自触发动作有 idle,walk,flying_idle,flying_walk,spawn,death,attack,combating,burning,swimming
  # 自触发动画的意思时 当生物处于某种状态时自动播放某名称的动画,例如idle是空闲动画(生物站着不动)
  # 在自触发动作中 例如如果有 idle1,idle2,idle3 当需要触发idle动画时,会随机选择一个播放
  #
  # 可以使用mm控制该动作播放 详情请看wiki https://wiki.germmc.com/misc/mythicmobs.html
  animationPath: "xiaohuangren.animation.json"
  # 模型的色调 ARGB 格式 可以不修改贴图的前提下修改模型颜色
  textureTone: 0xFFFFFFFF
  # 模型文件贴图地址 默认为默认贴图
  # 放在材质包时地址省略地址地址 assets/germmod/textures/entity 直接写以后的地址即可
  # 放在GermCache时地址省略地址 GermCache/textures/entity 直接写以后的地址即可
  texturePath: "xiaohuangren.png"
  # 如果texturePath是一个长序列贴图,可以在这里设置切换关键帧的时间
  textureHz: 100
  # 模型文件发光贴图地址 默认为空
  # 放在材质包时地址省略地址地址 assets/germmod/textures/entity 直接写以后的地址即可
  # 放在GermCache时地址省略地址 GermCache/textures/entity 直接写以后的地址即可
  textureGlowPath: "xiaohuangren.glow.png"
  # 如果textureGlowPath是一个长序列贴图,可以在这里设置切换关键帧的时间
  textureGlowHz: 100
  # 是否取消匹配后生物的默认声音 默认为false
  cancelDefaultSound: false
  # 应用该模型的实体受伤的声音 默认为空
  onDamagedSound: "minecraft:entity.zombie.hurt"
  # 应用该模型的实体死亡的声音 默认为空
  onDeathSound: "minecraft:entity.zombie.death"
  # 应用该模型的实体攻击时的声音 默认为空
  onAttackSound: "minecraft:entity.zombie.attack_door_wood"
  # 实体在闲逛的时候发出的声音 默认为空
  onIdleSound: "minecraft:entity.zombie.ambient"
  # 模型碰撞箱 (不需要时可删除)
  entityWidth: 1.8
  entityHeight: 1.8
  # 默认和entityWidth值保持一致
  entityLength: 1.8
  # 攻击动作造成伤害的延迟  默认为0 单位毫秒
  # 可以让怪物的攻击动作播放到一定的时间才会造成伤害
  # 当有其他状态的动作时写为这种形式
  # attackDamageDelay:
  #   default: 3000
  #   ab: 3000
  attackDamageDelay: 3000
  # 攻击范围检测 默认为false
  # 开始后可以让播放攻击动画时 让玩家有一定的机会逃出攻击范围并达到躲避攻击的效果
  attackRangeCheck: false
  # 实体模型产生时将一些Effect打开在实体身上 默认为空
  # 当是一个界面绑定到实体身上时,可以获得绑定的实体的属性和变量值,详情请看gui/default最下方的变量部分 (配合起来可以做怪物血条等功能)
  bindEffects:
    # 索引名无意义 可以多个
    魂环特效:
      type: texture
      width: 5.8
      height: 5.8
      path: 'textures/misc/logo.png'
      offsetY: 0.1
      pitch: 90
      animations:
        魂环旋转:
          type: 1
          delay: 0
          cycle: -1
          permanent: true
          duration: 16666
          rotateZ: 1440
    头顶血条:
      type: gui
      followYaw: true
      followPitch: false
      bindEntityFirstPersonVisible: false
      duration: "-1"
      scale: 0.8
      gui:
        options:
          startX: "-50.5"
          startY: "-160"
        health_background:
          enable: true
          type: 0
          path: "local<->textures/gui/mobs/mob_health_background.png"
          locationX: "0"
          locationY: "0"
          width: "101"
          height: "21"
        health:
          enable: true
          type: 0
          path: "local<->textures/gui/mobs/mob_health.png"
          locationX: "5"
          locationY: "6"
          width: "91*(%bindEntity_health%/%bindEntity_max_health%)"
          height: "10"
          endU: "91*(%bindEntity_health%/%bindEntity_max_health%)"
        health_label:
          type: 4
          scale: "1"
          shadow: false
          locationX: "50.5"
          locationY: "6"
          align: "center"
          texts:
            - "%int_bindEntity_health%/%int_bindEntity_max_health%"
        mob_name:
          type: 4
          scale: "1.5"
          shadow: false
          locationX: "50.5"
          locationY: "-12"
          align: "center"
          texts:
            - "%bindEntity_name%"
  # 也可以指定effect文件夹下的effect
  bindEffectName:
    - "EffectFrame"
  # 匹配该模型的条件
  matchCondition: 
    # 实体类型 填入实体的类型要求 (小写加下划线,如zombie_pigman、player) 默认为空 (可删除)
    type: 'zombie_pigman'
    # 指定UUID的实体 (不需要时可删除,主要用于插件的API,指定实体模型时) 默认为空 (可删除)
    uuid: '7596a349-17d9-404a-aed8-681cd410452d'
    # 此名字的生物将会显示此模型 完全匹配 (使用完全匹配时请删除存在匹配) 默认为空 (可删除)
    name: "§b小黄人"
    # 生物的名字存在此字符串会显示此模型 存在匹配 (使用存在匹配时请删除完全匹配) 默认为空 (可删除)
    match: "§b小黄人"
    # 世界名称 只有在该世界才会匹配模型 默认为空 (可删除)
    world: "world"
    # 当看的玩家满足此表达式的时候才会匹配 默认为空 (可删除)
    # 例如要做 NPC萌芽村村长 在初次见面时是年轻的模样 在冒险回来后变老了 可以在冒险后给予玩家权限来只对此玩家改变实体模型
    # 匹配时需要满足的表达式 更多表达式请看wiki https://wiki.germmc.com/gui/arithmetic.html
    expressions:
      - "str(%player_has_permission_germ_gui%,yes)"

自定义实体模型演示教程

请点击此处传送门 >>> 获取版主的小黄人

第一步,获取一个基岩版Add-on(可按照下图方式下载)

第二步,按照下面路径依次获取以下三个文件

(实体模型行为).json 位于MinionsByGona.zip/Minions Behavior Pack/entities

(实体模型材质).json 位于MinionsByGona.zip/Minions Resource Pack/models

(实体模型材质).png 位于MinionsByGona.zip/Minions Resource Pack/textures/entity/pig

第三步,对(实体模型材质).json 做出修改

由于这里下载的示例模型是旧版基岩模型,所以需要做出修改。如果是新版基岩模型,则跳过此步骤。

打开mobs.json,将geometry.pigzombie修改为geometry.germ;下面是修改过的json文件

{
    "geometry.germ": {
    "texturewidth": 64,
    "textureheight": 64,
    "bones": [
      {
        "name": "body",
        "pivot": [ 0.0, 24.0, 0.0 ],
        "cubes": [
          {
            "origin": [ -5.0, 5.0, -5.0 ],
            "size": [ 10, 14, 10 ],
            "uv": [ 0, 0 ]
          },
          {
            "origin": [ -5.0, 5.0, -5.0 ],
            "size": [ 10, 10, 10 ],
            "uv": [ 0, 44 ],
            "inflate": 0.5
          },
          {
            "origin": [ -4.0, 19.0, -4.0 ],
            "size": [ 8, 1, 8 ],
            "uv": [ 0, 24 ]
          },
          {
            "origin": [ -4.0, 4.0, -4.0 ],
            "size": [ 8, 1, 8 ],
            "uv": [ 30, 44 ]
          },

          {
            "origin": [ -3.0, 12.0, -6.0 ],
            "size": [ 6, 6, 1 ],
            "uv": [ 30, 0 ]
          },
          {
            "origin": [ -2.5, 12.5, -6.0 ],
            "size": [ 5, 5, 2 ],
            "uv": [ 44, 0 ]
          },
          {
            "origin": [ -5.0, 10.0, -5.0 ],
            "size": [ 10, 9, 1 ],
            "uv": [ 40, 22 ],
            "inflate": -0.01
          },
          {
            "origin": [ -5.0, 14.5, -5.0 ],
            "size": [ 10, 1, 10 ],
            "uv": [ 0, 33 ],
            "inflate": 0.5
          }
        ]
      },

      {
        "name": "head",
        "pivot": [ 0.0, 24.0, 0.0 ],
        "cubes": [
          {
            "origin": [ -4.0, 24.0, -4.0 ],
            "size": [ 0, 0, 0 ],
            "uv": [ 0, 0 ]
          }
        ]
      },

      {
        "name": "hat",
        "pivot": [ 0.0, 24.0, 0.0 ],
        "cubes": [
          {
            "origin": [ -4.0, 24.0, -4.0 ],
            "size": [ 0, 0, 0 ],
            "uv": [ 32, 0 ],
            "inflate": 0.5
          }
        ],
        "neverRender": true
      },

      {
        "name": "rightArm",
        "pivot": [ -5.0, 12.0, 0.0 ],
        "cubes": [
          {
            "origin": [ -8.0, 12.0, -2.0 ],
            "size": [ 0, 0, 0 ],
            "uv": [ 40, 16 ]
          }
        ]
      },

      {
        "name": "leftArm",
        "pivot": [ 5.0, 12.0, 0.0 ],
        "cubes": [
          {
            "origin": [ 4.0, 12.0, -2.0 ],
            "size": [ 0, 0, 0 ],
            "uv": [ 40, 16 ]
          }
        ],
        "mirror": true
      },

      {
        "name": "rightLeg",
        "pivot": [ -1.9, 12.0, 0.0 ],
        "cubes": [
          {
            "origin": [ -4.0, 0.0, -2.5 ],
            "size": [ 3, 1, 4 ],
            "uv": [ 48, 17 ]
          },
          {
            "origin": [ -3.5, 1.0, -1.0 ],
            "size": [ 2, 5, 2 ],
            "uv": [ 48, 10 ]
          },
          {
            "origin": [ 5.0, 5.0, -1.0 ],
            "size": [ 2, 7, 2 ],
            "uv": [ 40, 10 ]
          }
        ]
      },

      {
        "name": "leftLeg",
        "pivot": [ 1.9, 12.0, 0.0 ],
        "cubes": [
          {
            "origin": [ 1.0, 0.0, -2.5 ],
            "size": [ 3, 1, 4 ],
            "uv": [ 48, 17 ]
          },
          {
            "origin": [ 1.5, 1.0, -1.0 ],
            "size": [ 2, 5, 2 ],
            "uv": [ 48, 10 ]
          },
          {
            "origin": [ -7.0, 5.0, -1.0 ],
            "size": [ 2, 7, 2 ],
            "uv": [ 40, 10 ]
          }
        ],
        "mirror": true
      }
    ]
  }
}

第四步,将三个文件放入对应文件夹 >>> 详情见此处

第五步,修改配置文件,详情如上所示

第六步,进入游戏,将某个生物命名为小黄人,大功告成!

results matching ""

    No results matching ""