Minecraft wiki entry for Mushroom_farming, associated text: When a mushroom receives a random tick, it has a 4% chance of attempting to spread. When this happens, the game chooses a block near the mushroom and, if a mushroom could be planted in the chosen location, a new mushroom appears there; otherwise the attempt fails. The algorithm used to choose the new location for the attempt is not a simple random selection, but a multi-step algorithm that depends partly on which surrounding blocks are valid locations for planting a mushroom.