{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.silverlabs_nat.goose.general_control": {
      "initial_state": "idle",
      "states": {
        "idle": {
          "animations": [
            {
              "idle": "!q.is_baby"
            },
            {
              "baby_idle": "q.is_baby"
            },
            "look_at_target"
          ],
          "blend_transition": 0.2,
          "transitions": [
            {
              "sit": "(q.is_sitting && q.is_on_ground) && !q.is_riding"
            },
            {
              "walk": "q.modified_move_speed >= (v.walk_lower_boundary ?? 0) && !q.is_riding"
            },
            {
              "sleep": "q.is_sleeping && !q.is_riding"
            },
            {
              "swim": "q.property('silverlabs_nat:is_swimming') && !q.is_riding"
            }
          ]
        },
        "walk": {
          "animations": [
            {
              "walk": "!q.is_baby"
            },
            {
              "baby_walk": "q.is_baby"
            },
            "look_at_target"
          ],
          "blend_transition": 0.2,
          "transitions": [
            {
              "idle": "q.modified_move_speed < (v.walk_lower_boundary ?? 0)"
            },
            {
              "sit": "(q.is_sitting && q.is_on_ground)"
            },
            {
              "run": "q.modified_move_speed >= (v.running_lower_boundary ?? 0)"
            },
            {
              "swim": "q.property('silverlabs_nat:is_swimming')"
            },
            {
              "sleep": "q.is_sleeping"
            }
          ]
        },
        "run": {
          "animations": [
            {
              "run": "!q.is_baby"
            },
            {
              "baby_run": "q.is_baby"
            },
            "look_at_target"
          ],
          "blend_transition": 0.2,
          "transitions": [
            {
              "idle": "q.modified_move_speed < (v.walk_lower_boundary ?? 0)"
            },
            {
              "sit": "(q.is_sitting && q.is_on_ground)"
            },
            {
              "walk": "q.in_range(q.modified_move_speed, (v.walk_lower_boundary ?? 0), (v.walk_upper_boundary  ?? 0))"
            },
            {
              "swim": "q.property('silverlabs_nat:is_swimming')"
            },
            {
              "sleep": "q.is_sleeping"
            }
          ]
        },
        "swim": {
          "animations": [
            {
              "swim": "!q.is_baby"
            },
            {
              "baby_swim": "q.is_baby && q.modified_move_speed > 0.05"
            },
            {
              "baby_swim_idle": "q.is_baby && q.modified_move_speed <= 0.05"
            },
            "look_at_target"
          ],
          "blend_transition": 0.2,
          "transitions": [
            {
              "sit": "(q.is_sitting && q.is_on_ground)"
            },
            {
              "walk": "!q.property('silverlabs_nat:is_swimming') && q.modified_move_speed > 0.05"
            },
            {
              "idle": "!q.property('silverlabs_nat:is_swimming')"
            },
            {
              "sleep": "q.is_sleeping"
            }
          ]
        },
        "sleep": {
          "animations": [
            {
              "sleep": "!q.is_baby"
            },
            {
              "baby_idle": "q.is_baby"
            }
          ],
          "blend_transition": 0.2,
          "transitions": [
            {
              "sit": "(q.is_sitting && q.is_on_ground)"
            },
            {
              "idle": "!q.is_sleeping"
            }
          ]
        },
        "sit": {
          "animations": [
            {
              "sit": "!q.is_baby"
            },
            {
              "baby_sit": "q.is_baby"
            }
          ],
          "transitions": [
            { "idle": "!(q.is_sitting && q.is_on_ground)" }
          ],
          "blend_transition": 0.2
        }
      }
    },
    "controller.animation.silverlabs_nat.goose.attack_control": {
      "initial_state": "default",
      "states": {
        "default": {
          "blend_transition": 0.2,
          "transitions": [
            {
              "peck": "q.is_delayed_attacking == 1"
            }
          ]
        },
        "peck": {
          "blend_transition": 0.2,
          "animations": [
            "peck"
          ],
          "transitions": [
            {
              "default": "q.is_delayed_attacking == 0"
            }
          ]
        }
      }
    }
  }
}
