Player - 1.20.30.2

<< back to entity list

Last Updated

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

What's Changed:

Changes since stable release 1.20.15.1

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

Changes since stable release 1.20.0.1


      • New Value:
        "animation.player.crawl": {
            "anim_time_update": "query.modified_distance_moved / 15.0",
            "animation_length": 1.3,
            "loop": true,
            "override_previous_animation": true,
            "bones": {
                "leftarm": {
                 "rotation": {
                    "0": [
                        0,
                        180,
                        180
                    ],
                    "0.7": [
                        0,
                        180,
                        287.2
                    ],
                    "1.1": [
                        90,
                        180,
                        180
                    ],
                    "1.3": [
                        0,
                        180,
                        180
                    ]
                 }
                },
                "rightarm": {
                 "rotation": {
                    "0": [
                        0,
                        180,
                        -180
                    ],
                    "0.7": [
                        0,
                        180,
                        -287.2
                    ],
                    "1.1": [
                        90,
                        180,
                        -180
                    ],
                    "1.3": [
                        0,
                        180,
                        -180
                    ]
                 }
                },
                "root": {
                 "position": [
                    0,
                    "5.0 * variable.swim_amount",
                    "17.0 * variable.swim_amount"
                 ],
                 "rotation": [
                    "variable.swim_amount * 90",
                    0,
                    0
                 ]
                }
            }
        }
      • New Value:
        "animation.player.crawl.legs": {
            "loop": true,
            "override_previous_animation": true,
            "bones": {
                "leftleg": {
                 "rotation": [
                    "math.lerp(0.0, math.cos(query.modified_distance_moved * 30.0 + 180.0) * 17.2, variable.swim_amount)",
                    -0.1,
                    -0.1
                 ]
                },
                "rightleg": {
                 "rotation": [
                    "math.lerp(0.0, math.cos(query.modified_distance_moved * 30.0) * 17.2, variable.swim_amount)",
                    0.1,
                    0.1
                 ]
                }
            }
        }
      • New Value:
        "root": {
            "position": [
                0,
                "(math.sin(query.target_x_rotation) * 17.0 + 5.0) * variable.swim_amount",
                "(math.cos(query.target_x_rotation) * 17.0) * variable.swim_amount"
            ],
            "rotation": [
                "variable.swim_amount * (90 + query.target_x_rotation)",
                0,
                0
            ]
        }
        Previous Value:
        "root": {
            "position": [
                0,
                "(math.sin(query.target_x_rotation) * 24.0 + 3.0) * variable.swim_amount",
                "(math.cos(query.target_x_rotation) * 24.0 + 9.0) * variable.swim_amount"
            ],
            "rotation": [
                "variable.swim_amount * (90 + query.target_x_rotation)",
                0,
                0
            ]
        }
      • New Value:
        "default": {
            "animations": [
                "look_at_target_default"
            ],
            "transitions": [
                {
                 "gliding": "query.is_gliding"
                },
                {
                 "swimming": "query.is_swimming || query.is_crawling"
                }
            ]
        }
        Previous Value:
        "default": {
            "animations": [
                "look_at_target_default"
            ],
            "transitions": [
                {
                 "gliding": "query.is_gliding"
                },
                {
                 "swimming": "query.is_swimming"
                }
            ]
        }
      • New Value:
        "swimming": {
            "animations": [
                "look_at_target_swimming"
            ],
            "transitions": [
                {
                 "gliding": "query.is_gliding"
                },
                {
                 "default": "!query.is_swimming && !query.is_crawling"
                }
            ]
        }
        Previous Value:
        "swimming": {
            "animations": [
                "look_at_target_swimming"
            ],
            "transitions": [
                {
                 "gliding": "query.is_gliding"
                },
                {
                 "default": "!query.is_swimming"
                }
            ]
        }
      • New Value:
        "gliding": {
            "animations": [
                "look_at_target_gliding"
            ],
            "transitions": [
                {
                 "swimming": "query.is_swimming || query.is_crawling"
                },
                {
                 "default": "!query.is_gliding"
                }
            ]
        }
        Previous Value:
        "gliding": {
            "animations": [
                "look_at_target_gliding"
            ],
            "transitions": [
                {
                 "swimming": "query.is_swimming"
                },
                {
                 "default": "!query.is_gliding"
                }
            ]
        }
      • 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"
                },
                {
                 "holding_spyglass": "variable.is_holding_spyglass"
                },
                {
                 "charging": "query.is_charging"
                },
                {
                 "sneaking": "query.is_sneaking && !query.is_sleeping"
                },
                {
                 "bob": "!variable.is_holding_spyglass && !variable.is_tooting_goat_horn && !variable.is_using_brush"
                },
                {
                 "damage_nearby_mobs": "variable.damage_nearby_mobs"
                },
                {
                 "swimming": "variable.swim_amount < 0.0"
                },
                {
                 "swimming.legs": "variable.swim_amount < 0.0"
                },
                {
                 "crawling": "query.is_crawling"
                },
                {
                 "crawling.legs": "query.is_crawling"
                },
                {
                 "use_item_progress": "( variable.use_item_interval_progress < 0.0 ) || ( variable.use_item_startup_progress < 0.0 ) && !variable.is_brandishing_spear && !variable.is_holding_spyglass && !variable.is_tooting_goat_horn && !variable.is_using_brush && !query.is_item_name_any('slot.weapon.mainhand', 'minecraft:bow')"
                },
                {
                 "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'"
                },
                {
                 "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)"
                },
                {
                 "tooting_goat_horn": "variable.is_tooting_goat_horn"
                },
                {
                 "holding_brush": "query.get_equipped_item_name == 'brush'"
                },
                {
                 "brushing": "variable.is_using_brush"
                }
            ],
            "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"
                },
                {
                 "holding_spyglass": "variable.is_holding_spyglass"
                },
                {
                 "charging": "query.is_charging"
                },
                {
                 "sneaking": "query.is_sneaking && !query.is_sleeping"
                },
                {
                 "bob": "!variable.is_holding_spyglass && !variable.is_tooting_goat_horn && !variable.is_using_brush"
                },
                {
                 "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 && !variable.is_holding_spyglass && !variable.is_tooting_goat_horn && !variable.is_using_brush && !query.is_item_name_any('slot.weapon.mainhand', 'minecraft:bow')"
                },
                {
                 "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'"
                },
                {
                 "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)"
                },
                {
                 "tooting_goat_horn": "variable.is_tooting_goat_horn"
                },
                {
                 "holding_brush": "query.get_equipped_item_name == 'brush'"
                },
                {
                 "brushing": "variable.is_using_brush"
                }
            ],
            "transitions": [
                {
                 "paperdoll": "variable.is_paperdoll"
                },
                {
                 "first_person": "variable.is_first_person"
                },
                {
                 "map_player": "variable.map_face_icon"
                }
            ]
        }
      • 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",
            "crawling": "animation.player.crawl",
            "crawling.legs": "animation.player.crawl.legs",
            "riding.arms": "animation.player.riding.arms",
            "riding.legs": "animation.player.riding.legs",
            "holding": "animation.player.holding",
            "brandish_spear": "animation.humanoid.brandish_spear",
            "holding_spyglass": "animation.humanoid.holding_spyglass",
            "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",
            "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_shield_block": "animation.player.first_person.shield_block",
            "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",
            "tooting_goat_horn": "animation.humanoid.tooting_goat_horn",
            "holding_brush": "animation.humanoid.holding_brush",
            "brushing": "animation.humanoid.brushing"
        }
        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",
            "holding_spyglass": "animation.humanoid.holding_spyglass",
            "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",
            "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_shield_block": "animation.player.first_person.shield_block",
            "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",
            "tooting_goat_horn": "animation.humanoid.tooting_goat_horn",
            "holding_brush": "animation.humanoid.holding_brush",
            "brushing": "animation.humanoid.brushing"
        }

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.19.50/entities/player.json
    Animations
    • resource_packs/vanilla_1.17.30/animations/skeleton.animation.json
    • resource_packs/vanilla_1.19.10/animations/player_firstperson.animation.json
    • resource_packs/vanilla_1.20.0/animations/humanoid.animation.json
    • resource_packs/vanilla_1.20.10/animations/player.animation.json
    Animation Controllers
    • resource_packs/vanilla_1.17.40/animation_controllers/persona.animation_controllers.json
    • resource_packs/vanilla_1.20.10/animation_controllers/humanoid.animation_controllers.json
    • resource_packs/vanilla_1.20.10/animation_controllers/player.animation_controllers.json
    Entity
    • resource_packs/vanilla_1.20.10/entity/player.entity.json
    Geometry
    • resource_packs/vanilla_1.19.80/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"
                        }
                    ]
                }
            },
            {
                "skinning_alphatest": {
                    "+defines": [
                        "USE_SKINNING",
                        "ALPHA_TEST"
                    ],
                    "+states": [
                        "DisableCulling"
                    ],
                    "vertexFields": [
                        {
                            "field": "Position"
                        },
                        {
                            "field": "BoneId0"
                        },
                        {
                            "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"
                        }
                    ]
                }
            },
            {
                "skinning_alphatest": {
                    "+defines": [
                        "USE_SKINNING",
                        "ALPHA_TEST"
                    ],
                    "+states": [
                        "DisableCulling"
                    ],
                    "vertexFields": [
                        {
                            "field": "Position"
                        },
                        {
                            "field": "BoneId0"
                        },
                        {
                            "field": "Normal"
                        },
                        {
                            "field": "UV0"
                        }
                    ]
                }
            }
        ],
        "msaaSupport": [
            "Both"
        ],
        "+samplerStates": {
            "samplerIndex": 1,
            "textureWrap": "Repeat"
        },
        "+defines": [
            "USE_OVERLAY",
            "ALPHA_TEST",
            "USE_UV_ANIM"
        ],
        "+states": [
            "DisableCulling"
        ]
    }
    Material: Player Spectator
    {
        "vertexShader": "shaders/entity.vertex",
        "vrGeometryShader": "shaders/entity.geometry",
        "fragmentShader": "shaders/entity.fragment",
        "vertexFields": [
            {
                "field": "Position"
            },
            {
                "field": "Normal"
            },
            {
                "field": "UV0"
            },
            {
                "field": "Position"
            },
            {
                "field": "Color"
            },
            {
                "field": "Normal"
            },
            {
                "field": "UV0"
            },
            {
                "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"
                        }
                    ]
                }
            },
            {
                "skinning_alphatest": {
                    "+defines": [
                        "USE_SKINNING",
                        "ALPHA_TEST"
                    ],
                    "+states": [
                        "DisableCulling"
                    ],
                    "vertexFields": [
                        {
                            "field": "Position"
                        },
                        {
                            "field": "BoneId0"
                        },
                        {
                            "field": "Normal"
                        },
                        {
                            "field": "UV0"
                        }
                    ]
                }
            },
            {
                "skinning": {
                    "+defines": [
                        "USE_SKINNING"
                    ],
                    "vertexFields": [
                        {
                            "field": "Position"
                        },
                        {
                            "field": "BoneId0"
                        },
                        {
                            "field": "Color"
                        },
                        {
                            "field": "Normal"
                        },
                        {
                            "field": "UV0"
                        }
                    ]
                }
            },
            {
                "skinning": {
                    "+defines": [
                        "USE_SKINNING"
                    ],
                    "vertexFields": [
                        {
                            "field": "Position"
                        },
                        {
                            "field": "BoneId0"
                        },
                        {
                            "field": "Normal"
                        },
                        {
                            "field": "UV0"
                        }
                    ]
                }
            }
        ],
        "msaaSupport": [
            "Both"
        ],
        "+samplerStates": {
            "samplerIndex": 0,
            "textureFilter": "Point"
        },
        "+defines": [
            "USE_OVERLAY",
            "USE_COLOR_MASK",
            "USE_UV_ANIM"
        ],
        "+states": [
            "Blending"
        ]
    }