{
  "format_version": "1.8.0",
  "render_controllers": {
    // separate render controllers for carpets and armor,
    // since armor needs to use the horse_leather_armor material
    "controller.render.cyn_hao.seahorse_big": {
      // part visisbility set in ALL render controllers
      // since without it the head patterns were breaking,
      // presumably because the multiple RCs telling certain bones
      // to hide / unhide were conflicting
      "part_visibility": [
        { "HeadSaddle": "query.is_saddled" },
        { "Saddle": "query.is_saddled" },
        { "SaddleMouthR" : "query.is_saddled && query.has_rider" },
        { "SaddleMouthL" : "query.is_saddled && query.has_rider" },
        { "SaddleMouthLine" : "query.is_saddled && query.has_rider" },
        { "SaddleMouthLineR" : "query.is_saddled && query.has_rider" },
        
        { "Bags": "query.is_chested" },
        { "Bag1": "query.is_chested" },
        { "Bag2": "query.is_chested" }
      ],

      "geometry": "Geometry.default",

      "materials": [
        { "*": "Material.alphatest" }
      ],

      "arrays": {
        "textures": {
          "Array.bases": [
            "Texture.base_orange",
            "Texture.light_blue",
            "Texture.base_yellow",
            "Texture.base_lime",
            "Texture.base_pink",
            "Texture.base_cyan",
            "Texture.base_purple",
            "Texture.base_blue",
            "Texture.base_green",
            "Texture.base_red"
          ]
        }
      },

      "textures": [
        "Array.bases[query.property('cyn_hao:base_id')]"
      ]
    }
  }
}
