Skip to content

First Scoreboard

This page shows the current DaisyCore scoreboard baseline: sidebar sessions with keyed lines and clean player ownership.

  • your plugin has a DaisyPlatform
  • you want a simple sidebar for one player-facing feature

You will create a small profile sidebar and show it to a player.

val profileSidebar =
sidebar {
title(DaisyText.plain("Profile"))
line("rank") { DaisyText.plain("Rank: Member") }
line("coins") { DaisyText.plain("Coins: 1,250") }
blank()
line("online") { DaisyText.plain("Online: 42") }
}
daisy.scoreboards?.show(player, profileSidebar)

Each line has a key like rank or coins. DaisyCore uses those keys so a session can refresh specific lines instead of rebuilding everything blindly.

This is why line(key, renderer) is the normal path instead of relying on anonymous lines only.

What the current implementation focuses on

Section titled “What the current implementation focuses on”
  • title rendering
  • keyed lines
  • blank line support
  • targeted invalidation
  • safe cleanup when the player quits or the platform closes

Current behavior

The sidebar runtime is intentionally scoped to a stable, usable baseline. It focuses on predictable keyed updates and clean session ownership instead of packet-heavy public APIs.