MC CommanderMinecraft非公式コマンド支援

ラッキーブロックをコマンドで作る

壊すまで何が出るかわからないラッキーブロックは、MODがなくてもコマンドで作れます。スポンジを「ラッキーブロック」にして、壊した人にランダムで当たりやはずれを出します。

randomscoreboardJava版1.20.5以降

scoreboardコマンドを作る

更新日:

1. 準備(最初に1回だけ)

/scoreboard objectives add lucky_break minecraft.mined:minecraft.sponge
/scoreboard objectives add lucky dummy
/give @a minecraft:sponge 16

lucky_break はスポンジを壊すと1増えるスコアです。lucky には抽選で出た数を入れます。スポンジはふだんの遊びではあまり使わないので、ラッキーブロックの代わりにぴったりです。

2. 壊した人に抽選する

# 反復・常時実行
execute as @a[scores={lucky_break=1..}] store result score @s lucky run random value 1..4

スポンジを壊した人だけに、1〜4のどれかの数を入れます。execute store のしくみは execute storeの使い方、/random は ランダムな数を出すコマンド にまとめています。

3. 出た数で中身を分ける

# チェーン・常時実行(ここから下は全部チェーン)
execute as @a[scores={lucky_break=1..,lucky=1}] run give @s minecraft:diamond 5
execute as @a[scores={lucky_break=1..,lucky=2}] at @s run summon minecraft:zombie ~2 ~ ~
execute as @a[scores={lucky_break=1..,lucky=3}] at @s run summon minecraft:tnt ~ ~1 ~ {fuse:60}
execute as @a[scores={lucky_break=1..,lucky=4}] run effect give @s minecraft:speed 30 1

1はダイヤ5個、2はゾンビ、3は3秒後に爆発するTNT、4は移動速度アップです。TNTの時間の変え方は TNTをコマンドで出す方法 を見てください。

4. スポンジを落とさない・スコアを戻す

execute as @e[type=item] if items entity @s contents minecraft:sponge run kill @s
scoreboard players set @a[scores={lucky_break=1..}] lucky_break 0

1行目で、壊したときに落ちたスポンジを消します。これがないと同じスポンジを何度も置き直せてしまいます。最後の行でスコアを0に戻すので、1回壊すと1回だけ抽選されます。

5. 当たりを増やす

execute as @a[scores={lucky_break=1..}] store result score @s lucky run random value 1..10

2の行の数を1..10にして、5〜10の行を足せば中身を10種類にできます。同じ中身の行を2つ作ると、その中身が出やすくなります。

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

よくある質問

スポンジ以外のブロックにできますか?

できます。minecraft.mined:minecraft.sponge と if items の sponge を、使いたいブロックのIDに変えます。

1.20.4以前でも作れますか?

/random は1.20.2から、if items は1.20.5からです。古い版では使えない行があります。

全員に同じ結果を出せますか?

抽選を #lucky のような仮の名前で1回だけ行い、その数で全員に配ります。

関連ページ

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

抽選のしくみです。

execute storeの使い方

結果をスコアに入れる方法です。

ガチャをコマンドで作る方法

エメラルドで引くガチャです。

掘ったブロックの数を表示するコマンド

壊した数のスコアの使い方です。

コマンド辞典

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