A Minecraft plugin that introduces player levels based on statistics tracking
A feature-rich Minecraft plugin that introduces player levels based on statistics tracking for Paper 1.21.3.
/level commandplugins folder/papi ecloud download Statistic and /papi reloadplugins/PlayerLevels/config.ymlThe plugin is highly configurable. Here's a breakdown of the main configuration sections:
settings:
enable-plugin: true
# Level-up announcements
level-up-broadcast: true
level-up-message: "&6%player% &ehas reached &aLevel %level%&e!"
levels:
base-xp: 100 # Base XP required for level 1
xp-multiplier: 1.5 # XP increase per level (exponential scaling)
xp-boost:
multiplier: 2.0 # XP multiplier when boost is active
You can configure which statistics count towards player levels and how much XP they provide:
statistics:
1:
statistic: "MINE_BLOCK"
material: "STONE"
xp-value: 5 # Gain 5 XP per stone mined
2:
statistic: "KILL_ENTITY"
entity: "ZOMBIE"
xp-value: 20 # Gain 20 XP per zombie killed
The statistic field should be a valid Minecraft statistic name. For statistics related to blocks, include the material field. For statistics related to entities, include the entity field.
Negative XP values can be used to penalize certain actions (like deaths).
Configure rewards for reaching specific levels:
rewards:
5:
commands:
- "give %player% diamond 1"
message: "&aYou reached Level 5! Enjoy a diamond!"
10:
commands:
- "give %player% diamond 5"
- "eco give %player% 1000"
message: "&eLevel 10! You got 5 diamonds and $1,000!"
Create achievement awards that players can earn:
awards:
level_10_pioneer:
display-name: "&6Level 10 Pioneer"
requirement: "level=10"
message: "&a✨ Achievement Unlocked: &6Level 10 Pioneer&a!"
commands:
- "give %player% golden_apple 3"
top_player:
display-name: "&e&l⭐ #1 Player"
requirement: "rank=1"
message: "&6&l✨ You're #1! You earned the Top Player award!"
commands:
- "give %player% diamond_block 10"
Requirements can be:
level=X - Player must reach level Xrank=X - Player must reach rank X or better| Command | Description | Permission |
|---|---|---|
/level |
View your current level, rank, and progress | playerlevels.use |
/level <player> |
View another player's level | playerlevels.others |
/level awards [player] |
View your awards (or another player's) | playerlevels.use |
/level reload |
Reload the plugin configuration | playerlevels.admin |
/level set <player> <level> |
Set a player's level | playerlevels.admin |
/level boost <player> <minutes> |
Give a player temporary XP boost | playerlevels.admin |
/leveltop [limit] [page] |
Show the leaderboard of highest levels | playerlevels.leaderboard |
Examples:
/level - View your stats/level awards - View your awards/level Steve - View Steve's stats/level boost Steve 60 - Give Steve 1 hour of 2x XP/leveltop - Show top 10 players (page 1)/leveltop 20 - Show top 20 players (page 1)/leveltop 10 2 - Show top 10 players on page 2The plugin provides the following PlaceholderAPI placeholders:
%playerlevels_level%: Player's current level%playerlevels_xp%: Player's total XP points%playerlevels_xp_needed%: XP needed for next level%playerlevels_progress%: Visual progress bar with percentage%playerlevels_rank%: Player's server rank%playerlevels_awards%: Number of awards earnedThese placeholders work without player context, making them ideal for holographic displays:
%playerlevels_top_<position>_name%: Player name at position (e.g., %playerlevels_top_1_name%)%playerlevels_top_<position>_level%: Player level at position (e.g., %playerlevels_top_1_level%)%playerlevels_top_<position>_xp%: Player XP at position (e.g., %playerlevels_top_1_xp%)%playerlevels_top_<position>_rank%: Position number (e.g., %playerlevels_top_1_rank%)%playerlevels_total_players%: Total number of players in databaseUsing DecentHolograms or similar plugins:
lines:
- '&6&l⚔ Top Players ⚔'
- '&e#1 &f%playerlevels_top_1_name% &7- &aLevel %playerlevels_top_1_level%'
- '&e#2 &f%playerlevels_top_2_name% &7- &aLevel %playerlevels_top_2_level%'
- '&e#3 &f%playerlevels_top_3_name% &7- &aLevel %playerlevels_top_3_level%'
- ''
- '&7Total Players: &f%playerlevels_total_players%'
# In your scoreboard plugin config
lines:
- '&6&lYour Stats'
- '&eLevel: &f%playerlevels_level%'
- '&eRank: &f#%playerlevels_rank%'
- '%playerlevels_progress%'
- '&eAwards: &f%playerlevels_awards%'
By default, the plugin uses SQLite for data storage. You can switch to MySQL by changing the configuration:
storage:
type: "mysql"
mysql:
host: "localhost"
port: 3306
database: "minecraft"
username: "root"
password: ""
| Permission | Description | Default |
|---|---|---|
playerlevels.use |
Allows checking own level | true |
| `playerlevels. |