Monster Spawner

Monster spawners (or mob spawners) are blocks having the appearance of a bluish-black cage structure, found in dungeons, abandoned mine shafts, strongholds and Nether fortresses. Inside the cage there are flames that do not give off any light and a miniature spinning version of the mob that will spawn, which slowly increases speed until the next mob spawns. Spawners can spawn any mob. However, without the use of an inventory editor or custom map they only spawn zombies, skeletons, spiders, cave spiders, blazes, and silverfish.

As of 12w22a, a mob spawner will drop 15-43 experience when broken. This means that it takes approx. 6 spawners to get to level 10, and a stack of spawners will get you from level 0 to 40.

Players have designed many traps to kill mobs from spawners, employing a long fall, drowning, lava, cactus or a combination of these, which allow the player to collect item drops or experience in great numbers with little risk (see monster spawner traps.)

The monster spawner is only available through use of the /give command and, if placed, will only spawn pigs by default. At this current time, even if correct data values for mobs are given when using the /give command, the mob spawner will always be a pig spawner. This is because its spawning data is stored as a tile entity and not in its item form, so spawners placed by a player default to spawning pigs.

An interesting quirk of the monster spawner (and the end portal frame) is that they are transparent in their rendering only - unlike all other transparent blocks, they can have torches and redstone placed on them, conduct a redstone current, will suffocate mobs, and more.

Occurrence


Spawners can occur in these places, spawning mobs chosen randomly when generated:
 * Dungeons
 * Spawns Zombies (50% chance), Skeletons (25%), or Spiders (25%). One per dungeon. Sometimes a Spider Spawner will also spawn a Spider Jockey.


 * Abandoned Mine Shafts
 * Spawns Cave Spiders. Located in horizontal tunnels, heavily surrounded by Cobwebs.


 * Strongholds
 * Spawns Silverfish. Located in the End Portal room. One per stronghold.


 * Nether Fortresses
 * Spawns Blazes. Located on Nether fortress balconies with stairs leading up to them.

Naturally occurring spawners will not spawn passive animals, Creepers, or Endermen. However, if a map editor or mod is used to create a spawner for any mob (although correct conditions must be upheld for the spawners to actually spawn a mob), it will function as expected (so it will even spawn Ender dragons)

There is no way to obtain a spawner in your inventory in Survival mode without turning on cheats, using mods with an inventory editor program, or using the "/give" operator command in a multiplayer server. It does not appear in the Creative mode inventory, but can be obtained using the pick block feature (before 1.2.5). If such a spawner is placed, or if a spawner is missing its tile entity data, it will spawn the same entity, but will have a pig inside.

Spawning behavior
A spawner will spawn mobs in the surrounding area, provided suitable spawning locations for the block's mob type can be found in the area. Spawning conditions vary from mob to mob. For example, Overworld monsters can only spawn in darkness (light level 7 or below), and animals can only spawn with a light level 9 or above. Spawner blocks can spawn some mobs in mid-air, ignoring general rules about spawning on solid ground. Pigs, however, still require a grass block on which to spawn.

A monster spawner is only active when a player is within a radius of 16 blocks from the spawner. While the block is active, it will spawn mobs within an 8 × 2 × 8 block volume (8 wide and 2 high and 8 long), centered on the corner of the spawner block with the lower x, y, and z-coordinates (i.e. the bottom northwestern corner). Mobs can spawn anywhere in this range that is suitable, even if the immediate vicinity of the spawner block itself is not suitable. The horizontal distribution is triangular, with positions near the spawner more likely than ones farther away.

Note that while mobs are spawned at fractional x and z-coordinates (i.e. not aligned to blocks), they are spawned at an integer y-coordinate. Horizontally, a mob can spawn with its center point anywhere within the 8 × 8 range, but vertically, mobs will spawn with their legs at either the same layer as the spawner block, one block above it, or one block below it. Due to the y-coordinate ranging from -1 to 1 of the bottom surface of the spawner block, there are 3 vertical blocks of space in which mobs can spawn even though the spawning volume is only two blocks in height. This 3-block vertical space can be proven to exist with cave spider spawners and glass to limit the spawning space.

For some types of mobs to spawn in the outer planes of the spawning volume, some planes outside the volume may also need to be free of opaque blocks to conform with the mobs' height, width, or other rules governing their individual spawn volumes. For mobs that are two or more blocks tall such as zombies, skeletons, or blazes to spawn in the top y-layer, the layer above that must contain only air.

For all of the volumes listed in the table, the horizontal plane is centered on the northwestern corner of the spawner block. While the spawning volume for pigs is 8.9 × 8.9 × 2.9, the requirement of grass blocks that are necessary for pigs to spawn will reduce the actual volume in which they successfully spawn.

The block will attempt to spawn 4 mobs at randomly chosen points within the spawning area, then wait anywhere from 200 to 799 ticks (10 to 39.95 seconds) before spawning again. As it waits, the mob inside the block will spin faster and faster. Except for spawning on a solid block, all of the usual requirements for spawning must be met (not in a solid block, correct light level, etc.), so the spawner will often produce fewer than 4 mobs. When it does spawn, it will "poof", and more lightless flames will temporarily appear around the Spawn block. If the block fails to spawn any mobs because it did not pick any suitable locations, it will repeat this process every tick until it succeeds. Only when it manages to spawn at least one mob will it start waiting for the next cycle. If, at the time of spawning, 6 or more monsters of the block's type are present within a 17 × 9 × 17 area (17 wide and 9 high and 17 long), centered on the spawner block, the spawner "poofs" without creating any monsters and then waits for the next cycle. However, if there are more of the mob outside of the specified range, then the monster spawner will continue spawning mobs indefinitely.

In Peaceful difficulty, Monster Spawner blocks will still appear, but any spawned hostile mobs will disappear the instant they spawn. (Zombie Pigmen, Magma Cubes, and Ghasts will not spawn at all.) This makes it easy to make the traps without being troubled by the mobs. The brief instant that the monster exists in the world before being removed is enough time for the player to be pushed around, for the sound file to play, and occasionally for Skeletons to fire arrows.

Detailed spawning algorithm
This pseudo-code is derived from the decompiled source of 1.4.2. every spawn cycle (every randInt(200,799) ticks when a player is within   17 blocks of the spawner), loop 4 times { if there are 6 or more of the mob type in the 17x9x17 area around the spawner, skip this spawn cycle calculate spawnerX = X coordinate of center of spawner - 0.5 calculate spawnerY = Y coordinate of center of spawner - 0.5 calculate spawnerZ = Z coordinate of center of spawner - 0.5 calculate x coordinate of mob = spawnerX + (randDouble - randDouble) * 4, randDouble being a random number between 0 and 1 calculate y coordinate of mob = spawnerY + a random integer between -1 and 1 calculate z coordinate of mob = spawnerZ + (randDouble - randDouble) * 4, randDouble being a random number between 0 and 1 if all of the conditions specific to the mob type are met, spawn the mob { chicken, cow, mooshroom, pig, sheep, wolf: block below spawning block is grass spawning block has a light level of 9 or higher

ocelot: pass a 2/3 random test block below spawning block is grass or leaves on layer 63 or higher

creeper, enderman, skeleton, spider, cave spider, zombie: light level 7 or less

blaze: light level 11 or less

silverfish: light level 11 or less, or on Stone blocks no players within 5 blocks

slime: difficulty is not set to peaceful or slime size is small either: spawn block y coordinate is less than 40 the chunk containing the spawn block is a slime chunk (1 in 10 chance) pass a 1 in 10 random test or: swamp biome, layer 51 through 69, light level 7 or less ghast: pass a 1 in 20 random test squid: must not collide with any other entities must be in layer 46-62 giant: light level 7 or less light level 8 or more (since these conditions can't be true simultaneously, giant spawners don't work) all except squid and slimes: must not collide with any blocks or other entities must not collide with water or lava } } if all 4 mobs failed to spawn, repeat on the next tick

Custom Spawners
Monster Spawners are capable of much more than they are used for in vanilla Minecraft. Using external tools such as inventory or map editors, they can be customized in many ways: Detailed technical information about custom spawners can be found in the chunk format reference.
 * They can be made to spawn any kind of entity, including any mob, items, minecarts, boats, falling blocks (including falling Spawners), primed TNT, and so on.
 * A single spawner can spawn multiple different entities, chosen at random from a list.
 * Properties can be set on the spawned entities, such as their location, velocity, inventory, potion effects, and much much more.
 * Various range and timing properties of the spawner can be altered.

Trivia

 * It is possible to choose which mob a spawner will spawn, but unless you know what each mob in its tile data is, this will be difficult.
 * Since monster spawners are stored as tile entities, they cannot be pushed by pistons.
 * It is possible for a monster spawner to occur near the surface and completely buried in sand, with monsters spawning in small gaps underneath sandstone.
 * Unlike most other solid blocks, the monster spawner supports texture with transparent areas, without showing what's behind.
 * It is possible for two monster spawners to naturally occur directly side-by-side.
 * When 1.2.5 was released monster spawners were available in creative mode by using the Pick Block button on a natural generated monster spawner. When placed, they would spawn pigs if there is a grass block in the vicinity of the spawner.
 * The traditional torch on the spawner may not be sufficient to completely disable it. Lighting the walls as well is safer.
 * When mining near a monster spawner that has no valid places to spawn, sometimes a monster will spawn immediately after a block is mined. The player should take caution for this reason while collecting Moss Stone from a dungeon but hasn't destroyed the monster spawner.  It's speculated this might happen because the spawner gets a chance to spawn before the lighting calculation for the space the block occupied.
 * If a spawner is made to spawn a Giant, the mob still spins, but appears outside the spawner because of the mob's size.
 * If the spawner is made to spawn an Iron Golem, the mob will still spin, but the head will be peeking out, due to the size.
 * A monster spawner may spawn 1, 2, 3 or even 4 mobs at once
 * If the game is set on Peaceful, the mobs will spawn, but will immediately de-spawn, as usual. In some cases, mobs will play their sound file before they de-spawn. It is also possible for a skeleton to shoot its arrow at the player before it de-spawns.
 * If the player is not within range, the miniature mob inside the spawner will stop spinning, and the mob spawner will stop emitting fire particles, along with not working all together.
 * The miniature mob inside the mob spawner will spin faster when it is about to spawn monsters. There are set minimum and maximum speeds for which the miniature mob can rotate.
 * Zombie Pigmen spawners cannot be disabled with light. They can spawn at any light level.
 * The miniature mob inside the monster spawner is an actual mob of that type. Thus, if a spawner is configured to spawn Ender Dragons or Withers, their boss health bar is visible while looking at the spawner.