Guide

How to make a Minecraft scoreboard plugin

Updated October 18, 2026

The sidebar on the right of the screen is the most visible part of many servers: the server name, the player's rank, money, kills, online players. A plugin draws it through the Bukkit Scoreboard API. The hard parts are giving every player their own lines and updating them smoothly.

Change the lines to your server.

Generate this with Codexe

Step by step

  1. 1.Write the lines

    The title and each line from top to bottom, with the values they show: "Rank: Admin", "Coins: 1,250", "Online: 34". The sidebar shows at most 15 lines.

  2. 2.Give each player a scoreboard

    Lines that differ per player need a scoreboard per player, from Bukkit.getScoreboardManager().getNewScoreboard(), set with player.setScoreboard(...) on join.

  3. 3.Create the sidebar objective

    Register a dummy objective and set its display slot to DisplaySlot.SIDEBAR. Each line is an entry with a score that sets its position.

  4. 4.Update the values

    A repeating task, for example every second, updates only the lines that changed. Use team prefixes and suffixes for the text so the lines do not flicker.

  5. 5.Add placeholders

    With PlaceholderAPI, lines like %vault_eco_balance% show values from other plugins without extra code.

  6. 6.Build and look at it in game

    Let Codexe compile it, join the test server and check every line, then change a value and see it update.

How the sidebar works

  • One objective is shown in the sidebar at a time per scoreboard. Its display name is the title.
  • Lines are sorted by their score, highest first, so the score is just the line number in reverse.
  • Every line must be a different entry: two identical lines need an invisible difference, such as different colour codes.
  • The red numbers on the right can be hidden from Minecraft 1.20.3, which added number formats for scores. Older versions always show them.
  • A player sees one scoreboard: if another plugin sets its own, the last one wins. Use one plugin for the sidebar, or say which other plugins share the scoreboard.

Updating without flicker

Removing a line and adding a new one makes it blink. The usual fix is to give each line a fixed, invisible entry and put the visible text in the prefix and suffix of a team that contains that entry; updating the team changes the text in place. Ask for "no flicker" in the request and the plugin is written this way.

Plugin, Skript or datapack?

OptionCan doLimit
PluginPer-player lines, any value, animations, placeholdersNeeds Spigot, Paper or a fork
Skript with SkBeePer-player sidebars from a scriptNeeds Skript and the add-on
DatapackShow one objective, such as deaths or kills, in the sidebarSame numbers for everyone, no free text per player

Example description

"A Paper 1.21.4 plugin called Board. A sidebar for every player with the title in gold, then rank (from LuckPerms), coins (from Vault), kills, deaths, online players and the server address. Updated every second without flicker, red numbers hidden. Lines, title and update interval in config.yml, with PlaceholderAPI placeholders allowed in any line. /board toggle hides it per player and the choice is saved."

Questions

How many lines can a sidebar have?

15 lines are shown. Longer content needs another place, such as the tab list, the action bar or a boss bar.

Does it work on 1.8?

Yes, the Scoreboard API exists on 1.8, but text length per line is more limited there. Say the version so the plugin is written for it.

Why does my scoreboard disappear?

Usually another plugin sets its own scoreboard on the player after yours. Remove the other sidebar, or make one plugin show everything.

Make your sidebar

This prompt opens ready to send:

“A Paper 1.21.4 sidebar scoreboard plugin called Board: per-player sidebar with a gold title, rank from LuckPerms, coins from Vault, kills, deaths, online players and the server address, updated every second without flicker, red numbers hidden, lines and interval in config.yml with PlaceholderAPI support, /board toggle saved per player.”

Generate this with Codexe
How to make a Minecraft scoreboard plugin (sidebar) | Codexe