【マイクラ】コマンドブロックを使って足元がTNTになる世界を再現する方法を解説【Minecraft】

マインクラフト(マイクラ)を多くプレイしている人気Youtuberの企画に「足元がTNTに変わる世界」というものがあります。

歩いたところがTNTに変わり、なんらかの理由でTNTが起動すると大爆発が起こる危険な世界です。

この世界を作る方法は複数ありますが、この記事ではexecuteコマンドとコマンドブロックを使って、足元がTNTになる世界を再現する方法を解説します。

【注意】
TNTが爆発する際に大きな負荷がかかります。ゲームがクラッシュしたり固まったりする可能性がありますので、ゲーム機やスマホ、低スペックPCでの実行はおすすめしません。

スポンサーリンク

1)コマンドやコマンドブロックを使えるようにする

コマンドブロックを使うには、コマンドを使えるようにしておく必要があります。設定方法は以下の記事で解説しています。

コマンドブロックの入手方法や基本的な使い方は、以下の記事で解説しています。

2)足元をTNTに変えるコマンドブロックの設定

コマンド設定

コマンドブロックの画面を開き、以下のコマンドを入力してください。

execute at @p run setblock ~ ~-1 ~ tnt

コマンドブロックの種類は「リピート」、動力は「常時実行」としておきます。

※画面はJava版です。統合版とは入力欄やボタンの位置が異なりますが、同じように設定してください。

コマンド解説

executeはさまざまな使い方があるコマンドで、その後に続けるサブコマンドによって役割が変わります。

「execute at @p …」としたとき、「一番近くのプレイヤーに…する」となります。@aならすべてのプレイヤーが対象になります。@eならすべてのエンティティが対象となりますが、処理が重くなるためおすすめしません。

続く「run」もexecuteのサブコマンドのひとつで、「その後に続くコマンドを実行する」の意味です。

「setblock」は、ブロックを置き換えるコマンドです。座標と置き換えるブロックを指定します。

今回は「~ ~-1 ~」としているので、プレイヤーから見てX座標とZ座標は同じ、Y座標は-1、つまり足元をTNTに変えるという意味になります。

黒曜石など一部ブロックを対象外にするコマンド設定

前のコマンドで足元をTNTに変えることはできますが、このままではどんなブロックもTNTに変わってしまいます。それはそれで面白いのですが、水や空気まで変わってしまったり、ネザーゲートが作れなかったりといった不便さもあります。

そこで、一部のブロックをTNTに変わる対象から外すコマンドに書き換えます。今回は、「黒曜石」「エンドポータルフレーム」「岩盤」「水」「空気」「コマンドブロック(リピート)」は変わらないよう設定します。

execute at @p unless block ~ ~-1 ~ obsidian unless block ~ ~-1 ~ end_portal_frame unless block ~ ~-1 ~ bedrock unless block ~ ~-1 ~ water unless block ~ ~-1 ~ air unless block ~ ~-1 ~ repeating_command_block run setblock ~ ~-1 ~ tnt

先程のコマンドの@pとrunの間に、新たなコマンドを書き加えています。

「unless block (座標) (ブロックID)」もexecuteのサブコマンドで、「座標の位置にあるのが指定したブロックでなかった場合、run以下の処理を実行する」という意味になります。

この場合なら、「一番近くのプレイヤーの足元が黒曜石、エンドポータルフレーム、岩盤、水、空気、コマンドブロック(リピート)でなかったら、足元をTNTに変える」という意味になります。「unless block ~ ~-1 ~ obsidian」のブロックID部分を変えて繰り返し入力しています。

unlessの代わりに「if」を使えば、「~だったら」の指示になります。また、blockではなく「entity」「dimension」などを指定することもできます。

足元TNT世界の参考動画

【Java版】慣れたら関数にしてデータパック化がおすすめ

Java版では、今回紹介したような重い処理、長いコマンドは、関数(function)のテキストファイルを作成し、データパック化して読み込むことをおすすめします。

関数にしておけば、以下のようなメリットがあります。

  • テキストファイルのため編集が簡単
  • (コマンドブロックより)ラグが少ない
  • 簡単に使いまわせる

一時的な遊びやテストならコマンドブロックで十分ですが、今後も使えそうだなと思ったらデータパック化を検討してみてください。

まとめ

今回は、executeコマンドとコマンドブロックを使って、足元をTNTにする世界を再現する方法を紹介しました。

少し変えるだけでもさまざまな遊び方ができますし、executeコマンド自体も紹介しきれていない機能がたくさんありますので、興味があったら勉強してみてください。

スポンサーリンク