Minecraft wiki entry for Grass_Block, associated text: Though water and lava are both light-filtering blocks (meaning they decrease skylight by 1 level but do not affect block light), other light-filtering blocks such as ice and slime blocks do not block grass from spreading to the dirt block. Grass blocks can grow under all other transparent blocks like glass,‌[Java Edition only] fences, or torches. Grass jumps directly from one block to a neighbor and is not affected by gaps or other blocks being "in the way." Grass blocks spread at random intervals and have an equal chance of spreading to any suitable dirt blocks that are in range. Because grass can spread as much as 3 levels downward, it tends to spread down slopes much faster than it spreads up them.