
SpaceFrog's Cat Variant Changer
Change a cat's breed (variant type) using a vanilla/survival-friendly method. Choose from all kitty varieties: black, calico, jellie, orange (red), persian, ragdoll, shorthair, siamese, tabby, tuxedo, white & a special random type.
Have you ever wished you could change a cat's color/breed? Well now you can just by using a name tag!
Survival Mode
Name Tag Mechanics For survival mode, hold the 'payment' in your off-hand (more on that later) while using a name tag to rename the cat with one of the following variant names: black, calico, jellie, orange, persian, ragdoll, shorthair, siamese, tabby, tuxedo, or white. If you don't have the payment in your off-hand, the cat will not change to the new variant.
Advancement Lockouts By default, players are locked out through advancements from being able to reassign a cat variant until the player has encountered that cat variant in the world and fed it salmon at least once. This is a nice way to force the player to explore or work on finding specific cat variants but gives players a convenient way to make more of the same type of cat after they've gone through the process at least once. Creative players and server admins can override this lockout by giving players all needed advancements using the command /function cat_variant_changer:lockout/all_grant.
Special Randomize Feature You can also randomize a cat's variant type - just rename a cat 'random' and every couple of seconds it will change variant type, cycling through all the variants you have advancements for (i.e., the types you've fed salmon to at least once, see above). Use command /function assign_cat_variant:_set_random_cat_loop_length to set the length of time before the random cat jumps to the next variant type as it cycles through variants (default is 2 secs).
Payment The default payment for reassigning a cat variant in survival is 1 diamond; for a random variant, the cost is 1 netherite ingot. To change the payment type, first get server op status or switch to creative. While holding the payment item in your off-hand, type command /function cat_payment:set/ followed by the cat variant you want to set the payment for (example: /function cat_payment:set/jellie). If your off-hand is empty, then the payment is free. Also, you can use /function cat_payment:set_all to set the payment for all cat variants.
An option to set payments without needed to allow cheats/commands is coming soon.
Creative Mode Shortcuts
For creative mode players, you can change a cat's variant type by standing next to the cat you want to change, then type the command /function assign_cat_variant: followed by the cat variant type. You'll see the available variants when you type out this command; for example use /function assign_cat_variant:jellie to change the frag to the jellie variant. If you have multiple cats in the area, the one closest to the player will be converted to the variant you choose, and repeated use of the function will change each cat in the area one-by-one to the new variant out to a radius of 20 blocks.
You can give yourself access to all cat variants for the randomized cat using the command /function cat_variant_changer:lockout/all_grant or reset the lockout with /function cat_variant_changer:lockout/all_reset.
Troubleshooting
- The payment can only be a singular item, so if you want the payment to be more than say 1 emerald, you can make the payment an emerald block instead. If you want to block access to a specific variant type, just use a block that's impossible to get in survival like a barrier block when you set the payment type for that variant.
