# 🪛 Developer API

## Events

* **PlayerChallengeObjectiveEvent** - Called when player does challenge's objective.
* **PlayerChallengeCompleteEvent** - Called when player completes a challenge.

## Accessing Data

```java
ChallengesPlugin plugin = ChallengesAPI.PLUGIN; // ExcellentChallenges instance

UserManager userManager = ChallengesAPI.getUserManager(); // User manager.

ChallengeManager challengeManager = ChallengesAPI.getCrateManager(); // Challenge manager.

ChallengeUser user = userManager.getUserData(Player player); // Get user data.
ChallengeUser user = userManager.getUserData(UUID playerId);
ChallengeUser user = userManager.getUserData(String playerName);
```
