# Create Your Own Boosts & Buffs

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: 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://docs.rivaldev.xyz/other-plugins/rival-pets/create-your-own-boosts-and-buffs.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.
