Minecraft – Can mobs spawn on interactable blocks, or solid blocks occupied by interactable blocks

minecraft-java-edition

I was trying to build a safe area for sleeping that doesn't have light. To prevent mobs from spawning, I only used half slabs (bottom half) and glass with a few exceptions. I needed beds, doors and chests which all must sit on solid blocks.

Somehow, mobs are still spawning in this area, although I can't track down where. Can mobs spawn on these solid blocks inhabited by doors, chests and beds?

Here is the construction;

Room construction

Best Answer

Mob spawning happens in two stages.

  • First: a block is picked at random. This block has to be exactly Air (not any non-solid block) for a pack of mobs to spawn around it. No solid block is even required under the chosen block, just it to be Air.
  • Second: several attempts are made to spawn individual mobs around the pack center - at exactly the same height, but up to 20 blocks away horizontally. Strictly speaking, getting a mob spawn at 20 blocks from pack center is impossibly rare, but still can happen. Most attempts fall within 5-10 blocks of the center.

The culprit in your case is the second stage - individual mobs can spawn inside non-solid blocks like Carpets, Pressure Plates, open Fence Gates and even Doors - tall mobs are thin enough not to collide with a door when they are placed in the center of the block.

Experimental proof

Had your installation been underground, with no Air block at the level of doors, it would be secure. But it being in the air, packs start spawning outside, and "leak" inside through door blocks. Oh, plus there's air above glass floor.

P.S.: My test world shown on the screenshot is a snow-covered superflat. Though mobs definitely can spawn in snow cover blocks, there is never (if I'm careful) an Air block on ground level, so the world is safe.