ようこそ、ぷっこ村へ。ししゃもだよ。
(・∀・)ノ
お前も建てといて君にしてやろうか―!!って感じで、今回はストラクチャーブロックの基礎を勉強してみましょうか。直接コマンドとは関係ないんだけど、使い道は色々あるし、理解できればコマンドと組み合わせて色んなことができるよ。
ストラクチャーブロックについて
では、まずストラクチャーブロックとはいったい何者で、どんなことができるのか?
作った建築物をコピペできる(コマンドと組み合わせられる)
ってブロックです。これだけですね。
こんなのを保存したり貼り付けたりできます。
ストラクチャーブロックを詳しく解説
便宜上、保存するために作った建築物を構造物とします。また、保存した構造物を出現させるために準備することを「ロード」、出現させることを「ペースト」とします。マイクラ上だとどっちも「読み込み」で、説明が分からなくなるよ!
まずストラクチャーブロックの入手ですが、クリエイティブのEキーで開くリストのどこにもないです。少々面倒ですがコマンドで出さないといけません。
/give @s structure_block
上記のコマンドで無事にゲットできましたね。そしたら、ストラクチャーブロックをとりあえず設置して右クリックで中を見てみましょう。ストラクチャーブロックには3つのモードがあり、
- セーブ……指定した範囲内を .nbt ファイルとして保存
- ロード……保存した .nbt ファイルを指定した範囲内にペースト
- コーナー……範囲の計測に使える
あと、データモードってのが一応あるんだけど、使わないと思う……。.nbt はマイクラで使われているオリジナル拡張子です。本講習会ででよく出てくる NBT とは関係ありません、ややこしいよね。
こんな画面で操作します。左下のタブをクリックでモードを切り替えます。
セーブ
読んで字のごとく、保存できます。詳しくみてみましょうー。
ストラクチャー名
好きな名前を入れられます。半角小文字推奨。スペースもやめときましょう。
minecraft:hoge_fuga
のように入力します。minecraft: がない場合、自動で割り振られます。minecraft: を別の、例えば zombrella: とかにすると、後述するストラクチャーの保存フォルダを変えることができます。変える意味?よっぽど複雑にしたいとかじゃない限り、あんまりないかな。
相対位置
ストラクチャーブロックからの始点の位置です。それぞれXYZ軸に対応しており。Xの枠を1増やせば東に、Zの枠を1増やせば南に移動します。
まず、相対位置0,1,0の場合
ストラクチャーブロックの真上にボックスが出ます。画像奥が東ね。
1,1,0にした場合、東に1マスずれます。
1,1,1にした場合、さらに南に1マスずれます。こんな感じで微調整していきます。
ストラクチャーのサイズ
こちらは白いボックスのサイズです。位置と同じようにXYZ軸の長さが何マスかです。最大は各辺48マスなので注意。これより大きいサイズを扱いたい場合は、別々に保存して繋げるしかないです。
終点の位置が相対位置と同じようにズレていくイメージです。
さっきの相対位置1,1,1のまま、サイズを2,2,2にした場合。それぞれ東、南、上に伸びてますね。ちなみに、始点は赤、青、緑の辺が交わる点、終点はその対角の点です。
その他
見えないブロックを表示する
ストラクチャーブロックでペーストする際、空気も上書きされますが、ストラクチャーヴォイドブロックってのを置くことで上書きされないようにできます(後述)。
そのストラクチャーヴォイドと空気を表示するかの設定です。
右の赤っぽい四角はストラクチャーヴォイドを置いた場合、左は空気。空気の方はペーストした場合、上書きされます。
ストラクチャーのサイズと位置を検出する
この設定は、別のコーナーモードにしたストラクチャーブロックとの範囲を検出するために使います。
検出したい位置にもう一個、別のストラクチャーブロックを置き、手前をA、奥をBとします。
Bの方をコーナーモードにして、適当にストラクチャー名を決め、
Aのストラクチャー名を同じにして、検出をクリック
すると、AとBの間が範囲として検出されます。正直、この機能はめんどいし、適当に範囲決めたのを用意してWEとかで動かして微調整する方が早いし楽です。どうしてもMOD使えない状況とかでないと使う機会はないと思います。
エンティティを含める
オンにすることで、アマスタ、額縁、村人etc…のエンティティも保存します。ただ、向きが上手く保存されず(マイクラのバグ)構造物を回転させてペーストすると、変な方を向いたりします。額縁は向きがバグって外れますので注意
.nbt はどこに保存されるのか
色々設定して、「保存」を押せば範囲内が保存されます。じゃあ、どこに保存されてるのか?
savedata/generated/minecraft/structures/hoge_fuga.nbt
となります。ストラクチャー名のところで解説した、minecraft: を別の名前に変えると、minecraftフォルダではなく新しいフォルダが生成されて、そこに保存されます。
例、ストラクチャー名を
zombrella:hoge_fuga
にした場合
savedata/generated/zombrella/structures/hoge_fuga.nbt
になります。
ロード
保存した.nbtファイルをペーストできます。他のワールドで保存したのとかも持ってくれば使えます。
ストラクチャー名、相対位置は同じです。境界線を表示するは白いボックスの表示の有無です。
ストラクチャーの完全性とシード値は、値に基づいてランダムにブロックを消してくれるらしいです。使い道?廃墟とか?自分は使う理由が見つけられません、スマンな。
エンティティを含めるは、保存時にオンにしてないと、こっちでオンにしても意味ないので注意ですね。
ロードタブの横にある色々について
ロードタブの横に数字とマークがありますね。0,90,180,270は回転角度です。時計回りにクルクル回ります。
真ん中の「|」は反転の設定です。一度クリックすると「←→」になってX軸反転、もう一回クリックで「↑↓」になってZ軸反転になります。どの場合も、回転は時計回りです。
0,「|」でペーストした場合
さらに、0,「←→」(X軸反転)してペーストした場合
さらに、0,「↑↓」(Z軸反転)してペーストした場合
正直、反転は位置の調整がめんどくさいのであんまり使いませんね。
ペースト方法
ペーストするには、ロードしたいストラクチャー名を入力して読み込みを押します。一回目は枠が出て準備完了。2回目を押すとペーストされます。
もしくは、ストラクチャー名を入力した状態でレッドストーン信号を入力でもペーストされます。コマンドでやる場合はこっちですね。
ボタンでペーストできるよ。
コーナー
さっきやったからいいよね?
ストラクチャーヴォイドブロック
さっきチョロッとでたストラクチャーヴォイドブロックについてです。ストラクチャーヴォイドブロックも、ストラクチャーブロック同様リスト内に存在しません。見たこと無いよね。入手するにはコマンドを実行します。
/give @s structure_void
ストラクチャーヴォイドブロックは、保存する範囲内に置くことで何もない空間が上書きされるのを防ぐために用いられます。
例えば
6×6×6 の範囲を用意し、右半分にヴォイド、左半分を空気のままにして保存。
土で埋まってるところにペーストしてみると……、
あら不思議、ヴォイド側だけ残りましたね。こんな感じに使います。
具体的な使い道は?
例えば、道を作りたいときなんかで、カーブの外側に置くことで変な空白ができません。
後は地下ダンジョン作る時とか重宝しますね。
なんか上手いことロードする方法
ここまでで一通りストラクチャーブロックの説明は済んで使えるようになってると思います。ここからは上手に使う方法を考えてみましょう。
ストラクチャーブロックでロードした後、ストラクチャーブロックも残るよね。
これ、残ったら困るやん?どうやって消そうか……。
こんな風に白い枠内にストラクチャーブロックが収まるように相対位置を調整します。そしてボタンを押すと、
枠内にあったので、上書きされてなくなりました。コマンドの場合も同じように、枠内に入るように setblock してペーストすることで消せます。上手く使いましょう。
コマンドで設置してみよう
コマンドで実際に構造物をペーストしてみましょう。まずは準備しましょう。保存はできてる体で進めます。
ペーストしたい情報を入力しておきます。
そしたら、カーソルを合わせて「F3 + I」を押します。これでストラクチャーブロックの情報を取り込めたので、メモ帖とかにペーストします。
/setblock -138 6 -53 minecraft:structure_block[mode=load]{author:”?”,ignoreEntities:0b,integrity:1.0f,metadata:””,mirror:”NONE”,mode:”LOAD”,name:”minecraft:bricks_1″,posX:1,posY:1,posZ:1,powered:0b,rotation:”NONE”,seed:0L,showair:1b,showboundingbox:1b,sizeX:7,sizeY:7,sizeZ:7}
今回はこんな感じのゴチャゴチャ―ってしたのがでてきました。これはストラクチャーブロックの情報で、これをコマブロに入れることで同じものが設置されます。setblock の座標を変えればいいわけですね。
コマンドでペーストしたい場合は、ストラクチャーブロックの設置と同時に、レッドストーン信号が出力される何かを置く必要があります。赤石ブロック、押された状態のボタン、信号が入力された状態の赤石粉などなど、好きな物を使いましょう。今回は赤石ブロックにしときましょか。
コマブロを2つと、適当にボタンなんかを置きます。
setblock ~ ~2 ~ minecraft:structure_block[mode=load]{author:"?",ignoreEntities:0b,integrity:1.0f,metadata:"",mirror:"NONE",mode:"LOAD",name:"minecraft:bricks_1",posX:-3,posY:0,posZ:-3,powered:0b,rotation:"NONE",seed:0L,showair:1b,showboundingbox:1b,sizeX:7,sizeY:7,sizeZ:7}
setblock ~ ~2 ~ minecraft:redstone_block
そしたら上記を順に入力。ボタンをポチっと押してみましょう。
無事にストラクチャーブロックが残らず構造物のペーストができましたね。やったね、天才じゃん!!向きを変えたい時は、rotation のところを変えて、さらにPosX,Y,Zを調整してね。
まとめ
と、いうわけで、ストラクチャーブロックの使い方が一通り分かったかと思います。RPGマップを作りたい場合は、フラグが立ったら構造物(例えばダンジョンの入り口とか)を出すなどに使うことができますね。使い方、無限大。
次回は、何かしらの行動をトリガーにして構造物を出現させる仕掛けを作ってみましょうか。
それではこの辺で、お帰りの際はお気を付けて~(・∀・)ノシ
コメント