terrain_textures.jsonを使ってテクスチャいじりをより自在に【第8回リソースパック講座】

どうも、新薬浅田です。
今回はterrain_textures.jsonについての詳しい解説に入っていきます。
これについては、過去に何回か軽い説明はしていますよ。詳しくはこちらの記事をご覧くださいね。

第5回リソースパック講座はこちら!

terrain_textures.jsonは各ブロックのテクスチャの画像があるファイルの場所を指定したり、ブロックのテクスチャ全体に指定した色を上塗りしたりすることができます。
またそれだけではなく、block.jsonと併せて設定することによりブロックの特定の面を自分で名前をつけた別のテクスチャに置き換えることも可能なんです。

今回は、そんなterrain_textures.jsonについて詳しく解説をしていきます。

前回の記事はこちら!

テクスチャの指定

ここでは、実際にMinecraft公式サイトからダウンロードしたリソースパックテンプレートから、terrain_textures.jsonの中身を見ながら進めていきましょう。

まずは、リソースパックテンプレートの中のtextures/terrain_textures.jsonを開きましょう。
「?」と思った方のために言い換えると、texturesファイルの中のterrain_textures.jsonを開きましょうということです。

開いてみると、このような構文まみれの画面が出ます。

以前blocks.jsonを解説したときもこんな感じでしたね。皆さん覚えていますでしょうか。

少し下にスクロールすると、

“cobblestone”: {
“textures”: “textures/blocks/cobblestone”
}

という丸石の構文が出てきました。
最初の解説ではこちらの方が分かりやすいと思いますので、これを例に解説を進めていきます。

“textures”は、各ブロック(のblocks.json内)にある名前のテクスチャがどのファイルのどこにあって、どの名前の画像を使うのかというのをパス で指定しています。
パス…ファイル内のどの場所にあるのかということを示すアドレスのようなもの

また他の構文を見てみると、データ値によって上から重ねるようにしてテクスチャの指定がされている場合もあります。

この場合は元からデータ値によって分けられているもののみが対象になります。

ここまでが、基本的なterrain_textures.jsonの解説となります。

新しい名前のテクスチャの指定方法

こちらでは例として、blocks.jsonで新たに粘着ピストン専用のテクスチャを追加指定するための名前を、粘着ピストンの構文に設定します。
この時点では、まだtexturesフォルダに同じ名前の画像を入れても反映されません。

こちらは、粘着ピストンのblocks.json内での元の構文となります。

“sticky_piston”: {
“textures”: {
“up”: “piston_top”,
“down”: “piston_bottom”,
“side”: “piston_side”
},
“carried_textures”: {
“up”: “piston_top_sticky”,
“down”: “piston_bottom”,
“side”: “piston_side”
},
“sound”: “stone”
}

それでは、粘着ピストンだとわかるようにするために、試しにここの“textures”“side”“piston_side”ではない新しい名前を自分で指定してみましょう。ここではわかりやすいように、新しい名前を“sticky_piston_side”としておきます。

ちなみに“carried_textures”は、インベントリにそのアイテムがあった時のテクスチャの指定構文です。この構文が無いものは、大体が“textures”で指定しているものがそのまま反映されています。

さて、“piston_side”“sticky_piston_side”に書き換え終わりました。ですが、このままではblocksフォルダに”sticky_piston_side”という名前のテクスチャを入れても反映されません

なぜ反映されないのかというと、blocks.jsonの”textures”で指定した”side”で使おうとしている“sticky_piston_side”が、どのファイルにあるどの画像を指定しているかをterrain_textures.jsonで指定していないからなのです。

なので、次はterrain_textures.jsonで新たに粘着ピストンの画像を指定する構文を入力します。
この場合は、ピストンの横面を指定している構文を参考にしましょう。

上の画像の“piston_side”の構文の下に、

“piston_side_sticky”: {
“textures”: [
“textures/blocks/piston_side_sticky”
]
}

という構文を挿入しましょう。
それが終わったら、blocksフォルダ内に“piston_side_sticky”という名前のテクスチャを入れましょう。
ここまでやって、ようやく粘着ピストン専用のテクスチャが反映されます。


いかがでしたか?テクスチャを差し替える際は一箇所の構文を書き換えるだけでは反映されない、ということが分かっていただけたと思います。
構文の指定には十分注意して、テクスチャの変更などをおこなっていきましょうね。


前回記事↓

次回記事↓
更新をお待ちください。