MC CommanderMinecraft非公式コマンド支援

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

サーバーで一般のプレイヤーは、/tp や /give などのコマンドを使えません。/trigger は、権限がない人でも使える数少ないコマンドで、「ロビーに戻る」「ショップを開く」といったボタンやメニューを作るときの土台になります。Java版のコマンドです。

triggerscoreboardJava版

スコアボード生成ツールを開く

更新日:

仕組みの全体像

  1. 種類が trigger のスコアを作る
  2. プレイヤーに使ってよい印(enable)を付ける
  3. プレイヤーが /trigger 名前 を実行するとスコアが増える
  4. コマンドブロックがスコアの変化を見て、実際の処理(テレポートなど)を行い、スコアを0に戻す

プレイヤーができるのは「自分のスコアを変える」ことだけなので、安全に権限を渡せます。

「ロビーに戻る」コマンドを作る

準備(OPが1回だけ実行):

/scoreboard objectives add lobby trigger

リピートコマンドブロック(常に動作)とチェーンコマンドブロックに入れる:

scoreboard players enable @a lobby
execute as @a[scores={lobby=1..}] run tp @s 0 64 0
scoreboard players set @a[scores={lobby=1..}] lobby 0

これで、だれでも /trigger lobby と入力すると、座標0, 64, 0に移動します。1行目は毎ティック全員に「使ってよい」印を付け直す役目です。

enable が必要な理由

/trigger は、一度使うと自動で使えない状態に戻ります。scoreboard players enable で印を付け直さないと、2回目からは「このトリガーは使えません」と表示されます。上の例のように、リピートコマンドブロックで付け直しておくのが定番です。

チャットのクリックで動くメニュー

/tellraw のクリックで /trigger を実行させると、文字を押すだけで使えるメニューになります。

版書き方
Java版1.21.5以降/tellraw @a {text:"[ロビーに戻る]",color:"aqua",click_event:{action:"run_command",command:"/trigger lobby"}}
Java版1.21.4以前/tellraw @a {"text":"[ロビーに戻る]","color":"aqua","clickEvent":{"action":"run_command","value":"/trigger lobby"}}

クリックで実行できるのは、そのプレイヤーが自分で入力しても実行できるコマンドだけです。権限のない人が押しても動くのは、/trigger だからです。

数字で選ばせる

/trigger shop set 2

set を使うと、スコアを好きな数字にできます。shop=1 なら剣、shop=2 なら弓、のように1つのトリガーで選択肢を作れます。受け取る側は execute as @a[scores={shop=2}] run … のように数字ごとに処理を分けます。

うまくいかないときの確認ポイント

よくある質問

OPのプレイヤーも使えますか?

使えます。OPでも同じように enable が必要です。

トリガーを使える人を限定できますか?

enable の対象を @a[tag=vip] のようにすると、タグを持つ人だけが使えるようになります。

データパックでも使えますか?

使えます。毎ティック動くファンクション(tick)に、上のコマンドブロックの3行を書くと同じ仕組みになります。

関連ページ

/home コマンドは使える?拠点に戻る方法

座標の/tp、/triggerのワープ、sethomeの正体です。

記入済みの本をコマンドで出す方法

押すと移動できる本の作り方です。

スコアボードでミニゲームを作る

スコアの基本です。

tellrawコマンドの基本

クリックできる文字の作り方です。

tagコマンドの使い方

使える人を限定するときに使います。

コマンド辞典

基本構文とコマンド別の使い方を確認できます。