Player - 1.16.221.101

<< back to entity list

Last Updated

The Player entity last updated in Minecraft Version 1.16.200
View Entity Version History >>

What's Changed:

Changes since stable release 1.16.220.02

There have been no changes to this entity or its associated files since this previous version

Changes since stable release 1.16.0.2



      • New Value:
        "leftarm": {
            "position": [
                "math.sin(-query.walk_distance * 180.0) * variable.hand_bob * 1.5",
                "-math.abs(math.cos(-query.walk_distance * 180.0)) * variable.hand_bob * 15.0 + variable.short_arm_offset_left",
                0
            ]
        }
        Previous Value:
        "leftarm": {
            "position": [
                "math.sin(-query.walk_distance * 180.0) * variable.hand_bob * 9.75",
                "-math.abs(math.cos(-query.walk_distance * 180.0)) * variable.hand_bob * 15.0 + variable.short_arm_offset_left",
                0
            ]
        }
      • New Value:
        "animation.player.first_person.attack_rotation_item": {
            "loop": true,
            "override_previous_animation": true,
            "bones": {
                "rightitem": {
                 "position": [
                    "math.sin(math.sqrt(variable.attack_time) * 75.0) * 10.0",
                    "math.sin(math.sqrt(variable.attack_time) * 65.0) * 5.0",
                    "-math.sin(math.sqrt(variable.attack_time) * 115.0) * 5.0"
                 ],
                 "rotation": [
                    "-math.sin(math.sqrt(variable.attack_time) * 25.0) * 70.0",
                    "-math.sin(math.sqrt(variable.attack_time) * 75.0) * 15.0",
                    "-math.sin(math.sqrt(variable.attack_time) * 80.0) * 35.0"
                 ]
                }
            }
        }
      • New Value:
        "animation.player.first_person.breathing_bob": {
            "loop": true,
            "bones": {
                "rightitem": {
                 "position": [
                    0,
                    "math.sin(q.life_time * 45.0) * 0.5",
                    0
                 ]
                }
            }
        }
      • New Value:
        "animation.player.first_person.crossbow_hold": {
            "loop": true,
            "bones": {
                "rightitem": {
                 "position": [
                    "query.get_equipped_item_name('off_hand') == 'shield' ? -4.0 : 1.0",
                    "query.get_equipped_item_name('off_hand') == 'shield' ? 0.0 : 5.0",
                    "query.get_equipped_item_name('off_hand') == 'shield' ? 0.0 : -13.0"
                 ]
                }
            }
        }
      • New Value:
        "rightarm": {
            "position": [
                "math.sin(-query.walk_distance * 180.0) * variable.hand_bob * 1.5",
                "-math.abs(math.cos(-query.walk_distance * 180.0)) * variable.hand_bob * 15.0 + variable.short_arm_offset_right",
                0
            ]
        }
        Previous Value:
        "rightarm": {
            "position": [
                "math.sin(-query.walk_distance * 180.0) * variable.hand_bob * 9.75",
                "-math.abs(math.cos(-query.walk_distance * 180.0)) * variable.hand_bob * 15.0 + variable.short_arm_offset_right",
                0
            ]
        }
      • New Value:
        "rightitem": {
            "position": [
                0,
                3,
                0
            ],
            "rotation": [
                -25,
                -5,
                -10
            ]
        }
      • New Value:
        "default": {
            "animations": [
                {
                 "first_person_attack_rotation": "variable.is_holding_right >= 0.0"
                },
                {
                 "first_person_attack_rotation_item": "variable.is_holding_right < 0.0"
                }
            ],
            "transitions": [
                {
                 "vr_attack": "variable.is_using_vr"
                }
            ]
        }
        Previous Value:
        "default": {
            "animations": [
                "first_person_attack_rotation"
            ],
            "transitions": [
                {
                 "vr_attack": "variable.is_using_vr"
                }
            ]
        }
      • New Value:
        "default": {
            "animations": [
                "humanoid_base_pose",
                {
                 "look_at_target": "!query.is_sleeping && !query.is_emoting"
                },
                "move.arms",
                "move.legs",
                "cape",
                {
                 "riding.arms": "query.is_riding"
                },
                {
                 "riding.legs": "query.is_riding"
                },
                "holding",
                {
                 "brandish_spear": "variable.is_brandishing_spear"
                },
                {
                 "charging": "query.is_charging"
                },
                {
                 "sneaking": "query.is_sneaking && !query.is_sleeping"
                },
                "bob",
                {
                 "damage_nearby_mobs": "variable.damage_nearby_mobs"
                },
                {
                 "swimming": "variable.swim_amount < 0.0"
                },
                {
                 "swimming.legs": "variable.swim_amount < 0.0"
                },
                {
                 "use_item_progress": "( variable.use_item_interval_progress < 0.0 ) || ( variable.use_item_startup_progress < 0.0 ) && !variable.is_brandishing_spear"
                },
                {
                 "sleeping": "query.is_sleeping && query.is_alive"
                },
                {
                 "attack.positions": "variable.attack_time <= 0.0"
                },
                {
                 "attack.rotations": "variable.attack_time <= 0.0"
                },
                {
                 "shield_block_main_hand": "query.blocking && query.get_equipped_item_name('off_hand') != 'shield' && query.get_equipped_item_name == 'shield'"
                },
                {
                 "shield_block_off_hand": "query.blocking && query.get_equipped_item_name('off_hand') == 'shield' && !(variable.item_use_normalized < 0 && variable.item_use_normalized > 1.0)"
                },
                {
                 "crossbow_controller": "query.get_equipped_item_name == 'crossbow'"
                },
                {
                 "third_person_bow_equipped": "query.get_equipped_item_name == 'bow' && (variable.item_use_normalized < 0 && variable.item_use_normalized > 1.0)"
                }
            ]
        }
        Previous Value:
        "default": {
            "animations": [
                "humanoid_base_pose",
                {
                 "look_at_target": "!query.is_sleeping && !query.is_emoting"
                },
                "move.arms",
                "move.legs",
                "cape",
                {
                 "riding.arms": "query.is_riding"
                },
                {
                 "riding.legs": "query.is_riding"
                },
                "holding",
                {
                 "brandish_spear": "variable.is_brandishing_spear"
                },
                {
                 "charging": "query.is_charging"
                },
                {
                 "sneaking": "query.is_sneaking && !query.is_sleeping"
                },
                "bob",
                {
                 "damage_nearby_mobs": "variable.damage_nearby_mobs"
                },
                {
                 "bow_and_arrow": "query.has_target"
                },
                {
                 "swimming": "variable.swim_amount < 0.0"
                },
                {
                 "swimming.legs": "variable.swim_amount < 0.0"
                },
                {
                 "use_item_progress": "( variable.use_item_interval_progress < 0.0 ) || ( variable.use_item_startup_progress < 0.0 ) && !variable.is_brandishing_spear"
                },
                {
                 "sleeping": "query.is_sleeping && query.is_alive"
                },
                {
                 "attack.positions": "variable.attack_time <= 0.0"
                },
                {
                 "attack.rotations": "variable.attack_time <= 0.0"
                },
                {
                 "shield_block_main_hand": "query.blocking && query.get_equipped_item_name('off_hand') != 'shield' && query.get_equipped_item_name == 'shield'"
                },
                {
                 "shield_block_off_hand": "query.blocking && query.get_equipped_item_name('off_hand') == 'shield' && !(variable.item_use_normalized < 0 && variable.item_use_normalized > 1.0)"
                },
                {
                 "crossbow_controller": "query.get_equipped_item_name == 'crossbow'"
                },
                {
                 "third_person_bow_equipped": "query.get_equipped_item_name == 'bow' && (variable.item_use_normalized < 0 && variable.item_use_normalized > 1.0)"
                }
            ]
        }
      • New Value:
        "first_person": {
            "animations": [
                "first_person_swap_item",
                {
                 "first_person_attack_controller": "variable.attack_time < 0.0f && query.get_equipped_item_name != 'map'"
                },
                "first_person_base_pose",
                {
                 "first_person_empty_hand": "query.get_equipped_item_name(0, 1) != 'map'"
                },
                {
                 "first_person_walk": "variable.bob_animation"
                },
                {
                 "first_person_map_controller": "(query.get_equipped_item_name(0, 1) == 'map' || query.get_equipped_item_name('off_hand') == 'map')"
                },
                {
                 "first_person_crossbow_equipped": "query.get_equipped_item_name == 'crossbow' && (variable.item_use_normalized < 0 && variable.item_use_normalized > 1.0)"
                },
                {
                 "first_person_crossbow_hold": "query.get_equipped_item_name == 'crossbow' && query.item_is_charged"
                },
                {
                 "first_person_breathing_bob": "variable.attack_time >= 0.0"
                }
            ],
            "transitions": [
                {
                 "paperdoll": "variable.is_paperdoll"
                },
                {
                 "map_player": "variable.map_face_icon"
                },
                {
                 "third_person": "!variable.is_first_person"
                }
            ]
        }
        Previous Value:
        "first_person": {
            "animations": [
                "first_person_swap_item",
                {
                 "first_person_attack_controller": "variable.attack_time < 0.0f && query.get_equipped_item_name != 'map'"
                },
                "first_person_base_pose",
                {
                 "first_person_empty_hand": "query.get_equipped_item_name(0, 1) != 'map'"
                },
                {
                 "first_person_walk": "!variable.bob_animation"
                },
                {
                 "first_person_map_controller": "(query.get_equipped_item_name(0, 1) == 'map' || query.get_equipped_item_name('off_hand') == 'map')"
                },
                {
                 "first_person_crossbow_equipped": "query.get_equipped_item_name == 'crossbow' && (variable.item_use_normalized < 0 && variable.item_use_normalized > 1.0)"
                }
            ],
            "transitions": [
                {
                 "paperdoll": "variable.is_paperdoll"
                },
                {
                 "map_player": "variable.map_face_icon"
                },
                {
                 "third_person": "!variable.is_first_person"
                }
            ]
        }
      • New Value:
        "third_person": {
            "animations": [
                "humanoid_base_pose",
                {
                 "look_at_target": "!query.is_sleeping && !query.is_emoting"
                },
                "move.arms",
                "move.legs",
                "cape",
                {
                 "riding.arms": "query.is_riding"
                },
                {
                 "riding.legs": "query.is_riding"
                },
                "holding",
                {
                 "brandish_spear": "variable.is_brandishing_spear"
                },
                {
                 "charging": "query.is_charging"
                },
                {
                 "sneaking": "query.is_sneaking && !query.is_sleeping"
                },
                "bob",
                {
                 "damage_nearby_mobs": "variable.damage_nearby_mobs"
                },
                {
                 "swimming": "variable.swim_amount < 0.0"
                },
                {
                 "swimming.legs": "variable.swim_amount < 0.0"
                },
                {
                 "use_item_progress": "( variable.use_item_interval_progress < 0.0 ) || ( variable.use_item_startup_progress < 0.0 ) && !variable.is_brandishing_spear"
                },
                {
                 "fishing_rod": "query.get_equipped_item_name == 'fishing_rod'"
                },
                {
                 "sleeping": "query.is_sleeping && query.is_alive"
                },
                {
                 "attack.positions": "variable.attack_time <= 0.0"
                },
                {
                 "attack.rotations": "variable.attack_time <= 0.0"
                },
                {
                 "shield_block_main_hand": "query.blocking && query.get_equipped_item_name('off_hand') != 'shield' && query.get_equipped_item_name == 'shield'"
                },
                {
                 "shield_block_off_hand": "query.blocking && query.get_equipped_item_name('off_hand') == 'shield' && !(variable.item_use_normalized < 0 && variable.item_use_normalized > 1.0)"
                },
                {
                 "crossbow_controller": "query.get_equipped_item_name == 'crossbow'"
                },
                {
                 "third_person_bow_equipped": "query.get_equipped_item_name == 'bow' && (variable.item_use_normalized < 0 && variable.item_use_normalized > 1.0)"
                }
            ],
            "transitions": [
                {
                 "paperdoll": "variable.is_paperdoll"
                },
                {
                 "first_person": "variable.is_first_person"
                },
                {
                 "map_player": "variable.map_face_icon"
                }
            ]
        }
        Previous Value:
        "third_person": {
            "animations": [
                "humanoid_base_pose",
                {
                 "look_at_target": "!query.is_sleeping && !query.is_emoting"
                },
                "move.arms",
                "move.legs",
                "cape",
                {
                 "riding.arms": "query.is_riding"
                },
                {
                 "riding.legs": "query.is_riding"
                },
                "holding",
                {
                 "brandish_spear": "variable.is_brandishing_spear"
                },
                {
                 "charging": "query.is_charging"
                },
                {
                 "sneaking": "query.is_sneaking && !query.is_sleeping"
                },
                "bob",
                {
                 "damage_nearby_mobs": "variable.damage_nearby_mobs"
                },
                {
                 "bow_and_arrow": "query.has_target"
                },
                {
                 "swimming": "variable.swim_amount < 0.0"
                },
                {
                 "swimming.legs": "variable.swim_amount < 0.0"
                },
                {
                 "use_item_progress": "( variable.use_item_interval_progress < 0.0 ) || ( variable.use_item_startup_progress < 0.0 ) && !variable.is_brandishing_spear"
                },
                {
                 "fishing_rod": "query.get_equipped_item_name == 'fishing_rod'"
                },
                {
                 "sleeping": "query.is_sleeping && query.is_alive"
                },
                {
                 "attack.positions": "variable.attack_time <= 0.0"
                },
                {
                 "attack.rotations": "variable.attack_time <= 0.0"
                },
                {
                 "shield_block_main_hand": "query.blocking && query.get_equipped_item_name('off_hand') != 'shield' && query.get_equipped_item_name == 'shield'"
                },
                {
                 "shield_block_off_hand": "query.blocking && query.get_equipped_item_name('off_hand') == 'shield' && !(variable.item_use_normalized < 0 && variable.item_use_normalized > 1.0)"
                },
                {
                 "crossbow_controller": "query.get_equipped_item_name == 'crossbow'"
                },
                {
                 "third_person_bow_equipped": "query.get_equipped_item_name == 'bow' && (variable.item_use_normalized < 0 && variable.item_use_normalized > 1.0)"
                }
            ],
            "transitions": [
                {
                 "paperdoll": "variable.is_paperdoll"
                },
                {
                 "first_person": "variable.is_first_person"
                },
                {
                 "map_player": "variable.map_face_icon"
                }
            ]
        }
      • New Value:
        "vr_attack": {
            "animations": [
                {
                 "first_person_vr_attack_rotation": "variable.is_holding_right >= 0.0"
                },
                {
                 "first_person_attack_rotation_item": "variable.is_holding_right < 0.0"
                }
            ],
            "transitions": [
                {
                 "default": "!variable.is_using_vr"
                }
            ]
        }
        Previous Value:
        "vr_attack": {
            "animations": [
                "first_person_vr_attack_rotation"
            ],
            "transitions": [
                {
                 "default": "!variable.is_using_vr"
                }
            ]
        }
      • New Value:
        "animations": {
            "root": "controller.animation.player.root",
            "base_controller": "controller.animation.player.base",
            "hudplayer": "controller.animation.player.hudplayer",
            "humanoid_base_pose": "animation.humanoid.base_pose",
            "look_at_target": "controller.animation.humanoid.look_at_target",
            "look_at_target_ui": "animation.player.look_at_target.ui",
            "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",
            "look_at_target_inverted": "animation.player.look_at_target.inverted",
            "cape": "animation.player.cape",
            "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",
            "holding": "animation.player.holding",
            "brandish_spear": "animation.humanoid.brandish_spear",
            "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",
            "fishing_rod": "animation.humanoid.fishing_rod",
            "use_item_progress": "animation.humanoid.use_item_progress",
            "skeleton_attack": "animation.skeleton.attack",
            "sleeping": "animation.player.sleeping",
            "first_person_base_pose": "animation.player.first_person.base_pose",
            "first_person_empty_hand": "animation.player.first_person.empty_hand",
            "first_person_swap_item": "animation.player.first_person.swap_item",
            "first_person_attack_controller": "controller.animation.player.first_person_attack",
            "first_person_attack_rotation": "animation.player.first_person.attack_rotation",
            "first_person_vr_attack_rotation": "animation.player.first_person.vr_attack_rotation",
            "first_person_map_controller": "controller.animation.player.first_person_map",
            "first_person_map_hold": "animation.player.first_person.map_hold",
            "first_person_map_hold_attack": "animation.player.first_person.map_hold_attack",
            "first_person_map_hold_off_hand": "animation.player.first_person.map_hold_off_hand",
            "first_person_map_hold_main_hand": "animation.player.first_person.map_hold_main_hand",
            "first_person_crossbow_equipped": "animation.player.first_person.crossbow_equipped",
            "third_person_crossbow_equipped": "animation.player.crossbow_equipped",
            "third_person_bow_equipped": "animation.player.bow_equipped",
            "crossbow_hold": "animation.player.crossbow_hold",
            "crossbow_controller": "controller.animation.player.crossbow",
            "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"
        }
        Previous Value:
        "animations": {
            "root": "controller.animation.player.root",
            "base_controller": "controller.animation.player.base",
            "hudplayer": "controller.animation.player.hudplayer",
            "humanoid_base_pose": "animation.humanoid.base_pose",
            "look_at_target": "controller.animation.humanoid.look_at_target",
            "look_at_target_ui": "animation.player.look_at_target.ui",
            "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",
            "look_at_target_inverted": "animation.player.look_at_target.inverted",
            "cape": "animation.player.cape",
            "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",
            "holding": "animation.player.holding",
            "brandish_spear": "animation.humanoid.brandish_spear",
            "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",
            "fishing_rod": "animation.humanoid.fishing_rod",
            "use_item_progress": "animation.humanoid.use_item_progress",
            "skeleton_attack": "animation.skeleton.attack",
            "sleeping": "animation.player.sleeping",
            "first_person_base_pose": "animation.player.first_person.base_pose",
            "first_person_empty_hand": "animation.player.first_person.empty_hand",
            "first_person_swap_item": "animation.player.first_person.swap_item",
            "first_person_attack_controller": "controller.animation.player.first_person_attack",
            "first_person_attack_rotation": "animation.player.first_person.attack_rotation",
            "first_person_vr_attack_rotation": "animation.player.first_person.vr_attack_rotation",
            "first_person_walk": "animation.player.first_person.walk",
            "first_person_map_controller": "controller.animation.player.first_person_map",
            "first_person_map_hold": "animation.player.first_person.map_hold",
            "first_person_map_hold_attack": "animation.player.first_person.map_hold_attack",
            "first_person_map_hold_off_hand": "animation.player.first_person.map_hold_off_hand",
            "first_person_map_hold_main_hand": "animation.player.first_person.map_hold_main_hand",
            "first_person_crossbow_equipped": "animation.player.first_person.crossbow_equipped",
            "third_person_crossbow_equipped": "animation.player.crossbow_equipped",
            "third_person_bow_equipped": "animation.player.bow_equipped",
            "crossbow_hold": "animation.player.crossbow_hold",
            "crossbow_controller": "controller.animation.player.crossbow",
            "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"
        }
      • Previous Value:
        "geometry.trident": {
            "texturewidth": 32,
            "textureheight": 32,
            "bones": [
                {
                 "name": "pole",
                 "pivot": [
                    0,
                    24,
                    0
                 ],
                 "cubes": [
                    {
                        "origin": [
                         -0.5,
                         -3,
                         -0.5
                        ],
                        "size": [
                         1,
                         31,
                         1
                        ],
                        "inflate": 0.01,
                        "uv": [
                         0,
                         0
                        ]
                    },
                    {
                        "origin": [
                         -1.5,
                         22,
                         -0.5
                        ],
                        "size": [
                         3,
                         2,
                         1
                        ],
                        "uv": [
                         4,
                         0
                        ]
                    },
                    {
                        "origin": [
                         -2.5,
                         23,
                         -0.5
                        ],
                        "size": [
                         1,
                         4,
                         1
                        ],
                        "uv": [
                         4,
                         3
                        ]
                    },
                    {
                        "origin": [
                         1.5,
                         23,
                         -0.5
                        ],
                        "size": [
                         1,
                         4,
                         1
                        ],
                        "uv": [
                         4,
                         3
                        ]
                    }
                 ]
                }
            ]
        }

Statistics:

    Can be Ridden by Mobs
    • Default: Parrot Tame
    Families
    • Default: Player
    Movement Speed
    • Default: 0.1
    Other Attributes
    • Attack Damage
    • Can be Renamed
    • Can Climb
    • Has Collisions
    • Has Gravity
    • Pushable by Pistons

    Associated Files:

    Behavior File
    • behavior_packs/vanilla_1.16.100/entities/player.json
    Animations
    • resource_packs/vanilla/animations/player.animation.json
    • resource_packs/vanilla/animations/skeleton.animation.json
    • resource_packs/vanilla_1.16.200/animations/player_firstperson.animation.json
    • resource_packs/vanilla_1.16/animations/humanoid.animation.json
    Animation Controllers
    • resource_packs/vanilla/animation_controllers/humanoid.animation_controllers.json
    • resource_packs/vanilla/animation_controllers/persona.animation_controllers.json
    • resource_packs/vanilla_1.16.200/animation_controllers/player.animation_controllers.json
    Entity
    • resource_packs/vanilla_1.16.200/entity/player.entity.json
    Geometry
    • resource_packs/vanilla/models/mobs.json
    Loot Tables
    • behavior_packs/vanilla/loot_tables/empty.json
    Sounds
    • resource_packs/vanilla/sounds/damage/hit1.fsb
    • resource_packs/vanilla/sounds/damage/hit2.fsb
    • resource_packs/vanilla/sounds/damage/hit3.fsb
    • resource_packs/vanilla/sounds/mob/guardian/curse.fsb
    • resource_packs/vanilla/sounds/mob/player/attack/strong1.fsb
    • resource_packs/vanilla/sounds/mob/player/attack/strong2.fsb
    • resource_packs/vanilla/sounds/mob/player/attack/strong3.fsb
    • resource_packs/vanilla/sounds/mob/player/attack/strong4.fsb
    • resource_packs/vanilla/sounds/mob/player/attack/strong5.fsb
    • resource_packs/vanilla/sounds/mob/player/attack/strong6.fsb
    • resource_packs/vanilla/sounds/mob/player/attack/weak1.fsb
    • resource_packs/vanilla/sounds/mob/player/attack/weak2.fsb
    • resource_packs/vanilla/sounds/mob/player/attack/weak3.fsb
    • resource_packs/vanilla/sounds/mob/player/attack/weak4.fsb
    • resource_packs/vanilla/sounds/random/bow.fsb
    Textures
    • resource_packs/vanilla/textures/entity/cape_invisible.png
    • resource_packs/vanilla/textures/entity/steve.png

    Material Info:

    Material: Entity Alphatest
    {
        "vertexShader": "shaders/entity.vertex",
        "vrGeometryShader": "shaders/entity.geometry",
        "fragmentShader": "shaders/entity.fragment",
        "vertexFields": [
            {
                "field": "Position"
            },
            {
                "field": "Normal"
            },
            {
                "field": "UV0"
            }
        ],
        "variants": [
            {
                "skinning": {
                    "+defines": [
                        "USE_SKINNING"
                    ],
                    "vertexFields": [
                        {
                            "field": "Position"
                        },
                        {
                            "field": "BoneId0"
                        },
                        {
                            "field": "Normal"
                        },
                        {
                            "field": "UV0"
                        }
                    ]
                }
            },
            {
                "skinning_color": {
                    "+defines": [
                        "USE_SKINNING",
                        "USE_OVERLAY"
                    ],
                    "+states": [
                        "Blending"
                    ],
                    "vertexFields": [
                        {
                            "field": "Position"
                        },
                        {
                            "field": "BoneId0"
                        },
                        {
                            "field": "Color"
                        },
                        {
                            "field": "Normal"
                        },
                        {
                            "field": "UV0"
                        }
                    ]
                }
            }
        ],
        "msaaSupport": [
            "Both"
        ],
        "+samplerStates": {
            "samplerIndex": 1,
            "textureWrap": "Repeat"
        },
        "+defines": [
            "USE_OVERLAY",
            "ALPHA_TEST"
        ],
        "+states": [
            "DisableCulling"
        ]
    }
    Material: Player Animated
    {
        "vertexShader": "shaders/entity.vertex",
        "vrGeometryShader": "shaders/entity.geometry",
        "fragmentShader": "shaders/entity.fragment",
        "vertexFields": [
            {
                "field": "Position"
            },
            {
                "field": "Normal"
            },
            {
                "field": "UV0"
            }
        ],
        "variants": [
            {
                "skinning": {
                    "+defines": [
                        "USE_SKINNING"
                    ],
                    "vertexFields": [
                        {
                            "field": "Position"
                        },
                        {
                            "field": "BoneId0"
                        },
                        {
                            "field": "Normal"
                        },
                        {
                            "field": "UV0"
                        }
                    ]
                }
            },
            {
                "skinning_color": {
                    "+defines": [
                        "USE_SKINNING",
                        "USE_OVERLAY"
                    ],
                    "+states": [
                        "Blending"
                    ],
                    "vertexFields": [
                        {
                            "field": "Position"
                        },
                        {
                            "field": "BoneId0"
                        },
                        {
                            "field": "Color"
                        },
                        {
                            "field": "Normal"
                        },
                        {
                            "field": "UV0"
                        }
                    ]
                }
            }
        ],
        "msaaSupport": [
            "Both"
        ],
        "+samplerStates": {
            "samplerIndex": 1,
            "textureWrap": "Repeat"
        },
        "+defines": [
            "USE_OVERLAY",
            "ALPHA_TEST",
            "USE_UV_ANIM"
        ],
        "+states": [
            "DisableCulling"
        ]
    }