Topper icon

Topper -----

Another leaderboard plugin with better features and performance




  • Run all update logic in a repeated task instead of making one task for one logic
  • Properly save the updated value to the storage
----------, Apr 8, 2025

  • Correctly display UUID instead of name in top_key
  • Make some non-breaking changes in the API
----------, Mar 22, 2025

For a few months, I've been working with some servers to develop an addon for group leaderboards. This is similar to Topper, but instead of getting values for individual players, this will get values for groups (in particular, the owners of the groups).

There will be more information about the addon in my Discord server, so make sure to join the server.

For now, here are some images to show the addon in action (credit to @xNekio ):

g1.png g2.png
----------, Mar 10, 2025

  • Add MiniPlaceholders hook
    Value Provider
    Placeholder
  • Optimize the update task so that it will wait for the current call to be finished before executing the next call
  • Allow format setting in top_rank query
    It's similar to top_value and value
----------, Mar 5, 2025

  • Properly set default values in Database Config
  • Make some non-breaking changes in the API
----------, Feb 12, 2025

  • Correct the behavior of Reversed Leaderboard
    It should now properly reverse the leaderboard (show the player with the lowest value first) when you set it to true
  • Add a synchronization check in the Data Entry so that the value is always the latest
  • Make some non-breaking changes in the API
----------, Feb 10, 2025

  • Stop throwing errors when the holder is for online players only
  • Make non-breaking changes in the API
----------, Feb 6, 2025

  • Add top_size query
    This query shows the size of the entries in the Holder
  • Add a workaround to handle formatted values
    Check wiki
  • Add a way to format the values from queries as decimal and time
    Check wiki
  • Add a tutorial on how to make a simple playtime leaderboard
    Check wiki
  • Make some breaking changes in the API
----------, Feb 3, 2025

  • Add some locks in SQLite to ensure the transactions are in the correct order
    This is the only way to fix some synchronization issues in SQLite as it's single-threaded by default.
    You can use other file-based storage types like FLAT, YAML or JSON, or setup a MYSQL database as it supports multi-threaded properly.
----------, Jan 23, 2025

  • Utilize transaction-based saving when saving the data
    This is hugely helpful for those who use SQL for the storage
  • Make some internal changes in the API related to Data Storage
----------, Jan 18, 2025

  • Change the storage codebase to reduce unnecessary tasks
  • Use INSERT OR IGNORE and UPDATE in the original SQLite to support old versions of SQLite
  • Ensure data integrity when stopping the server
----------, Jan 6, 2025

  • Remove the config migration from 2.X
    For those who still use 2.X, follow this tutorial to migrate your config to Topper 3
  • Add an improved SQLITE storage type named NEW-SQLITE
    This improves the saving task by using the new UPSERT statement provided by new versions of SQLITE
    This is only for servers with updated SQLITE (probably Minecraft 1.12.2 and later)
  • Fix an issue when updating values from Placeholder Value Provider
    This ensures that the task is still continued even if an error occurs
----------, Nov 9, 2024

This is a long-waited update of Topper that consists of improvements and decision changes. Also, Timely Leaderboard was finished as a separated plugin. It's called TimedTopper, and you can check it here.
----------, Nov 4, 2024

A while ago, I pushed an note about removing Formatters, Top Signs & Skulls in the 3.0.0 update (You can check here). I also noted that I would make a separate plugin for displaying not just top values, but any placeholders in Signs and Skulls.
And now, that plugin is finished. It's called VarBlocks and you can check it here.
I'll make an auto migration feature in the 3.0.0 update of Topper to convert all settings to VarBlocks. The feature would be removed after the update, so if you already set Top Signs or Skulls, 3.0.0 is the only version you can migrate the settings.
You can also try VarBlocks yourself and manually replace Top Signs & Skulls to the new plugin if you can't wait for the update or just want to try it.
----------, Oct 23, 2024

I'm planning to remove Formatters, Top Signs and Top Skulls to focus my time on the main purpose of the project.
I'm also thinking of making those as a separated free plugin, so that you can display various values from PlaceholderAPI, not just values from Topper.

Check the link here for more details, and provide your opinion about it
----------, Jun 9, 2024

I'm working on a paid addon for Topper to make timely leaderboards (Daily, Weekly, Monthly, etc.). The progress is good so far, and it's on the testing phase.
If you want to try out the addon before it gets released, join my Discord server and request a tester role. Note that I only accept at most 10 testers.
The addon is expected to be released soon in the upcoming weeks, but since it has to pass the review phase, the time would be longer.
Anyways, here is a short video showing a portion of the addon.

----------, May 20, 2024

  • Disable PaperMC's Plugin Remapper for this plugin on 1.20.5+
    The plugin doesn't use any hacky stuff like NMS or packets, so it's already supported without "remapping"
  • Make changes in the API
----------, May 7, 2024

  • Make changes in the API
----------, May 5, 2024

I'm working on an addon for daily/weekly/month leaderboards. It would be a paid one and will be released soon when it's ready.
Expect more updates similar to this.

  • Make changes in the API
----------, May 4, 2024

  • Add configurable database properties
  • Make changes in the API
----------, May 4, 2024

  • Switch the major parts to MineLib
  • Reduce the file size
  • Make sure the config are generated in the intended order
----------, Mar 29, 2024

  • Add [LENIENT] flag
    Use to ignore errors when parsing placeholders
    Only use this if you are sure that the errors are not critical
----------, Feb 1, 2024

  • Update dependencies
  • Add a logger to log exceptions when parsing placeholders
    Since some users report to us that the placeholder is not working without knowing why, so we add a logger to spam their terminal if there are exceptions or they did something wrong with the settings
----------, Jan 30, 2024

  • Update dependencies
  • Fix a scheduler error when using YAML in a Folia server
----------, Dec 17, 2023

  • Update HSCore to its latest version
  • Move null-display-name & null-display-value to formatters
    It's more like a personal choice, since I feel that the display should depend on the formatter instead of making it one for all boards
  • Fix incorrect usage of configured values in some features
  • Remove old migration code
----------, Jul 6, 2023

  • Integrate Scheduler on Block update
    Make sure it works on Folia when it's ready
  • Make a lot of internal API changes
    As a library...
----------, Apr 4, 2023

This is just me doing the "challenge" to integrate Folia into my plugins.
I spent my morning updating HSCore to support Folia's Scheduler.
In the future, they may add backward support to Bukkit's Scheduler, or make a wrapper library (like what I've done in my HSCore).
I don't know what will happen. We will see about that.
For now, you can use this plugin in Folia.

  • Add initial support for Folia
    Note that PlaceholderAPI is not currently updated to support Folia. You can check the progress here.
  • Make some internal API changes
----------, Apr 2, 2023

  • Update HSCore
  • Rework some parts of the plugin to make it more expandable as a storage library
  • Remove metrics option
    bStats already has that option
  • Correct skull permission
----------, Mar 14, 2023

From now on, I'll link the download link to my GitHub repository for better continuation on delivering updates.
For those who use free hosting websites that have to request a direct download for them to add to your server, I'm sorry but this has to be stopped. You can switch to another free hosting that allows you to add any plugins, or buy a paid hosting (VPS, dedicated server, etc.).

  • More changes on the core to repurpose it as a storage library instead of just storing leaderboards.
----------, Jun 8, 2022

There is nothing changed in the config, so you don't have to worry about migrating to this version
  • Split the project into several modules that can be used individually
  • Update the abstraction of the value to be Comparable (including Number, etc.)
  • Split the several features into Agents for better maintenance
  • Better organizing of Storage
----------, Jun 7, 2022

  • Again, Fix null in placeholder matcher
    This fixed an exception when there is no prefix on the placeholder
----------, May 2, 2022

  • Fix an issue that the holders are not loaded
----------, May 2, 2022

  • Add an option to fetch values asynchronously
    Edit Config wiki
----------, May 2, 2022

  • Optimize block checks
  • Optimize data saving on YAML
----------, May 1, 2022

  • Use Queue to optimize Sign & Skull updater
----------, Apr 28, 2022

  • Add a tag to specify that the Top Holder should only fetch values when the players are online
    Edit Config Wiki
  • Move sign-lines to messages.yml
    It's done automatically
  • Add Metrics from bstats
  • Add Version Checker
  • Add Reload command
    Edit Command & Permission Wiki
----------, Apr 15, 2022

  • One SQL clients for all top holders
  • Change the value type from BigDecimal to Double
----------, Apr 13, 2022

  • Fix event casting on some versions
----------, Apr 13, 2022

Resource Information
Author:
----------
Total Downloads: 2,587
First Release: Apr 12, 2022
Last Update: Apr 8, 2025
Category: ---------------
All-Time Rating:
8 ratings
Find more info at topper-mc.github.io...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings