AhxerLevels turns mining, fishing, farming, PvP and mob kills into experience — then promotes players through fully configurable ranks with rewards, fireworks and a clean stats menu.
Integrates with
Every source of XP, every rank, every reward — configured from a single readable config.yml. No commands required to set it up.
Players earn XP from the things they already do. Every value is tunable per block, per fish, per crop and per mob.
The /level menu shows rank, total XP, the next rank and a live progress bar — plus the player's full stats and a Top 3 preview. Open it with /level, /nivel, /lvl or /rango.
Every rank can run a list of console commands the first time a player reaches it — money, items, kits or permissions. Rewards are granted once per player, even after a demotion and re-promotion.
# Run once, the first time a player reaches the rank rank_rewards: guerrero: commands: - "eco give {player} 6400" - "give {player} diamond 3" - "lp user {player} permission set vip true" caballero: commands: - "eco give {player} 102400" - "kit {player} caballero"
Change a player's group straight from LuckPerms and AhxerLevels reacts exactly like its own commands — title, minimum XP and fireworks included. Restrict XP to the worlds you choose, and audit every change.
# XP is only gained or lost in these worlds enabled-worlds: - "world" - "farm" # Boost limit for admins (0 = unlimited) boost: max_multiplier: 10.0 # /xpboost global 2 3600 -> x2 XP, 1 hour # /xpboost Steve 3 1800 -> x3 XP for Steve
Everything below ships in a single JAR — no add-ons, no upsells.
| Feature | AhxerLevels |
|---|---|
| XP from mining, fishing, farming, PvP & mobs | ✓ |
| 7 configurable ranks with required XP | ✓ |
| Per-rank command rewards (once per player) | ✓ |
| Rank-up fireworks & on-screen titles | ✓ |
| Visual /level stats menu | ✓ |
| Leaderboard & Top 3 preview | ✓ |
| WorldGuard region XP multipliers | ✓ |
| Temporary XP boosts (global / per player) | ✓ |
| Native LuckPerms sync | ✓ |
| Per-world XP control | ✓ |
| PlaceholderAPI support (7 placeholders) | ✓ |
| XP history / anti-cheat log | ✓ |
| YAML & MySQL / MariaDB storage | ✓ |
| Live reload — no restart needed | ✓ |
Drop these placeholders into scoreboards, tab lists, holograms or chat. They resolve to the player's current progression in real time.
%ahxer_xp%Current XP, formatted%ahxer_xp_raw%Current XP as a raw number%ahxer_rank%Current rank name%ahxer_rank_id%Current rank ID%ahxer_next_rank%Next rank name, or MAX%ahxer_xp_needed%XP left to the next rank%ahxer_progress%Progress to next rank (0–100)/top xpLeaderboard, YAML or MySQLThe default ranks ship ready to use — from Novato to Gladiador. Rename ranks, change the XP curve and map each to a LuckPerms group. Bars show each rank's required XP relative to the top rank.
ranks: minero: display-name: "Minero" required-xp: 100 order: 3 guerrero: display-name: "Guerrero" required-xp: 300 order: 4 # Unlock a permission at an XP threshold special_permission: xp_required: 30000 permission: "elegible.rangos.superior"
mining: coal_ore: 0.5 diamond_ore: 1.0 ancient_debris: 2.0 pvp: xp_on_kill: 5.0 xp_lost_on_death: 2.0 # /level menu (NxMenu-compatible title) gui: title: "Estadisticas" size: 27 show-top: true
Players get a menu and their stats. Admins get full control over XP, ranks, boosts and history — every action permission-gated.
| Command | Description | Permission |
|---|---|---|
| /level [player]/nivel · /lvl · /rang · /rango | Open the progress & stats menu | ahxerlevels.gui |
| /level <player> | Open another player's menu | ahxerlevels.gui.others |
| /stats [player]/estadisticas · /estadistica · /stat | View statistics | ahxerlevels.stats |
| /stats <player> | View another player's statistics | ahxerlevels.stats.others |
| /top xp/ranking · /leaderboard | Leaderboard of the highest-XP players | ahxerlevels.top |
| /xp/ahxerxp · /levels | Main XP command | — |
| /xpinfo [player] | Check a player's XP and rank | ahxerlevels.info |
| /xpboost <target> <mult> <sec> | Start a temporary XP multiplier, global or per player | ahxerlevels.admin.xpboost |
| /xpgive <player> <amount> | Give XP to a player | ahxerlevels.admin.give |
| /xptake <player> <amount> | Take XP from a player | ahxerlevels.admin.take |
| /xpset <player> <amount> | Set a player's XP | ahxerlevels.admin.set |
| /setrank <player> <rank> | Force a player's rank | ahxerlevels.admin.setrank |
| /xplog <player> [page] | XP history for anti-cheat review | ahxerlevels.admin.xplog |
| /reloadlevels | Reload the configuration without a restart | ahxerlevels.admin.reload |
config.yml with its own display-name, required-xp and order. Add, remove or rename ranks freely — just create a matching LuckPerms group.storage.type: MYSQL and point it at your database. Tables are created automatically, and new columns are added when you upgrade./level menu title is configurable, and the menu is detected by an internal holder rather than its title — so you can match a texture-pack title and click-protection still works./reloadlevels to apply configuration changes live.Drop in the JAR, keep the defaults or tune every value, and let your players climb. One-time purchase on BuiltByBit.