Home›Java›Mods›[1.16-1.26.x] ScoreboardPlus ✦ Small · Flicker-Free · No Dependencies [FREE]
[1.16-1.26.x] ScoreboardPlus ✦ Small · Flicker-Free · No Dependencies [FREE]
ModsJava

[1.16-1.26.x] ScoreboardPlus ✦ Small · Flicker-Free · No Dependencies [FREE]

Java mod listed for Minecraft 1.16–26.x. Downloads from the MC Java Mods app on Android.

⬇ Download on Spigot
Scoreboard+
A small, flicker-free animated scoreboard

Spigot / Paper • Minecraft 1.16 - 1.21+ • Java 8+ • No dependencies

100% FREE

▍ DISCORD ▍ ▍ WIKI ▍

✔ Flicker-free without ProtocolLib ✔ Every PlaceholderAPI placeholder works ✔ Colourful & clean out of the box ✔ Config error system​

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬​

▍ Flicker-free, no dependencies
The objective and its 15 lines are created once, then only the text changes in place — no ProtocolLib, no NMS

▍ Supports every plugin
Full PlaceholderAPI support — any %plugin_x% placeholder resolves in titles and lines. Plus ~35 built-in tokens that need nothing

▍ Colourful & clean
An animated rainbow-gradient title over a clean single-accent layout — looks finished the moment you drop the jar in​

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬​

A scoreboard plugin should be a five-minute job, not a research project.
ScoreboardPlus is one small config: a title, some lines, done. But it's flicker-free without a packet library, it picks up rank and world changes without a rejoin, conditional lines vanish without leaving a gap, and every mistake in your config is reported with the exact file and line.
​

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

▍ FEATURES ▍​
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

▍ HOW A BOARD IS CHOSEN ▍​
  1. Permission — the board sets permission: "scoreboardplus.board.<name>" and the player has it
  2. World — the board's worlds: list contains the player's world
  3. Default — the board literally named default
First match wins. Re-checked on world change and every 5 seconds.

A line is a plain string, or a { text, condition } block:​
Code (YAML):
- "&#4EE1C7▍ &7Player &8» &f{player}"
- text
: "&#4EE1C7▍ &7Balance &8» &f{money_formatted}"
  condition
: "papi %vault_eco_balance% != "         # only if not empty
- text
: "&#4EE1C7▍ &7Staff"
  conditions
: [ "perm scoreboardplus.staff", "world hub,spawn" ]
  condition-mode
: ALL         # ALL (default) | ANY
Condition forms: perm <node> · !perm <node> · world a,b,c · papi %x% >= 100 (ops == != > >= < <= contains)​

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

▍ PLACEHOLDERS ▍
Every PlaceholderAPI placeholder works in titles and lines when PlaceholderAPI is installed. These need nothing:​
Spoiler: Built-in tokens
Code (Text):
{player} {displayname} {uuid}
{world} {world_alias}                world_alias from config.world-aliases
{online} {max_players}
{ping} {tps} {tps_colored} {mspt}
{ram_used} {ram_max} {ram_percent}
{x} {y} {z} {biome} {gamemode} {exp_level} {health} {food}
{date} {time} {date:<pattern>}       config timezone
{server} {server_version} {plugin_version}
{group} {prefix} {suffix}            Vault, else empty
{money} {money_formatted}            Vault, else empty
{playtime}                           vanilla play-time statistic, formatted
{anim:<name>}                        an animation from animations.yml
{scroll:<text>:<width>:<ticks>}      marquee text

Own expansion (identifier: scoreboardplus)
%scoreboardplus_board%      %scoreboardplus_toggled%
%scoreboardplus_tps%        %scoreboardplus_mspt%      %scoreboardplus_ram_percent%

▍ COMMANDS ▍
/sb · aliases /scoreboardplus /sb+​
Each subcommand's node is set in config.yml → permissions ("" = everyone). scoreboardplus.admin is the parent. Extra: scoreboardplus.hide (never see the board), scoreboardplus.board.<name> (board assignment).​

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

▍ CONFIG FILES ▍
Every file that ships with the plugin, in full.​

Spoiler: config.yml
Code (YAML):
language : en
prefix
: "<gradient:#4EE1C7:#7C9CFF>ScoreboardPlus</gradient> &8» &7"

# If another plugin puts its own objective in the sidebar slot,
# ScoreboardPlus quietly steps aside for that player and retries every
# few seconds. Turn this off to always take the sidebar.
respect-other-scoreboards
: true

# Allow players to hide their own scoreboard with /sb. When false the
# command still exists but can never turn the board off.
allow-toggle
: true

# How often (seconds) a player's board is re-resolved so rank / world /
# permission changes are picked up without a rejoin.
board-recheck-seconds
: 5

# {world_alias} shows the label here instead of the raw world name.
world-aliases
:
  world
: "Overworld"
  world_nether
: "Nether"
  world_the_end
: "The End"

# IANA timezone for {date} / {time} (empty = server default).
timezone
: ""
date-format
: "yyyy-MM-dd"
time-format
: "HH:mm"

# "DEFAULT" -> 1,234,567   |   "SHORT" -> 1.23M   (used by {money})
number-format
: DEFAULT

# Additively merge new keys when ScoreboardPlus updates. Your values,
# comments, custom boards and animations are never touched.
auto-update-files
: true

# Check SpigotMC for a newer version on start and notify admins on join.
update-check
: true

# Anonymous usage stats via bStats.
metrics
: true

# "" = available to everyone. scoreboardplus.admin is the catch-all
# parent for every admin subcommand.
# Extra nodes: scoreboardplus.hide (never see the board),
#              scoreboardplus.board.<name> (assigns that board).
permissions
:
  admin
: scoreboardplus.admin
  toggle
: ""
  reload
: scoreboardplus.admin
  errors
: scoreboardplus.admin
  preview
: scoreboardplus.admin
  permissions
: scoreboardplus.admin
  dependency
: scoreboardplus.admin

Spoiler: scoreboard.yml
Code (YAML):
# A player gets the FIRST board that matches, checked in this order:
#   1. permission   board.permission: "scoreboardplus.board.<name>"
#   2. world        board.worlds: [ "world_nether" ]
#   3. default      the board literally named "default"
#
# Lines: a plain string, or a { text, condition } block. A line with a
# condition that is false takes up NO slot - the sidebar only renders
# the visible lines, packed from the top. Max 15 lines show.
#
# Conditions:
#   perm  scoreboardplus.vip      /  !perm scoreboardplus.vip
#   world creative,creative_plots
#   papi  %placeholder% >= 100     ops: == != > >= < <= contains
#   papi  %placeholder% !=         (trailing empty value = "not empty")
#   Multiple per line: conditions: [ "..", ".." ] + condition-mode: ALL|ANY

# How often lines / the title refresh, in ticks (20 = 1 second).
line-refresh-ticks
: 10
title-refresh-ticks
: 2

# One line shown under every board. "" = off.
footer
: "&#8B95A7&oplay.example.net"

boards
:

  # ---- the fallback board: clean, one accent, works with zero plugins ----
  default
:
    title
: "{anim:title}"
    worlds
: [ ]             # [] = every world
    permission
: ""
    lines
:
     - "&8&m                        "
      - "&#4EE1C7▍ &7Player &8» &f{player}"
      - "&#4EE1C7▍ &7Rank &8» &f{prefix}{group}"
      - "&#4EE1C7▍ &7World &8» &f{world_alias}"
      - "&#4EE1C7▍ &7Online &8» &f{online}&8/&7{max_players}"
      - "&#4EE1C7▍ &7Ping &8» &f{ping}&8ms"
      - ""
      - "&#4EE1C7▍ &7Playtime &8» &f{playtime}"
      - text
: "&#4EE1C7▍ &7Balance &8» &f{money_formatted}"
        condition
: "papi %vault_eco_balance% != "
      - "&8&m                        "

  # ---- a per-world board (only in the nether) ----
  nether
:
    title
: "<gradient:#FF6B6B:#FFD23F>THE NETHER</gradient>"
    worlds
: [ "world_nether" ]
    permission
: ""
    lines
:
     - "&8&m                        "
      - "&#4EE1C7▍ &7Coords &8» &f{x} {y} {z}"
      - "&#4EE1C7▍ &7Biome &8» &f{biome}"
      - "&#4EE1C7▍ &7Careful down here."
      - "&8&m                        "

  # ---- a per-permission board (needs scoreboardplus.board.vip) ----
  vip
:
    title
: "{anim:title}"
    worlds
: [ ]
    permission
: "scoreboardplus.board.vip"
    lines
:
     - "&8&m                        "
      - "&#4EE1C7▍ &7VIP &8» &f{player}"
      - "&#4EE1C7▍ &7Balance &8» &f{money_formatted}"
      - "&#4EE1C7▍ &7Online &8» &f{online}&8/&7{max_players}"
      - "&#4EE1C7▍ &7Ping &8» &f{ping}&8ms"
      - "&8&m                        "

Spoiler: animations.yml
Code (YAML):
# Every top-level key is one named animation. Reference it anywhere in a
# title or a line as {anim:<name>}. One animation shares a single global
# frame counter across every place it is used.
#
# interval-ticks : ticks between frames (20 = 1 second)
# mode           : SEQUENTIAL | RANDOM | PINGPONG
# frames         : the list of frames (colour codes / gradients allowed)

# The default title: a smooth 6-step rainbow gradient sweep.
title
:
  interval-ticks
: 3
  mode
: SEQUENTIAL
  frames
:
   - "<gradient:#4EE1C7:#7C9CFF>SERVER</gradient>"
    - "<gradient:#7C9CFF:#C792EA>SERVER</gradient>"
    - "<gradient:#C792EA:#FF6FB5>SERVER</gradient>"
    - "<gradient:#FF6FB5:#FFD23F>SERVER</gradient>"
    - "<gradient:#FFD23F:#A0F0A0>SERVER</gradient>"
    - "<gradient:#A0F0A0:#4EE1C7>SERVER</gradient>"

# A line animation example - a little progress bar that bounces.
loading
:
  interval-ticks
: 6
  mode
: PINGPONG
  frames
:
   - "&7▮▯▯▯▯"
    - "&7▮▮▯▯▯"
    - "&7▮▮▮▯▯"
    - "&7▮▮▮▮▯"
    - "&7▮▮▮▮▮"

Spoiler: board-template.yml (reference — not loaded)
Code (YAML):
# Copy any of these blocks into the "boards:" section of scoreboard.yml.
# Every option a board understands is shown here with a short note.

boards
:

  example
:
    title
: "{anim:title}"                           # {anim:..}, <gradient:..> or plain text
    worlds
: [ "world", "world_the_end" ]           # [] or missing = every world
    permission
: "scoreboardplus.board.example"     # "" = no rule

    lines
:
     - "&8&m                        "
      # plain lines with built-in tokens
      - "&#4EE1C7▍ &7Player &8» &f{player}"
      - "&#4EE1C7▍ &7TPS    &8» {tps_colored}"
      - ""
      # hidden (no gap) when the condition fails
      - text
: "&#4EE1C7▍ &7Rank &8» &f{prefix}{group}"
        condition
: "papi %vault_prefix% != "
      # PlaceholderAPI compare - ops: == != > >= < <= contains
      - text
: "&#4EE1C7▍ &7Claims &8» &f%griefprevention_claims%"
        condition
: "papi %griefprevention_claims% > 0"
      # multiple conditions - ALL must pass (use ANY for "any of")
      - text
: "&#4EE1C7▍ &7Staff online"
        conditions
: [ "perm scoreboardplus.staff", "world hub,spawn" ]
        condition-mode
: ALL
      # world-only condition
      - text
: "&#4EE1C7▍ &7End portal is open"
        condition
: "world world_the_end"
      # a scrolling line and an animated line
      - "&7{scroll:Welcome to the server - have fun!:20:2}"
      - "&7Loading {anim:loading}"
      - "&8&m                        "

Spoiler: lang/en.yml
Code (YAML):
toggle:
  shown
: "<prefix>&aScoreboard shown."
  hidden
: "<prefix>&7Scoreboard hidden. &8Use /sb to bring it back."
  disabled
: "<prefix>&cThe scoreboard cannot be toggled on this server."

command
:
  no-permission
: "<prefix>&cYou don't have permission to do that."
  not-a-player
: "<prefix>&cOnly a player can use this."
  usage-hint
: "<prefix>&7Usage: &f/sb <usage>"
  reloaded
: "<prefix>&aConfiguration reloaded."
  board-not-found
: "<prefix>&cThere is no board named &f<board>&c."
  preview-set
: "<prefix>&aPreviewing board &f<board>&a. &8/sb preview off to stop."
  preview-cleared
: "<prefix>&aPreview cleared - back to your normal board."
  help-players
:
   - "<gradient:#4EE1C7:#7C9CFF>ScoreboardPlus</gradient> &8- &7v<version>"
    - "&8» &f/sb &7- show or hide your scoreboard"
  help-staff
:
   - "&8» &f/sb reload &7- reload every config file"
    - "&8» &f/sb errors &7- the config error history"
    - "&8» &f/sb preview <board> &7- test a board on yourself"
    - "&8» &f/sb permissions &7- list permission nodes"
    - "&8» &f/sb dependency &7- show hooked plugins"

Spoiler: lang/de.yml
Code (YAML):
toggle:
  shown
: "<prefix>&aScoreboard eingeblendet."
  hidden
: "<prefix>&7Scoreboard ausgeblendet. &8Mit /sb wieder anzeigen."
  disabled
: "<prefix>&cDas Scoreboard kann auf diesem Server nicht umgeschaltet werden."

command
:
  no-permission
: "<prefix>&cDazu hast du keine Berechtigung."
  not-a-player
: "<prefix>&cDas kann nur ein Spieler benutzen."
  usage-hint
: "<prefix>&7Benutzung: &f/sb <usage>"
  reloaded
: "<prefix>&aKonfiguration neu geladen."
  board-not-found
: "<prefix>&cEs gibt kein Board namens &f<board>&c."
  preview-set
: "<prefix>&aVorschau fuer Board &f<board>&a. &8/sb preview off zum Beenden."
  preview-cleared
: "<prefix>&aVorschau beendet - zurueck zu deinem normalen Board."
  help-players
:
   - "<gradient:#4EE1C7:#7C9CFF>ScoreboardPlus</gradient> &8- &7v<version>"
    - "&8» &f/sb &7- Scoreboard ein-/ausblenden"
  help-staff
:
   - "&8» &f/sb reload &7- alle Konfigurationsdateien neu laden"
    - "&8» &f/sb errors &7- die Fehler-Historie"
    - "&8» &f/sb preview <board> &7- ein Board an dir selbst testen"
    - "&8» &f/sb permissions &7- Permission-Nodes anzeigen"
    - "&8» &f/sb dependency &7- eingebundene Plugins anzeigen"

▍ QUICK START ▍​
  1. Drop ScoreboardPlus into /plugins and restart.
  2. That's it — the default board shows for everyone right away.
  3. Edit scoreboard.yml, add your own boards, then /sb reload.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Free forever. Drop it in and go.
Questions or ideas? The Discord is open.

▍ DISCORD ▍ ▍ WIKI ▍

Free to use on any server. Please don't reupload it — link this page instead.​

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

[1.16-1.26.x] ScoreboardPlus ✦ Small · Flicker-Free · No Dependencies [FREE] is a free Minecraft Java mod. Compatible with Minecraft 1.16, 1.17, 1.18, 1.19 and newer. Downloaded 20 times (via Spigot). Download it and open it directly in the game.

Explore more