Zombie Villager V2 - 1.13.0.34

<< back to entity list

Last Updated

The Zombie Villager V2 entity last updated in Minecraft Version old
View Entity Version History >>

What's Changed:

Changes since stable release 1.12.0.28


      • New Value:
        "minecraft:experience_reward": {
            "on_death": "query.last_hit_by_player ? 5 + (query.equipment_count * Math.Random(1,3)) : 0"
        }
      • New Value:
        "minecraft:type_family": {
            "family": [
                "armorer",
                "zombie_villager",
                "zombie",
                "undead",
                "monster",
                "mob"
            ]
        }
        Previous Value:
        "minecraft:type_family": {
            "family": [
                "armorer",
                "zombie_villager",
                "zombie",
                "undead",
                "monster"
            ]
        }
      • New Value:
        "minecraft:experience_reward": {
            "on_death": "query.last_hit_by_player ? 12 + (query.equipment_count * Math.Random(1,3)) : 0"
        }
      • New Value:
        "minecraft:type_family": {
            "family": [
                "butcher",
                "zombie_villager",
                "zombie",
                "undead",
                "monster",
                "mob"
            ]
        }
        Previous Value:
        "minecraft:type_family": {
            "family": [
                "butcher",
                "zombie_villager",
                "zombie",
                "undead",
                "monster"
            ]
        }
      • New Value:
        "minecraft:type_family": {
            "family": [
                "cartographer",
                "zombie_villager",
                "zombie",
                "undead",
                "monster",
                "mob"
            ]
        }
        Previous Value:
        "minecraft:type_family": {
            "family": [
                "cartographer",
                "zombie_villager",
                "zombie",
                "undead",
                "monster"
            ]
        }
      • New Value:
        "minecraft:type_family": {
            "family": [
                "cleric",
                "zombie_villager",
                "zombie",
                "undead",
                "monster",
                "mob"
            ]
        }
        Previous Value:
        "minecraft:type_family": {
            "family": [
                "cleric",
                "zombie_villager",
                "zombie",
                "undead",
                "monster"
            ]
        }
      • New Value:
        "minecraft:type_family": {
            "family": [
                "farmer",
                "zombie",
                "zombie_villager",
                "undead",
                "monster",
                "mob"
            ]
        }
        Previous Value:
        "minecraft:type_family": {
            "family": [
                "farmer",
                "zombie",
                "zombie_villager",
                "undead",
                "monster"
            ]
        }
      • New Value:
        "minecraft:type_family": {
            "family": [
                "fisherman",
                "zombie_villager",
                "zombie",
                "undead",
                "monster",
                "mob"
            ]
        }
        Previous Value:
        "minecraft:type_family": {
            "family": [
                "fisherman",
                "zombie_villager",
                "zombie",
                "undead",
                "monster"
            ]
        }
      • New Value:
        "minecraft:type_family": {
            "family": [
                "fletcher",
                "zombie_villager",
                "zombie",
                "undead",
                "monster",
                "mob"
            ]
        }
        Previous Value:
        "minecraft:type_family": {
            "family": [
                "fletcher",
                "zombie_villager",
                "zombie",
                "undead",
                "monster"
            ]
        }
      • New Value:
        "minecraft:type_family": {
            "family": [
                "leatherworker",
                "zombie_villager",
                "zombie",
                "undead",
                "monster",
                "mob"
            ]
        }
        Previous Value:
        "minecraft:type_family": {
            "family": [
                "leatherworker",
                "zombie_villager",
                "zombie",
                "undead",
                "monster"
            ]
        }
      • New Value:
        "minecraft:type_family": {
            "family": [
                "librarian",
                "zombie_villager",
                "zombie",
                "undead",
                "monster",
                "mob"
            ]
        }
        Previous Value:
        "minecraft:type_family": {
            "family": [
                "librarian",
                "zombie_villager",
                "zombie",
                "undead",
                "monster"
            ]
        }
      • New Value:
        "minecraft:type_family": {
            "family": [
                "mason",
                "zombie_villager",
                "zombie",
                "undead",
                "monster",
                "mob"
            ]
        }
        Previous Value:
        "minecraft:type_family": {
            "family": [
                "mason",
                "zombie_villager",
                "zombie",
                "undead",
                "monster"
            ]
        }
      • New Value:
        "minecraft:type_family": {
            "family": [
                "nitwit",
                "zombie",
                "zombie_villager",
                "undead",
                "monster",
                "mob"
            ]
        }
        Previous Value:
        "minecraft:type_family": {
            "family": [
                "nitwit",
                "zombie",
                "zombie_villager",
                "undead",
                "monster"
            ]
        }
      • New Value:
        "minecraft:type_family": {
            "family": [
                "shepherd",
                "zombie_villager",
                "zombie",
                "undead",
                "monster",
                "mob"
            ]
        }
        Previous Value:
        "minecraft:type_family": {
            "family": [
                "shepherd",
                "zombie_villager",
                "zombie",
                "undead",
                "monster"
            ]
        }
      • New Value:
        "minecraft:transformation": {
            "into": "minecraft:villager_v2",
            "begin_transform_sound": "remedy",
            "transformation_sound": "unfect",
            "keep_level": true,
            "delay": {
                "value": 100,
                "block_assist_chance": 0.01,
                "block_radius": 4,
                "block_chance": 0.3,
                "block_types": [
                 "minecraft:bed",
                 "minecraft:iron_bars"
                ]
            }
        }
        Previous Value:
        "minecraft:transformation": {
            "into": "minecraft:villager_v2",
            "begin_transform_sound": "remedy",
            "transformation_sound": "unfect",
            "delay": {
                "value": 100,
                "block_assist_chance": 0.01,
                "block_radius": 4,
                "block_chance": 0.3,
                "block_types": [
                 "minecraft:bed",
                 "minecraft:iron_bars"
                ]
            }
        }
      • New Value:
        "minecraft:type_family": {
            "family": [
                "toolsmith",
                "zombie_villager",
                "zombie",
                "undead",
                "monster",
                "mob"
            ]
        }
        Previous Value:
        "minecraft:type_family": {
            "family": [
                "toolsmith",
                "zombie_villager",
                "zombie",
                "undead",
                "monster"
            ]
        }
      • New Value:
        "minecraft:type_family": {
            "family": [
                "unskilled",
                "zombie",
                "zombie_villager",
                "undead",
                "monster",
                "mob"
            ]
        }
        Previous Value:
        "minecraft:type_family": {
            "family": [
                "unskilled",
                "zombie",
                "zombie_villager",
                "undead",
                "monster"
            ]
        }
      • New Value:
        "minecraft:type_family": {
            "family": [
                "weaponsmith",
                "zombie_villager",
                "zombie",
                "undead",
                "monster",
                "mob"
            ]
        }
        Previous Value:
        "minecraft:type_family": {
            "family": [
                "weaponsmith",
                "zombie_villager",
                "zombie",
                "undead",
                "monster"
            ]
        }
      • New Value:
        "format_version": "1.13.0"
        Previous Value:
        "format_version": "1.11.0"
      • New Value:
        "minecraft:breathable": {
            "total_supply": 15,
            "suffocate_time": 0,
            "breathes_water": true
        }
        Previous Value:
        "minecraft:breathable": {
            "totalSupply": 15,
            "suffocateTime": 0,
            "breathesWater": true
        }
      • New Value:
        "minecraft:collision_box": {
            "width": 0.6,
            "height": 1.9
        }
        Previous Value:
        "minecraft:collision_box": {
            "width": 0.6,
            "height": 1.8
        }
      • New Value:
        "minecraft:hurt_on_condition": {
            "damage_conditions": [
                {
                 "filters": {
                    "test": "in_lava",
                    "subject": "self",
                    "operator": "==",
                    "value": true
                 },
                 "cause": "lava",
                 "damage_per_tick": 4
                }
            ]
        }
      • New Value:
        "minecraft:interact": {
            "interactions": {
                "on_interact": {
                 "filters": {
                    "all_of": [
                        {
                         "test": "has_equipment",
                         "domain": "hand",
                         "subject": "other",
                         "value": "golden_apple"
                        },
                        {
                         "test": "has_component",
                         "subject": "self",
                         "value": "minecraft:effect.weakness"
                        }
                    ]
                 },
                 "event": "villager_converted",
                 "target": "self"
                },
                "use_item": true,
                "interact_text": "action.interact.cure"
            }
        }
        Previous Value:
        "minecraft:interact": {
            "on_interact": {
                "filters": {
                 "all_of": [
                    {
                        "test": "has_equipment",
                        "domain": "hand",
                        "subject": "other",
                        "value": "golden_apple"
                    },
                    {
                        "test": "has_component",
                        "subject": "self",
                        "value": "minecraft:effect.weakness"
                    }
                 ]
                },
                "event": "villager_converted",
                "target": "self"
            },
            "use_item": true,
            "interact_text": "action.interact.cure"
        }
      • New Value:
        "minecraft:pushable": {
            "is_pushable": true,
            "is_pushable_by_piston": true
        }
      • New Value:
        "minecraft:rideable": {
            "seat_count": 1,
            "family_types": [
                "zombie"
            ],
            "seats": {
                "position": [
                 0,
                 1.1,
                 -0.35
                ]
            }
        }
        Previous Value:
        "minecraft:rideable": {
            "seat_count": 1,
            "family_types": [
                "zombie"
            ],
            "seats": {
                "position": [
                 0,
                 0.9,
                 -0.25
                ]
            }
        }

      • New Value:
        "body": {
            "rotation": [
                0,
                "math.sin(math.sqrt(variable.attack_time) * 360) * 11.46 - this",
                0
            ]
        }
        Previous Value:
        "body": {
            "rotation": [
                0,
                "variable.attack_body_rot_y - this",
                0
            ]
        }
      • New Value:
        "head": {
            "scale": 1.4
        }
        Previous Value:
        "head": {
            "scale": 1.399999976158142
        }
      • New Value:
        "head": {
            "relative_to": {
                "rotation": "entity"
            },
            "rotation": [
                "query.target_x_rotation",
                "query.target_y_rotation",
                0
            ]
        }
        Previous Value:
        "head": {
            "rotation": [
                "query.target_x_rotation",
                "query.target_y_rotation",
                0
            ]
        }
      • New Value:
        "leftarm": {
            "rotation": {
                "0.7": {
                 "post": [
                    "math.lerp(this, 11.25 * math.mod(query.modified_distance_moved, 26.0), variable.leftarmswim_amount)",
                    "math.lerp(this, 180.0, variable.leftarmswim_amount)",
                    "math.lerp(this, 72.77 + 13.4 * math.mod(query.modified_distance_moved, 26.0), variable.leftarmswim_amount)"
                 ],
                 "pre": [
                    "math.lerp(this, 0.0, variable.leftarmswim_amount)",
                    "math.lerp(this, 180.0, variable.leftarmswim_amount)",
                    "math.lerp(this, 180.0 - 0.01877 * (-65.0 * math.mod(query.modified_distance_moved, 26.0) + math.mod(query.modified_distance_moved, 26.0) * math.mod(query.modified_distance_moved, 26.0)), variable.leftarmswim_amount)"
                 ]
                },
                "1.1": [
                 "math.lerp(this, 11.25 * math.mod(query.modified_distance_moved, 26.0), variable.leftarmswim_amount)",
                 "math.lerp(this, 180.0, variable.leftarmswim_amount)",
                 "math.lerp(this, 72.77 + 13.4 * math.mod(query.modified_distance_moved, 26.0), variable.leftarmswim_amount)"
                ],
                "1.3": {
                 "post": [
                    "math.lerp(this, 90.0 - (22.5 * math.mod(query.modified_distance_moved, 26.0)), variable.leftarmswim_amount)",
                    "math.lerp(this, 180.0, variable.leftarmswim_amount)",
                    "math.lerp(this, 180.0, variable.leftarmswim_amount)"
                 ],
                 "pre": [
                    "math.lerp(this, 11.25 * math.mod(query.modified_distance_moved, 26.0), variable.leftarmswim_amount)",
                    "math.lerp(this, 180.0, variable.leftarmswim_amount)",
                    "math.lerp(this, 72.77 + 13.4 * math.mod(query.modified_distance_moved, 26.0), variable.leftarmswim_amount)"
                 ]
                }
            }
        }
        Previous Value:
        "leftarm": {
            "rotation": {
                "0.7": {
                 "post": [
                    "math.lerp(this, 11.25 * variable.internal_swim_pos, variable.leftarmswim_amount)",
                    "math.lerp(this, 180.0, variable.leftarmswim_amount)",
                    "math.lerp(this, 72.77 + 13.4 * variable.internal_swim_pos, variable.leftarmswim_amount)"
                 ],
                 "pre": [
                    "math.lerp(this, 0.0, variable.leftarmswim_amount)",
                    "math.lerp(this, 180.0, variable.leftarmswim_amount)",
                    "math.lerp(this, 180.0 - 0.01877 * (-65.0 * variable.internal_swim_pos + variable.internal_swim_pos * variable.internal_swim_pos), variable.leftarmswim_amount)"
                 ]
                },
                "1.1": [
                 "math.lerp(this, 11.25 * variable.internal_swim_pos, variable.leftarmswim_amount)",
                 "math.lerp(this, 180.0, variable.leftarmswim_amount)",
                 "math.lerp(this, 72.77 + 13.4 * variable.internal_swim_pos, variable.leftarmswim_amount)"
                ],
                "1.3": {
                 "post": [
                    "math.lerp(this, 90.0 - (22.5 * variable.internal_swim_pos), variable.leftarmswim_amount)",
                    "math.lerp(this, 180.0, variable.leftarmswim_amount)",
                    "math.lerp(this, 180.0, variable.leftarmswim_amount)"
                 ],
                 "pre": [
                    "math.lerp(this, 11.25 * variable.internal_swim_pos, variable.leftarmswim_amount)",
                    "math.lerp(this, 180.0, variable.leftarmswim_amount)",
                    "math.lerp(this, 72.77 + 13.4 * variable.internal_swim_pos, variable.leftarmswim_amount)"
                 ]
                }
            }
        }
      • New Value:
        "rightarm": {
            "rotation": [
                "variable.use_item_startup_progress * -60.0 + variable.use_item_interval_progress * 11.25",
                "variable.use_item_startup_progress * -22.5 + variable.use_item_interval_progress * 11.25",
                "variable.use_item_startup_progress * -5.625 + variable.use_item_interval_progress * 11.25"
            ]
        }
        Previous Value:
        "rightarm": {
            "rotation": [
                "variable.useitemstartupprogress * -60.0 + variable.useitemintervalprogress * 11.25",
                "variable.useitemstartupprogress * -22.5 + variable.useitemintervalprogress * 11.25",
                "variable.useitemstartupprogress * -5.625 + variable.useitemintervalprogress * 11.25"
            ]
        }
      • New Value:
        "animation.humanoid.celebrating": {
            "loop": true,
            "bones": {
                "leftarm": {
                 "rotation": [
                    "(math.cos(query.life_time * 800.0) * 2.865)",
                    180,
                    -135
                 ]
                },
                "rightarm": {
                 "rotation": [
                    "(math.cos(query.life_time * 800.0) * 2.865)",
                    180,
                    153
                 ]
                }
            }
        }
      • New Value:
        "animation_length": 1.3
        Previous Value:
        "animation_length": 1.299999952316284
      • New Value:
        "rightarm": {
            "rotation": [
                "math.sin(1.0 - math.pow(1.0 - variable.attack_time, 3.0) * 180.0) * (variable.is_brandishing_spear ? -1.0 : 1.0 )",
                "variable.is_brandishing_spear ? 0.0 : (math.sin(math.sqrt(variable.attack_time) * 360) * 11.46) * 2.0",
                0
            ]
        }
        Previous Value:
        "rightarm": {
            "rotation": [
                "math.sin(1.0 - math.pow(1.0 - variable.attack_time, 3.0) * 180.0) * (variable.is_brandishing_spear ? -1.0 : 1.0 )",
                "variable.is_brandishing_spear ? 0.0 : variable.attack_body_rot_y * 2.0",
                0
            ]
        }
      • New Value:
        "leftarm": {
            "rotation": [
                "math.sin(math.sqrt(variable.attack_time) * 360) * 11.46",
                0,
                0
            ]
        }
        Previous Value:
        "leftarm": {
            "rotation": [
                "variable.attack_body_rot_y",
                0,
                0
            ]
        }
      • New Value:
        "leftleg": {
            "rotation": [
                "variable.tcos0 * -1.4",
                0,
                0
            ]
        }
        Previous Value:
        "leftleg": {
            "rotation": [
                "variable.tcos1 * 1.4",
                0,
                0
            ]
        }
      • Previous Value:
        "leftleg": {
            "rotation": [
                "-math.sin(query.life_time * 76.8) * 2.865",
                0,
                0
            ]
        }
      • New Value:
        "rightarm": {
            "rotation": [
                "-variable.tcos0",
                0,
                0
            ]
        }
        Previous Value:
        "rightarm": {
            "rotation": [
                "variable.tcos1",
                0,
                0
            ]
        }
      • New Value:
        "rightarm": {
            "rotation": {
                "0.7": {
                 "post": [
                    "math.lerp(this, 11.25 * math.mod(query.modified_distance_moved, 26.0), variable.rightarmswim_amount)",
                    "math.lerp(this, 180.0, variable.rightarmswim_amount)",
                    "math.lerp(this, 72.77 + 13.4 * math.mod(query.modified_distance_moved, 26.0), variable.rightarmswim_amount)"
                 ],
                 "pre": [
                    "math.lerp(this, 0.0, variable.rightarmswim_amount)",
                    "math.lerp(this, 180.0, variable.rightarmswim_amount)",
                    "math.lerp(this, -0.1019 * (-65.0 * math.mod(query.modified_distance_moved, 26.0) + math.mod(query.modified_distance_moved, 26.0) * math.mod(query.modified_distance_moved, 26.0)), variable.rightarmswim_amount)"
                 ]
                },
                "1.1": [
                 "math.lerp(this, 11.25 * math.mod(query.modified_distance_moved, 26.0), variable.rightarmswim_amount)",
                 "math.lerp(this, 180.0, variable.rightarmswim_amount)",
                 "math.lerp(this, 72.77 + 13.4 * math.mod(query.modified_distance_moved, 26.0), variable.rightarmswim_amount)"
                ],
                "1.3": {
                 "post": [
                    "math.lerp(this, 90.0 - (22.5 * math.mod(query.modified_distance_moved, 26.0)), variable.rightarmswim_amount)",
                    "math.lerp(this, 180.0, variable.rightarmswim_amount)",
                    "math.lerp(this, 180.0, variable.rightarmswim_amount)"
                 ],
                 "pre": [
                    "math.lerp(this, 11.25 * math.mod(query.modified_distance_moved, 26.0), variable.rightarmswim_amount)",
                    "math.lerp(this, 180.0, variable.rightarmswim_amount)",
                    "math.lerp(this, 72.77 + 13.4 * math.mod(query.modified_distance_moved, 26.0), variable.rightarmswim_amount)"
                 ]
                }
            }
        }
        Previous Value:
        "rightarm": {
            "rotation": {
                "0.7": {
                 "post": [
                    "math.lerp(this, 11.25 * variable.internal_swim_pos, variable.rightarmswim_amount)",
                    "math.lerp(this, 180.0, variable.rightarmswim_amount)",
                    "math.lerp(this, 72.77 + 13.4 * variable.internal_swim_pos, variable.rightarmswim_amount)"
                 ],
                 "pre": [
                    "math.lerp(this, 0.0, variable.rightarmswim_amount)",
                    "math.lerp(this, 180.0, variable.rightarmswim_amount)",
                    "math.lerp(this, -0.1019 * (-65.0 * variable.internal_swim_pos + variable.internal_swim_pos * variable.internal_swim_pos), variable.rightarmswim_amount)"
                 ]
                },
                "1.1": [
                 "math.lerp(this, 11.25 * variable.internal_swim_pos, variable.rightarmswim_amount)",
                 "math.lerp(this, 180.0, variable.rightarmswim_amount)",
                 "math.lerp(this, 72.77 + 13.4 * variable.internal_swim_pos, variable.rightarmswim_amount)"
                ],
                "1.3": {
                 "post": [
                    "math.lerp(this, 90.0 - (22.5 * variable.internal_swim_pos), variable.rightarmswim_amount)",
                    "math.lerp(this, 180.0, variable.rightarmswim_amount)",
                    "math.lerp(this, 180.0, variable.rightarmswim_amount)"
                 ],
                 "pre": [
                    "math.lerp(this, 11.25 * variable.internal_swim_pos, variable.rightarmswim_amount)",
                    "math.lerp(this, 180.0, variable.rightarmswim_amount)",
                    "math.lerp(this, 72.77 + 13.4 * variable.internal_swim_pos, variable.rightarmswim_amount)"
                 ]
                }
            }
        }
      • New 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"
            ]
        }
        Previous Value:
        "leftarm": {
            "rotation": [
                "-90 - (variable.attack2 * 1.2 - variable.attack * 0.4) - variable.x_bob - this",
                "5.73 - (variable.attack2 * 0.6) - this",
                "-variable.z_bob - this"
            ]
        }
      • New 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"
            ]
        }
        Previous Value:
        "leftarm": {
            "rotation": [
                "math.lerprotate(this, -180.0, variable.swim_amount) - (variable.swim_amount * (variable.attack2 * 1.2 - variable.attack * 0.4)) - (variable.swim_amount * variable.x_bob) - this",
                "math.lerprotate(this, 14.325, variable.swim_amount) - this",
                "math.lerprotate(this, 14.325, variable.swim_amount) - (variable.swim_amount * variable.z_bob) - this"
            ]
        }
      • New 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"
            ]
        }
        Previous Value:
        "rightarm": {
            "rotation": [
                "90 * (variable.is_brandishing_spear - 1.0) - (variable.attack2 * 1.2 - variable.attack * 0.4) + variable.x_bob - this",
                "variable.attack2 * 0.6 - 5.73 - this",
                "variable.z_bob - this"
            ]
        }
      • New 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"
            ]
        }
        Previous Value:
        "rightarm": {
            "rotation": [
                "math.lerprotate(this, -180.0, variable.swim_amount) - (variable.swim_amount * (variable.attack2 * 1.2 - variable.attack * 0.4)) + (variable.swim_amount * variable.x_bob) - this",
                "math.lerprotate(this, 14.325, variable.swim_amount) - this",
                "math.lerprotate(this, -14.325, variable.swim_amount) + (variable.swim_amount * variable.z_bob) - this"
            ]
        }
      • New Value:
        "scripts": {
            "pre_animation": [
                "variable.num_professions = 14;",
                "variable.profession_index = ((query.variant > variable.num_professions) ? query.variant : 0);",
                "variable.tcos0 = (Math.cos(query.modified_distance_moved * 38.17) * query.modified_move_speed / variable.gliding_speed_value) * 57.3;"
            ]
        }
        Previous Value:
        "scripts": {
            "pre_animation": [
                "variable.num_professions = 14;",
                "variable.profession_index = ((query.variant > variable.num_professions) ? query.variant : 0);",
                "variable.tcos0 = (Math.cos(query.modified_distance_moved * 38.17) * query.modified_move_speed / variable.gliding_speed_value) * 57.3;",
                "variable.tcos1 = -variable.tcos0;",
                "variable.attack_body_rot_y = Math.sin(Math.sqrt(variable.attack_time) * 360.0) * 11.46;",
                "variable.cos_attack_body_rot_y = Math.cos(variable.attack_body_rot_y);",
                "variable.sin_attack_body_rot_y = Math.sin(variable.attack_body_rot_y);",
                "variable.internal_swim_pos = Math.mod(query.modified_distance_moved, 26.0);",
                "variable.attack = Math.sin((1.0 - (1.0 - variable.attack_time) * (1.0 - variable.attack_time)) * 180.0) * 57.3;",
                "variable.attack2 = Math.sin(variable.attack_time * 180.0) * 57.3;",
                "variable.z_bob = Math.cos(query.life_time * 103.13244) * 2.865 + 2.865;",
                "variable.x_bob = Math.sin(query.life_time * 76.776372) * 2.865;"
            ]
        }

Statistics:

Health

[20]

Loot / Barter Loot / Additional Drops
  • Rotten Flesh
  • Iron Ingot
  • Carrot
  • Potato
    Attack Damage
    • Default: 3
    Can be Ridden by Mobs
    • Adult: Zombie
    Families
    • Armorer: Armorer, Mob, Monster, Undead, Zombie, Zombie Villager
    • Butcher: Butcher, Mob, Monster, Undead, Zombie, Zombie Villager
    • Cartographer: Cartographer, Mob, Monster, Undead, Zombie, Zombie Villager
    • Cleric: Cleric, Mob, Monster, Undead, Zombie, Zombie Villager
    • Farmer: Farmer, Mob, Monster, Undead, Zombie, Zombie Villager
    • Fisherman: Fisherman, Mob, Monster, Undead, Zombie, Zombie Villager
    • Fletcher: Fletcher, Mob, Monster, Undead, Zombie, Zombie Villager
    • Leatherworker: Leatherworker, Mob, Monster, Undead, Zombie, Zombie Villager
    • Librarian: Librarian, Mob, Monster, Undead, Zombie, Zombie Villager
    • Mason: Mason, Mob, Monster, Undead, Zombie, Zombie Villager
    • Nitwit: Mob, Monster, Nitwit, Undead, Zombie, Zombie Villager
    • Shepherd: Mob, Monster, Shepherd, Undead, Zombie, Zombie Villager
    • Toolsmith: Mob, Monster, Toolsmith, Undead, Zombie, Zombie Villager
    • Unskilled: Mob, Monster, Undead, Unskilled, Zombie, Zombie Villager
    • Weaponsmith: Mob, Monster, Undead, Weaponsmith, Zombie, Zombie Villager
    Mark Variations
    • Desert Villager
    • Jungle Villager
    • Savanna Villager
    • Snow Villager
    • Swamp Villager
    • Taiga Villager
    Movement Speed
    • Adult: 0.23
    • Baby: 0.35
    Variations
    • Armorer
    • Butcher
    • Cartographer
    • Cleric
    • Farmer
    • Fisherman
    • Fletcher
    • Leatherworker
    • Librarian
    • Mason
    • Nitwit
    • Shepherd
    • Toolsmith
    • Unskilled
    • Weaponsmith
    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/entities/zombie_villager_v2.json
    Animations
    • resource_packs/vanilla/animations/humanoid.animation.json
    • resource_packs/vanilla/animations/zombie.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/zombie_villager_v2.entity.json
    Geometry
    • resource_packs/vanilla/models/entity/zombie_villager_v2.geo.json
    Loot Tables
    • behavior_packs/vanilla/loot_tables/entities/zombie.json
    Render Controllers
    • resource_packs/vanilla/render_controllers/zombie_villager_v2.render_controllers.json
    Sounds
    • resource_packs/vanilla/sounds/mob/zombie/step1.fsb
    • resource_packs/vanilla/sounds/mob/zombie/step2.fsb
    • resource_packs/vanilla/sounds/mob/zombie/step3.fsb
    • resource_packs/vanilla/sounds/mob/zombie/step4.fsb
    • resource_packs/vanilla/sounds/mob/zombie/step5.fsb
    • resource_packs/vanilla/sounds/mob/zombie_villager/death.fsb
    • resource_packs/vanilla/sounds/mob/zombie_villager/hurt1.fsb
    • resource_packs/vanilla/sounds/mob/zombie_villager/hurt2.fsb
    • resource_packs/vanilla/sounds/mob/zombie_villager/say1.fsb
    • resource_packs/vanilla/sounds/mob/zombie_villager/say2.fsb
    • resource_packs/vanilla/sounds/mob/zombie_villager/say3.fsb
    Textures
    • resource_packs/vanilla/textures/entity/zombie_villager2/zombie-villager.png
    • resource_packs/vanilla/textures/entity/zombie_villager2/biomes/biome-desert-zombie.png
    • resource_packs/vanilla/textures/entity/zombie_villager2/biomes/biome-jungle-zombie.png
    • resource_packs/vanilla/textures/entity/zombie_villager2/biomes/biome-plains-zombie.png
    • resource_packs/vanilla/textures/entity/zombie_villager2/biomes/biome-savanna-zombie.png
    • resource_packs/vanilla/textures/entity/zombie_villager2/biomes/biome-snow-zombie.png
    • resource_packs/vanilla/textures/entity/zombie_villager2/biomes/biome-swamp-zombie.png
    • resource_packs/vanilla/textures/entity/zombie_villager2/biomes/biome-taiga-zombie.png
    • resource_packs/vanilla/textures/entity/zombie_villager2/professions/armorer.tga
    • resource_packs/vanilla/textures/entity/zombie_villager2/professions/butcher.tga
    • resource_packs/vanilla/textures/entity/zombie_villager2/professions/cartographer.tga
    • resource_packs/vanilla/textures/entity/zombie_villager2/professions/cleric.tga
    • resource_packs/vanilla/textures/entity/zombie_villager2/professions/farmer.tga
    • resource_packs/vanilla/textures/entity/zombie_villager2/professions/fisherman.tga
    • resource_packs/vanilla/textures/entity/zombie_villager2/professions/fletcher.tga
    • resource_packs/vanilla/textures/entity/zombie_villager2/professions/leatherworker.tga
    • resource_packs/vanilla/textures/entity/zombie_villager2/professions/librarian.tga
    • resource_packs/vanilla/textures/entity/zombie_villager2/professions/nitwit.tga
    • resource_packs/vanilla/textures/entity/zombie_villager2/professions/shepherd.tga
    • resource_packs/vanilla/textures/entity/zombie_villager2/professions/stonemason.tga
    • resource_packs/vanilla/textures/entity/zombie_villager2/professions/toolsmith.tga
    • resource_packs/vanilla/textures/entity/zombie_villager2/professions/weaponsmith.tga

    Material Info:

    Material: Zombie Villager V2
    {
        "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"
        ],
        "depthFunc": "LessEqual"
    }
    Material: Zombie Villager V2 Masked
    {
        "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": "Clamp"
        },
        "+defines": [
            "USE_OVERLAY",
            "ALPHA_TEST",
            "MASKED_MULTITEXTURE"
        ],
        "+states": [
            "DisableCulling"
        ],
        "depthFunc": "LessEqual"
    }