Skip to main content
xyz.refineryteam.refinerycore.api.scoreboard provides a per-player sidebar scoreboard abstraction that handles the objective/team plumbing (including per-line team prefixes) so you can push plain strings or Components as lines.

ScoreboardManager

The entry point — tracks one Scoreboard per player and, optionally, a repeating update task per player.
MainScoreboard.java
startUpdating’s repeating task automatically calls stopUpdating and stops itself if the player goes offline or their board is removed mid-task — but you should still call shutdown() on plugin disable to avoid leaking tasks across a reload.

Scoreboard

The underlying per-player board, obtainable via ScoreboardManager#get or by building one directly with Scoreboard.builder(player).
MainScoreboard.java
The scoreboard supports at most 15 lines (MAX_LINES) — Minecraft’s own sidebar rendering limit. Calling linesComponent with more than 15 components throws an IllegalArgumentException.
Internally, each line is backed by its own Team with a unique invisible-color-code “entry” per index, so lines don’t collide with real player/team names and can be updated independently without disturbing other lines’ scores.

ScoreboardBuilder

Used inside ScoreboardManager#create’s configurer lambda for a fluent one-shot setup:
MainSCoreboard.java