How to Add Custom NBT to Fish You Catch (Specific Variants, Names, Equipment)
Why Use NBT
Plain entity conversions give you a random version of that mob every time. Adding an nbt block to your result lets you lock in exact properties — a specific tropical fish variant, a custom name, or even equipment on a mob you fish up.
Adding the NBT Block
In your conversion JSON, the result object accepts an nbt field alongside id. Structure it like this: the result has id set to the entity type, and nbt set to an object containing the tags you want. For a tropical fish with a fixed pattern, you would put a Variant tag inside nbt with the numeric variant value you want. Every catch will then produce that exact fish.
Useful Tags to Try
CustomName— a string that shows above the mob. Wrap it in a JSON text component if you want colors.CustomNameVisible— set to true so the name always shows.NoAI— freezes the mob in place, handy for decorative catches.PersistenceRequired— stops the mob from despawning.HandItems/ArmorItems— give a fished-up mob gear.
Cautions
NBT is strict. A single wrong tag name or a value of the wrong type will cause the conversion to fail silently. Test one tag at a time, reload with /reload, and fish until you confirm the result before layering on more tags.