Leaderboards
Server leaderboards for NeoForge 1.21.1. Show the top players of any statistic as floating holograms and as life-size mannequins of the top 3 wearing the real player skins. Everything refreshes automatically every hour.
💬 Support & suggestions: join our Discord → [https://discord.gg/uEyNJYWcGM]
✨ Features
📊 Many leaderboards out of the box
| Board id | What it ranks |
|---|---|
kills |
Mob kills + player kills |
mob_kills / player_kills |
Each one separately |
deaths |
Times died |
blocks_mined |
Blocks broken |
blocks_placed |
Blocks placed (tracked by the mod) |
playtime |
Time played |
money |
Balance, when Economics is installed |
🏆 Holograms
Create a top-N hologram anywhere with one command. Each hologram is a single text display that updates in place, with a title, ranked rows and an "updated at" footer. The look is fully configurable (row format, colors per rank, background, scale).
🧍 Mannequins of the top 3
Place the mannequin of 1st, 2nd or 3rd place and it automatically shows whoever currently holds that rank, with their real skin, even if they are offline. A label above it shows the board title, rank and value.
- Mannequins are packet-based fake players: they cannot be killed, pushed or duplicated, and cost almost nothing.
- Skins are downloaded in the background and cached, so there is no lag.
- Dress them up: a creative-mode op can shift + right-click a mannequin to give it armor or items in the main and off hand (purely cosmetic, saved across restarts).
💃 Emotecraft support (optional)
If Emotecraft is installed, a mannequin can perform any emote from your emotes/ folder:
/leaderboard emote kills_p1 wave
Looping emotes play continuously and short ones repeat. Players who have Emotecraft see it.
🗂️ Custom boards with JSON
Create your own rankings without coding, perfect for donors, VIPs, event winners, and more:
{
"type": "manual",
"title": "&d&lTop Donors",
"prefix": "$",
"entries": [
{ "name": "&6Steve", "value": 150 },
{ "name": "&bAlex", "value": 90 }
]
}
Or turn any vanilla statistic into a board:
{ "type": "stat", "title": "&a&lTop Jumps", "stat_type": "minecraft:custom", "stat": "minecraft:jump" }
Manual boards can also be edited in-game with /leaderboard manual set|remove|create|delete.
🔌 Compatible with other mods
- Economics – the
moneyboard appears automatically. - Emotecraft – mannequin emotes.
- Developer API – other mods can add their own board in a few lines (e.g. completed contracts):
@SubscribeEvent
public static void onRegister(RegisterStatProvidersEvent event) {
event.register(SimpleStatProvider.of("contracts", Component.literal("Top Contracts"),
ValueFormatter.integer(), ctx -> myMap(ctx.server()))); // Map<UUID, Double>
}
⌨️ Commands
/leaderboard (alias /lb)
| Command | Description | Permission |
|---|---|---|
/leaderboard list |
List all boards | Everyone |
/leaderboard <board> |
Show the top in chat | Everyone |
/leaderboard <board> place [pos] [count] |
Create a hologram | OP |
/leaderboard <board> player <1-3> [pos] |
Place the mannequin of that rank | OP |
/leaderboard emote <mannequin> <emote|none> |
Set a mannequin's emote | OP |
/leaderboard objects / remove <id> |
Manage holograms and mannequins | OP |
/leaderboard refresh / reload |
Recompute now / reload config and JSON | OP |
/leaderboard manual create|set|remove|delete |
Manage manual boards | OP |
⚙️ Configuration
Everything lives in config/leaderboards/:
config.json– refresh interval (default 1 hour), top size, hologram and mannequin appearance.boards/*.json– your custom boards (the file name is the board id).
📋 Requirements
- Minecraft 1.21.1 with NeoForge
- Install on both server and client
- Optional: Economics, Emotecraft
❓ FAQ
How often do boards update? On server start and then every hour (configurable). /leaderboard refresh forces it.
Does it lag big servers? No. Offline player stats are read a few files per tick, never all at once.
Why does a mannequin show a default skin? Offline/cracked accounts have no Mojang skin to download. Premium players show their real skin.
Can I use it in a modpack? Yes, feel free to include it.
💬 Support
Found a bug or have an idea? Join the Discord: **[https://discord.gg/uEyNJYWcGM]**