{
    "format_version": "1.8.0",
    "minecraft:client_entity": {
        "description": {
            "identifier": "minecraft:villager_v2",
            "materials": {
                "default": "villager_v2",
                "masked": "villager_v2_masked",
                "UP_box": "entity_emissive_alpha"
            },
            "textures": {
                "UP_box": "models/entity/UP_box",
                "transparent": "models/entity/transparent",
                // Base Textures - Vanilla Minecraft only has one such texture, rename these for resource packs desiring variety
                "base": "textures/entity/villager2/villager",
                "base2": "textures/entity/villager2/villager",
                "base3": "textures/entity/villager2/villager",
                "base4": "textures/entity/villager2/villager",
                "base5": "textures/entity/villager2/villager",
                "base6": "textures/entity/villager2/villager",

                // Biome Layer
                "desert": "textures/entity/villager2/biomes/biome_desert",
                "jungle": "textures/entity/villager2/biomes/biome_jungle",
                "plains": "textures/entity/villager2/biomes/biome_plains",
                "savanna": "textures/entity/villager2/biomes/biome_savanna",
                "snow": "textures/entity/villager2/biomes/biome_snow",
                "swamp": "textures/entity/villager2/biomes/biome_swamp",
                "taiga": "textures/entity/villager2/biomes/biome_taiga",

                // Profession Layer
                "armorer": "textures/entity/villager2/professions/armorer",
                "butcher": "textures/entity/villager2/professions/butcher",
                "cartographer": "textures/entity/villager2/professions/cartographer",
                "cleric": "textures/entity/villager2/professions/cleric",
                "farmer": "textures/entity/villager2/professions/farmer",
                "fisherman": "textures/entity/villager2/professions/fisherman",
                "fletcher": "textures/entity/villager2/professions/fletcher",
                "leatherworker": "textures/entity/villager2/professions/leatherworker",
                "librarian": "textures/entity/villager2/professions/librarian",
                "shepherd": "textures/entity/villager2/professions/shepherd",
                "tool_smith": "textures/entity/villager2/professions/toolsmith",
                "weapon_smith": "textures/entity/villager2/professions/weaponsmith",
                "stonemason": "textures/entity/villager2/professions/stonemason",
                "nitwit": "textures/entity/villager2/professions/nitwit",
                "unskilled": "textures/entity/villager2/professions/unskilled",

                // Levels Layer
                "level_stone": "textures/entity/villager2/levels/level_stone",
                "level_iron": "textures/entity/villager2/levels/level_iron",
                "level_gold": "textures/entity/villager2/levels/level_gold",
                "level_emerald": "textures/entity/villager2/levels/level_emerald",
                "level_diamond": "textures/entity/villager2/levels/level_diamond"
            },
            "geometry": {
                "default": "geometry.villager_v2",
                "target_rotate": "geometry.target_rotate_28",
                "block": "geometry.block_28"
            },
            "scripts": {
                "scale": "0.9375",
                "pre_animation": [
                    "variable.num_professions = 15;",
                    "variable.num_tiers = 3;",
                    "variable.profession_index = (query.variant < variable.num_professions ? query.variant : 0);",
                    "variable.level_index = query.trade_tier;"
                ]
            },
            "particle_effects": {

                "invisible": "invisible",
                "status_setup": "status_setup",
                "health_setup": "health_setup",
                "hostile_warnings": "hostile_warnings",
                "pos": "pos",
                "locate_line": "locate_line",
                "locate_mob": "locate_villager",
				"pos_egg": "pos_villager"
            },

            "animations": {
                "target_rotate": "animation.target_rotate",
                "camera_rotate": "animation.camera_rotate",

                "general": "animation.villager.general",
                "look_at_target": "animation.common.look_at_target",
                "move": "animation.villager.move",
                "raise_arms": "animation.villager.raise_arms",
                "baby_transform": "animation.villager.baby_transform",
                "get_in_bed": "animation.villager.get_in_bed"
            },
            "animation_controllers": [
					{"1": "controller.animation.target_rotate_setup"}, 
					{"1.1": "controller.animation.camera_rotate_setup"}, 
					{"2": "controller.animation.invisible"}, 
					{"3": "controller.animation.status"}, 
					{"4": "controller.animation.health"}, 
					{"5": "controller.animation.hostile_warnings"}, 
					{"6": "controller.animation.pos"}, 
					{"locate": "controller.animation.locate"},
					{"general": "controller.animation.villager_v2.general"}, 
					{"move": "controller.animation.villager_v2.move"}, 
					{"raise_arms": "controller.animation.villager_v2.raise_arms"}, 
					{"baby": "controller.animation.villager_v2.baby"}
            ],
            "render_controllers": [
                "controller.render.target_rotate",
                "controller.render.block",
                "controller.render.villager_v2_base",
                "controller.render.villager_v2_masked",
                "controller.render.villager_v2_level"
            ],
            "spawn_egg": {
                "texture": "spawn_egg",
                "texture_index": 14
            }
        }
    }
}
