内科専門医 今日もマイクラ処方中

Minecraftの医学的有効性を検証中

MENU

Java版・統合版で建築物を別のワールドに移行する (day56)

違うワールドで作った建築物を、別のワールドに移したい時がある。

特に子供が作ったものなら尚更だ。その方法を確認。

手順は以下。

Java

Java版は割とシンプル。

1. ストラクチャーブロックを使用して建築物(を含む範囲)のデータ作成

1.1. まずストラクチャーブロックを自分に与える。

 /give @s minecraft:structure_block

 

1.2. 建築物(を含む範囲)を指定

まず下記の家をコピーするとする。

f:id:DrFlourishing:20220227080104p:plain

最終的にこうなれば良い。
1.2.1. 対角線上の角にストラクチャーブロックを2つ置く。

上の画像の左下と右上のあるのがストラクチャーブロックだ。

空中に浮いているブロックを置きたいときは、その場にいる状態で下記コマンド

/setblock ~ ~ ~ structure_block

 

1.2.2. 2つのストラクチャーブロックの片方をCorner、もう片方をSAVEにして範囲指定する。

まずストラクチャーブロックの片方をCornerにする。Structure Nameをつける。

f:id:DrFlourishing:20220227081240p:plain

ストラクチャーブロックをCornerモードにする

次に、もう片方を

①SaveモードにしてStructure Nameを先ほどと同じ名前にする。

②DETECTを押す。ここで上の写真のような状態になる。範囲が希望通りなら、

③最後にSAVEをする。

f:id:DrFlourishing:20220227080918p:plain

①Saveモードにして②DETECTを押す。③最後にSAVEをする。

 

f:id:DrFlourishing:20220227081510p:plain

これでhouse1という建築データが保存できた。
1.3. 保存した建築(領域)を貼り付ける。

同じワールドで別の場所に貼り付けたい場合は、そこにストラクチャーブロックを置き、Loadモードにすればよい。

f:id:DrFlourishing:20220228123140p:plain

Loadモードにして、Structure nameを入れる。

右下のLOADを押すと貼り付けの範囲が表示されるので、それで良ければ再度LOADを押すことで建築物を複製することができる。

f:id:DrFlourishing:20220228123403p:plain

同じ建物を複製できた。

 

2.保存データを移したいワールドのstructuresフォルダにコピー

次に、別のワールドにコピーしたい場合だ。1.で保存されたデータは、ワールドデータフォルダのstructuresというフォルダに格納されている。

f:id:DrFlourishing:20220228123959p:plain

保存したファイルはstructuresというフォルダに格納されている。

上記はver1.12の場合で、new1というのがワールドの名前、その直下にstructuresというフォルダーがある。これはstructure blockでファイルを保存した場合に自動作成されるフォルダーだが、他のワールドにコピーしたい場合、このフォルダ毎コピペして問題ない。

こうすれば、新たなワールドでストラクチャーブロックを用いて1.3.の作業をすれば建築物を貼り付けることができる。

 

バージョンが異なるワールドへのコピー

ver1.12で保存した建築を、ver1.16に貼り付けられるか試した

→可能。

フォルダの階層構造が多少と異なり、

world名>generated>minecraft>structures

となっていたが、このstrucuturesフォルダにver1.12で保存した建築をコピペすることで、ver1.16のワールドに建築を再現することができた。

 

統合版

統合版は少々ややこしい。

下記参考にした。

Structure Blocks Tutorial | Microsoft Docs

minecraft-samples/README.md at main · microsoft/minecraft-samples · GitHub

Behavior Packというものを作成する必要がある。

その作成場所により2通り方法がある。

①C:\user\(ユーザ名)\AppData\Local\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_behavior_packs

 

②C:\user\(ユーザ名)\AppData\Local\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\minecraftWorlds\xxx(ワールドのフォルダ)\behavior_packs

 

①の場合、そのbehavior_packを様々なワールドで使用することができる。ただし、複数のbehavior packを使い分けたい場合には②のように各ワールドのフォルダ内のbehavior_packsに作成した方が良さそうだ。

1. ストラクチャーブロックで構造物をコピー、保存

/give @s minecraft:structure_block

でストラクチャーブロックをGet.

次にストラクチャーブロックを配置し、コピーしたい構造物が含まれるようにSizeとOffsetを調整し名前を付ける(ここではTestとした)

Saveを押して保存する。
同じワールド内にペーストする場合は、再度ストラクチャーブロックを置いてModeをLoad、名前を先ほどつけたものにしてLoadを押せばよい。

問題はこれを別のワールドに移行したい場合だ。

この場合はSaveではなくExportを選ぶ。

好きな場所にファイルを保存する。ここではTestという名前にした。

 

 

2. Behavior packを作成、ワールドに導入

2.1. Behavior packをdevelopment_behavior_packsフォルダに作成

C:\user\(ユーザ名)\AppData\Local\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_behavior_packs

にフォルダを作る。ここではtest_behavior_packとした。

このフォルダ内に

1) structures folder

2) manifest.json

3) pack_icon.png

を作る。

1) structures folder

この中に移動したい構造物(structure)を入れる。複数でもよい。

2) manifest.json

textファイルを作り、manifest.jsonに変更、manifest.jsonに下記をコピペ。

{
    "format_version": 1,
    "header": {
        "name": "Test",
        "description": "",
        "uuid": "1ea13dec-f1d4-4b0c-90f9-710566efd112",
        "min_engine_version": [1, 12, 0],
        "version": [0, 0, 1]
    },
    "modules": [
        {
            "description": "",
            "type": "data",
            "uuid": "22ee2494-0d1d-49a6-a48c-f8748ec3b853",
            "version": [0, 0, 1]
        }
    ]
}

 

4行目の

"name": "Test"

のTestは好きに変えてよい。これが名前になる。

uuidはUniversally unique identifierの略で、簡単に言えば世界で唯一の文字列のことだ。文字自体には意味は無く、uuidは下記で作成してもよいし任意のものでよい。

https://www.uuidgenerator.net/

リソースパックと連結する際に、uuidを同一のものにする必要があるがbehavior packのみで使う分には何でもよい。

 

3) pack_icon.png

アイコンにしたい画像をpack_icon.pngという名前で保存。ここでは構造物がわかるようなアイコンにした。

 

以上で準備終了。

2.2. 構造物を移行したいワールドにBehavior packを入れる

新たにワールドを作成し、Behaviour Packsを選択。

AvailableにTestが表示されるのでActivateする。

ワールドをCreateし、ストラクチャーブロックを置き、ModeをLoadに、名前を入力して下のLoadを押す。

これで別ワールドの構造物を移行できた。

 

 

 

 

 

 

 

2.3. Behavior packをminecraftWorlds\xxx(ワールドのフォルダ)\behavior_packsに作成

移行したいワールドのフォルダを開き、behavior_packsフォルダに2.1.と同様のものを作る。

C:\user\(ユーザ名)\AppData\Local\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\minecraftWorlds\xxx(ワールドのフォルダ)\behavior_packs

 

例えば

test_behavior_packフォルダを作り、

1) structures folder

2) manifest.json

3) pack_icon.png

を作る。

 

以上で準備終了。

2.4. 構造物を移行したいワールドにBehavior packを入れる

まずBehavior packを作成したワールドを開き、Editを押す。

下の方のBehaviour Packsを選ぶ。

My PACKSに先ほどのStructureが表示されるのでActivateする。

これでActiveになった。

Playして、ストラクチャーブロックを置き、ModeをLoadに、名前を入力して下のLoadを押す。

これで別ワールドの構造物を移行できた。

 

 

 

 

初心者から上級者まで参考になる情報(コマンドやmod、アドオンづくり、プログラミングなど)まとめています↓

drflourishing.hatenablog.com