Do Fish, squid, dolphins etc need direct sky access to spawn in Minecraft?

I have a squid farm near my kelp farm and want to stop fish, squids and dolphins from spawning in the kelp farm.


Solution 1:

Yes and no. Squid are the only entities in your question that have explicit requirements for direct sky access.


🐬 Dolphins

Dolphins can spawn under water (not just the surface layer), and have very strait forward spawn rules; according to the wiki:

Dolphins are found in groups (pods) of 3–5 in all ocean biomes, except frozen oceans and cold oceans. They spawn between (exclusively) level 45 and the sea level of the world. Dolphins continuously spawn as long as their spawn requirements are met, and naturally despawn if no players are near by, similar to squid.

10% of dolphins spawn as babies.‌

🦑 Squid

Squid only spawn at the surface level, meaning there must not be a solid or spawnable block above the spawn location, as per the wiki:

In Bedrock Edition, 2 to 4 squids can spawn in ocean biomes, and two squids can spawn in river biomes, at any Y-level; and squid have a 5% chance to spawn as babies. In addition, squid spawn only on the surface, i.e. there must not be a solid or spawnable block above the spawn location.

🐠 Fish

The wiki is a bit unclear on fish:

Fish can be found in river and ocean biomes. All types of fish appear in oceans, but only salmon appears in rivers. They can also spawn in player-created bodies of water, as long as they are within river or ocean biomes.