Minecraft wiki entry for Village_mechanics, associated text: Zombies in sieges ignore the 24-block minimum distance from the player, but other than that, behave absolutely normally (i.e., they do not spawn on glowstone or any other transparent or half block, need a 2×1×1 minimum space, etc.). They can also spawn inside doors. However, zombies do not spawn 128 blocks away from the player, even though the siege is happening in the game code. This causes the player to be safe if they build a village higher on the y axis. Houses can be zombie-proof by taking out one ground block from directly in front of the door, and if necessary, rehanging the door such that the outside is "smooth," i.e. the door's position on its ground block runs consistent with the outside wall. This is because zombies can break only the top half of a door, and if they have to jump, they cannot get through. In addition, players can fill the hole with two layers of carpet to achieve the same effect as zombies cannot pathfind into the door.