What blocks can Mobs/The Player spawn on?
A player can spawn on any solid block which is not affected by gravity and is below the sky, so there are no blocks above it.
Animals spawn on grass or dirt exclusively (block id 2 and 3). They also require a light level above 9 and at least 2 blocks of air above them. Exception is the bat, which spawns on opaque blocks if the light level is below 9.
Skeletons, Zombies, and Creepers can spawn on any opaque block if the light level is below 7. Exception are mobs in the nether, which can spawn on netherrack, no matter what the light level is.
Opaque blocks include:
1 --> Stone
1:1 --> Granite
1:2 --> Polished Granite
1:3 --> Diorite
1:4 --> Polished Diorite
1:5 --> Andesite
1:6 --> Polished Andesite
2 --> Grass
3 --> Dirt
3:1 --> Coarse Dirt
3:2 --> Podzol
4 --> Cobblestone
5 --> Oak Wood Plank
5:1 --> Spruce Wood Plank
5:2 --> Birch Wood Plank
5:3 --> Jungle Wood Plank
5:4 --> Acacia Wood Plank
5:5 --> Dark Oak Wood Plank
12 --> Sand
12:1 --> Red Sand
13 --> Gravel
14 --> Gold Ore
15 --> Iron Ore
16 --> Coal Ore
17 --> Oak Wood
17:1 --> Spruce Wood
17:2 --> Birch Wood
17:3 --> Jungle Wood
35 --> White Wool
35:1 --> Orange Wool
35:2 --> Magenta Wool
35:3 --> Light Blue Wool
35:4 --> Yellow Wool
35:5 --> Lime Wool
35:6 --> Pink Wool
35:7 --> Gray Wool
35:8 --> Light Gray Wool
35:9 --> Cyan Wool
35:10 --> Purple Wool
35:11 --> Blue Wool
35:12 --> Brown Wool
35:13 --> Green Wool
35:14 --> Red Wool
35:15 --> Black Wool
41 --> Gold Block
42 --> Iron Block
43 --> Double Stone Slab
43:1 --> Double Sandstone Slab
43:2 --> Double Wooden Slab
43:3 --> Double Cobblestone Slab
43:4 --> Double Brick Slab
43:5 --> Double Stone Brick Slab
43:6 --> Double Nether Brick Slab
43:7 --> Double Quartz Slab
45 --> Bricks
47 --> Bookshelf
48 --> Moss Stone
49 --> Obsidian
56 --> Diamond Ore
57 --> Diamond Block
78 --> Snow
80 --> Snow Block
87 --> Netherrack
97 --> Stone Monster Egg
97:1 --> Cobblestone Monster Egg
97:2 --> Stone Brick Monster Egg
97:3 --> Mossy Stone Brick Monster Egg
97:4 --> Cracked Stone Brick Monster Egg
97:5 --> Chiseled Stone Brick Monster Egg
98 --> Stone Bricks
98:1 --> Mossy Stone Bricks
98:2 --> Cracked Stone Bricks
98:3 --> Chiseled Stone Bricks
99 --> Brown Mushroom Block
100 --> Red Mushroom Block
159 --> White Stained Clay
159:1 --> Orange Stained Clay
159:2 --> Magenta Stained Clay
159:3 --> Light Blue Stained Clay
159:4 --> Yellow Stained Clay
159:5 --> Lime Stained Clay
159:6 --> Pink Stained Clay
159:7 --> Gray Stained Clay
159:8 --> Light Gray Stained Clay
159:9 --> Cyan Stained Clay
159:10 --> Purple Stained Clay
159:11 --> Blue Stained Clay
159:12 --> Brown Stained Clay
159:13 --> Green Stained Clay
159:14 --> Red Stained Clay
159:15 --> Black Stained Clay
179 --> Red Sandstone
179:1 --> Smooth Red Sandstone
179:2 --> Chiseled Red Sandstone
I hope I didn't forget any, if I did, feel free to add them.
All transparent blocks, with the exception of slime blocks, redstone blocks, and active redstone ore (when glowing after being hit), cannot be spawned upon.
A full list of the transparent blocks that no monsters spawn on:
Furnace (when active)
Glass
Glowstone
Ice
Jack o'Lantern
Leaves (Fancy graphics)
Piston (Retracted)
Redstone Lamp (when active)
Redstone Ore (when active)
Sticky Piston (Retracted)
TNT
Anvil
Bed
Brewing Stand
Cake
Carpet
Cauldron
Chest
Cobblestone Wall
Daylight Sensor
Door
Enchantment Table
Ender Chest
Farmland
Fence
Fence Gate
Glass Pane
Iron Bars
Ladder
Lily Pad
Nether Brick Fence
Piston (Extended)
Redstone Repeater
Redstone Comparator
Snow (layer) (2 - 8 layers)
Sticky Piston (Extended)
Trapdoor
Trapped Chest
Vines
Button
Lever
Pressure Plate
Weighted Pressure Plate
Rail
Powered Rail
Detector Rail
Activator Rail
Redstone Dust
Redstone Torch
Air
End Portal
Fire
Portal
Sign
Snow (cover) (single layer)
Torch
Cactus
Crops
Flowers
Grass
Mushrooms
Saplings
Sugar Cane
Lava
Water
End Portal Frame
Mob Spawner
Exceptions that are both transparent and spawnable upon:
Block of Redstone
Hopper
Slime
Also other notable exceptions:
Slabs not aligned with the top of the block-space (normal) cannot be a spawning are. Slabs aligned with the top/double slabs can be spawned upon.
Right-side-up stairs (stair side up) cannot be spawned upon, upside down one can (flat side up).
Been testing on creative, MC 1.10.
Tested the tranparent blocks list above and so far Jack-o-lanterns will spawn mobs. AFAIK, Jack-o's aren't transparent anyhow. They just behave differently. They also emit a light level of 14 (?) so in the overworld, hostiles wont spawn?
Add to lists of spawnable blocks: Pistons (sticky or otherwise, retracted or extended), and string
Spawn through blocks (mobs don't spawn on them but they can spawn through them, i.e. on the block said block is on.): Signs, Torches
(Test are in nether, above bedrock, at highest level, or at least 2 blocks below that coz there's no light in 256)