{
  "format_version": "1.8.0",
  "minecraft:client_entity": {
    "description": {
      "identifier": "minecraft:tropicalfish",
      "materials": { "default": "tropicalfish" },
      "textures": {
        "typeA": "textures/entity/fish/tropical_a",
        "typeB": "textures/entity/fish/tropical_b",
        "aPattern1": "textures/entity/fish/tropical_a_pattern_1",
        "aPattern2": "textures/entity/fish/tropical_a_pattern_2",
        "aPattern3": "textures/entity/fish/tropical_a_pattern_3",
        "aPattern4": "textures/entity/fish/tropical_a_pattern_4",
        "aPattern5": "textures/entity/fish/tropical_a_pattern_5",
        "aPattern6": "textures/entity/fish/tropical_a_pattern_6",
        "bPattern1": "textures/entity/fish/tropical_b_pattern_1",
        "bPattern2": "textures/entity/fish/tropical_b_pattern_2",
        "bPattern3": "textures/entity/fish/tropical_b_pattern_3",
        "bPattern4": "textures/entity/fish/tropical_b_pattern_4",
        "bPattern5": "textures/entity/fish/tropical_b_pattern_5",
        "bPattern6": "textures/entity/fish/tropical_b_pattern_6"
      },
      "scripts": {
        "pre_animation": [
          "variable.ZRot = !query.is_in_water ? Math.cos((query.time_stamp + query.frame_alpha) * 0.25) * 90 : 0.0;",
          "variable.AnimationAmountBlend = Math.lerp(variable.AnimationAmountPrev, variable.AnimationAmount, query.frame_alpha);"
        ]
      },
      "geometry": {
        "typeA": "geometry.tropicalfish_a",
        "typeB": "geometry.tropicalfish_b"
      },
      "animations": {
        "flop": "animation.tropicalfish.flop",
        "swim": "animation.tropicalfish.swim"
      },
      "animation_controllers": [
        { "general": "controller.animation.fish.general" }
      ],
      "render_controllers": [ "controller.render.tropicalfish" ],
      "spawn_egg": {
        "texture": "spawn_egg_tropicalfish"
      }
    }
  }
}