{
  "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": 16,
            "id": "item_display_transforms",
            "title": "Item Display Transforms",
            "description": "Components of the 3d matrix transform to be applied to this geometry when displayed in this item rendering context. Valid contexts: [\"gui\", \"firstperson_righthand\", \"firstperson_lefthand\", \"thirdperson_righthand\", \"thirdperson_lefthand\", \"ground\", \"fixed\", \"head\"].",
            "isRequired": false,
            "subForm": {
              "fields": [
                {
                  "dataType": 16,
                  "id": "gui",
                  "title": "Gui",
                  "isRequired": false,
                  "subForm": {
                    "fields": [
                      {
                        "dataType": 17,
                        "id": "translation",
                        "title": "Translation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation",
                        "title": "Rotation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale",
                        "title": "Scale",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation_pivot",
                        "title": "Rotation Pivot",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale_pivot",
                        "title": "Scale Pivot",
                        "isRequired": false
                      },
                      {
                        "dataType": 1,
                        "id": "fit_to_frame",
                        "title": "Fit To Frame",
                        "description": "If true, the geometry will be automatically scaled and translated to fit within the GUI frame. Default is 'true'.",
                        "isRequired": false
                      }
                    ]
                  }
                },
                {
                  "dataType": 16,
                  "id": "firstperson_righthand",
                  "title": "Firstperson Righthand",
                  "isRequired": false,
                  "subForm": {
                    "fields": [
                      {
                        "dataType": 17,
                        "id": "translation",
                        "title": "Translation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation",
                        "title": "Rotation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale",
                        "title": "Scale",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation_pivot",
                        "title": "Rotation Pivot",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale_pivot",
                        "title": "Scale Pivot",
                        "isRequired": false
                      }
                    ]
                  }
                },
                {
                  "dataType": 16,
                  "id": "firstperson_lefthand",
                  "title": "Firstperson Lefthand",
                  "isRequired": false,
                  "subForm": {
                    "fields": [
                      {
                        "dataType": 17,
                        "id": "translation",
                        "title": "Translation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation",
                        "title": "Rotation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale",
                        "title": "Scale",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation_pivot",
                        "title": "Rotation Pivot",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale_pivot",
                        "title": "Scale Pivot",
                        "isRequired": false
                      }
                    ]
                  }
                },
                {
                  "dataType": 16,
                  "id": "thirdperson_righthand",
                  "title": "Thirdperson Righthand",
                  "isRequired": false,
                  "subForm": {
                    "fields": [
                      {
                        "dataType": 17,
                        "id": "translation",
                        "title": "Translation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation",
                        "title": "Rotation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale",
                        "title": "Scale",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation_pivot",
                        "title": "Rotation Pivot",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale_pivot",
                        "title": "Scale Pivot",
                        "isRequired": false
                      }
                    ]
                  }
                },
                {
                  "dataType": 16,
                  "id": "thirdperson_lefthand",
                  "title": "Thirdperson Lefthand",
                  "isRequired": false,
                  "subForm": {
                    "fields": [
                      {
                        "dataType": 17,
                        "id": "translation",
                        "title": "Translation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation",
                        "title": "Rotation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale",
                        "title": "Scale",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation_pivot",
                        "title": "Rotation Pivot",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale_pivot",
                        "title": "Scale Pivot",
                        "isRequired": false
                      }
                    ]
                  }
                },
                {
                  "dataType": 16,
                  "id": "ground",
                  "title": "Ground",
                  "isRequired": false,
                  "subForm": {
                    "fields": [
                      {
                        "dataType": 17,
                        "id": "translation",
                        "title": "Translation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation",
                        "title": "Rotation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale",
                        "title": "Scale",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation_pivot",
                        "title": "Rotation Pivot",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale_pivot",
                        "title": "Scale Pivot",
                        "isRequired": false
                      }
                    ]
                  }
                },
                {
                  "dataType": 16,
                  "id": "fixed",
                  "title": "Fixed",
                  "isRequired": false,
                  "subForm": {
                    "fields": [
                      {
                        "dataType": 17,
                        "id": "translation",
                        "title": "Translation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation",
                        "title": "Rotation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale",
                        "title": "Scale",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation_pivot",
                        "title": "Rotation Pivot",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale_pivot",
                        "title": "Scale Pivot",
                        "isRequired": false
                      }
                    ]
                  }
                },
                {
                  "dataType": 16,
                  "id": "head",
                  "title": "Head",
                  "isRequired": false,
                  "subForm": {
                    "fields": [
                      {
                        "dataType": 17,
                        "id": "translation",
                        "title": "Translation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation",
                        "title": "Rotation",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale",
                        "title": "Scale",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "rotation_pivot",
                        "title": "Rotation Pivot",
                        "isRequired": false
                      },
                      {
                        "dataType": 17,
                        "id": "scale_pivot",
                        "title": "Scale Pivot",
                        "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": 0,
                                    "id": "uv_rotation",
                                    "title": "Uv Rotation",
                                    "description": "Rotates the uv rect clockwise the specified amount of degrees before applying it to the face. Valid values are 0, 90, 180 and 270. If not specified, no rotation will be applied.",
                                    "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": 0,
                                    "id": "uv_rotation",
                                    "title": "Uv Rotation",
                                    "description": "Rotates the uv rect clockwise the specified amount of degrees before applying it to the face. Valid values are 0, 90, 180 and 270. If not specified, no rotation will be applied.",
                                    "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": 0,
                                    "id": "uv_rotation",
                                    "title": "Uv Rotation",
                                    "description": "Rotates the uv rect clockwise the specified amount of degrees before applying it to the face. Valid values are 0, 90, 180 and 270. If not specified, no rotation will be applied.",
                                    "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": 0,
                                    "id": "uv_rotation",
                                    "title": "Uv Rotation",
                                    "description": "Rotates the uv rect clockwise the specified amount of degrees before applying it to the face. Valid values are 0, 90, 180 and 270. If not specified, no rotation will be applied.",
                                    "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": 0,
                                    "id": "uv_rotation",
                                    "title": "Uv Rotation",
                                    "description": "Rotates the uv rect clockwise the specified amount of degrees before applying it to the face. Valid values are 0, 90, 180 and 270. If not specified, no rotation will be applied.",
                                    "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": 0,
                                    "id": "uv_rotation",
                                    "title": "Uv Rotation",
                                    "description": "Rotates the uv rect clockwise the specified amount of degrees before applying it to the face. Valid values are 0, 90, 180 and 270. If not specified, no rotation will be applied.",
                                    "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": 34,
                  "id": "binding",
                  "title": "Binding",
                  "description": "useful for items.  A molang expression specifying the bone name of the parent skeletal hierarchy that this bone should use as the root transform.  Without this field it will look for a bone in the parent entity with the same name as this bone.  If both are missing, it will assume a local skeletal hierarchy (via the \"parent\" field).  If that is also missing, it will attach to the owning entity's root transform.",
                  "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.21.0"
}