DirtyLeaderboards v1.0

The ultimate leaderboards plugin. Allows you to make modern leaderboards easily.
  • dirtyleaderboards - upped.png
  • IMG-3.png
  • IMG-2.png
  • IMG-1.png
  • dirtyleaderboards - upped.png
  • IMG-3.png
  • IMG-2.png
  • IMG-1.png




8e85c2461fca1bbe7a97c7e1bd3b186c283c6fae_0.webp


DirtyLeaderboards

The ultimate™ leaderboards plugin. Allows you to make modern leaderboards easily.

📖 How It Works​

Everything you see is just vanilla BlockDisplay/TextDisplay entities, positioned and animated by the plugin every tick. Ten rows that slide in and out with real player heads (<head:uuid>) and item/particle icons (<sprite:atlas:path>).

Displays cycle through however many leaderboards you configure, one at a time, with slide animations between them. You can run as many separate displays as you want, each with its own location and its own rotation.

⚠️ Important Notice​

Compatibility: Requires Paper 1.21.9 or newer. The row icons rely on the vanilla sprite/head text components added in 1.21.9, so this won't work on Spigot or older versions (They will show as " " ⬅ a space).

Click to view the list of sprites and their path.

✨ Features​

  • 🖼️ Fully entity-based displays
  • 🔁 Multiple leaderboards per display, rotating on a timer you control
  • 🔢 Three data sources - vanilla Bukkit statistics, a custom Skript syntax and PlaceholderAPI placeholder
  • 🎨 Custom styling - colors, icons (including animated ones, like the playtime clock), rank colors, number/time formatting are customizable for each leaderboard
  • 🧩 Skript integration - effects, expressions, a condition and a rotate event
  • 🔗 PlaceholderAPI expansion
  • 📡 A Bukkit event (LeaderboardRotateEvent) for plugin developers
  • ♻️ Live reload - /dlb reload reloads all three config files without a restart
  • 🏷️ Multiple displays, each independently started, stopped, skipped or moved

🗃️ Leaderboard Sources​

Each leaderboard in leaderboards.yml picks one source:
  • statistic - pulls straight from a vanilla Bukkit statistic (kills, deaths, playtime, you name it). Can't be manipulated without another plugin.
  • custom - Most commonly changed by our custom skript syntax.
  • placeholder - modified by PlaceholderAPI placeholders. Offline players are resolved in small batches per tick (placeholder-players-per-tick in config.yml) so it doesn't slow down the main thread on servers with lots of players.

🛠️ Commands​

Base command is /dirtyleaderboards.
Aliases: dlb, leaderboards, dirtyboards, boards, db, dirtyboard, leaderboard, lb, dlbs.

If you only have one display configured, you can leave <display> empty and it'll default to your only leaderboard.

CommandDescription
/dlb helpLists the commands below
/dlb listLists every display and whether it's running
/dlb reloadReloads config.yml, leaderboards.yml and messages.yml
/dlb start <display>Starts a display
/dlb stop <display>Stops a display
/dlb skip <display>Skips to the next leaderboard in the rotation
/dlb move <display>Moves a display to where you're standing and facing

🔐 Permission​

PermissionDescriptionDefault
dirtyleaderboards.adminAccess to every /dlb subcommandOP

🧩 Skript​

The Skript addon registers itself automatically if Skript is present.

Ruby:
# control a display
start the leaderboard display "main"
stop the leaderboard display "main"
skip the leaderboard display "main"

# check state
current leaderboard of display "main"
leaderboard display "main" is running

# read/write a single player's score on a "custom" source board
set leaderboard data of player in "points" to 100
add 5 to leaderboard data of player in "points"
remove 2 from leaderboard data of player in "points"
reset leaderboard data of player in "points"

# wipe an entire board for every player (not just yours)
clear the leaderboard data for leaderboard "points"

# react whenever any display rotates to a new leaderboard
on leaderboard rotate:
    broadcast "%rotated display id% just switched to %rotated leaderboard id%"

🔗 PlaceholderAPI​

Registers as %dirtyleaderboards_...% once PlaceholderAPI is installed:

PlaceholderReturns
%dirtyleaderboards_top_<board>_<rank>_name%Name of the player at that rank
%dirtyleaderboards_top_<board>_<rank>_value%Their value, formatted (e.g. 15.2k)
%dirtyleaderboards_top_<board>_<rank>_raw%Their value, unformatted
%dirtyleaderboards_value_<board>%The viewing player's own value, formatted
%dirtyleaderboards_raw_<board>%The viewing player's own value, unformatted

⚙️ Configuration​

  • config.yml - global settings: caching, number/time formatting, and one displays: entry per billboard (location, rotation order, colors, block types).
  • leaderboards.yml - the leaderboards themselves: source, title, icon, formatting, and stored values for custom boards.
  • messages.yml - every message the plugin sends. Uses MiniMessage.

A single leaderboard entry looks like this:

YAML:
leaderboards:
  kills:
    enabled: true
    source: statistic
    statistic: player_kills
    title: "TOP KILLS"
    title-color: "#ee2a2a"
    value-color: "#FFD263"
    icon: "<sprite:items:item/diamond_sword>"
    icon-width: 12
    format: number
    minimum-value: 1
    duration-seconds: 15


📄 License​


This project uses the CC BY-NC 4.0 license.


EULA: Free EULA
47 Views
2 Downloads
Jul 23, 2026 Published
N/A Updated
Not yet rated
199 KB File size
Open source
  1. Yes
DRM-free
  1. Yes
Unobfuscated
  1. Yes
AI use in marketing
No
AI use in product
No
Type
  1. Magic
  1. Technology
  1. Reward
Supported software
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
Supported languages
  1. English
Creator
Owner
Struggling to cover the costs of your server? Set up your own webstore with Tebex in under 30 seconds.
Host a lag-free Minecraft or Hytale server in minutes.
Get 25% off your first order with our link.
Recommended for you
A Teams skript that allows players to create teams and a lot more!
Not yet rated
4 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,260 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 54 ratings
3,283 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 45 ratings
3,145 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 72 ratings
2,827 purchases
47 Views
2 Downloads
Jul 23, 2026 Published
N/A Updated
Not yet rated
199 KB File size
Open source
  1. Yes
DRM-free
  1. Yes
Unobfuscated
  1. Yes
AI use in marketing
No
AI use in product
No
Type
  1. Magic
  1. Technology
  1. Reward
Supported software
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
Supported languages
  1. English
Creator
Owner
Struggling to cover the costs of your server? Set up your own webstore with Tebex in under 30 seconds.
Host a lag-free Minecraft or Hytale server in minutes.
Get 25% off your first order with our link.
Recommended for you
A Teams skript that allows players to create teams and a lot more!
Not yet rated
4 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,260 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 54 ratings
3,283 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 45 ratings
3,145 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 72 ratings
2,827 purchases
Top