{
    "format_version": "1.10.0",
    "minecraft:client_entity": {
        "description": {
            "identifier": "minecraft:drowned",
            "min_engine_version": "1.16.0",
            "materials": {
                "default": "drowned"
            },
            "textures": {
                "default": "textures/entity/zombie/drowned"
            },
            "geometry": {
                "default": "geometry.zombie.drowned.v1.16"
            },
            "scripts": {
                "pre_animation": [
                    "variable.tcos0 = (Math.cos(query.modified_distance_moved * 38.17) * query.modified_move_speed / variable.gliding_speed_value) * 57.3;",
                    "variable.riding_y_offset_baby_scaling = query.is_baby ? -3.5 : 0.0;",
                    "variable.riding_y_offset_with_respect_to_player = 1.0;",
                    "variable.riding_y_offset_on_vehicle_where_other_entites_can_stand = query.is_riding_any_entity_of_type('minecraft:minecart', 'minecraft:boat', 'minecraft:chest_boat') ? -3.0 : 0.0;",
                    "variable.unscaled_riding_y_offset = variable.riding_y_offset_with_respect_to_player + variable.riding_y_offset_on_vehicle_where_other_entites_can_stand;",
                    // This math is very magical, but it works! Set up the seat position based on the adult, baby, or player model, and it should align correctly for all cases.
                    "variable.riding_y_offset = variable.riding_y_offset_baby_scaling * math.abs(variable.unscaled_riding_y_offset) + variable.unscaled_riding_y_offset + variable.riding_y_offset_baby_scaling * 0.2f;"
                ],
                "animate": [
                    { "humanoid_big_head": "query.is_baby" },
                    "look_at_target",
                    "move",
                    { "riding.body": "query.is_riding" },
                    { "riding.arms": "query.is_riding" },
                    { "riding.legs": "query.is_riding" },
                    "holding",
                    { "charging": "query.is_charging" },
                    "attack_controller",
                    { "brandish_spear": "variable.is_brandishing_spear" },
                    "bob",
                    { "damage_nearby_mobs": "variable.damage_nearby_mobs" },
                    { "use_item_progress": "( variable.use_item_interval_progress > 0.0 ) || ( variable.use_item_startup_progress > 0.0 )" },
                    { "swimming": "variable.swim_amount > 0.0" }
                ],
                "should_update_effects_offscreen": "1.0"
            },
            "animations": {
                "humanoid_big_head": "animation.humanoid.big_head",
                "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": "animation.humanoid.move",
                "riding.body": "animation.humanoid.riding.body",
                "riding.arms": "animation.humanoid.riding.arms",
                "riding.legs": "animation.humanoid.riding.legs",
                "holding": "animation.humanoid.holding",
                "brandish_spear": "animation.humanoid.brandish_spear",
                "charging": "animation.humanoid.charging",
                "bob": "animation.humanoid.bob",
                "damage_nearby_mobs": "animation.humanoid.damage_nearby_mobs",
                "use_item_progress": "animation.humanoid.use_item_progress",
                "attack_controller": "controller.animation.drowned.attack.rotations",
                "zombie_attack_bare_hand": "animation.zombie.attack_bare_hand",
                "attack_rotations": "animation.drowned.attack.rotations",
                "swimming": "animation.zombie.swimming"
            },
            "render_controllers": [ "controller.render.drowned" ],
            "enable_attachables": true,
            "spawn_egg": {
                "texture": "spawn_egg_drowned"
            }
        }
    }
}
