たかしが征く

ゲームやガジェットに関する様々な疑問を調査員たかしが体を張ってお伝えします。

マインクラフト・脱初心者講座 ~コマンドブロックでTNTキャノンを作る~

見出し画像を拡大表示
 
 

こんにちは!たかしです!

突然ですが、皆さんは「TNTキャノン」、ご存知でしょうか?マインクラフトを長くやっている人は一度は聞いたことあるでしょう。

一度といわず2度も3度も聞いたことあるどころか、「作ったことある!」という人もいるはず。

今回はこの「TNTキャノン」をコマンドブロックを使って作成していきたいと思います!

 

TNTキャノン

そもそもTNTキャノンってなんだよ、という方向けに。

マインクラフトには「TNTブロック」というものがございます。

画像を拡大表示
TNTブロック
筒状のを16本束ねてる感じ
これだけあれば木造家屋なら吹っ飛びます。たぶん。

TNTとはトリニトロトルエンという爆薬のことを指しています。リアルではおそらく色々と調合が必要ですが、イクラでは砂と火薬で作れるのです。なんてお手頃な。

画像を拡大表示
マル秘❤レシピ
別に秘密でもなんでもない

こいつは着火剤で着火するか、レッドストーン動力を送ると起動して爆発します。MineでCraftするのに爆薬は必須。本来なら地下の採掘や整地に使うもの。

画像を拡大表示
着火で爆破します

しかし悲しいかな、いつだって科学技術は軍事転用が成されるものです。
ダイナマイトもそうだった。マイクラでもそれは例外ではありません。

誰が考えたのかはわかりませんが、TNT爆薬の性質とマイクラの仕様を利用した「TNTキャノン」なるものが創作されるようになりました。

その超基本形がこちら。

画像を拡大表示
背後から見た図
画像を拡大表示
上からみた図

おおよそ「砲」と呼ぶのもおこがましい外見ですが、れっきとした兵器です。仕組みは難しくありません。以下の3つの特性を理解していれば。

TNT火薬は着火すると「エンティティ」扱いになります。(エンティティについては後述。)イクラ内ではエンティティは水流の影響を受け、流されます。

画像を拡大表示
着火前
矢印方向に水流が流れます
画像を拡大表示
左2つだけ着火した状態
矢印方向に流されているのがわかります

さらに、水に触れているTNTは爆発しても周囲のブロックを破壊しません。つまり爆風だけまき散らすイメージ。

画像を拡大表示
右は水無し
左の水ありと比べるとわかりやすい

そしてもう一点。エンティティは爆風を受けると吹っ飛びます。

この3点を利用したのがTNTキャノン。処理の流れはこんな感じになります。

画像を拡大表示
①ディスペンサーから着火済みTNTが排出されます
ディスペンサー:アイテム発射装置
画像を拡大表示
②水流に乗って着火済みTNTが先頭に流されます
画像を拡大表示
③先頭にあるディスペンサーから時間差で着火済みTNTが排出されます
これが砲弾になります
画像を拡大表示
④発射
小さくて見えづらいですが、、、しっかりと飛びます

これはレッドストーン回路を使用したもので、おそらく一番オーソドックスなもの。

これでも工夫次第で威力も上がるし改良もできます。サバイバルモードでも作れるしね。

しかし、いかんせん場所をとる。そして装填も少し手間。威力の増大もちょっと大変。

そんなお悩みを解決するために、当ブログの開発部はコマンドブロックを使ったTNTキャノンの開発に着手することにいたしました。

何を使おうかな

今回使うのはこちら(予定)

画像を拡大表示
左から「TNT付きトロッコ」「コマンドブロック」「TNT」「岩盤」

・コマンドブロック
今回の肝。これのためにやっているといっても過言ではない。使うコマンドは"summon"コマンド。
おなじみマイクラ内のエンティティを召喚できるコマンドです。
今回はTNTブロックとかその辺のエンティティを呼び出します。

TNTブロック
言わずもがな。これがないと始まりません。

TNT付きトロッコ
これはトロッコTNTが乗ったもの。クラフト可。
こいつを使うのには理由がありますが、それは後述。

・他爆破耐性のあるブロック、各種材料
サバイバルで入手するなら黒曜石が一番ですが、コマンドブロックを使う関係上、今回はクリエイティブ。なので岩盤を使います。(黒曜石だとちょっと見づらいんすよ)

さて、なんせわが開発部も作成は初めて。先人たちの知恵(Google)を借りてもいいですが、それだと面白くない。

自力で何とか試行錯誤を重ねてやっていきたいと思います。材料も場合によっては追加するかも。

Summonコマンドについて

さて、先ほどSummonコマンドを使うといいました。

構文はこんな感じ。

summon エンティティ名 x, y, z(召喚地点の座標)[データタグ]

エンティティ名はそのまま召喚したいものの名前です。
直訳すると「物」とか「実体」になりますが、イクラで言うエンティティとはざっくりいうと「動くもの」。

画像を拡大表示
エンティティの方々
これ以外にもたくさんあります。
経験値オーブとかも実はエンティティ

Mobはもちろん、防具立てや雪玉などのアイテム、雷なんかもエンティティ扱いになります。

このエンティティの名前と、呼び出す座標(x、y、z)を指定することで任意の場所にいろいろと召喚できるのです。
(ちなみに座標はF3キーを押すと確認できます。)

起爆時間の調節

さて、ここで少し問題が。

SummonコマンドでTNTを呼び出すと着火されたTNTが取得できますが、このままでは召喚直後に爆破してしまいます。

summon mionecraft:tnt X Y Z(任意の座標)
画像を拡大表示
コマンドを設定する
このまま起動しても爆発が起きるだけ

ということで、少しコマンドをいじります。先ほどの構文で後ろに引っ付いていた[データタグ]の箇所です。

summonの後ろに{Fuse : 80}と書き足してみましょう

画像を拡大表示
こんな感じ

そして起動すると、あら不思議。通常のTNTと同じ時間で爆破されるようになりました。

こちらは何をしているのかというと、起爆までの時間を設定してあげているのです。

単位は秒ではなく、「ティック」。
ティックとはマイクラ内時間の単位で、1tickでおよそ1/20秒。

つまり20tick=1秒

TNTの起爆速度は通常は4秒なので
20*4=80tick。

これをマイクラ式にコマンドで書くと{Fuse:80}となるわけです。

この記載を「データタグ」と呼びます。

データタグについて少し

データタグってなんだよ、という方向けにほんの少し、さわりだけ。
詳しくは別で一本記事にします。いつか。
(どうでもいいわ!という人は飛ばしてもOK。ぶっちゃけ知らんでもできる。)

イクラ内のブロックだったりエンティティというのはすべからく何らかのデータを持っているわけです。

それは名前だったり、状態だったり色々あるのですが、それらのデータを弄るために必要なのがこのデータタグ。

書き方の基本形はこんな感じ。

{データタグ名:値}

今回はTNTブロックのFuseというデータを80に設定するよ、という意味合いです。

{Fuse:80}> Fuse の値を 80 にしてね! という意味

デフォルトだとこのFuseの値が”0”に設定されているため、召喚直後に爆発してしまったというワケ。

本編に行く前のまとめ

いかがでしたでしょうか?

例によって本編に行く前に終わりました。(ごめんなさい)余計な話しすぎたかな?

この記事ではざっくりと

TNTキャノンてなんぞや?
・使う予定のコマンド(summon)について

を解説しました。

トライ & エラーでやっていくので、後からもしかしたら内容が変わっているかもしれませんが、差し当たっての材料等々を挙げた次第です。

分かりづらかったら申し訳ございません。その場合はカスタマーサービス、もとい当ブログのコメントにて、ご一報くださいませ。

次回のブログでは実際の作成に取り掛かれると考えていますので、どうかお付き合いください。