Skip to content

bed-dev/stomboard

Repository files navigation

stomboard

stomboard is a focused Kotlin library for Minestom scoreboards/sidebars.

It provides:

  • lightweight sidebar creation with plain text templates
  • placeholder replacement for dynamic lines/titles
  • per-player sidebar assignment
  • builder-style full sidebar updates
  • built-in title/line/replacer animation helpers
  • an internal packet sidebar implementation tuned for Bedrock-friendly rendering

Installation (JitPack)

1) Add repositories

repositories {
	mavenCentral()
	maven("https://jitpack.io")
}

2) Add dependency

dependencies {
	implementation("com.github.bed-dev:stomboard:<tag>")
}

Quick Start

import codes.bed.minestom.sidebars.Sidebar
import codes.bed.minestom.sidebars.SidebarManager

val manager = SidebarManager.global

val lobbySidebar = Sidebar(
	initialTitle = "Lobby",
	lines = listOf(
		"Player: {player}",
		"Rank: {rank}",
		"",
		"Online: {online}"
	)
)

fun showSidebar(player: net.minestom.server.entity.Player, online: Int) {
	manager.assign(
		player,
		lobbySidebar,
		mapOf(
			"{player}" to player.username,
			"{rank}" to "Default",
			"{online}" to online.toString()
		)
	)
}

Updating Content

manager.updateTitle(player, "Matchmaking")
manager.updateLine(player, 1, "Rank: Premium")

manager.addReplacers(player, mapOf("{online}" to "128"))

lobbySidebar.update {
	line("Online: {online}")
	line("Rank: {rank}")
}

Animation Examples

manager.animateTitle(player, listOf("Lobby", "Queue", "Arena"), 500)

manager.animateLine(
	player = player,
	lineIndex = 0,
	frames = listOf("Player: Steve", "Player: STEVE"),
	intervalMs = 300
)

manager.animateReplacers(player, 1000) {
	mapOf("{online}" to getLiveOnlineCount().toString())
}

Docs

See additional documentation in docs/:

  • docs/README.md (docs entry page)
  • docs/getting-started.md
  • docs/sidebar-basics.md
  • docs/animations.md
  • docs/lifecycle.md

Each page includes Kotlin and Java examples.

Releases

No releases published

Packages

 
 
 

Contributors

Languages