
動く乗り物をMinecraftで作ろう!【初級編】【Minecraft】
お久しぶりです、皆さん。Haruです。
…いやほんとにお久しぶりです。
しばらくNoteの投稿を休んで(サボって)おりましたが、そろそろ再開したいと思います。どうぞ生温かい目で見守り下さい。
はじめに
さて、今回は「動く乗り物」の初心者向けの講座となります。今までNoteで紹介してきた全てを、ここで可能な限り分かりやすく紹介いたします。
「コマンドなんてわからない!」という方、大丈夫です。
一の一から、丁寧に説明いたします。
「初見です!」という方、「ホントにできるのか?」という方も大歓迎!
きっと作りたくなりますし、その方法もわかります。
それでは早速始めていきましょう。
そもそもどんなものなのか?
初見さんなどが初めに感じる疑問点。それは、
「そもそも何をしているの?」
ということ。
まず一言で説明すると、
「ストラクチャーブロック」を用いて、作った建築を操縦できるようにする
となります。ストラクチャーブロックを”使用”する”仕様”上、サバイバルでは製作できません。ご了承ください。
「ストラクチャーブロックとは何ぞや?」
ストラクチャーブロックはバニラ(MODやデータパックなしのMinecraftのこと)で存在する公式ブロックで、コマンドを用いてのみ手に入れることができます。(次回アップデートでコマンドが不必要になる模様)
コマンド、と言っても簡単で、以下の文をチャット欄(Tキー)を開いて打ち込むだけ!
/give @s structure_block
これを打ち込んでEnterキーを押すと、ストラクチャーブロックが手に入ります。
そしてこのブロックは簡単に言うと、「指定した範囲のブロックを保存、ほかの場所に全く同じ配置で設置できるブロック」です。
文で説明してもわかりにくいので、実例を紹介しましょう。
まず、ストラクチャーブロックを保存したい建物の近くに配置します。

設置して右クリックをすると、このような画面が表示されます。

これはロード、つまり保存した建築を読み込む画面になります。
ですのでまずは、建築を保存する画面を開きます。上の写真右下の「ロード」というボタンを2回左クリックします。すると「ロード」が「セーブ」に変化し、下のような画面が開かれます。

これでセーブモードになりました。この画面では先程も述べたように建築の保存が行えます。
セーブモード解説
「ストラクチャー名」
保存する建築に名前を付けます。呼び出すときにはその名前を使うので、覚えておきましょう。「相対位置」
保存する範囲が、このストラクチャーブロックから何マス離れたところにあるかを設定します。これは実践あるのみなので、2回目以降は何度か試してみましょう。「ストラクチャーのサイズ」
この部分ではX座標に何マス分、Y座標に何マス分、Z座標に何マス分の範囲を保存するかをそれぞれ設定できます。エンティティを含める
オンにして保存すると、読み込み時に同じ項目をオンにした場合に限って、範囲内のMOBなどを一緒に読み込むことができます。
試しに、すべて10にして、完了を押してみましょう。

このように枠が出現しましたね。この枠の範囲内が保存される範囲となります。

このようになってしまった方。ストラクチャーブロックは枠が出現する方向が決まっています(南東方向)。ですのでストラクチャーブロックの位置を変更して、保存したい範囲を枠に収まるようにしてください。

それでは保存していきます。先程同様、ストラクチャーブロックを右クリックして画面を開いてください。ただし、今度は初めからセーブモードですので、モード変更は必要ありません。
右下にある「保存」を押すと、

このように「ストラクチャーが、○○として保存されました」というメッセージとともに建築の保存が完了します。
あとは呼び出しを行っていきましょう。
別の場所に新しくストラクチャーブロックを置き、

先程のストラクチャー名を入力します。”呼び出し”の際はセーブモードではなくロードモードを使用します。
ロードモード解説
ロードモードでは、主に8つの項目を使用できます。
相対位置
セーブモードのものと同様に、このストラクチャーブロックから何マス離れた位置に建築を呼び出すか、を設定できます。デフォルトではYが1で、一ブロック高い位置に呼び出されます。これは実践あるのみなので、2回目以降は何度か試してみましょう。ストラクチャーの完全性とシード値
左側の数字を1.0以下にすると、虫食い状態でストラクチャーが呼び出されます。数字が小さければ小さいほど、ブロックの欠損は多くなります。シード値でランダムに欠損するブロックを変更します。回転
建築を呼び出しした際、通常では保存時と同じ向きで呼び出されます。しかし画面下のほうにある数字ボタンをクリックすることで、その向きを90度、180度、270度に回転した状態で呼び出すことができます。反転
建築を鏡写しの状態(左右もしくは前後逆)で呼び出します。これは画面下部の|ボタンをクリックすることで設定できます。境界線の表示
枠を表示するかどうかを設定できます。
手動で呼び出す際には枠があったほうが便利ですが、乗り物製作時、レッドストーン信号で呼び出す際には枠はない方が美しいといえます。エンティティを含める
これをオンにすると、保存時に同じ項目をオンにしていた場合において、範囲の中にいたMOBなどを一緒に呼び出すことができます。
「読み込み」を押すと下のように枠が出現します。

この状態でもう一度ストラクチャーブロックを開き、読み込みを押すと…

先程保存した建築が呼び出されました!
と、まあストラクチャーブロック基礎の使い方はこのようになります。
さらに詳しくは多くの方が解説してらっしゃり、かつこの記事の主題ともズレてしまうので、割愛させていただきます。(というかほかの方レベルのクオリティの解説が書ける気がしない)
乗り物製作の方法
さて、ここまでストラクチャーブロックの使い方、つまり基礎知識を紹介してまいりましたが、ここからはいよいよストラクチャー(=保存した建築)を動かしていきます。
前進
まず大前提として、この方法で建築を動かす際、実際は”動かす”ではなく「全く同じ建築を前に召喚し元の建築を破壊する」という動作を行っています。

まずは上の画像を見てみましょう。
たった3マス、感圧版と安山岩、ストラクチャーブロックのみのシンプルな建築です。この建築を保存した範囲は黄色い枠の範囲となります。ストラクチャーブロックの後ろに空気ブロックが一緒に保存されているのがポイントです。
中央のストラクチャーブロックは、図2の緑の範囲にこのストラクチャーを読み込むようにセットしてあります。

では、上の図1の黄色い範囲の建築を、中央のストラクチャーブロックを使って図2の緑の範囲に読み込んだらどうなるでしょうか。
答えは、こうなります。

元々あった本体を新しく位置をずらして呼び出した本体で上書きし、1ブロック前へ本体が移動しました。
そうこのように、もともとあった建築と同じ建築を前に呼び出し、もともとの建築を消去することで、建築が動いているように見せることができます。
この装置では動力源が感圧版なので、乗って前に歩くだけでストラクチャーブロックが作動し、前に進み続けることができます。
方向転換
前進をする装置はできましたが、これでは前進しかできませんね。
ということで、次は全方位へ移動するための装置を作っていきます。
まず、ストラクチャーブロックには向き替え機能があります。ストラクチャーを別の向きに読み込むことができる機能です。
しかしこれをそのまま搭載することはできません。なぜなら、向き替えしてもストラクチャーブロックの中身はそのままだからです。
つまり、先程のX座標方向の装置をZ座標方向に向き替えして使うと、

このようにX座標方向へ動いてしまいます。
東西南北の全てへ動かすにはどうすればよいのか。
その解決策は、四方向の建築を別で作る、ということです。

このように4方向分それぞれに前進するストラクチャーブロックを配置します。これにより、X座標方向を向いているときはX座標方向用のストラクチャーブロックで、Z座標方向を向いているときはZ座標方向用のストラクチャーブロックで、逆Z座標方向を向いているときは逆Z座標方向用の…
と、それぞれの方向用のストラクチャーに役割分担をさせることで、全方位に前進をすることができます。
ではその切り替え、つまりX座標方向用のストラクチャーからZ座標方向用へ変えたいなどのときはどうすればよいのか。
それは全く同じ位置に別の方向用のストラクチャーを呼び出すことで実現できます。

これはX座標方向用なので「左側へ向き替え」では逆Z座標方向用が本体を上書きする形で読み込まれます。(ただし、別の方向用では別のストラクチャーを読み込まねばなりません。)このように、一方向のストラクチャーに三つのストラクチャーブロックを用いることで、全方位への移動が可能となります。
まとめ
さてさていかがでしたでしょうか。
初回ということで、基礎からできるだけ丁寧には書いたつもりですが、まだまだ分かりづらいところ、説明不足なところ満載だと思われます。そういった点など、疑問点はコメントなどで指摘/質問していただけたら有難いです。そしてこの分野は、機体を作れば作るほど安定感のある製作、そして新しい発想を形にできるようになります。最初は難しいかもしれませんが、その先にはきっと新しい面白さが待っているかと思われます。
それでは、みなさまが創造する喜びを得る手助けをできたら幸いでございます。
最後まで読んでいただき、ありがとうございました。