MC CommanderMinecraft非公式コマンド支援

ランダムな数を出すコマンド /random の使い方

サイコロを振る、当たりの人を1人選ぶ、宝箱の中身を毎回変える。こうした「運」の仕組みは /random で作れます。Java版1.20.2以降で使えるコマンドです。統合版には別の方法があるので、あわせて紹介します。

randomサイコロミニゲーム

Scoreboardコマンド生成ツールでスコアを作る

更新日:

基本の書き方

/random value 1..6
/random roll 1..6

どちらも1から6のどれかを選びます。違いは結果の見え方です。

書き方結果が見える人使いどころ
value実行した人だけコマンドの中で数を使うとき
rollチャットで全員みんなの前でサイコロを振るとき

範囲は 最小..最大 の形で、両方とも書きます。1.. のように片方だけでは使えません。

結果をスコアに入れる

出た数を仕組みに使うには、/execute store でスコアボードに保存します。

/scoreboard objectives add dice dummy
/execute store result score @p dice run random value 1..6
/tellraw @a ["",{"selector":"@p"},{"text":" の目は "},{"score":{"name":"@p","objective":"dice"}}]

1行目でスコアを作り、2行目でサイコロの目を保存し、3行目で全員に知らせます。表示の作り方は tellrawコマンドの基本 で詳しく説明しています。

出た数で処理を分ける

/execute if score @p dice matches 6 run give @p minecraft:diamond 1
/execute if score @p dice matches 1..5 run say はずれ!

matches 6 は「6のとき」、matches 1..5 は「1から5のとき」です。確率を変えたいときは範囲を変えます。たとえば random value 1..100 にして matches 1..10 を当たりにすると、当たる確率は10%になります。

くじ引きで1人を選ぶ

プレイヤーの中から1人を選ぶだけなら、/random よりセレクターの @r が手軽です。

/tag @r add winner
/tellraw @a ["",{"selector":"@a[tag=winner]"},{"text":" が当たりました!","color":"gold"}]

次の抽選の前に /tag @a remove winner でタグを外しておきます。タグの使い方は tagコマンドの使い方 を見てください。

同じ順番の乱数を使う(シーケンス)

/random value 1..6 mygame:dice
/random reset mygame:dice 12345

最後に名前(シーケンスID)を付けると、その名前ごとに乱数の流れが記録されます。reset で種を決めると、同じ順番で数が出るので、テストやイベントのやり直しに便利です。シーケンスを使う形と reset は、OP権限(レベル2以上)が必要です。

統合版でランダムな数を出す

統合版には /random がありません。かわりに、スコアボードの random を使います。

/scoreboard objectives add dice dummy
/scoreboard players random @p dice 1 6

これで、近くのプレイヤーの dice に1から6のどれかが入ります。そのあとの処理は、Java版と同じように execute if score で分けられます。

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

よくある質問

/random はOPでなくても使えますか?

シーケンスIDを付けない value と roll は、OP権限がないプレイヤーでも使えます。シーケンスIDを付ける形と reset には、OP権限(レベル2以上)が必要です。

1.20.1以前のJava版でランダムにするには?

/random はないので、@r や @e[sort=random,limit=1] で対象をランダムに選ぶ方法がよく使われます。

確率を細かく決めたいです。

範囲を1..100にして、当たりにする数の範囲を変えます。matches 1..25 なら25%です。

関連ページ

ミニゲームの作り方

開始・得点・リセットの流れです。

scoreboardでお金やポイントを作る

スコアの作り方の基本です。

tellrawコマンドの基本

結果をチャットに表示する方法です。

executeコマンドは何ができるのか

if score で処理を分ける考え方です。

コマンド辞典

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