Fish (mob)

"You're not the only new explorer of the updated oceans, mind. We've filled the seas with new types of fish! Above is the delightful pufferfish, which filled me with delightful poison because I was too busy taking that screenshot to swim away in time :("

- Tom Stone

Fish are common passive mobs found in oceans and rivers. They come in 4 main variants: cod, salmon, puffer fish, and tropical fish.

Spawning
Cod spawn in normal, cold, and lukewarm oceans, and their deep variants.

Puffer fish and tropical fish spawn in lukewarm, warm, and deep lukewarm oceans.

Salmon spawn in cold and frozen oceans, and their deep variants. Unlike the other types of fish, they also spawn in normal and frozen rivers. Salmon can spawn in 3 size which is small, normal and large.

Drops
Fish drop 1 of their item form when killed: raw cod, raw salmon, pufferfish or clownfish. Cod and salmon will drop the cooked variant of their item if killed while on fire. A tropical fish will drop clownfish no matter what its type, pattern or colors are. Fish will also drop a bone (25% chance), also different size of salmon drop different amount of bone (up to 3).

Behavior
Cod, salmon and tropical fish tend to swim in schools of fish (a maximum of nine cod, six salmon, and nine of the same tropical per school). Salmon are able to jump up waterfalls.

The player may collect a fish by a water bucket on it, which gives the player a fish bucket. When that fish bucket is against a block, it empties the bucket, placing water with that fish swimming in it.

Weaknesses
None of the fish are able to survive out of water. Outside of water, they flop around like guardians for a while until eventually they start to suffocate and die like squid. Cod, salmon and tropical fish will flip around on their sides. They will rotate when flipping. Fish will even suffocate inside of water which is placed inside of a cauldron, a bug which Mojang refuses to fix.

Fish have a weakness to weapons that have the Impaling enchantment, which also affects squid, turtles, drowned, guardians, elder guardians, and dolphins.

Guardians will attack fish within range, like when attacking squid.

Defenses
Pufferfish will puff up when approached by a player in any gamemode in a 5x5x5 cube around the fish, going from unpuffed, then semi-puffed, to fully puffed/instantly to the fully-puffed state. Pufferfish are technically passive mobs but going near one when fully puffed will inflict the player with seven seconds of, and touching them in their puffed form will deal some damage separate from the poison. Pufferfish also instantly puff up to their fullest form after taking any kind of damage.

Tropical fish varieties


When tropical fish spawn in the wild, 90% of the time they will come in one of the 22 varieties seen on the right, and the other 10% of the time their patterns, size and colors will be completely random, drawn from any of 2 shapes, 15 colors, 6 patterns, and 15 colors for the pattern. These result in 2,700 naturally-occurring combinations. With commands, the player can summon tropical fish without patterns, or with black as one or both of their colors, giving a further 404 possible combinations.

Tropical fish picked up with buckets will also have names assigned to them, such as Yellow Brinely or Lime-Gray Flopper, which display as part of the bucket's name. Their colors are mostly named according to the colored block names, though with a few exceptions:



The base color will come first, and if the pattern color is different, it will come after that. Lastly, the fish bucket will be given a name according to the shape and pattern of the fish:

Data values
Cod and salmon have entity data associated with them that contain various properties of the mob. Their entity IDs are  and.

Puffer fish and tropical fish have additional entity data, beyond what other fish have. Their entity IDs are  and   or.

The fish sizes and patterns are depicted in the following table, with white body color and dark gray pattern color.

The 22 varieties of tropical fish most commonly found throughout the world have  tag values from the following table, which also lists what color/shape/patterns come from that value.

The variant number is the sum of the most significant byte * 224 + second most significant byte * 216 + second least significant byte * 28 + least significant byte.