# 🐲 MythicMobs add-ons

MCPets implements a lot of new [mechanics](https://git.mythiccraft.io/mythiccraft/MythicMobs/-/wikis/Skills/Mechanics), [targeters](https://git.mythiccraft.io/mythiccraft/MythicMobs/-/wikis/Skills/Targeters), [conditions ](https://git.mythiccraft.io/mythiccraft/MythicMobs/-/wikis/Skills/conditions)and [placeholders ](https://git.mythiccraft.io/mythiccraft/MythicMobs/-/wikis/Skills/Placeholders)to handle better the interactions between pets and players.

Down below you will find a list of these new features. If you need more information on how to implement these, please refer to [MythicMobs wiki](https://git.mythiccraft.io/mythiccraft/MythicMobs/-/wikis/home) for basic tutorials on how to use [mechanics ](https://git.mythiccraft.io/mythiccraft/MythicMobs/-/wikis/Skills/Mechanics)in skills, [targeters](https://git.mythiccraft.io/mythiccraft/MythicMobs/-/wikis/Skills/Targeters), [conditions ](https://git.mythiccraft.io/mythiccraft/MythicMobs/-/wikis/Skills/conditions)and [placeholders](https://git.mythiccraft.io/mythiccraft/MythicMobs/-/wikis/Skills/Placeholders).

## Mechanics

Here you will find every mechanics that you can use when MCPets is installed on your server.

| Mechanic name    | What for                                                                                                                                       | Usage                                                       | Requirements              |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ------------------------- |
| GivePet          | Gives permission to the targeted player to use a certain pet                                                                                   | givePet{id=#}                                               | target must be a player   |
| SetPet           | Turns the caster into a certain pet own by the targeted player                                                                                 | setPet{id=#;permCheck=true/false}                           | target must be a player   |
| SetLivingPet     | Turns the caster into a certain **living pet** with taming progress at 0% by default.                                                          | setLivingPet{id=#;followOnTame=true/false;tamingProgress=#} | No target required        |
| PetFollow        | Turns on/off the following AI of the pet                                                                                                       | petFollow{follow=true/false}                                | target must be a pet      |
| PetName          | Change the name of the pet. Can be saved as well for future use in the player's profile (do not abuse of saves, it's resource consuming).      | petName{name="#";save=true/false}                           | target must be a pet      |
| PetDamage        | Damages the target applying or not the damage modifier                                                                                         | petDamage{damage=#;applyStats=true/false}                   | target must be damageable |
| PetExperience    | Add the given amount of experience to the pet                                                                                                  | petExperience{exp=#}                                        | target must be a pet      |
| PetDespawn       | Despawns the pet casting the mechanic                                                                                                          | petDespawn{}                                                | caster must be a pet      |
| EvolvePet        | Make the pet evolve to the said pet. Set "force" to true if you don't want to check the permissions.                                           | evolvePet{evolutionId=#;force=#}                            | caster must be a pet      |
| DropPetInventory | Drop the pet's inventory content at the pet's location.                                                                                        | dropPetInventory{}                                          | caster must be a pet      |
| DropPetItem      | Drop a pet item at the caster's location. Chance is a value between 0 and 1 (ex: 0.1 = 10% chance drop)                                        | dropPetItem{petItem=#;chance=#}                             | caster must be an entity  |
| PetBuff          | Gives a buff to the pet. [Buff types](../pet-features/living-pet/pet-food#pet-food-example-buffs) can be found on the petFood related section. | petBuff{type=#;operator=#;power=#;duration=#}               | target must be a pet.     |

## Targeters

Here is a table referencing the targeters and their usage.

You can use these targeters in MythicMobs in your skills.

| Targeter      | Usage                                                  |
| ------------- | ------------------------------------------------------ |
| @PetOwner     | target the pet's owner (caster must be a pet)          |
| @PetFromOwner | target the pet of the caster (caster must be a player) |

## Placeholders

Here is a table referencing the placeholders you can use with MCPets for your calculations in skill, displays, etc...

<table><thead><tr><th width="230">Placeholder</th><th width="292">What for</th><th>Usage</th></tr></thead><tbody><tr><td>Pet Id</td><td>Get the pet id</td><td>&#x3C;pet.id></td></tr><tr><td>Pet Owner UUID</td><td>Get the UUID of the owner</td><td>&#x3C;pet.owner.uuid></td></tr><tr><td>Pet Owner Name</td><td>Get the name of the owner</td><td>&#x3C;pet.owner.name></td></tr><tr><td>Pet health</td><td>Get the health of the pet</td><td>&#x3C;pet.hp></td></tr><tr><td>Pet Power</td><td>Get the pet's power</td><td>&#x3C;pet.power></td></tr><tr><td>Pet Damage Modifier</td><td>Get the pet's damage modifier</td><td>&#x3C;pet.damagemodifier></td></tr><tr><td>Pet Resistance Modifier</td><td>Get's the pet's resistance modifier</td><td>&#x3C;pet.resistancemodifier></td></tr><tr><td>Pet Experience</td><td>Get the pet experience</td><td>&#x3C;pet.experience></td></tr><tr><td>Pet Taming Progress</td><td>Get the pet taming progress </td><td>&#x3C;pet.tamingprogress></td></tr><tr><td>Pet level name</td><td>Get the level name of the pet</td><td>&#x3C;pet.level.name></td></tr><tr><td>Pet level index</td><td>Get the level index of the pet</td><td>&#x3C;pet.level.index></td></tr></tbody></table>

## Conditions

You can use conditions from the MCPets integration to MythicMobs to help you tune your skills.

| Condition      | What for                               | Usage                |
| -------------- | -------------------------------------- | -------------------- |
| Pet Experience | Test the current experience of the pet | petExperience{exp=#} |
| Pet Taming     | Test the taming progress of the pet    | petTaming{taming=#}  |
