How can I force Minecraft to only spawn monsters from spawners?

I'm making an adventure map in Minecraft, so I've put a lot of mob spawners to make them spawn where I want them to, but they also keep spawning where I don't want them to spawn, messing up with mob and non-mob zones.

Lighting everything up is not a option, as most of the map is meant to be dark. Is there a way to do this, perhaps with a mod?


This mod might help. It's part of zombe's modpack. You can disable mob spawning on man-made materials and other specific blocks. I'm not sure if your settings will carry, though.

You should also note that mobs can't spawn on glass, so try making the flooring glass, though that might ruin the map.


Mobs will only spawn on top of opaque solid blocks. Therefore, you can create surfaces which mobs will not spawn on using any block which is solid (that is, you can collide with it) and not opaque (that is, you can see through or past it), such as:

  • single Slabs
  • Stairs
  • Ice
  • Glass

Of these, I suggest you try slabs (and stairs) as your basic technique, as there are a variety of interesting design possibilities with slabs, and they come in several materials so you can have some variety. Note that a double slab is the same as a normal block and will spawn monsters.


Use /gamerule doMobSpawning false and then the mobs will spawn only from spawners.