Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Tags
Creators
Details
Licensed ARR
Published 5 days ago
๐ ExoLevels
ExoLevels is a lightweight, modern, and highly customizable leveling + quest system built for performance-focused Minecraft servers. Reward players for their actions, keep them engaged with quests, and fully control progression with flexible configuration.
โจ Features
๐ Dynamic XP System
Reward players for almost any action:
- Mining & block breaking
- Killing mobs (including bosses)
- Placing blocks
- Exploring & traveling
๐ฏ Built-in Quest System
- Create custom quests with GUI support
- Track player progress in real-time
- Reward completion with XP
๐ Fully Customizable Leveling
- Define your own XP curve
- Control level progression in
levels.yml - Balance your server exactly how you want
๐๏ธ Decimal XP Support
Fine-tune rewards with precision:
- Example:
0.5 XPper block mined
๐ต Sound Customization
- Customize level-up sounds
- Customize quest completion sounds
- Or disable sounds completely
๐พ Efficient Data Storage
- Uses SQLite for fast and reliable local storage
๐ PlaceholderAPI Support
Easily integrate with scoreboards, chat, and tablists:
%exo_player_xp%%exo_player_level%%exo_xp_needed%
๐ ๏ธ Commands & Permissions
| Command | Aliases | Description | Permission |
|---|---|---|---|
/exolevels |
el, exo, exolevel |
Main help command | None |
/exolevels quests |
q, /quests |
Open quests GUI | None |
/exolevels level [player] |
lvl, /level |
View level | None / exolevels.admin |
/exolevels xp [player] |
/xp |
View XP | None / exolevels.admin |
/exolevels reload |
โ | Reload configs | exolevels.admin |
/exolevels xp <add|set|take> <player> <amount> |
โ | Manage XP | exolevels.admin |
/exolevels reset <player> |
โ | Reset player data | exolevels.admin |
๐งฉ Placeholders
Use with PlaceholderAPI:
%exo_player_xp%โ Current XP%exo_player_level%โ Current level%exo_xp_needed%โ XP needed for next level
๐ป Developer API
Integrate ExoLevels into your own plugins:
import org.notainamx.exolevels.ExoLevels;
import org.notainamx.exolevels.manager.PlayerManager;
PlayerManager playerManager = ExoLevels.getInstance().getPlayerManager();
// Add XP
playerManager.addXp(player, 50.5, "CustomSource");
// Get data
PlayerData data = playerManager.getPlayerData(player.getUniqueId());
double xp = data.getXp();
int level = data.getLevel();


