In Java edition 1.13 snapshot 17w47a, numerous blocks and items which formerly shared identical numerical block IDs and were distinguished from each other solely based on their numerical damage values were split up into new, separate blocks in what was known as the Flattening. This, however, only applied to blocks and items; currently, mobs still use numerical values to distinguish between mob variants. It may be a better idea to also split up these mobs in an analogous way, which removes the need for a numerical data tag. This also has the added advantage of allowing each skin variant to have its own unique spawn egg, and as such this allows the player to directly spawn the desired variant directly instead of constantly spawning and killing the mob until the desired variant is spawned.
The following mob variants have been excluded from this suggestion:
- Villager professions: these can be found at https://feedback.minecraft.net/hc/en-us/community/posts/360033371292--18w50a-Split-up-villager-professions-into-their-own-unique-mobs
- Horse variants: there are 35 different types of horse, which could be a pain to split. One also has to consider the comparatively large amount of spawn eggs this would result in, which could clutter up the Creative inventory. Despite that, splitting these otherwise doesn't seem too unfeasible, and I may include them here at a later date.
- Panda variants: these are dictated using a different genetic system that may not respond well to a mob flattening.
- Tropical fish variants: since there are about 3000 of these splitting doesn't seem particularly economical.
The proposed mobs to be split are as follows:
- minecraft:rabbit (uses numerical RabbitType NBT tag)
- minecraft:parrot (uses numerical Variant NBT tag)
- minecraft:llama (uses numerical Variant NBT tag)
- minecraft:cat (uses numerical CatType NBT tag)