✅CustomLeaderboards [1.21-26.2]
1.3.8Flexible leaderboards with timed resets, rewards, placeholders and SQLite/MySQL support.
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.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
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. - Interactive GUI & Citizens NPC displays
Browse leaderboards through /clb and display current or previous top-three players as individually placed Citizens NPCs with automatic skins and customizable text.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DEFAULT LEADERBOARDS
CustomLeaderboards includes five example categories:
Playtime
Mob kills
- $ Money earned
Items crafted
Blocks mined
- ✦ Fish caught
Weighted resource points
These are only defaults. Categories, sources, and resource point values can be customized in config.yml. Player-placed resources can also be excluded to prevent point farming.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
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.
This means a player with old lifetime statistics will not automatically receive those values on a new weekly leaderboard.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
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.
SQLite is enabled by default and requires no external database setup.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
COMMANDS
/customleaderboards reload
/customleaderboards update
/customleaderboards top <period> <top>
/customleaderboards forcereset <period> <true|false>
/customleaderboards debug
Short command alias:
/clb
Permission:
customleaderboards.admin
The permission is granted to server operators by default.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PLACEHOLDERS
General formats:
%customleaderboards_top_<top>;<period>;top_name;<position>%
%customleaderboards_top_<top>;<period>;top_value;<position>%
%customleaderboards_reset_cooldown_<period>%
Examples:
%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%
Valid periods:
daily
weekly
monthly
permanent
PLACEHOLDERAPI SETUP
CustomLeaderboards requires PlaceholderAPI.
After installing PlaceholderAPI, run the following commands:
/papi ecloud download Statistic
/papi reload
If you use the Money leaderboard, install Vault and a compatible economy plugin.
The Vault placeholder may also require the Vault expansion:
/papi ecloud download Vault
/papi reload
You can test a placeholder with:
/papi parse me %statistic_time_played%
CustomLeaderboards registers its own placeholders automatically.
Do not download a separate CustomLeaderboards expansion.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CONFIGURATION EXAMPLES
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%'Weekly reset schedule
topResets:
weekly:
day: MONDAY
time: '00:00:00'
timezone: UTCValid days:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAYSQLite configuration
database:
type: sqlite
sqlite:
file: leaderboards.dbMySQL configuration
database:
type: mysql
mysql:
host: localhost
port: 3306
database: leaderboards
user: root
password: 'change-me'
use-ssl: falseNever publish real database credentials in screenshots, logs, configuration examples, or support messages.
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 valueMake sure settings.cached-top-entries in config.yml is equal to or higher than the highest rewarded position.
Supported actions:
- console_command
- player_command
- message
- center_message
- broadcast
Supported variables:
- <player>
- <top>
- <amount>
- <category>
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: {}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
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!
- 30 Downloads — August 1, 2026
- 40 Downloads — August 3, 2026
- 50 Downloads — August 6, 2026
- 60 Downloads — August 13, 2026
- 70 Downloads — August 15, 2026
- 80 Downloads — August 17, 2026
- 90 Downloads — August 20, 2026
- 100 Downloads — August 23, 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!
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta