Minecraft【テクニック】ストラクチャーファイルを読み込もう。3-4

Java版1.21.8-、統合版v1.21.101-で動作確認。
ストラクチャーの保存と、ロード先の変更。
ストラクチャーファイルを読み込もう。
ストラクチャーを使ったゲーム装置を作った時、ワールドデータを含めなくても、ストラクチャーを読み込み(ロード)出来るようにします。データパックやビヘイビアーパックを配布したい時に便利です。統合版はWindowsが必要。※ストラクチャーのエクスポート(書き出し)が出来ないスマートフォンやゲーム機では作れません。
フォルダ構造
ストラクチャー(structure)をロードするには、【Java版】データパック、【統合版】ビヘイビアーパックが必要です。導入がまだの方は、関連記事を参考にフォルダ構造を作成してください。※Java版は一部のフォルダ名に「s」が不要なので注意。
- 詳しくはこちら→ 【テクニック】データパック、ビヘイビアーパックの作り方。1-3
保存場所。
パック内であればどこでもロード出来ますが、あまり階層が深いと手間がかかります。フォルダ構造例を参考に「nbt」や「mcstructure」形式のファイルを設置してください。ファイル名は半角英数小文字。
【Java版】
◻︎フォルダ構造 例
ItaiWani(データパックの名前)
├ pack.meta
├ pack.png
└ deta
└ itaiwani(名前空間)
└ structure
└ goomba.nbt(名前付きバイナリタグ)
|
名前空間の直下に「structure」フォルダを作成。
【統合版】
◻︎フォルダー構造 例
behavior_packs
└ ItaiWani(ビヘイビアーパック名)
├ manifest.json
├ pack_icon.png
└ structures
└ goomba.mcstructure(エムシーストラクチャー)
|
ビヘイビアーパック名の直下に「structures」フォルダーを作成。
ストラクチャーを保存
建物はもちろん、プレイヤー以外のアイテム・敵対モブ・友好モブなど、エンティティも含めて保存することが出来ます。ただしコマンドブロックやレッドストーン回路などは、正しく保存出来ない場合があります。動作を確認しながら保存してください。
構造物のサイズ。
ストラクチャーブロックは、かならず北西の角に設置されます。保存したい構造物が枠内に入るようサイズを調整します。z座標を1ずらして保存しておくと、コマンドでロードしやすくなります。※大きなストラクチャー(構造物)の保存は、複数のストラクチャーブロックを使用します。

構造物を上から見た様子。
Java版の場合。
相対位置、構造物のサイズは、左から「xyz」座標。相対位置を変更すれば「北西の角」以外からもロード出来るようになります。エンティティを含める場合は「オン」に変更。最大サイズは「xyz」座標48x48x48ブロック。

画像はセーブモード。
◻︎セーブ場所
| saves→ワールド名→generated→minecraft→structures→goomba.nbt |
「goomba.nbt」を、フォルダ構造の「structure」フォルダへ移動。
統合版の場合。
見た目は大きく変わりますが、設定方法はJava版と同じです。ストラクチャー(構造物)をエスクポートすることで、ファイルを外部に保存出来ます。※オフセットを変更しても「北西の角」以外からロード出来ません。最大サイズは「xyz」座標64x256x64ブロック。

エクスポートを押して、ファイルを保存します。
◻︎セーブ場所
| 自分で変更出来ます。→ goomba.mcstructure |
「goomba.mcstructure」を、フォルダー構造の「structures」フォルダーへ移動。
ストラクチャーをロード
名前空間やファイルパスが変わるので、ストラクチャー(構造物)が大量にある場合は、ロード先を決めてからコマンドを作成してください。※複数のストラクチャーをロードするには、基準位置を決め相対座標で設置するなど、工夫が必要です。
ロードコマンド。
ブロックエンティティデータを使って、モードやサイズなども変更出来ます。Java版と統合版ではロード方法が大きく異なります。詳しくはMinecraft.wikiを参照。

z座標は入力せずにロード。
【Java版】
◻︎コマンド 例 ブロックデータ参照。データ値(Data values)
| ①setblock ~ ~ ~ structure_block{posY:0,mode:"LOAD",name:"itaiwani:goomba"} ②setblock ~ ~ ~ redstone_block |
①Y軸の高さ,モード,"名前空間:ファイル名"で、ロード先を指定します。
②ストラクチャーの上にレッドストーンを設置。
ロードには動力が必要。z座標をずらしてあれば「fill」コマンドは不要です。Java版では、構造物の回転が難しいので、あらかじめ方向を変えたストラクチャーを保存しておくと良いです。
【統合版】
◻︎コマンド 例 構造ブロック参照。※R7/8現在、NBTエディタ等で編集出来ない。
| ①structure load "itaiwani/goomba" ~~~ ②structure load "itaiwani/goomba" ~~~ 0_degrees none block_by_block 3 false |
①モード,"ファイルパス/ファイル名"で、ロード先を指定します。
②角度やアニメーションを追加。0度方向に、3秒かけてロード。
動力は不要。方向の設定が簡単に出来ます。大きな構造物のロードは、アニメーション推奨。ラグを抑えるためゆっくりロードします。