# Developer API

### 1) Add the Dependency

Don't forget to change always the version!

<div align="left"><figure><img src="https://img.shields.io/maven-metadata/v.svg?label=LevelsAPI&#x26;metadataUrl=https://repo.mongenscave.com/releases/com/mongenscave/mc-LevelsAPI/maven-metadata.xml" alt="" width="188"><figcaption></figcaption></figure></div>

{% tabs %}
{% tab title="Maven" %}

<pre class="language-xml" data-full-width="true"><code class="lang-xml"><strong>&#x3C;repository>
</strong>  &#x3C;id>MonGens-Cave&#x3C;/id>
  &#x3C;url>https://repo.mongenscave.com/releases&#x3C;repository>&#x3C;/url>
&#x3C;/repository>

&#x3C;dependency>
  &#x3C;groupId>com.mongenscave&#x3C;/groupId>
  &#x3C;artifactId>mc-LevelsAPI&#x3C;/artifactId>
  &#x3C;version>[VERSION]&#x3C;/version>
&#x3C;/dependency>
</code></pre>

{% endtab %}

{% tab title="Gradle" %}

```groovy
maven { url "https://repo.mongenscave.com/releases" }

implementation "com.mongenscave:mc-LevelsAPI:[VERSION]"
```

{% endtab %}
{% endtabs %}

### 2) Add mc-Levels to plugin.yml

{% tabs %}
{% tab title="as depend" %}

```yaml
depend:
  - mc-Levels
```

{% endtab %}

{% tab title="as softdepend" %}

```yaml
softdepend:
  - mc-Levels
```

{% endtab %}
{% endtabs %}

### 3) Example how to use the LevelsAPI

As an example, give XP to a player.

```java
public class XPExample {
    public void giveXP(Player player, int amount) {
        LevelsAPI.getInstance().addXP(player, amount);
        player.sendMessage("✅ " + amount + " You got XP!");
    }
}
```

| Event              | Description                                                    |
| ------------------ | -------------------------------------------------------------- |
| PlayerGainXPEvent  | Triggered when a player gains XP. Can be modified or canceled. |
| PlayerLevelUpEvent | Fired when a player levels up.                                 |
