hayanasa’s Flower Factory

マイクラ建築勢向けのMOD/Plguin解説がメインです。8割自己満足です。引用などご自由にどうぞ。たまに関係ないことを書くかもしれません。

"テクスチャ混ぜる"のをめっちゃ噛み砕いて解説

f:id:hayanasa:20180215212333p:plain

はじめに
この記事はMinecraft Java Edition1.7.10でメタを使ったリソースパック(cocricot、TenderWorld、Conquestなど)を使っている人向けの記事です。が、一応1.7.10以降にも応用はできます。

どちらにしろOptifine環境が前提です。さらにこの解説ではメタブロックを扱えることも前提としています。このあたりは解説しませんので申し訳ないですが自分で検索してください。

当然ですが、各リソースパックの規約はよく読みましょう。特に配布するといった場合は注意が必要です。製作者様方への敬意も忘れずに。そもそも弄ること自体が禁止だったりするものもありますので注意。

 

概要
いわゆる「テクスチャ混ぜる」のをやってみたいけどよくわからん!って人向けの解説をめっちゃ噛み砕いて解説してみます。多少回りくどいかもしれませんが仕様です。本記事に沿ってやればなんとなくノリがつかめると思います。僕もちょっと前までというかむしろ今でも初心者同然なんでそんな感じです。


今回行うのは「スポンジメタ1と2に、それぞれHalcyonDaysの鉄ブロックと金ブロックのテクスチャを割り当てる」という作業です。
流石にもうちょっと色々やりたかったのですが、解説が細かくしすぎて文量が…。やたら長くなってしまいましたが、作業自体は単純ですぐに終わりますのでご安心ください。

実際にやる作業は青文字で示してあるので、青文字(とその前後)だけ追えばとりあえず完成はします。

 

ちなみに僕はこのページを見ながら、cocricot様の中身を覗いたりしてフォルダ構造やプロパティの書き方を覚えました。
cocricotは非常にフォルダ構造がわかりやすいので、リソパ弄り初心者に親切です。時間ある人は自力でやってみるのも良いかもしれません。なおConquestは弄るのが難しいので最初はオススメしません。

 

構築するリソパ方式について
いわゆる「テクスチャを混ぜる」という作業ですが、ベースとなるリソパの中身自体を編集する方法と、自分用のリソパを構築して色々足していき、ベースとなるリソパに重ねて使う方法の二通りがあります。あるよね?
個人的には、ちょっと足すくらいだったら後者のほうが扱いやすいし管理だったり配布だったりもしやすいかなと思うので、本記事では後者でやっていきます。多少回りくどいですが。


(この方法が一般的かどうかは知りませんが、フォルダ構造や最低限必須な要素を勉強しやすそうという狙いもあったり。前者でも基本さえ抑えておけば作業自体は似たような感じです。目的や状況に応じて使いやすい方を選んでください)

f:id:hayanasa:20180215213613p:plain

この方式の場合だと↑こんな感じに重ねて使います。上にある方が優先されるので必ず追加リソパを上にしましょう
下に置くリソパはバニラ(無し)でも他のものでも何でも良いです。

なおConquestを下に置きたい場合ちょっと話がややこしいのですが、とりあえずスポンジメタを1、2ではなく4、5に変えれば大丈夫です。詳しくは後述。
今回はcocricotの上に重ねて使うことを一応想定してます。

 

準備
すぐ確認できるようマイクラも起動しておいてサンプルワールドを開いておきましょう。
環境によりますが拡張子を表示する設定にしたほうが良いかも?

細かい話全部突っ込むとわかりづらいので色々後述します。

今回の解説で使っているリソースパック様のリンクはこちら。
Halcyon Days v1.2[1.6-1.7]
cocricot_1.7.10c_v2.0.1
どちらも規約は必ず自分でもチェックしてください。
バージョンは多少前後しても大丈夫だと思います。

移植元のリソパ(今回の場合Halcyon Days)はあらかじめzip状態から解凍しておきましょう。7zipとか使えるならそのままでもいいです。

前述の通り、以下実際に作業する部分は青文字にしてあります。

 

それではやってみよう
resourcepacksフォルダ内に、好きな名前(そのままリソパの名前になります)でフォルダを作ります。ここではとりあえずmy_addonという名前で。

そのフォルダの中に、assetsというフォルダと、pack.mcmetaというテキストファイルを置きます。

pack.mcmetaは何処かのリソパからファイルごとコピペしてくるのが楽です。中身を開いて「description: "〜〜"」の〜〜をいじってやると、リソパ選択画面での灰色の部分の文字が変わります。

実を言うと、この二つのファイルさえあれば、マイクラ内のリソパとして認識されて一覧に表示されます。欲しければ同じ所にpack.pngという名でアイコン画像を置きます。

(リソパをzipにする必要は別にないです。別にしてもいいですが圧縮方法によってはフォルダの階層が変わってしまいリソパとして反映されなくなったりするかも)

assetsの中にminecraftというフォルダ、minecraftの中にmcpatcherというフォルダ、mcpatcherの中にctmというフォルダを作っていきます。

f:id:hayanasa:20180215232931p:plain

このようなフォルダ構造になるはずです。当然スペルミスあると反映されませんので注意。
基本的に足したいテクスチャはctmフォルダ内にフォルダを作って突っ込んでいく事になると思います(後述)。

 

テクスチャの追加
それではここからいよいよテクスチャの追加です。
以下のように割り当てていきます

カッコ内はブロックID:メタ
鉄ブロック(42)→スポンジメタ1(19:1)
金ブロック(41)→スポンジメタ2(19:2)


先ほど作ったctmフォルダ内に19_sponge」というフォルダを作ります。フォルダ名は何でも良いですが、わかりやすくブロックIDとブロック名を書きました(cocricotリスペクト)。実は別に作らなくてもできるんですが作ったほうがわかりやすいし管理しやすいです。

最近のバージョンだと大文字が使えなかったりするので注意。1.7.10ではたしか大丈夫ですが。


「19_sponge」の中に「meta1」、「meta2」というフォルダを作ってください。これもフォルダ名は何でも大丈夫です。一応これも無くても大丈夫なんですが今回はわかりやすいように作りましょう。

 

f:id:hayanasa:20180215232549p:plain

階層はこうなってればOK。

これで受け入れ体制が整ったので、Halcyon Daysのフォルダを開きます。リソパ内の欲しいテクスチャの探し方ですが、メタブロックだったりCTM利用ブロック(並べるとテクスチャが変化して繋がるもの)は、基本的に「〜〜/assets/minecraft/mcpatcher/ctm」フォルダ内を探せばあります。それ以降のフォルダ構成はリソパごとにまちまち。

そうでなければ〜〜/assets/minecraft/textures/block内にあります。アイテムだったりは別の場所ですが今回は省略。色々覗いてみるとなんとなく分かると思います。

 

鉄ブロック
HalcyonDaysの中身を覗いて鉄ブロックのテクスチャを探した所、「ctm」内の「iron」フォルダにありました。鉄ブロックのIDは42なので、入っている画像(0~47すべて)と、block42.propertiesファイルをコピーして、「meta1」フォルダ内にペーストします。


propertiesファイルの名前を「block19.properties」に変更します。こうすることでスポンジ(ID19)に割り当てられます。
propertyファイルを開き、最後の行に「metadata=1」を書き足します(もちろんカッコはいりません)。こうすることでメタ1に割り当てられます。

↓こうなればOK。

 faces=all
 tiles=0-11 12-23 24-35 36-46
 method=ctm
 metadata=1

 

とりあえずこれでテクスチャ追加ができたはずです。リソースパックを読み込んでみましょう。スポンジのメタ1が鉄ブロックになってるはずです。並べるとちゃんとつながりますよね?(これがいわゆるCTMです)
反映されてなければフォルダ構造や誤字をチェックしてみてください。

 

propertiesファイルにいろいろ書かれてる要素については、前述したこちらのページで詳しく解説されていますので、後で目を通してみると良いかもしれません。これ理解して書き換えればもっといろいろできたりします。

 

金ブロック
ハルシの金ブロックはどうやらctmフォルダ内には無いようです。そういう場合は前述の〜〜/assets/minecraft/textures/blocks内を探しましょう。gold_block.pngがそうなので、meta2フォルダ内にコピーして0.pngに名前を変えます。

meta1内にあるblock19.propertiesをコピーし、meta2内にペーストし、以下の内容に書き換えます。

 faces=all
 tiles=0
 method=fixed
 metadata=2

 

作業はこれで終わりですお疲れ様でした。

このように、1枚だけのテクスチャをブロックに割り当てる時はmethod=fixedを使います。基本形です。

 

おわりに
f:id:hayanasa:20180215212333p:plain

 

リソパを読み込み直し、スポンジのメタ1とメタ2にそれぞれハルシの鉄ブロックと金ブロックが反映されていれば成功です。無事追加できましたか?

リソパ読み込みはリソパ選択画面を開いてから完了を押せばできます(環境によって違うんでしたっけ?うろ覚え)。もしできなければ一度抜いて戻して完了を押すか、プレイ画面でF3+Tを押すことでもできます。

 

とりあえずはメタを使ったリソパ弄りの基本はこんな感じです。より細かい話は次の記事で。

hayanasa.hatenablog.com

あとは有名リソパの構造を覗いてみたり前述のこのページを見たりして色々研究してみると良いと思います。

 

基本的に、フォルダ構造さえ合っていれば、欲しいテクスチャの画像とプロパティファイルをコピペしてきて、propertiesファイルを割り当てたいブロックIDとメタ値に書き換えれば追加はできるはずです。キノコや蜘蛛の巣だったり石壁だったり他のブロックも同じ。あとはプロパティの仕組みを覚えると色々改変できたりもします。今回の金ブロックのように、プロパティファイルがない場合は自分で書きましょう。

 

リソパ自体の中身を弄る方式でもこれは一緒です。競合するものを削除する必要性は出てきますが。

 

わからないことがあればコメントかTwitterのDM(@hayanasa)で連絡いただければ個別で対応するか追加で記事を書きますTwitterのDMが一番早く気づきます。
より良い記事にしたいので些細なことでも是非お気軽に質問してください
スペルミスなどの初歩的なミスがないかは予めチェックしておいてくださると助かります。できるだけ状況を詳しく書いて頂けるとやり取りがスムーズになるかと思いますのでよろしくお願いします。

ミスや間違っている記述やこうしたほうがいいなどあれば指摘して頂けると大変嬉しいです。解説記事に関しては素人なので是非。

 

後述

・Conquestについて
ポピュラーな割にフォルダ構造が難しいと話題のConquest。ブロックIDごとではなく、材質の名前でフォルダ分けされている上にmatchTilesとかよーわからんプロパティが出てきたりして上書きが効かなかったりして難易度高め。
まあでもどんなリソパでも基本的には空いてるメタを探してとりあえず突っ込んでみれば大丈夫です(コンクだとスポンジの1〜3が埋まってしまってるので避ける)。こんくらい適当でもわりとなんとかなるんです。コンクだけに。

今回のようにリソパを重ねて使う方式だと、競合する場合に対象を「削除する」という選択肢がとれないというのが欠点ですね。

 

・mcpatcherフォルダとtexturesフォルダについて
texturesフォルダはバニラ状態のものであり、リソパの根幹となっている部分です。mcpatcherフォルダはOptifineの機能でそれらを上書きしています。


texturesの方をいじれば手に持った時にも反映されますし、例えばオークの木材のテクスチャを変えれば、木材やハーフ階段フェンス感圧板などなど全てに影響します。(今回の場合だと、〜〜/resourcepacks/my_addon/assets/minecraft/textures/blocks/plunks_oak.png と言う感じで導入)
ですが、cocricotの場合はオーク木材がほとんどctmフォルダにあるもので上書きされているので一見変化はないです。あいてるメタには反映されてますが。なので今回のケースだとオークの木材テクスチャを入れ替えたい場合ctmフォルダのほうであれこれしてやる必要が出てきます。
cocricotを開いてみて、「〜〜/ctm/05.planks/meta0」内などを見てもらえばなんとなく理解できると思います。この辺も解説したほうが良いのかな…?
要は同じ画像を使って同じフォルダ内に複数のブロックのプロパティファイルを置くこともできますよーみたいな感じ。

コンクの例も含めて、色々ごっそり入れ替えたい場合はリソパ自体をいじっていく方式のほうが楽かもしれないです。おそらくその方が読み込みも早くなるはず。

 

・新verについて
1.8以降では、いわゆるメタが使えなくなりました(正しく言うと、メタ値が実装されていないブロックではメタを使うことができなくなりました)。
ですが、CTMプロパティの書き方は基本変わらないので、本記事の解説である程度理解していればすぐ順応できると思います。新しい機能もあったりします。既存リソパを覗いてみましょう。
あと確かフォルダに大文字使うと反映されなかったりします。
ちなみに3Dテクスチャは触ったこと無いので全然わかりません

 

・pack_formatについて

pack.mcmeta内のpack_formatですが、この数字を弄ることで対応してることになっているバージョンを指定できます。1.7.10なら「1」で大丈夫です。

新しいバージョンで「古いバージョンです」云々言われるようだったらここの数字いじれば回避できます。別にいじらなくても使えますが。1.8以降は「2」、1.11以降は「3」。

 

・アイテムなどを変えたい

ブロック以外のテクスチャを変えたい場合はtexture内を色々見てみて同じようにフォルダ作って同じように名前つけた画像はっつけとけば変更できます。この辺はもうバニラと同じなんで非公式日本wikiの解説とか見てみたら良いと思います。