A lightweight and customizable Minecraft leaderboard plugin for Spigot and Paper servers.
Create daily, weekly and monthly leaderboards for playtime, mob kills, blocks mined, items crafted, economy balances and any supported PlaceholderAPI value.
DAILY •
WEEKLY •
MONTHLY •
PERMANENT
Paper & Spigot 1.21 • SQLite & MySQL • Rewards • Hologram Support
MORE PLUGINS BY DONCASPER99
Click a plugin to view its resource page.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Create daily, weekly and monthly leaderboards for playtime, mob kills, blocks mined, items crafted, economy balances and any supported PlaceholderAPI value.
DAILY •
WEEKLY •
MONTHLY •
PERMANENT
Paper & Spigot 1.21 • SQLite & MySQL • Rewards • Hologram Support
MORE PLUGINS BY DONCASPER99
Click a plugin to view its resource page.
WHAT IS CUSTOMLEADERBOARDS?
CustomLeaderboards is a lightweight and configurable leaderboard plugin for Minecraft servers.
It tracks changes in numeric PlaceholderAPI values and creates daily, weekly, monthly, and permanent rankings. This makes it possible to build leaderboards for economy, statistics, jobs, tokens, points, playtime, or almost any other plugin that provides a numeric placeholder.
Everything is displayed through placeholders, allowing you to use your preferred hologram, scoreboard, menu, or chat plugin.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MAIN FEATURES
- Timed leaderboards
Daily, weekly, monthly, and permanent tracking periods.
- PlaceholderAPI sources
Create leaderboard categories from configurable numeric placeholders.
- Automatic resets
Configure reset days, times, month days, and Java timezones.
- Top rewards
Run console commands, player commands, messages, centered messages, and broadcasts.
- SQLite and MySQL
Use simple local SQLite storage or connect to an external MySQL database.
- Playtime support
Raw Bukkit playtime tracking prevents localized text such as "4 days 22h" from breaking rankings.
- Hologram integration
Use the included placeholders with DecentHolograms or another PlaceholderAPI-compatible display plugin.
- Safe command execution
Database work is processed separately while Minecraft reward commands are dispatched safely on the server thread.
- Included documentation
English configuration comments, a complete guide, reward examples, and a DecentHolograms example are generated automatically.
DEFAULT LEADERBOARDS
CustomLeaderboards includes five example categories:
- ⏱ Playtime
- ⚔ Mob kills
- $ Money earned
- ✂ Items crafted
- ⛏ Blocks mined
These are only defaults. Categories and sources can be changed in config.yml.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
IMAGES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW IT WORKS
- CustomLeaderboards reads each configured source for online players.
- The first reading becomes the player's starting baseline.
- Positive changes are added to the active periods.
- Players are sorted by their earned value.
- At reset time, rewards are resolved and the period begins again from zero.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
REQUIREMENTS
- Minecraft: 1.21
- Java: 21
- Server software: Paper or Spigot
- Required: PlaceholderAPI
- Optional: Vault and an economy plugin for the default money source
- Optional: DecentHolograms
INSTALLATION
- Stop your Minecraft server.
- Install PlaceholderAPI.
- Place CustomLeaderboards.jar in the plugins directory.
- Start the server.
- Edit plugins/CustomLeaderboards/config.yml.
- Configure rewards in rewards.yml.
- Restart the server or run /customleaderboards reload.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
COMMANDS
Code (Text):
/customleaderboards reload
/customleaderboards update
/customleaderboards top <period> <top>
/customleaderboards forcereset <period> <true|false>
/customleaderboards debug
Code (Text):
/clb
Code (Text):
customleaderboards.admin
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PLACEHOLDERS
General formats:
Code (Text):
%customleaderboards_top_<top>;<period>;top_name;<position>%
%customleaderboards_top_<top>;<period>;top_value;<position>%
%customleaderboards_reset_cooldown_<period>%
Code (Text):
%customleaderboards_top_eco;weekly;top_name;1%
%customleaderboards_top_eco;weekly;top_value;1%
%customleaderboards_top_playtime;weekly;top_name;1%
%customleaderboards_top_playtime;weekly;top_value;1%
%customleaderboards_reset_cooldown_weekly%
Code (Text):
daily
weekly
monthly
permanent
PLACEHOLDERAPI SETUP
CustomLeaderboards requires PlaceholderAPI.
After installing PlaceholderAPI, run the following commands:
Code (Text):
/papi ecloud download Statistic
/papi reload
The Vault placeholder may also require the Vault expansion:
Code (Text):
/papi ecloud download Vault
/papi reload
Code (Text):
/papi parse me %statistic_time_played%
Do not download a separate CustomLeaderboards expansion.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CONFIGURATION EXAMPLES
Spoiler: Leaderboard categories - config.yml
tops:
playtime:
name : Playtime
placeholder : ' %statistic_time_played%'
parse_time : true
time_unit : ticks
time_format : short
kills:
name : Mob Kills
placeholder : ' %statistic_mob_kills%'
eco:
name : Money Earned
placeholder : ' %vault_eco_balance%'
Code (YAML):
tops:
playtime:
name : Playtime
placeholder : ' %statistic_time_played%'
parse_time : true
time_unit : ticks
time_format : short
kills:
name : Mob Kills
placeholder : ' %statistic_mob_kills%'
eco:
name : Money Earned
placeholder : ' %vault_eco_balance%'
Spoiler: Weekly reset schedule
topResets:
weekly:
day : MONDAY
time : '00:00:00'
timezone : UTC
Valid days:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
Code (YAML):
topResets:
weekly:
day : MONDAY
time : '00:00:00'
timezone : UTC
Code (Text):
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
Spoiler: SQLite configuration
database:
type : sqlite
sqlite:
file : leaderboards.db
Code (YAML):
database:
type : sqlite
sqlite:
file : leaderboards.db
Spoiler: MySQL configuration
database:
type : mysql
mysql:
host : localhost
port : 3306
database : leaderboards
user : root
password : 'change-me'
use-ssl : false
Never publish real database credentials in screenshots, logs, configuration examples, or support messages.
Code (YAML):
database:
type : mysql
mysql:
host : localhost
port : 3306
database : leaderboards
user : root
password : 'change-me'
use-ssl : false
Spoiler: Weekly reward example
rewards:
weekly:
eco:
top1:
top : 1
rewards:
- 'console_command : give <player> diamond 3'
- 'message : &7'
- 'center_message : &6&l TOP &e #<top> &6&lMONEY &f- &b$<amount>'
- 'message : &aYou placed first in weekly money!'
top2:
top : 2
rewards:
- 'console_command : give <player> diamond 2'
- 'message : &7'
- 'center_message : &6&l TOP &e #<top> &6&lMONEY &f- &b$<amount>'
- 'message : &aYou placed second in weekly money!'
top3:
top : 3
rewards:
- 'console_command : give <player> diamond 1'
- 'message : &7'
- 'center_message : &6&l TOP &e #<top> &6&lMONEY &f- &b$<amount>'
- 'message : &aYou placed third in weekly money!'
kills:
top1:
top : 1
rewards:
- 'console_command : give <player> diamond 3'
- 'message : &7'
- 'center_message : &6&l TOP &e #<top> &6&lKILLS &f- &b<amount>'
- 'message : &aYou placed first in weekly mob kills!'
top2:
top : 2
rewards:
- 'console_command : give <player> diamond 2'
- 'message : &7'
- 'center_message : &6&l TOP &e #<top> &6&lKILLS &f- &b<amount>'
- 'message : &aYou placed second in weekly mob kills!'
top3:
top : 3
rewards:
- 'console_command : give <player> diamond 1'
- 'message : &7'
- 'center_message : &6&l TOP &e #<top> &6&lKILLS &f- &b<amount>'
- 'message : &aYou placed third in weekly mob kills!'
playtime:
top1:
top : 1
rewards:
- 'console_command : give <player> diamond 3'
- 'message : &7'
- 'center_message : &6&l⏱ TOP &e #<top> &6&lPLAYTIME &f- &b<amount>'
- 'message : &aYou placed first in weekly playtime!'
top2:
top : 2
rewards:
- 'console_command : give <player> diamond 2'
- 'message : &7'
- 'center_message : &6&l⏱ TOP &e #<top> &6&lPLAYTIME &f- &b<amount>'
- 'message : &aYou placed second in weekly playtime!'
top3:
top : 3
rewards:
- 'console_command : give <player> diamond 1'
- 'message : &7'
- 'center_message : &6&l⏱ TOP &e #<top> &6&lPLAYTIME &f- &b<amount>'
- 'message : &aYou placed third in weekly playtime!'
Available reward placeholders:
<player> - Player name
<top> - Leaderboard position
<amount> - Player's leaderboard value
Make sure
settings.cached-top-entries in config.yml is equal to or higher than the highest rewarded position.
Supported actions:
Supported variables:
Code (YAML):
rewards:
weekly:
eco:
top1:
top : 1
rewards:
- 'console_command : give <player> diamond 3'
- 'message : &7'
- 'center_message : &6&l TOP &e #<top> &6&lMONEY &f- &b$<amount>'
- 'message : &aYou placed first in weekly money!'
top2:
top : 2
rewards:
- 'console_command : give <player> diamond 2'
- 'message : &7'
- 'center_message : &6&l TOP &e #<top> &6&lMONEY &f- &b$<amount>'
- 'message : &aYou placed second in weekly money!'
top3:
top : 3
rewards:
- 'console_command : give <player> diamond 1'
- 'message : &7'
- 'center_message : &6&l TOP &e #<top> &6&lMONEY &f- &b$<amount>'
- 'message : &aYou placed third in weekly money!'
kills:
top1:
top : 1
rewards:
- 'console_command : give <player> diamond 3'
- 'message : &7'
- 'center_message : &6&l TOP &e #<top> &6&lKILLS &f- &b<amount>'
- 'message : &aYou placed first in weekly mob kills!'
top2:
top : 2
rewards:
- 'console_command : give <player> diamond 2'
- 'message : &7'
- 'center_message : &6&l TOP &e #<top> &6&lKILLS &f- &b<amount>'
- 'message : &aYou placed second in weekly mob kills!'
top3:
top : 3
rewards:
- 'console_command : give <player> diamond 1'
- 'message : &7'
- 'center_message : &6&l TOP &e #<top> &6&lKILLS &f- &b<amount>'
- 'message : &aYou placed third in weekly mob kills!'
playtime:
top1:
top : 1
rewards:
- 'console_command : give <player> diamond 3'
- 'message : &7'
- 'center_message : &6&l⏱ TOP &e #<top> &6&lPLAYTIME &f- &b<amount>'
- 'message : &aYou placed first in weekly playtime!'
top2:
top : 2
rewards:
- 'console_command : give <player> diamond 2'
- 'message : &7'
- 'center_message : &6&l⏱ TOP &e #<top> &6&lPLAYTIME &f- &b<amount>'
- 'message : &aYou placed second in weekly playtime!'
top3:
top : 3
rewards:
- 'console_command : give <player> diamond 1'
- 'message : &7'
- 'center_message : &6&l⏱ TOP &e #<top> &6&lPLAYTIME &f- &b<amount>'
- 'message : &aYou placed third in weekly playtime!'
Available reward placeholders:
Code (Text):
<player> - Player name
<top> - Leaderboard position
<amount> - Player's leaderboard value
Supported actions:
- console_command
- player_command
- message
- center_message
- broadcast
Supported variables:
- <player>
- <top>
- <amount>
- <category>
Spoiler: DecentHolograms example
location : world:0.500:100.000:0.500
enabled : true
display-range : 48
update-range : 48
update-interval : 10
facing : 0.0
down-origin : false
pages:
- lines:
- content : '&6&lBest Players of the Week'
height : 0.3
- content : '&7 (Resets in %customleaderboards_reset_cooldown_weekly%)'
height : 0.3
- content : '&eTop Playtime : &f%customleaderboards_top_playtime;weekly;top_name;1% &7 (&b %customleaderboards_top_playtime;weekly;top_value;1%&7)'
height : 0.3
actions : { }
Code (YAML):
location : world:0.500:100.000:0.500
enabled : true
display-range : 48
update-range : 48
update-interval : 10
facing : 0.0
down-origin : false
pages:
- lines:
- content : '&6&lBest Players of the Week'
height : 0.3
- content : '&7 (Resets in %customleaderboards_reset_cooldown_weekly%)'
height : 0.3
- content : '&eTop Playtime : &f%customleaderboards_top_playtime;weekly;top_name;1% &7 (&b %customleaderboards_top_playtime;weekly;top_value;1%&7)'
height : 0.3
actions : { }
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
INCLUDED FILES
The plugin automatically generates:
- config.yml – leaderboard, reset, database, and performance settings
- rewards.yml – configurable winner rewards
- GUIDE.md – complete setup and troubleshooting guide
- hologram-example.yml – ready-to-edit DecentHolograms example
- leaderboards.db – created automatically when SQLite is selected
TEST SERVER
Want to test the plugin before downloading it?
Join our test server using the IP below:
202.36.95.132
SUPPORT & FEEDBACK
Questions, bug reports, and feature suggestions are welcome in the resource discussion thread.
Please include your server version, plugin version, configuration without passwords, and the relevant console error when reporting a problem.
CustomLeaderboards is my first publicly released Minecraft plugin.
Feedback, suggestions, and bug reports are greatly appreciated!
★ DOWNLOAD MILESTONES ★
Thank you to everyone who has downloaded and supported CustomLeaderboards!
Want to test the plugin before downloading it?
Join our test server using the IP below:
202.36.95.132
SUPPORT & FEEDBACK
Questions, bug reports, and feature suggestions are welcome in the resource discussion thread.
Please include your server version, plugin version, configuration without passwords, and the relevant console error when reporting a problem.
CustomLeaderboards is my first publicly released Minecraft plugin.
Feedback, suggestions, and bug reports are greatly appreciated!
★ DOWNLOAD MILESTONES ★
Thank you to everyone who has downloaded and supported CustomLeaderboards!
- 30 Downloads — August 1, 2026 — Thank you so much for supporting my first plugin!
- 40 Downloads — August 3, 2026 — Thank you so much for supporting my first plugin!
- 50 Downloads — August 6, 2026 — Thank you so much for supporting my first plugin!
- 60 Downloads — August 13, 2026 — Thank you so much for supporting my first plugin!
More milestones will be added as CustomLeaderboards continues to grow. Thank you for the support!
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.21, 26.1, 26.2
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
✅CustomLeaderboards [1.21-26.2] is a free Minecraft Java mod. Compatible with Minecraft 1.21, 26.1, 26.2. Downloaded 179 times (via Spigot). Download it and open it directly in the game.