Panoply Tech

LeaderHeads

You can purchase the plugin here.
On this page:

Setting up signs

  1. Choosing your placeholder

    Before setting up a sign, you will need to decide which statistic you want to create a leaderboard for. LeaderHeads currently supports all statistics that can be fetched through placeholders from PlaceholderAPI and MVdWPlaceholderAPI.

    Using a PlaceholderAPI placeholder

    Install PlaceholderAPI. Choose a placeholder from this list. If you have not used this placeholder before, you might have to install its expansion through the PlaceholderAPI Cloud. This requires you to use /papi reload.
    You can also use any other custom PlaceholderAPI placeholder that you might have configured or created. You can verify whether a placeholder returns a numerical value representing the score of the current user by using the /papi parse me %placeholder_name% command.

    Using a MVdWPlaceholderAPI placeholder

    Install MVdWPlaceholderAPI. Using an MVdWPlaceholderAPI placeholder requires you to have another premium plugin installed by Maximvdw. Choose a placeholder from this list.
    You can also use any other custom MvdW placeholder that you might have configured or created. You can verify whether a placeholder returns a numerical value representing the score of the current user by using the /premiumpluginname parse {placeholder_name} command.

  2. Placing a sign down

    Place down a sign at the position you want to use it. You don’t need to write anything on the sign.

  3. Linking the sign with the placeholder

    While looking at the sign you placed, use the command /leaderheads setsign <statistic> <rank> [type]
    <statistic> is the placeholder you chose in the first step <rank> is the rank in the leaderboard that you want to show on this sign
    [type] is the type of leaderboard you want. Options: alltime, daily, weekly, monthly, yearly. This argument is optional and will default to alltime
    Example command: /leaderheads setsign %killstats_kills% 2 daily
    This will configure the sign to show the second player in the daily killStats kills leaderboard through PlaceholderAPI.

  4. Configuring the statistic

    If you have not previously made a sign for this statistic, you will receive a message in chat indicating which .yml file you can edit to configure the format of the lines on the sign and other options.
    This is important because by default the sign will look a bit boring. You can always edit the .yml file afterwards. This file can be found in the statistics folder of the plugin. You can use /leaderheads reload to quickly test a new configuration.
    You can right-click a sign to bring up a menu showing all top players for this leaderboard. You can configure this menu in the aforementioned .yml file.

  5. Placing down a player head

    This step is optional. You can place down a player head on above the sign or on top of the block that the sign is connected to. The player head will update to the relevant leaderboard player’s skin.

Setting up armorstands

If you want to configure an armorstand to show a top player, follow these steps:

  1. Placing a sign down

    Follow the steps in the Setting up signs tutorial. Make sure to choose a sign that is connected to a block.

  2. Spawning the armorstand

    While looking at the sign you placed, use the command /leaderheads armorstand [size]
    [size] is the size of the armorstand that will be placed.
    Options: small, big. This argument is optional and will default to small

  3. Configuring the armorstand nametag

    You can change the nametag of the armorstand by changing the armorstand-nametag option in the .yml file of the statistic.

Setting up Citizens

If you want to set up leaderboard NPCs with Citizens, follow these steps:

  1. Placing a sign down

    Follow the steps in the Setting up signs tutorial. Make sure to choose a sign that is connected to a block.

  2. Installing Citizens

    Install Citizens. It is recommended to use the latest version.

  3. Spawning the NPC

    While standing on top of the block that the sign is connected to, execute the command /npc create LeaderHeads. The name of the NPC will change once the leaderboard is updated. You can use /npc type to change the type of the NPC.

  4. Configuring the NPC nametag

    You can change the nametag of the NPC by changing the citizens-nametag option in the .yml file of the statistic.

Setting up holograms

After you have created a sign for a leaderboard or used /leaderheads enable <statistic> to enable a statistic, you can follow these steps to set up holograms with placeholders.
You can choose between using HolographicDisplays or Holograms.

Using HolographicDisplays

  1. Installing the plugins

    Install HolographicDisplays. You can use a development build for support on newer Spigot versions.
    Install HolographicExtension and PlaceholderAPI.
    Install ProtocolLib. Make sure to install the recommended build for your version.

  2. Using the placeholders

    You can now set up HolographicDisplays like you normally would and use the LeaderHeads PlaceholderAPI placeholders in the lines of your hologram.
    You will need to include a refresh holder at the start of your line to make sure the placeholders update. These are the options: {fastest}, {fast}, {medium}, {slow}, {slowest}.
    More information can be found on the HolographicExtension resource page.

    Here’s an example database.yml file from HolographicDisplays that shows the top 3 players with the most cm walked daily.

     my-hologram:
       location: world, -145.743, 73.915, 266.836
       lines:
         - '&eTop Daily Walked Cm'
         - '{fast}&b%leaderheads_name_statisticwalkonecm_daily_1% &f- &b%leaderheads_value_statisticwalkonecm_daily_1% cm'
         - '{fast}&b%leaderheads_name_statisticwalkonecm_daily_2% &f- &b%leaderheads_value_statisticwalkonecm_daily_2% cm'
         - '{fast}&b%leaderheads_name_statisticwalkonecm_daily_3% &f- &b%leaderheads_value_statisticwalkonecm_daily_3% cm'
    

Using Holograms

  1. Installing the plugins

    Install Holograms, Holograms-Placeholders and PlaceholderAPI.
    Install ProtocolLib. Make sure to install the recommended build for your version.

  2. Using the placeholders

    You can now set up Holograms like you normally would and use the LeaderHeads PlaceholderAPI placeholders in the lines of your hologram.

    Here’s an example holograms.yml file from Holograms that shows the top 3 players with the most cm walked daily.

     holograms:
       my-hologram:
         location: world;-147.7390153955581;73.53292827534491;268.5887224348062;65.54988;210.79431
         lines:
             - '&eTop Daily Walked Cm'
             - '&b%leaderheads_name_statisticwalkonecm_daily_1% &f- &b%leaderheads_value_statisticwalkonecm_daily_1% cm'
             - '&b%leaderheads_name_statisticwalkonecm_daily_2% &f- &b%leaderheads_value_statisticwalkonecm_daily_2% cm'
             - '&b%leaderheads_name_statisticwalkonecm_daily_3% &f- &b%leaderheads_value_statisticwalkonecm_daily_3% cm'
    

PlaceholderAPI and MVdWPlaceholderAPI placeholders

After you have created a sign for a leaderboard or used /leaderheads enable <statistic> to enable a statistic, you can follow these steps to use their values as placeholders in PlaceholderAPI and MVdWPlaceholderAPI.

<statistic>: the name of your statistic, but without all the non-alphanumerical characters. For example, %statistic_walk_one_cm% becomes statisticwalkonecm and {stat_walk_cm} becomes statwalkcm.
<time>: which timetype of the leaderboard to show. Options: alltime, daily, weekly, monthly, yearly.
<rank>: which rank in the leaderboard to show. Must be a number.

PlaceholderAPI placeholders

%leaderheads_name_<statistic>_<time>_<rank>% shows the name of the player in the leaderboard. %leaderheads_value_<statistic>_<time>_<rank>% shows the value of the player in the leaderboard

Example: %leaderheads_name_statisticwalkonecm_daily_5% shows the 5th player in the daily walk leaderboard

MVdWPlaceholderAPI placeholders

{leaderheads_name_<statistic>_<time>_<rank>} shows the name of the player in the leaderboard. {leaderheads_value_<statistic>_<time>_<rank>} shows the value of the player in the leaderboard

Example: {leaderheads_name_statisticwalkonecm_daily_5} shows the 5th player in the daily walk leaderboard

Configuring a leaderboard

After following the Setting up signs tutorial, a .yml file will be created in the statistics folder of the plugin-folder. You can edit this file to change multiple aspects, such as:

  • How often a statistics fetches new data from online players
  • The appearance of the signs of the leaderboard
  • The appearance of the players menu of the leaderboard, such as the size, title and commands
  • The nametags of the armorstands and Citizens nametags
  • The type of statistic. Options: default, time, money. This option is important if you have a non-standard statistic.
    If your statistic represents a very large monetary amount, such as 5 quadrillion, choose the money type. This will format your very large numbers properly, using the money-format configured in the config.yml If your statistic represents a placing time in seconds, choose the time type. This will format your time properly and split it into days, hours, minutes and seconds
    using the time-format configured in the config.yml

Commands and permissions

Command Permission Info
/leaderheads setsign <statistic> <rank> [type] leaderheads.setsign Set the statistic for the sign that you are currently looking at
/leaderheads armorstand [size] leaderheads.armorstand Put an armorstand with a skull above the sign you are currently looking at
/leaderheads help [help] leaderheads.help Show information about the command
/leaderheads update <statistic> [updatemode] leaderheads.update Updates a statistic that is currently activated. Use all to update all statistics. Use the updatemode argument to chose whether to update the data for only online or all players
/leaderheads removesign leaderheads.removesign Removes the statistic for the sign that you are currently looking at
/leaderheads reload leaderheads.reload Reload LeaderHeads completely
/leaderheads enable <statistic> leaderheads.enable Enables a statistic that is currently not activated
/leaderheads info leaderheads.info Shows general information about the plugin and enabled statistics
/leaderheads include <player> [statistic] leaderheads.include Includes a previous excluded player on the leaderboard of a statistic that is currently activated. Use all to include the player in all statistics
/leaderheads exclude <player> [statistic] leaderheads.exclude Excludes a specific player from the leaderboard of a statistic that is currently activated. Use all to exclude a player from all statistics
/leaderheads excluded leaderheads.excluded Shows which players have been excluded from which statistics

FAQ

Q: I want to track some statistic and show it in a menu, but I don’t want a sign for it, how do I still use it?
A: Use the /leaderheads enable <statistic> command to enable the statistic where <statistic> is the placeholder you want to use. You will receive a message that a .yml file is created. You can enable force-update in this file. This will make sure the statistic updates even if no signs are active.


Q: I create a sign with a specific placeholder, but the leaderboard won’t work?
A: First of all, use the parse commands mentioned in the Choosing your placeholder part of the Setting up signs tutorial. If this does not show a numerical value, the issue isn’t on LeaderHeads’s side. You might have forgotten to download the placeholder from the PlaceholderAPI Cloud or you didn’t install a premium Maximvdw plugin in the case of a MVdWPlaceholderAPI placeholder.
If the parse command returns a numerical value, there might be an issue with LeaderHeads. It is best to enable debug in the config.yml file of the plugin. This will log additional information to console to debug the issue. If you can’t find a solution, please contact us.


Q: The previous version of LeaderHeads (< 4.0.0) had feature x that I used, will it come back in this version?
A: Yes, we are planning to bring back every feature the previous versions had, but we’re adding them based on how important and popular they were, so it might take a while for a certain feature to come back. Don’t hesitate to contact us about this.


Q: Will the plugin receive active updates?
A: Yes, we will actively update the plugin with additional features and support for later Spigot versions.


Q: My Minecraft server is physically located in timezone x but most of my players are in timezone y. How do I deal with this?
A: The config.yml has a timezone option that lets you choose the timezone that will be used for calculating the daily, weekly, monthly and yearly leaderboards.


Q: I can’t get PlaceholderAPI placeholder x to work.
A: First of all, make sure you have the expansion installed for the placeholder if it requires any. Sometimes an expansion will only work on a specific version of Spigot. In that case you will need to install a specific older version of the expansion. It’s best to ask information about this on this Discord or on the forum.


Q: I’m trying to use placeholder %statistic_time_played% to display the players with the most play time, but it doesn’t work.
A: LeaderHeads can only handle numerical values. The placeholder %statistic_time_played% does not return a numerical result but rather a formatted string.
Instead, you should use the placeholder %statistic_seconds_played%. This is a numerical placeholders that returns the number of seconds played. This is the format that LeaderHeads can use. After the .yml file is generated, you should set statistic-type to time to make sure LeaderHeads properly formats the value.