|“||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, pufferfish, and tropical fish. There are 3587 total types of fish: cod, salmon, puffer fish, and 3584 variants of tropical fish.
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 sizes which are small, normal and large.[Bedrock Edition only]
Fish drop 1 of their item form when killed: raw cod, raw salmon, pufferfish or tropical fish. Cod and salmon will drop the cooked variant of their item if killed while on fire[Java Edition only] . A tropical fish will drop a clownfish no matter what its type, pattern or colors are. Fish will also drop a bone (25% chance); also different sizes of salmon drop different amount of bone (up to 3).[Bedrock Edition only]
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 swim up approximately 4-5 blocks in waterfalls. Pufferfish will try to hide in a coral or a coral fan and will spin until it leaves; they will also puff up when approached by dolphins, players in creative mode, and armor stands.
The player may collect a fish by using a water bucket on it, which gives the player a bucket of fish. When that fish bucket is used against a block, it empties the bucket, placing water with that fish swimming in it. An empty bucket may be used as well.[Bedrock Edition only]
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 squids. Cod, salmon and tropical fish will flip around on their sides. They will rotate when flipping.[Bedrock Edition only] Fish cannot swim or breathe in cauldron water.
Pufferfish will puff up when approached by a player in any gamemode, drowned, or any non-water mob in a 5x5x5 cube around the fish, going from unpuffed, then semi-puffed, to fully puffed[Java Edition only] , or instantly to the fully-puffed state[Bedrock Edition only] . Pufferfish are technically passive mobs but going near one when fully puffed will inflict the player/mob with seven seconds of
Poison, and touching them in their puffed form will deal damage separate from the poison. Pufferfish also instantly puff up to their fullest form after taking any kind of damage.[Bedrock Edition only]
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 with black as one or both of their colors, and/or without any visible pattern, though even without the pattern they can still have a pattern color, causing a further 884 possible combinations, 480 of which look the same due to the missing pattern.
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.[Bedrock Edition only] 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:
- See also: Chunk format
Cod and salmon have entity data associated with them that contain various properties of the mob. Their entity IDs are
Puffer fish and tropical fish have additional entity data, beyond what other fish have. Their entity IDs are
minecraft:tropical_fish[Java Edition only] or
minecraft:tropicalfish[Bedrock Edition only] .
- Tags common to all entities see Template:Nbt inherit/entity/template
- Tags common to all mobs see Template:Nbt inherit/mob/template
FromBucket: 1 or 0 (true/false) - Whether the fish had ever been released from a bucket.
PuffState: A value from 0–2, Only used for
minecraft:pufferfish. 0 means the fish is deflated, 1 means it is halfway puffed-up, and 2 means it is fully puffed-up.
Variant: A 4-byte integer. Only used for
- The least significant byte has a value of either 0 for a small fish, or 1 for a large fish. Values above 1 will result in an invisible fish.
- The next byte has a value from 0–5, representing the pattern on the fish. Values above 5 will result in a fish with no pattern.
- The next byte has a value from 0–14,[note 1] representing the color of the fish's body.
- The most significant byte has a value from 0–14,[note 1] representing the color of the fish's pattern.
- The ID numbers for the colors match the data values of colored blocks. If this value is 15, the color will be black, and if the value is above 15, the color will be white. However, fish with values 15 and up do not spawn naturally.
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
Variant tag values from the following table, which also lists what color/shape/patterns come from that value.
|Shape||Pattern||Base color||Pattern color||Variant||Name|
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.
|Icon||Advancement||In-game description||Parent||Actual requirements (if different)||Internal ID|
|Tactical Fishing||Catch a fish... without a fishing rod![upcoming 1.13]||Fishy Business||Use a water bucket on a fish mob to create a fish bucket.||
|June 28, 2010||Notch mentioned that fish might be a feature of coral, if he were able to add coral: "... I do know that the corals will have tiny fish particles around them."|
|October 4, 2010||Fish were a passive mob that Notch showed interest in adding. In the promotional graphic for the Halloween Update, Notch indicated he would add fish. However, they were only added as an item; there was no code for a fish mob.|
|October 5, 2012||Fish were jokingly teased in the fake snapshot 12marc40awesome, along with coral and "fish blocks".|
|April 13, 2013||When Jon Kågström was asked in his AMA on Reddit, "What mob would you like to implement into the game?" He responded, "I would like to add birds, fish and tree animals to make it more alive. However this will take some time before it can be done."|
|July 31, 2013||During Notch's AMA on Reddit, when asked about what happened to his plans of adding fish as a mob, he responded, "Oh yeah, the fish!"|
|1.13||November 18, 2017||Two fish mobs, presumably early tropical fish, were shown off in a clip presented at MineCon Earth.|
|18w08b||Added fish mobs, at this time only cod, salmon, and "puffer fish". They had 20 () health.|
|18w10a||Added tropical fish.|
|Changed health to 3 ().|
|18w10b||Tropical fish now make sounds, and do not use the player damage sound.|
|18w15a||Cod and salmon now drop the cooked version of their item drops if killed while in fire.|
|18w19a||Corrected "Puffer Fish" to Pufferfish.|
|1.4||beta 18.104.22.168||Added all 4 variants of fish mobs.|
|1.4.0||Added all 4 variants of fish mobs.|
A school of 4 salmon swimming in a frozen river.
In other media
- "How We Ruin-ed Minecraft" – Minecraft.net, March 5, 2018
- – "fish bouncing and suffocating on top of the cauldron which fill with water" resolved as "Won't Fix"
- MC-130252 – "Guardians and Elder Guardians don't attack dolphins, turtles or fish" resolved as "Works As Intended"
- – "Some display names don't follow the id", resolved