# 🐲 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](https://mcpets.gitbook.io/mcpets/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=#}  |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mcpets.gitbook.io/mcpets/tutorials/mythicmobs-features.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
