/scoreboard は、プレイヤーやエンティティに数値を持たせるためのコマンドです。ミニゲームの得点、サーバー内通貨、キル数、タイマー、クエスト進行などに使えます。
目標を作る
まず、数値を保存する入れ物を作ります。手動管理する場合は dummy がよく使われます。
/scoreboard objectives add money dummy "Money"
money が内部名、Money が表示名です。内部名はコマンドで使うので、短く分かりやすい英数字にすると管理しやすくなります。
数値を設定・加算する
/scoreboard players set @p money 100
/scoreboard players add @p money 50
/scoreboard players remove @p money 20
上から順に、100に設定、50追加、20減少です。ショップ、報酬、ミニゲームの得点処理ではこの3つをよく使います。
画面に表示する
/scoreboard objectives setdisplay sidebar money
サイドバーに表示すると、プレイヤーが自分の点数や所持金を見やすくなります。表示を消したい場合は、別の表示先を使うか、表示設定を変更します。
お金システムの考え方
コマンドだけで経済システムを作る場合、実際のお金アイテムではなく、scoreboardの数値を所持金として扱うのが基本です。アイテム売買、ガチャ、ショップ、デイリーボーナスなどは、scoreboardの加算・減算で管理できます。
注意点
- 内部名を途中で変えると、既存コマンドも修正が必要になる
- 表示名と内部名を混同しない
- 大きなシステムでは、目的別にscoreboardを分ける
例えば money、point、timer、rank のように分けておくと、後で修正しやすくなります。