# 
        Developer API
    
You can import ExcellentQuests to your project using Maven. Replace {VERSION} with the latest version below:
    
<repository>
  <id>nightexpress-releases</id>
  <url>https://repo.nightexpressdev.com/releases</url>
</repository>
<dependency>
  <groupId>su.nightexpress.quests</groupId>
  <artifactId>ExcellentQuests</artifactId>
  <version>{VERSION}</version>
</dependency>
        # 
        Events
    
- BattlePassLevelUpEvent - Called when player's Battle Pass level is increased.
 - BattlePassLevelDownEvent - Called when player's Battle Pass level is downgraded.
 - BattlePassSeasonLaunchEvent - Called when a Battle Pass season is launched.
 - BattlePassSeasonFinishEvent - Called when a Battle Pass season is over.
 
        # 
        Data Access
    
// User data management.
UserManager userManager = QuestsAPI.getUserManager();
QuestUser user = userManager.getUserData(Player player);
QuestUser user = userManager.getUserData(UUID playerId);
QuestUser user = userManager.getUserData(String playerName);
// Async user access.
userManager.getUserDataAsync(UUID playerId);
userManager.getUserDataAsync(String playerName);
// Or (recommended)
userManager.getUserDataAndPerformAsync(UUID playerId, Consumer<QuestUser> consumer);
userManager.getUserDataAndPerformAsync(String playerName, Consumer<QuestUser> consumer);
// Managers
TaskManager taskManager = QuestsAPI.getTaskManager();
RewardManager rewardManager = QuestsAPI.getRewardManager();
BattlePassManager bpManager = QuestsAPI.battlePassManager().orElse(null); // Battle Pass can be disabled in the config.
MilestoneManager msManager = QuestsAPI.milestoneManager().orElse(null); // Milestones can be disabled in the config.
QuestManager questManager = QuestsAPI.questManager().orElse(null); // Quests can be disabled in the config.