{
  "format_version": "1.26.0",
  "minecraft:client_entity": {
    "description": {
      "identifier": "fo:foreboder",
      "min_engine_version": "1.8.0",
      "materials": {
        "default": "zombie"
      },
      "textures": {
        "default": "textures/entity/foreboder",
        "baby": "textures/entity/foreboder"
      },
      "geometry": {
        "default": "geometry.foreboder",
        "baby": "geometry.foreboder"
      },
      "particle_effects": {
        "foreboder_effect01": "fo:mobforeboder_emitter"
      },
      "scripts": {
        "pre_animation": [
          "variable.helmet_layer_visible = !query.has_head_gear;",
          "variable.leg_layer_visible = 1.0;",
          "variable.boot_layer_visible = 1.0;",
          "variable.chest_layer_visible = 1.0;",
          "variable.attack_body_rot_y = Math.sin(360*Math.sqrt(variable.attack_time)) * 5.0;",
          "variable.tcos0 = (math.cos(query.modified_distance_moved * 38.17) * query.modified_move_speed / variable.gliding_speed_value) * 57.3;",
          "variable.first_person_rotation_factor = math.sin((1 - variable.attack_time) * 180.0);",
          "variable.hand_bob = query.life_time < 0.01 ? 0.0 : variable.hand_bob + ((query.is_on_ground && query.is_alive ? math.clamp(math.sqrt(math.pow(query.position_delta(0), 2.0) + math.pow(query.position_delta(2), 2.0)), 0.0, 0.1) : 0.0) - variable.hand_bob) * 0.02;",
          "variable.map_angle = math.clamp(1 - variable.player_x_rotation / 45.1, 0.0, 1.0);",
          "variable.item_use_normalized = query.main_hand_item_use_duration / query.main_hand_item_max_duration;",
          "variable.riding_y_offset = query.is_riding_any_entity_of_type('minecraft:minecart', 'minecraft:boat', 'minecraft:chest_boat', 'minecraft:strider') ? -3.0 : 0.0;"
        ],
        "variables": {
          "variable.fp_melee_spear_use_attachable_rotation_z": "public",
          "variable.tp_melee_spear_use_attachable_rotation_z": "public",
          "variable.fp_melee_spear_attack_attachable_rotation_z": "public",
          "variable.tp_melee_spear_attack_attachable_position_z": "public",
          "variable.attack_time": "public",
          "variable.item_use_normalized": "public"
        },
        "initialize": [
          "variable.is_holding_right = 0.0;",
          "variable.is_blinking = 0.0;",
          "variable.last_blink_time = 0.0;",
          "variable.hand_bob = 0.0;",
          "variable.player_x_rotation = 0.0;",
          "variable.is_paperdoll = 0.0;",
          "variable.map_face_icon = 0.0;",
          "variable.is_first_person = 0.0;",
          "variable.bob_animation = 0.0;",
          "variable.player_arm_height = 0.0;",
          "variable.is_using_vr = 0.0;",
          "variable.melee_spear_equipped = 0.0;"
        ],
        "animate": [
          "root"
        ],
        "should_update_effects_offscreen": "1.0",
        "scale": "query.is_baby ? 2.0 : 1.0"
      },
      "animations": {
        "root": "controller.animation.foreboder.root",
        "crossbow_controller": "controller.animation.foreboder.crossbow",
        "third_person_melee_spear_controller": "controller.animation.foreboder.melee_spear",
        "humanoid_base_pose": "animation.humanoid.base_pose",
        "look_at_target": "controller.animation.humanoid.look_at_target",
        "look_at_target_default": "animation.humanoid.look_at_target.default",
        "look_at_target_gliding": "animation.humanoid.look_at_target.gliding",
        "look_at_target_swimming": "animation.humanoid.look_at_target.swimming",
        "move.arms": "animation.player.move.arms",
        "move.legs": "animation.player.move.legs",
        "swimming": "animation.player.swim",
        "swimming.legs": "animation.player.swim.legs",
        "riding.arms": "animation.player.riding.arms",
        "riding.legs": "animation.player.riding.legs",
        "charging": "animation.humanoid.charging",
        "attack.positions": "animation.player.attack.positions",
        "attack.rotations": "animation.player.attack.rotations",
        "sneaking": "animation.player.sneaking",
        "bob": "animation.player.bob",
        "damage_nearby_mobs": "animation.humanoid.damage_nearby_mobs",
        "bow_and_arrow": "animation.humanoid.bow_and_arrow",
        "use_item_progress": "animation.humanoid.use_item_progress",
        "skeleton_attack": "animation.skeleton.attack",
        "sleeping": "animation.player.sleeping",
        "third_person_crossbow_equipped": "animation.player.crossbow_equipped",
        "third_person_bow_equipped": "animation.player.bow_equipped",
        "crossbow_hold": "animation.player.crossbow_hold",
        "shield_block_main_hand": "animation.player.shield_block_main_hand",
        "shield_block_off_hand": "animation.player.shield_block_off_hand",
        "blink": "controller.animation.persona.blink",
        "fishing_rod": "animation.humanoid.fishing_rod",
        "holding_spyglass": "animation.humanoid.holding_spyglass",
        "tooting_goat_horn": "animation.humanoid.tooting_goat_horn",
        "holding_brush": "animation.humanoid.holding_brush",
        "crawling": "animation.player.crawl",
        "crawling.legs": "animation.player.crawl.legs",
        "swimming.no_right_arm": "animation.player.swim.no_right_arm",
        "crawling.no_right_arm": "animation.player.crawl.no_right_arm"
      },
      "render_controllers": [
        "controller.render.foreboder"
      ],
      "enable_attachables": true
    }
  }
}