更新日:

プレイヤーが自分でスコアを変更|コマンド例

/triggerでプレイヤーがスコアを操作する基本。

対象:Java版 1.21.1〜26.3

すぐに使えるコマンド

最初にtrigger目標を作る(1回)

/scoreboard objectives add menu trigger

対象プレイヤーの使用を許可

/scoreboard players enable @a menu

プレイヤーがチャットで選ぶ

/trigger menu set 1

設定の変え方

/triggerは本人が入力できますが、管理側でenableした対象だけが実行できます。値をセットすると再びenableが必要です。

実行前に確認すること

最後の/triggerはプレイヤー本人がチャットから実行する想定です。統合版では/triggerは利用できません。

チャットから実行する場合は先頭に / を付けます。データパック内の .mcfunction に記述する場合は通常、先頭の / を外します。

実際の使いどころ

プレイヤーが自分からメニュー番号を選択したり、サーバー運営者へ簡単な意思表示をしたりするための仕組みに使えます。triggerはプレイヤー側から実行できる目標ですが、事前にサーバー側で有効化する手順が必要です。

設定の考え方と応用

objectives add menu triggerで目標を作り、players enable @a menuで利用を許可します。プレイヤーがtriggerを実行すると、通常は再度enableするまで利用できなくなるため、繰り返す操作ではその更新処理も設計してください。

動かないときの確認ポイント

メニューが反応しないときは、目標タイプがdummyではなくtriggerか、プレイヤーにenableを実行済みかを確認します。受け付けた数値をもとにexecuteで分岐させると、GUIに依存しない選択メニューを構築できます。

統合版で使う場合

統合版には trigger がありません。統合版ではボタンとコマンドブロックでスコアを変える方法を使います。

組み合わせて使えるコマンド

クリックでtriggerを実行するメッセージ(Java 1.21.5以降)

/tellraw @a {text:"[メニューを開く]",color:"green",click_event:{action:"run_command",command:"/trigger menu set 1"}}

チャットの文字をクリックするだけで trigger が実行されます。

同じメッセージ(Java 1.21.4以前)

/tellraw @a {"text":"[メニューを開く]","color":"green","clickEvent":{"action":"run_command","value":"/trigger menu set 1"}}

1.21.5で書き方が変わったため、古いバージョンではこちらを使います。

よくある質問

2回目から trigger が使えません

trigger は一度使うと無効に戻ります。処理の後に /scoreboard players enable で再び使えるようにします。

押した人だけに処理をするには

/execute as @a[scores={menu=1..}] run ... で処理し、最後に /scoreboard players set @a menu 0 で戻します。

関連するコマンド例と解説記事

triggerコマンドの使い方:OPでない人が押せるメニューを作る

マイクラJava版の/triggerで、権限のないプレイヤーでも使えるコマンドの仕組みを…

scoreboardコマンドでポイント・お金・ランキングを作る基本

scoreboardコマンドでdummy目標を作り、数値を加算し、サイドバーに表示する基…

ミニゲーム用のスコアボード例

マイクラのscoreboardでミニゲームを作る例として、キル数の集計、タイマー、ポイントの…

ポイント用スコアボードを作る

マイクラでポイント用スコアボードを作るときのコマンド例。ポイントを作成・加算・表示するセット…

スコアをリセットする

マイクラでスコアをリセットするときのコマンド例。ミニゲームやカウント用ポイントを初期化する例…