> For the complete documentation index, see [llms.txt](https://docs.rivaldev.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rivaldev.xyz/other-plugins/rival-pets/create-your-own-boosts-and-buffs.md).

# Create Your Own Boosts & Buffs

Down below you will see how you can create your very own boosts using the API!

You can create boosts by registering the boost or not

With Registering ->&#x20;

1. Create a new Class that extends PetBuffRegister .

```java
public class ExampleBuff extends PetBuffRegister {
```

2. Add these methods to it

<pre class="language-java"><code class="lang-java"><strong>    @Override
</strong>    public String getBuffName() {
        return "yourbuffname";
    }


    @Override
    public void onActivatePet(Player player) {

    }

    @Override
    public void onDeactivatePet(Player player) {

    }

    @EventHandler
    public void onBoost(YourCurrencyOrOtherEvents event) {
                Player player = event.getPlayer();
                if (RivalPetsAPI.getApi().hasBuff(player,getBuffName())){
                    RivalPetsAPI.getApi().addExperience(player,getBuffName());
                    double totalBoost = RivalPetsAPI.getApi().getBuffBoost(player,getBuffName())));
        }
    }
</code></pre>

3. After your done in your onEnable() you will need to register the buff like this, don't worry about registering Listeners that is handled by RivalPets and this way your buff will show up in /pets buffs.<br>

```java
if (Bukkit.getPluginManager().getPlugin("RivalPets") != null) {
RivalPetsAPI.getApi().registerBuff(new ExampleBuff (),"YourPluginName");
}
```

4. Make sure in your plugin.yml to add RivalPets to either soft-depend or depend

Without Registering ->&#x20;

In any listeners or anywhere in your code you can do:

Note: this way you will have to register your events<br>

```java
@EventHandler
    public void onBoost(YourCurrencyOrOtherEvents event) {
                Player player = event.getPlayer();
                String buffName = "yourdesiredbuff";
                if (RivalPetsAPI.getApi().hasBuff(player,buffName )){
                RivalPetsAPI.getApi().addExperience(player,buffName );    
                double totalBoost = RivalPetsAPI.getApi().getBuffBoost(player,buffName)));
        }
    }
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rivaldev.xyz/other-plugins/rival-pets/create-your-own-boosts-and-buffs.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
