The first one espouses the much-credited idea that to improve your mob spawning area you must light up all the caves around it. This is built on the assumption that when the game goes to spawn a monster, it looks for an appropriate place to put one, so eliminating anywhere but your mob machine would increase the rate of mobs spawning within it.

The "Mob Spawning Science" post claims an algorithm that goes chunk by chunk, and within each chunk it picks a random block and sees if that block is a legit spawning location (standing on something, correct light level, etc.). If so, it puts a mob there. (I'm simplifying, but this is the idea.) This would imply that for any given block in a chunk, there is a 1/32768 chance of it being selected. So given a block X that is a nice, dark, mob-spawnable place, it has a 1/32768 chance each time the chunk is processed of spawning a monster regardless of any lit or unlit caves anywhere around it.

The reason for lighting up caves isn't to prevent the spawning of a mob itself (which uses the math you posted) but because the spawned mob will count towards the maximum number of mobs in the chunk (which will halt mob spawning, including in your nice and dark space.) I.e. the reason for lighting caves is to keep mobs spawning. If there is only one 16x16 area of valid spawnpoints, the algorithm (which runs n times a minute) will place quite a lot of mobs there, assuming it's not capped by spawned mobs.
–
TzariumMay 13 '11 at 12:50

I believe the spawning algorithm is not supposed to be understanded. You can find moreeffort to analyze it from decompiled code level, but the results fail to be clear. What's worse, the algorithm changes.
–
xfsMay 13 '11 at 14:00

5 Answers
5

Technically, placing torches will decrease your overall mob spawns; the game does pick a single random point within the eligible chunks to spawn a monster, and if that point is not suitable, the monster doesn't spawn. Therefore filling other caves with torches will reduce the number of spawn-friendly points, reducing your overall monster count. This does technically help your mob grinder because you don't have mobs lurking in neighboring caves counting against the mob cap (and ultimately taking it all up, preventing anything from spawning in your grinder).

The best solution would probably be to use a vast water network to drag all the mobs from all nearby caves into your grinder, so you maximize spawn area, but bring any mobs from all the viable spawn points into a single area.

I'd love to see a screenshot of that. It'd be like a water-based rollercoaster adventure land for zombies!
–
AlexMay 13 '11 at 15:22

3

Maybe I'll make a video of this. I've uncovered a vast underground network of caves, and once I've harvested all the lava (or converted it to obsidian and harvested that) they'll be very dark caves :D
–
Doktor JMay 13 '11 at 16:45

I don't see anything contradictory between the two. First you eliminate the possibility of any of the chunks in the nearby zone spawning monsters because it is a solid block or too bright. When the scanning occurs even though there is only a 1/32768 chance of selecting a particular block in your mob spawner, you have to remember that it is doing it extremely fast, a few million iterations of the chunk block selection can easily be performed within the span of 1 second.

@Matt - Updated answer
Because once the total number of mob spawns is reached, no more monsters will be spawned. Your mob spawner will stop spawning at one point if all the monsters are spawning somewhere else, such as a hidden underground cave.

@Matt - There is a cap on how many mobs can be spawned at once. While this doesn't SPEED UP the rate at which mobs spawn in your grinder, it does increase the AMOUNT of mobs that will (eventually) spawn in your grinder.
–
ShinraiMay 13 '11 at 14:29

There's no contradiction, here. Based on your recaps, the first is in layman's terms, and the second is a technical explanation of the exact same thing.

What's not clear is what you're trying to accomplish with your "block x". If x is in your spawner, you want to eliminate valid, unlit spawnable blocks outside of your spawner. If x is outside of your spawner, you want to light it up or fill it in so it will not be a valid spawning point.

If you want "block x" to be eliminated from the spawning scans, in order to save time... It's not possible, and the scan iterations go by so quickly that it's not a level of optimization that's necessary.

The chunk method no longer works. It used to prioritize spawning in the 0,0 chunk, but that is no longer the case. The alternative now, is to fill torches into caves and the surface within a radius of where you'd stand.

Mobs only spawn outside of, I think 30 blocks, and within 70 or so (exact numbers on the Wiki), and since there is a maximum amount of mobs at once, you want to make sure that middle ground is filled with torches to force mobs to spawn in your trap.

I believe the Mob Spawning Science thread may be somewhat out of date now, though I don't know how much the code has changed. I have heard mention that the "bailout clause" mentioned in the science thread no longer exists, and the spawnable area is larger than it once was. There have been no real updates, however.

I'm still trying to work out if having layers in a mob spawner is more effective than having just a tall, empty space of the same height.