Stray - 1.16.0.2

<< back to entity list

Last Updated

The Stray entity last updated in Minecraft Version 1.16
View Entity Version History >>

What's Changed:

Changes since stable release 1.14.60.5


      • New Value:
        "minecraft:behavior.melee_attack": {
            "priority": 4,
            "track_target": true,
            "speed_multiplier": 1.25
        }
        Previous Value:
        "minecraft:behavior.melee_attack": {
            "priority": 4,
            "target_dist": 1.2,
            "speed_multiplier": 1.25,
            "track_target": true
        }
      • New Value:
        "minecraft:behavior.ranged_attack": {
            "priority": 0,
            "attack_interval_min": 1,
            "attack_interval_max": 3,
            "attack_radius": 15
        }
        Previous Value:
        "minecraft:behavior.ranged_attack": {
            "attack_interval_min": 1,
            "attack_interval_max": 3,
            "attack_radius": 15
        }
      • New Value:
        "format_version": "1.16.0"
        Previous Value:
        "format_version": "1.13.0"
      • New Value:
        "minecraft:environment_sensor": {
            "triggers": [
                {
                 "filters": {
                    "all_of": [
                        {
                         "test": "in_water",
                         "subject": "self",
                         "operator": "==",
                         "value": false
                        },
                        {
                         "test": "has_ranged_weapon",
                         "subject": "self",
                         "operator": "==",
                         "value": true
                        }
                    ]
                 },
                 "event": "minecraft:ranged_mode"
                }
            ]
        }
        Previous Value:
        "minecraft:environment_sensor": {
            "triggers": {
                "filters": {
                 "test": "in_water",
                 "subject": "self",
                 "operator": "==",
                 "value": false
                },
                "event": "minecraft:ranged_mode"
            }
        }
      • New Value:
        "minecraft:environment_sensor": {
            "triggers": [
                {
                 "filters": {
                    "test": "is_underwater",
                    "subject": "self",
                    "operator": "==",
                    "value": true
                 },
                 "event": "minecraft:melee_mode"
                },
                {
                 "filters": {
                    "test": "has_ranged_weapon",
                    "subject": "self",
                    "operator": "==",
                    "value": false
                 },
                 "event": "minecraft:melee_mode"
                }
            ]
        }
        Previous Value:
        "minecraft:environment_sensor": {
            "triggers": {
                "filters": {
                 "test": "is_underwater",
                 "subject": "self",
                 "operator": "==",
                 "value": true
                },
                "event": "minecraft:melee_mode"
            }
        }
      • New Value:
        "minecraft:behavior.equip_item": {
            "priority": 3
        }
      • New Value:
        "minecraft:behavior.look_at_player": {
            "priority": 7,
            "look_distance": 8
        }
        Previous Value:
        "minecraft:behavior.look_at_player": {
            "priority": 6,
            "look_distance": 8
        }
      • New Value:
        "minecraft:behavior.pickup_items": {
            "priority": 5,
            "max_dist": 3,
            "goal_radius": 2,
            "speed_multiplier": 1,
            "pickup_based_on_chance": true,
            "can_pickup_any_item": true
        }
      • New Value:
        "minecraft:behavior.random_look_around": {
            "priority": 8
        }
        Previous Value:
        "minecraft:behavior.random_look_around": {
            "priority": 6
        }
      • New Value:
        "minecraft:behavior.random_stroll": {
            "priority": 6,
            "speed_multiplier": 1
        }
        Previous Value:
        "minecraft:behavior.random_stroll": {
            "priority": 5,
            "speed_multiplier": 1
        }
      • New Value:
        "minecraft:behavior.ranged_attack": {
            "priority": 0,
            "attack_interval_min": 1,
            "attack_interval_max": 3,
            "attack_radius": 15
        }
        Previous Value:
        "minecraft:behavior.ranged_attack": {
            "attack_interval_min": 1,
            "attack_interval_max": 3,
            "attack_radius": 15
        }
      • New Value:
        "minecraft:despawn": {
            "despawn_from_distance": []
        }
      • New Value:
        "minecraft:environment_sensor": {
            "triggers": [
                {
                 "filters": {
                    "test": "is_underwater",
                    "subject": "self",
                    "operator": "==",
                    "value": true
                 },
                 "event": "minecraft:melee_mode"
                },
                {
                 "filters": {
                    "test": "has_ranged_weapon",
                    "subject": "self",
                    "operator": "==",
                    "value": false
                 },
                 "event": "minecraft:melee_mode"
                }
            ]
        }
        Previous Value:
        "minecraft:environment_sensor": {
            "triggers": {
                "filters": {
                 "test": "is_underwater",
                 "subject": "self",
                 "operator": "==",
                 "value": true
                },
                "event": "minecraft:melee_mode"
            }
        }
      • New Value:
        "minecraft:equip_item": []
      • New Value:
        "minecraft:shareables": {
            "items": [
                {
                 "item": "minecraft:netherite_sword",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 0
                },
                {
                 "item": "minecraft:diamond_sword",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 1
                },
                {
                 "item": "minecraft:iron_sword",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 2
                },
                {
                 "item": "minecraft:stone_sword",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 3
                },
                {
                 "item": "minecraft:golden_sword",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 4
                },
                {
                 "item": "minecraft:wooden_sword",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 5
                },
                {
                 "item": "minecraft:bow",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 6
                },
                {
                 "item": "minecraft:netherite_helmet",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 0
                },
                {
                 "item": "minecraft:diamond_helmet",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 1
                },
                {
                 "item": "minecraft:iron_helmet",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 2
                },
                {
                 "item": "minecraft:chainmail_helmet",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 3
                },
                {
                 "item": "minecraft:golden_helmet",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 4
                },
                {
                 "item": "minecraft:leather_helmet",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 5
                },
                {
                 "item": "minecraft:turtle_helmet",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 6
                },
                {
                 "item": "minecraft:skull:0",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 7
                },
                {
                 "item": "minecraft:skull:1",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 7
                },
                {
                 "item": "minecraft:carved_pumpkin",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 7
                },
                {
                 "item": "minecraft:netherite_chestplate",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 0
                },
                {
                 "item": "minecraft:diamond_chestplate",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 1
                },
                {
                 "item": "minecraft:iron_chestplate",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 2
                },
                {
                 "item": "minecraft:chainmail_chestplate",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 3
                },
                {
                 "item": "minecraft:golden_chestplate",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 4
                },
                {
                 "item": "minecraft:leather_chestplate",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 5
                },
                {
                 "item": "minecraft:netherite_leggings",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 0
                },
                {
                 "item": "minecraft:diamond_leggings",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 1
                },
                {
                 "item": "minecraft:iron_leggings",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 2
                },
                {
                 "item": "minecraft:chainmail_leggings",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 3
                },
                {
                 "item": "minecraft:golden_leggings",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 4
                },
                {
                 "item": "minecraft:leather_leggings",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 5
                },
                {
                 "item": "minecraft:netherite_boots",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 0
                },
                {
                 "item": "minecraft:diamond_boots",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 1
                },
                {
                 "item": "minecraft:iron_boots",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 2
                },
                {
                 "item": "minecraft:chainmail_boots",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 3
                },
                {
                 "item": "minecraft:golden_boots",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 4
                },
                {
                 "item": "minecraft:leather_boots",
                 "want_amount": 1,
                 "surplus_amount": 1,
                 "priority": 5
                }
            ]
        }
      • New Value:
        "minecraft:shooter": {
            "def": "minecraft:arrow",
            "aux_val": 19
        }
        Previous Value:
        "minecraft:shooter": {
            "type": "Arrow",
            "def": "minecraft:arrow",
            "aux_val": 19
        }
      • New Value:
        "minecraft:shooter": {
            "def": "minecraft:arrow",
            "aux_val": 19
        }
        Previous Value:
        "minecraft:shooter": {
            "type": "Arrow",
            "def": "minecraft:arrow",
            "aux_val": 19
        }

      • New Value:
        "leftarm": {
            "rotation": [
                "-90.0 - ((math.sin(variable.attack_time * 180.0) * 57.3) * 1.2 - (math.sin((1.0 - (1.0 - variable.attack_time) * (1.0 - variable.attack_time)) * 180.0) * 57.3) * 0.4) - (math.sin(query.life_time * 76.776372) * 2.865) - this",
                "5.73 - ((math.sin(variable.attack_time * 180.0) * 57.3) * 0.6) - this",
                "math.cos(query.life_time * 103.13244) * -2.865 - 2.865 - this"
            ]
        }
        Previous Value:
        "leftarm": {
            "rotation": [
                "-90 - ((math.sin(variable.attack_time * 180.0) * 57.3) * 1.2 - (math.sin((1.0 - (1.0 - variable.attack_time) * (1.0 - variable.attack_time)) * 180.0) * 57.3) * 0.4) - (math.sin(query.life_time * 76.776372) * 2.865) - this",
                "5.73 - ((math.sin(variable.attack_time * 180.0) * 57.3) * 0.6) - this",
                "math.cos(query.life_time * 103.13244) * -2.865 - 2.865 - this"
            ]
        }
      • New Value:
        "body": {
            "position": [
                0,
                "variable.swim_amount * -10.0 - this",
                "variable.swim_amount * 9.0 - this"
            ],
            "rotation": [
                "variable.swim_amount * (90.0 + query.target_x_rotation)",
                0,
                0
            ]
        }
      • New Value:
        "leftleg": {
            "rotation": [
                "math.lerp(this, math.cos(query.life_time * 390.0 + 180.0) * 0.3, variable.swim_amount)",
                0,
                0
            ]
        }
      • New Value:
        "leftarm": {
            "rotation": [
                "math.lerp(this, -180.0, variable.swim_amount) - (variable.swim_amount * ((math.sin(variable.attack_time * 180.0) * 57.3) * 1.2 - (math.sin((1.0 - (1.0 - variable.attack_time) * (1.0 - variable.attack_time)) * 180.0) * 57.3) * 0.4)) - (variable.swim_amount * (math.sin(query.life_time * 76.776372) * 2.865)) - this",
                "math.lerp(this, 14.325, variable.swim_amount) - this",
                "math.lerp(this, 14.325, variable.swim_amount) - (variable.swim_amount * (math.cos(query.life_time * 103.13244) * 2.865 + 2.865)) - this"
            ]
        }
        Previous Value:
        "leftarm": {
            "rotation": [
                "math.lerprotate(this, -180.0, variable.swim_amount) - (variable.swim_amount * ((math.sin(variable.attack_time * 180.0) * 57.3) * 1.2 - (math.sin((1.0 - (1.0 - variable.attack_time) * (1.0 - variable.attack_time)) * 180.0) * 57.3) * 0.4)) - (variable.swim_amount * (math.sin(query.life_time * 76.776372) * 2.865)) - this",
                "math.lerprotate(this, 14.325, variable.swim_amount) - this",
                "math.lerprotate(this, 14.325, variable.swim_amount) - (variable.swim_amount * (math.cos(query.life_time * 103.13244) * 2.865 + 2.865)) - this"
            ]
        }
      • New Value:
        "rightarm": {
            "rotation": [
                "90.0 * (variable.is_brandishing_spear - 1.0) - ((math.sin(variable.attack_time * 180.0) * 57.3) * 1.2 - (math.sin((1.0 - (1.0 - variable.attack_time) * (1.0 - variable.attack_time)) * 180.0) * 57.3) * 0.4) + (math.sin(query.life_time * 76.776372) * 2.865) - this",
                "(math.sin(variable.attack_time * 180.0) * 57.3) * 0.6 - 5.73 - this",
                "math.cos(query.life_time * 103.13244) * 2.865 + 2.865 - this"
            ]
        }
        Previous Value:
        "rightarm": {
            "rotation": [
                "90 * (variable.is_brandishing_spear - 1.0) - ((math.sin(variable.attack_time * 180.0) * 57.3) * 1.2 - (math.sin((1.0 - (1.0 - variable.attack_time) * (1.0 - variable.attack_time)) * 180.0) * 57.3) * 0.4) + (math.sin(query.life_time * 76.776372) * 2.865) - this",
                "(math.sin(variable.attack_time * 180.0) * 57.3) * 0.6 - 5.73 - this",
                "math.cos(query.life_time * 103.13244) * 2.865 + 2.865 - this"
            ]
        }
      • New Value:
        "rightarm": {
            "rotation": [
                "math.lerp(this, -180.0, variable.swim_amount) - (variable.swim_amount * ((math.sin(variable.attack_time * 180.0) * 57.3) * 1.2 - (math.sin((1.0 - (1.0 - variable.attack_time) * (1.0 - variable.attack_time)) * 180.0) * 57.3) * 0.4)) + (variable.swim_amount * (math.sin(query.life_time * 76.776372) * 2.865)) - this",
                "math.lerp(this, 14.325, variable.swim_amount) - this",
                "math.lerp(this, -14.325, variable.swim_amount) + (variable.swim_amount * (math.cos(query.life_time * 103.13244) * 2.865 + 2.865)) - this"
            ]
        }
        Previous Value:
        "rightarm": {
            "rotation": [
                "math.lerprotate(this, -180.0, variable.swim_amount) - (variable.swim_amount * ((math.sin(variable.attack_time * 180.0) * 57.3) * 1.2 - (math.sin((1.0 - (1.0 - variable.attack_time) * (1.0 - variable.attack_time)) * 180.0) * 57.3) * 0.4)) + (variable.swim_amount * (math.sin(query.life_time * 76.776372) * 2.865)) - this",
                "math.lerprotate(this, 14.325, variable.swim_amount) - this",
                "math.lerprotate(this, -14.325, variable.swim_amount) + (variable.swim_amount * (math.cos(query.life_time * 103.13244) * 2.865 + 2.865)) - this"
            ]
        }
      • New Value:
        "rightleg": {
            "rotation": [
                "math.lerp(this, math.cos(query.life_time * 390.0) * 0.3, variable.swim_amount)",
                0,
                0
            ]
        }
      • New Value:
        "animation_controllers": [
            {
                "look_at_target": "controller.animation.humanoid.look_at_target"
            },
            {
                "move": "controller.animation.humanoid.move"
            },
            {
                "riding": "controller.animation.humanoid.riding"
            },
            {
                "holding": "controller.animation.humanoid.holding"
            },
            {
                "brandish_spear": "controller.animation.humanoid.brandish_spear"
            },
            {
                "charging": "controller.animation.humanoid.charging"
            },
            {
                "attack": "controller.animation.humanoid.attack"
            },
            {
                "sneaking": "controller.animation.humanoid.sneaking"
            },
            {
                "bob": "controller.animation.humanoid.bob"
            },
            {
                "damage_nearby_mobs": "controller.animation.humanoid.damage_nearby_mobs"
            },
            {
                "bow_and_arrow": "controller.animation.humanoid.bow_and_arrow"
            },
            {
                "swimming": "controller.animation.zombie.swimming"
            },
            {
                "use_item_progress": "controller.animation.humanoid.use_item_progress"
            }
        ]
        Previous Value:
        "animation_controllers": [
            {
                "look_at_target": "controller.animation.humanoid.look_at_target"
            },
            {
                "move": "controller.animation.humanoid.move"
            },
            {
                "riding": "controller.animation.humanoid.riding"
            },
            {
                "holding": "controller.animation.humanoid.holding"
            },
            {
                "brandish_spear": "controller.animation.humanoid.brandish_spear"
            },
            {
                "charging": "controller.animation.humanoid.charging"
            },
            {
                "attack": "controller.animation.humanoid.attack"
            },
            {
                "sneaking": "controller.animation.humanoid.sneaking"
            },
            {
                "bob": "controller.animation.humanoid.bob"
            },
            {
                "damage_nearby_mobs": "controller.animation.humanoid.damage_nearby_mobs"
            },
            {
                "bow_and_arrow": "controller.animation.humanoid.bow_and_arrow"
            },
            {
                "swimming": "controller.animation.humanoid.swimming"
            },
            {
                "use_item_progress": "controller.animation.humanoid.use_item_progress"
            }
        ]
      • New Value:
        "animations": {
            "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.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",
            "attack.rotations": "animation.humanoid.attack.rotations",
            "sneaking": "animation.humanoid.sneaking",
            "bob": "animation.humanoid.bob",
            "damage_nearby_mobs": "animation.humanoid.damage_nearby_mobs",
            "bow_and_arrow": "animation.humanoid.bow_and_arrow",
            "swimming": "animation.zombie.swimming",
            "use_item_progress": "animation.humanoid.use_item_progress"
        }
        Previous Value:
        "animations": {
            "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.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",
            "attack.rotations": "animation.humanoid.attack.rotations",
            "sneaking": "animation.humanoid.sneaking",
            "bob": "animation.humanoid.bob",
            "damage_nearby_mobs": "animation.humanoid.damage_nearby_mobs",
            "bow_and_arrow": "animation.humanoid.bow_and_arrow",
            "swimming": "animation.humanoid.swimming",
            "use_item_progress": "animation.humanoid.use_item_progress"
        }

Statistics:

Health

[20]

Loot / Barter Loot / Additional Drops
  • Chainmail Helmet
  • Diamond Helmet
  • Golden Helmet
  • Iron Helmet
  • Leather Helmet
  • Bow
  • Arrow
  • Bone
    Attack Damage
    • Melee Attack: 3
    Families
    • Default: Mob, Monster, Skeleton, Stray, Undead
    Movement Speed
    • Default: 0.25
    Shoots Projectiles
    • Default: Arrow
    • Ranged Attack: Arrow
    Other Attributes
    • Burns in Daylight
    • Can be Renamed
    • Can Breath in Water
    • Can Climb
    • Can Jump
    • Has Collisions
    • Has Gravity
    • Pushable
    • Pushable by Pistons

    Associated Files:

    Behavior File
    • behavior_packs/vanilla_1.16/entities/stray.json
    Animations
    • resource_packs/vanilla/animations/zombie.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/zombie.animation_controllers.json
    Entity
    • resource_packs/vanilla/entity/stray.entity.json
    Geometry
    • resource_packs/vanilla/models/entity/stray.geo.json
    • resource_packs/vanilla/models/entity/stray_armor.geo.json
    Loot Tables
    • behavior_packs/vanilla/loot_tables/entities/armor_set_chain.json
    • behavior_packs/vanilla/loot_tables/entities/armor_set_diamond.json
    • behavior_packs/vanilla/loot_tables/entities/armor_set_gold.json
    • behavior_packs/vanilla/loot_tables/entities/armor_set_iron.json
    • behavior_packs/vanilla/loot_tables/entities/armor_set_leather.json
    • behavior_packs/vanilla/loot_tables/entities/skeleton_gear.json
    • behavior_packs/vanilla/loot_tables/entities/stray.json
    Render Controllers
    • resource_packs/vanilla/render_controllers/stray.render_controllers.json
    • resource_packs/vanilla/render_controllers/stray_clothes.render_controllers.json
    Sounds
    • resource_packs/vanilla/sounds/mob/stray/death1.fsb
    • resource_packs/vanilla/sounds/mob/stray/death2.fsb
    • resource_packs/vanilla/sounds/mob/stray/hurt1.fsb
    • resource_packs/vanilla/sounds/mob/stray/hurt2.fsb
    • resource_packs/vanilla/sounds/mob/stray/hurt3.fsb
    • resource_packs/vanilla/sounds/mob/stray/hurt4.fsb
    • resource_packs/vanilla/sounds/mob/stray/idle1.fsb
    • resource_packs/vanilla/sounds/mob/stray/idle2.fsb
    • resource_packs/vanilla/sounds/mob/stray/idle3.fsb
    • resource_packs/vanilla/sounds/mob/stray/idle4.fsb
    • resource_packs/vanilla/sounds/mob/stray/step1.fsb
    • resource_packs/vanilla/sounds/mob/stray/step2.fsb
    • resource_packs/vanilla/sounds/mob/stray/step3.fsb
    • resource_packs/vanilla/sounds/mob/stray/step4.fsb
    Spawn Rules
    • behavior_packs/vanilla/spawn_rules/stray.json
    Textures
    • resource_packs/vanilla/textures/entity/skeleton/stray.png
    • resource_packs/vanilla/textures/entity/skeleton/stray_overlay.png

    Material Info:

    Material: Stray
    {
        "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: Stray Clothes
    {
        "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"
        ]
    }