{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.cyn_hao.fairy.sparkle": {
      "initial_state": "sparkle_check",
      "states": {
        // animation controller for fairy sparkles
        // the anim to play is determined by the fairy horse's base_id
        "sparkle_check": {
          "transitions": [
            { "color_check": "!query.is_on_ground && !query.is_in_water" }
          ]
        },

        "color_check": {
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" },
            { "sparkle_white": "query.property('cyn_hao:base_id') == 0" },
            { "sparkle_orange": "query.property('cyn_hao:base_id') == 1" },
            { "sparkle_magenta": "query.property('cyn_hao:base_id') == 2" },
            { "sparkle_light_blue": "query.property('cyn_hao:base_id') == 3" },
            { "sparkle_yellow": "query.property('cyn_hao:base_id') == 4" },
            { "sparkle_lime": "query.property('cyn_hao:base_id') == 5" },
            { "sparkle_pink": "query.property('cyn_hao:base_id') == 6" },
            { "sparkle_gray": "query.property('cyn_hao:base_id') == 7" },
            { "sparkle_light_gray": "query.property('cyn_hao:base_id') == 8" },
            { "sparkle_cyan": "query.property('cyn_hao:base_id') == 9" },
            { "sparkle_purple": "query.property('cyn_hao:base_id') == 10" },
            { "sparkle_blue": "query.property('cyn_hao:base_id') == 11" },
            { "sparkle_brown": "query.property('cyn_hao:base_id') == 12" },
            { "sparkle_green": "query.property('cyn_hao:base_id') == 13" },
            { "sparkle_red": "query.property('cyn_hao:base_id') == 14" },
            { "sparkle_black": "query.property('cyn_hao:base_id') == 15" }
          ]
        },

        "sparkle_white": {
          "particle_effects": [
            {
              "effect": "sparkle_white",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        },
        
        "sparkle_orange": {
          "particle_effects": [
            {
              "effect": "sparkle_orange",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        },
        
        "sparkle_magenta": {
          "particle_effects": [
            {
              "effect": "sparkle_magenta",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        },
        
        "sparkle_light_blue": {
          "particle_effects": [
            {
              "effect": "sparkle_light_blue",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        },
        
        "sparkle_yellow": {
          "particle_effects": [
            {
              "effect": "sparkle_yellow",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        },
        
        "sparkle_lime": {
          "particle_effects": [
            {
              "effect": "sparkle_lime",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        },
        
        "sparkle_pink": {
          "particle_effects": [
            {
              "effect": "sparkle_pink",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        },
        
        "sparkle_gray": {
          "particle_effects": [
            {
              "effect": "sparkle_gray",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        },
        
        "sparkle_light_gray": {
          "particle_effects": [
            {
              "effect": "sparkle_light_gray",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        },
        
        "sparkle_cyan": {
          "particle_effects": [
            {
              "effect": "sparkle_cyan",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        },
        
        "sparkle_purple": {
          "particle_effects": [
            {
              "effect": "sparkle_purple",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        },
        
        "sparkle_blue": {
          "particle_effects": [
            {
              "effect": "sparkle_blue",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        },
        
        "sparkle_brown": {
          "particle_effects": [
            {
              "effect": "sparkle_brown",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        },
        
        "sparkle_green": {
          "particle_effects": [
            {
              "effect": "sparkle_green",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        },
        
        "sparkle_red": {
          "particle_effects": [
            {
              "effect": "sparkle_red",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        },
        
        "sparkle_black": {
          "particle_effects": [
            {
              "effect": "sparkle_black",
              "locator": "sparkle"
            }
          ],
          "transitions": [
            { "sparkle_check": "query.is_on_ground || query.is_in_water" }
          ]
        }
      }
    }
  }
}
