{
  "id": "geometry",
  "fields": [
    {
      "dataType": 25,
      "id": "format_version",
      "title": "Format Version",
      "isRequired": true
    },
    {
      "dataType": 1,
      "id": "debug",
      "title": "Debug",
      "isRequired": false
    },
    {
      "id": "minecraft:geometry",
      "dataType": 15,
      "subForm": {
        "fields": [
          {
            "dataType": 16,
            "id": "description",
            "title": "Description",
            "isRequired": true,
            "subForm": {
              "fields": [
                {
                  "dataType": 2,
                  "id": "identifier",
                  "title": "Identifier",
                  "description": "Entity definition and Client Block definition files refer to this geometry via this identifier.",
                  "isRequired": true
                },
                {
                  "dataType": 17,
                  "id": "visible_bounds_offset",
                  "title": "Visible Bounds Offset",
                  "isRequired": false
                },
                {
                  "dataType": 0,
                  "id": "texture_width",
                  "title": "Texture Width",
                  "description": "Assumed width in texels of the texture that will be bound to this geometry.",
                  "isRequired": false
                },
                {
                  "dataType": 0,
                  "id": "texture_height",
                  "title": "Texture Height",
                  "description": "Assumed height in texels of the texture that will be bound to this geometry.",
                  "isRequired": false
                }
              ]
            }
          },
          {
            "dataType": 2,
            "id": "cape",
            "title": "Cape",
            "isRequired": false
          },
          {
            "id": "bones",
            "dataType": 15,
            "subForm": {
              "fields": [
                {
                  "dataType": 2,
                  "id": "name",
                  "title": "Name",
                  "description": "Animation files refer to this bone via this identifier.",
                  "isRequired": true
                },
                {
                  "dataType": 2,
                  "id": "parent",
                  "title": "Parent",
                  "description": "Bone that this bone is relative to.  If the parent bone moves, this bone will move along with it.",
                  "isRequired": false
                },
                {
                  "dataType": 17,
                  "id": "pivot",
                  "title": "Pivot",
                  "isRequired": false
                },
                {
                  "dataType": 17,
                  "id": "rotation",
                  "title": "Rotation",
                  "isRequired": false
                },
                {
                  "dataType": 1,
                  "id": "mirror",
                  "title": "Mirror",
                  "description": "Mirrors the UV's of the unrotated cubes along the x axis, also causes the east/west faces to get flipped.",
                  "isRequired": false
                },
                {
                  "dataType": 1,
                  "id": "debug",
                  "title": "Debug",
                  "isRequired": false
                },
                {
                  "dataType": 0,
                  "id": "render_group_id",
                  "title": "Render Group Id",
                  "isRequired": false
                },
                {
                  "id": "cubes",
                  "dataType": 15,
                  "subForm": {
                    "fields": [
                      {
                        "dataType": 17,
                        "id": "origin",
                        "title": "Origin",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "size",
                        "title": "Size",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation",
                        "title": "Rotation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "pivot",
                        "title": "Pivot",
                        "isRequired": false
                      },
                      {
                        "dataType": 1,
                        "id": "mirror",
                        "title": "Mirror",
                        "description": "Mirrors this cube about the unrotated x axis (effectively flipping the east / west faces), overriding the bone's 'mirror' setting for this cube.",
                        "isRequired": false
                      },
                      {
                        "dataType": 16,
                        "id": "uv",
                        "title": "Uv",
                        "description": "This is an alternate per-face uv mapping which specifies each face of the cube.  Omitting a face will cause that face to not get drawn.",
                        "isRequired": false,
                        "subForm": {
                          "fields": [
                            {
                              "dataType": 16,
                              "id": "north",
                              "title": "North",
                              "description": "Specifies the UV's for the face that stretches along the x and y axes, and faces the -z axis.",
                              "isRequired": false,
                              "subForm": {
                                "fields": [
                                  {
                                    "dataType": 17,
                                    "id": "uv",
                                    "title": "Uv",
                                    "isRequired": true
                                  },
                                  {
                                    "dataType": 17,
                                    "id": "uv_size",
                                    "title": "Uv Size",
                                    "isRequired": false
                                  },
                                  {
                                    "dataType": 2,
                                    "id": "material_instance",
                                    "title": "Material Instance",
                                    "isRequired": false
                                  }
                                ]
                              }
                            },
                            {
                              "dataType": 16,
                              "id": "south",
                              "title": "South",
                              "description": "Specifies the UV's for the face that stretches along the x and y axes, and faces the z axis",
                              "isRequired": false,
                              "subForm": {
                                "fields": [
                                  {
                                    "dataType": 17,
                                    "id": "uv",
                                    "title": "Uv",
                                    "isRequired": true
                                  },
                                  {
                                    "dataType": 17,
                                    "id": "uv_size",
                                    "title": "Uv Size",
                                    "isRequired": false
                                  },
                                  {
                                    "dataType": 2,
                                    "id": "material_instance",
                                    "title": "Material Instance",
                                    "isRequired": false
                                  }
                                ]
                              }
                            },
                            {
                              "dataType": 16,
                              "id": "east",
                              "title": "East",
                              "description": "Specifies the UV's for the face that stretches along the z and y axes, and faces the x axis",
                              "isRequired": false,
                              "subForm": {
                                "fields": [
                                  {
                                    "dataType": 17,
                                    "id": "uv",
                                    "title": "Uv",
                                    "isRequired": true
                                  },
                                  {
                                    "dataType": 17,
                                    "id": "uv_size",
                                    "title": "Uv Size",
                                    "isRequired": false
                                  },
                                  {
                                    "dataType": 2,
                                    "id": "material_instance",
                                    "title": "Material Instance",
                                    "isRequired": false
                                  }
                                ]
                              }
                            },
                            {
                              "dataType": 16,
                              "id": "west",
                              "title": "West",
                              "description": "Specifies the UV's for the face that stretches along the z and y axes, and faces the -x axis",
                              "isRequired": false,
                              "subForm": {
                                "fields": [
                                  {
                                    "dataType": 17,
                                    "id": "uv",
                                    "title": "Uv",
                                    "isRequired": true
                                  },
                                  {
                                    "dataType": 17,
                                    "id": "uv_size",
                                    "title": "Uv Size",
                                    "isRequired": false
                                  },
                                  {
                                    "dataType": 2,
                                    "id": "material_instance",
                                    "title": "Material Instance",
                                    "isRequired": false
                                  }
                                ]
                              }
                            },
                            {
                              "dataType": 16,
                              "id": "up",
                              "title": "Up",
                              "description": "Specifies the UV's for the face that stretches along the x and z axes, and faces the y axis",
                              "isRequired": false,
                              "subForm": {
                                "fields": [
                                  {
                                    "dataType": 17,
                                    "id": "uv",
                                    "title": "Uv",
                                    "isRequired": true
                                  },
                                  {
                                    "dataType": 17,
                                    "id": "uv_size",
                                    "title": "Uv Size",
                                    "isRequired": false
                                  },
                                  {
                                    "dataType": 2,
                                    "id": "material_instance",
                                    "title": "Material Instance",
                                    "isRequired": false
                                  }
                                ]
                              }
                            },
                            {
                              "dataType": 16,
                              "id": "down",
                              "title": "Down",
                              "description": "Specifies the UV's for the face that stretches along the x and z axes, and faces the -y axis",
                              "isRequired": false,
                              "subForm": {
                                "fields": [
                                  {
                                    "dataType": 17,
                                    "id": "uv",
                                    "title": "Uv",
                                    "isRequired": true
                                  },
                                  {
                                    "dataType": 17,
                                    "id": "uv_size",
                                    "title": "Uv Size",
                                    "isRequired": false
                                  },
                                  {
                                    "dataType": 2,
                                    "id": "material_instance",
                                    "title": "Material Instance",
                                    "isRequired": false
                                  }
                                ]
                              }
                            }
                          ]
                        },
                        "alternates": [
                          {
                            "dataType": 17,
                            "id": "uv",
                            "isRequired": false
                          }
                        ]
                      }
                    ]
                  },
                  "alternates": [
                    {
                      "dataType": 17,
                      "id": "cubes",
                      "title": "Cubes",
                      "description": "This is the list of cubes associated with this bone.",
                      "isRequired": false
                    }
                  ]
                },
                {
                  "dataType": 14,
                  "id": "locators",
                  "title": "Locators",
                  "isRequired": false,
                  "subForm": {
                    "fields": [
                      {
                        "dataType": 17,
                        "id": "offset",
                        "title": "Offset",
                        "isRequired": true
                      },
                      {
                        "dataType": 17,
                        "id": "rotation",
                        "title": "Rotation",
                        "isRequired": true
                      },
                      {
                        "dataType": 1,
                        "id": "ignore_inherited_scale",
                        "title": "Ignore Inherited Scale",
                        "description": "Discard scale inherited from parent bone.",
                        "isRequired": false
                      }
                    ]
                  },
                  "keyDescription": "<identifier>",
                  "alternates": [
                    {
                      "dataType": 24,
                      "id": "locators",
                      "title": "<identifier>",
                      "description": "This is a list of locators associated with this bone.  A locator is a point in model space that tracks a particular bone as the bone animates (by maintaining it's relationship to the bone through the animation).",
                      "isRequired": false,
                      "keyDescription": "<identifier>"
                    }
                  ]
                },
                {
                  "dataType": 14,
                  "id": "poly_mesh",
                  "title": "Poly Mesh",
                  "description": "***EXPERIMENTAL*** A triangle or quad mesh object.  Can be used in conjunction with cubes and texture geometry.",
                  "isRequired": false,
                  "subForm": {
                    "fields": [
                      {
                        "dataType": 1,
                        "id": "normalized_uvs",
                        "title": "Normalized Uvs",
                        "description": "If true, UVs are assumed to be [0-1].  If false, UVs are assumed to be [0-texture_width] and [0-texture_height] respectively.",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "positions",
                        "title": "Positions",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "normals",
                        "title": "Normals",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "uvs",
                        "title": "Uvs",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "polys",
                        "title": "Polys",
                        "isRequired": true
                      }
                    ]
                  },
                  "keyDescription": "<any array element>"
                },
                {
                  "id": "texture_meshes",
                  "dataType": 15,
                  "subForm": {
                    "fields": [
                      {
                        "dataType": 2,
                        "id": "texture",
                        "title": "Texture",
                        "description": "The friendly-named texture to use.",
                        "isRequired": true
                      },
                      {
                        "dataType": 17,
                        "id": "position",
                        "title": "Position",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "local_pivot",
                        "title": "Local Pivot",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation",
                        "title": "Rotation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale",
                        "title": "Scale",
                        "isRequired": false
                      }
                    ]
                  },
                  "alternates": [
                    {
                      "dataType": 17,
                      "id": "texture_meshes",
                      "title": "Texture Meshes",
                      "description": "***EXPERIMENTAL*** Adds a mesh to the bone's geometry by converting texels in a texture into boxes",
                      "isRequired": false
                    }
                  ]
                }
              ]
            },
            "alternates": [
              {
                "dataType": 17,
                "id": "bones",
                "title": "Bones",
                "description": "Bones define the 'skeleton' of the mob: the parts that can be animated, and to which geometry and other bones are attached.",
                "isRequired": false
              }
            ]
          }
        ]
      },
      "alternates": [
        {
          "dataType": 17,
          "id": "minecraft:geometry",
          "title": "Geometry",
          "isRequired": true
        }
      ]
    }
  ],
  "dataVersion": "1.14.0"
}