{
  "format_version": "1.10.0",
  "minecraft:client_entity": {
    "description": {
      "identifier": "minecraft:zombie_nautilus",
      "min_engine_version": "1.12.0",
      "materials": {
        "default": "nautilus"
      },
      "textures": {
        "default": "textures/entity/nautilus/zombie_nautilus",
        "coral": "textures/entity/nautilus/zombie_nautilus_coral",
        "saddle": "textures/entity/nautilus/nautilus_saddle",
        "armor_none": "textures/entity/horse2/armor/horse_armor_none",
        "armor_copper": "textures/entity/nautilus/armor/nautilus_armor_copper",
        "armor_iron": "textures/entity/nautilus/armor/nautilus_armor_iron",
        "armor_gold": "textures/entity/nautilus/armor/nautilus_armor_gold",
        "armor_diamond": "textures/entity/nautilus/armor/nautilus_armor_diamond",
        "armor_netherite": "textures/entity/nautilus/armor/nautilus_armor_netherite"
      },
      "geometry": {
        "default": "geometry.nautilus",
        "coral": "geometry.zombie_nautilus_coral",
        "saddle": "geometry.nautilus_saddle",
        "armor": "geometry.nautilus_armor"
      },
      "animations": {
        "breathe": "animation.nautilus.breathe",
        "swim": "animation.nautilus.swim",
        "look_at_target": "animation.nautilus.look_at_target",
        "dashing": "animation.nautilus.dashing",
        "sound_controller": "controller.animation.nautilus.sound",
        "general_controller": "controller.animation.nautilus.general"
      },
      "scripts": {
        "pre_animation": [
          "variable.variant_index = query.property('minecraft:variant') == 'coral' ? 1 : 0;",
          "variable.dash_cooldown = (!(variable.last_dash_cooldown ?? true) && query.has_dash_cooldown) ? 2 : ( variable.dash_cooldown ?? 0 );",
          "variable.dash_cooldown = math.max(0, variable.dash_cooldown-query.delta_time);",
          "variable.dash_cooldown_progress = (2 - variable.dash_cooldown) / 2;",
          "variable.xTargetRot = math.clamp(query.target_x_rotation, -10, 10);",
          "variable.xHeadRot = variable.dash_cooldown_progress > 0 ? math.clamp(variable.xTargetRot + (45 * (1 - variable.dash_cooldown_progress)), -25, 70) : variable.xTargetRot;",
          "variable.yHeadRot = math.clamp(query.target_y_rotation, -10, 10);",
          "variable.has_armor = query.equipped_item_any_tag('slot.armor.body', 'minecraft:nautilus_armor');",
          "variable.armor_texture_slot = query.armor_texture_slot(4);"
        ],
        "animate": [
          "general_controller",
          "sound_controller"
        ],
        "should_update_effects_offscreen": "1.0"
      },
      "particle_effects": {
        "bubbles": "minecraft:nautilus_bubbles_particle"
      },
      "render_controllers": [
        "controller.render.zombie_nautilus",
        "controller.render.nautilus_saddle",
        "controller.render.nautilus_armor"
      ],
      "spawn_egg": {
        "texture": "spawn_egg_zombie_nautilus"
      },
      "sound_effects": {
        "dash": "mob.zombie_nautilus.dash"
      }
    }
  }
}
