キッズワークの学習教材

マイクラ コマンドブロック1

矢がじめんについたら、だいばくはつ!
TNTつきの矢のつくりかたです。
1.じゅんび

コマンドブロックを持ちましょう。
/give @s minecraft:command_block

2.1つ目のコマンドブロック

コマンドブロックを1つおいて、コマンドをせっていしましょう。せっていは、「リピート」「無条件」「常時実行」です。
execute at @e[type=minecraft:arrow,nbt={inGround:1b}] run summon minecraft:tnt ~ ~ ~ {fuse:0}

※Java版1.21で確認済み。バージョンアップで Fuse が fuse になったので注意しましょう。

3.弓でテストをする

うまくいっていれば、弓で矢をうつと、じめんについた矢がばくはつします!(矢をうつには、弓をもって右クリック長押し!)

うまくうごかないばあいは、コマンドブロックを右クリックしてせっていをかくにんしよう!

4.いらなくなった矢をけすコマンドブロック

このままだと、矢がじめんにつく -> ばくはつ -> 矢がどこかにとんでいく -> じめんについたらまた ばくはつ! -> …と、ずっと ばくはつ!してしまいます。
もう1つコマンドブロックを出して、じめんについた矢はけしてしまいましょう。せっていは、「リピート」「無条件」「常時実行」です。

kill @e[type=minecraft:arrow,nbt={inGround:1b}]


5.おまけ

「がめんに いっぱい もじがでて じゃま!」というときは、コマンドでもじをけしておきましょう。

/gamerule commandBlockOutput false


コマンドブロックのコマンドをちょっと変えると、たとえば「ばくはつするたまご」もできるよ!
(なげられているあいだTNT!)execute at @e[type=minecraft:egg] run summon minecraft:tnt ~ ~ ~ {fuse:20}
(じめんにあたったらばくはつ)execute as @e[type=minecraft:egg] at @s unless block ~ ~-1 ~ minecraft:air run summon minecraft:tnt ~ ~ ~

細かい解説:
・ターゲットセレクタ: @s (コマンドを実行したエンティティ)。この場合は、@p (最も近いプレイヤー)や@a(全てのプレイヤー)でもOK。
・execute at X:エンティティXの位置でコマンドを実行。この場合は、地面についた矢の位置で run summon tnt ~ ~ ~をします。
・nbt={inGround:1b}:NBT(Named Binary Tag)で、矢が地面にささっているかをチェックしています。この 1b は 1(in Byte)、つまり true と同じ意味です。nbt={inGround:true} でも同じように動きます。こちらの方がプログラミングっぽいですね!
・「じめんにあたったら」は、矢以外だと少し難しくなります。今回は「下のブロックが空気でなくなったら」(unless block ~ ~-1 ~ minecraft:air)で判断しています。ちょっと上から、壁に当たらないように投げないと爆発しないかも。

おまけ
「コマンドブロックのとなりに石があれば レッドストーンを出す」というばあい

execute if block ~ ~ ~1 minecraft:stone run setblock ~ ~ ~2 minecraft:redstone_block
(ifのぎゃくには unless がつかえるよ!)

左Shiftキーのスニークでボタンが置けないときは、いっしょに左Ctrlも押してみよう。


投稿日

カテゴリー:

, , ,

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です