ガイド
Minecraftのスコアボードプラグインの作り方
2026年10月18日に更新
画面右側のサイドバーは、多くのサーバーでいちばん目立つ部分です。サーバー名、プレイヤーのランク、お金、キル数、オンライン人数などを表示します。プラグインは、BukkitのScoreboard APIでこれを描画します。難しいのは、プレイヤーごとに専用の行を用意することと、それを滑らかに更新することです。
行を自分のサーバーに合わせて変えてください。
Codexeでこれを生成手順
1.行を書き出す
タイトルと、上から順に各行、そこに表示する値を書きます。「Rank: Admin」「Coins: 1,250」「Online: 34」など。サイドバーに表示できるのは最大15行です。
2.プレイヤーごとにスコアボードを用意する
プレイヤーごとに内容が違う行には、プレイヤーごとのスコアボードが必要です。
Bukkit.getScoreboardManager().getNewScoreboard()で作り、参加時にplayer.setScoreboard(...)で設定します。3.サイドバーの目的を作る
ダミーの目的を登録し、表示スロットを
DisplaySlot.SIDEBARに設定します。各行はエントリで、そのスコアが表示位置を決めます。4.値を更新する
繰り返しタスク(たとえば1秒ごと)で、変わった行だけを更新します。行がちらつかないよう、テキストにはチームのプレフィックスとサフィックスを使います。
5.プレースホルダーを加える
PlaceholderAPIを使えば、
%vault_eco_balance%のような行で、追加のコードなしにほかのプラグインの値を表示できます。6.ビルドしてゲーム内で見てみる
Codexeにコンパイルさせ、テストサーバーに参加してすべての行を確認したら、値を変えて更新されるか見てみます。
サイドバーの仕組み
- サイドバーに表示されるのは、スコアボードごとに一度に1つの目的だけです。その表示名がタイトルになります。
- 行はスコアの高い順に並ぶので、スコアは行番号を逆にしたものと考えれば十分です。
- 各行は別々のエントリでなければなりません。同じ内容の行を2つ置くには、違うカラーコードなど、目に見えない違いが必要です。
- 右側の赤い数字は、スコアの数値形式が追加されたMinecraft 1.20.3以降なら非表示にできます。それより古いバージョンでは常に表示されます。
- プレイヤーに表示されるスコアボードは1つだけです。別のプラグインが独自のスコアボードを設定すると、最後に設定したものが優先されます。サイドバーは1つのプラグインに任せるか、スコアボードを共有するほかのプラグインをリクエストに書いてください。
ちらつかない更新
行を消して新しい行を追加すると、表示が点滅します。よくある対策は、各行に固定の見えないエントリを割り当て、そのエントリを含むチームのプレフィックスとサフィックスに表示するテキストを入れることです。チームを更新すれば、その場でテキストが変わります。リクエストに「ちらつきなし」と書けば、この方法でプラグインが書かれます。
プラグイン、Skript、データパックのどれ?
| 選択肢 | できること | 制限 |
|---|---|---|
| プラグイン | プレイヤーごとの行、任意の値、アニメーション、プレースホルダー | Spigot、Paper、またはそのフォークが必要 |
| SkBeeを使ったSkript | スクリプトからプレイヤーごとのサイドバー | Skriptとアドオンが必要 |
| データパック | 死亡数やキル数など、1つの目的をサイドバーに表示 | 全員に同じ数値、プレイヤーごとの自由なテキストは不可 |
説明の例
「Boardという名前のPaper 1.21.4プラグイン。プレイヤーごとのサイドバーで、金色のタイトルの下に、ランク(LuckPermsから)、コイン(Vaultから)、キル数、死亡数、オンライン人数、サーバーアドレスを表示。ちらつきなしで1秒ごとに更新し、赤い数字は非表示。行、タイトル、更新間隔はconfig.ymlに置き、どの行にもPlaceholderAPIのプレースホルダーを使える。/board toggleでプレイヤーごとに非表示にでき、その選択は保存される。」
よくある質問
サイドバーは何行まで表示できますか?
表示されるのは15行です。それより長い内容は、タブリスト、アクションバー、ボスバーなど、別の場所が必要です。
1.8でも動きますか?
はい。Scoreboard APIは1.8にもありますが、1行あたりのテキストの長さがより制限されています。そのバージョン向けにプラグインが書かれるよう、バージョンを書いてください。
スコアボードが消えるのはなぜですか?
たいていは、別のプラグインがあなたのものの後に独自のスコアボードをプレイヤーに設定しています。もう一方のサイドバーを外すか、1つのプラグインですべてを表示するようにしてください。
サイドバーを作る
このプロンプトは、そのまま送信できる状態で開きます:
“Boardという名前のPaper 1.21.4サイドバー用スコアボードプラグイン: 金色のタイトルのプレイヤーごとのサイドバー、LuckPermsのランク、Vaultのコイン、キル数、死亡数、オンライン人数、サーバーアドレス、ちらつきなしで1秒ごとに更新、赤い数字は非表示、行と間隔はconfig.ymlでPlaceholderAPIに対応、/board toggleの設定をプレイヤーごとに保存。”
Codexeでこれを生成