【マイクラ】Inventory Tweeks 互換性対応させてみた【ソート機能追加】

*この記事を参考に行った変更によって発生した不具合等について
管理人は一切責任を取りません*
*変更・追加は自己責任でお願いします*
*変更前のバックアップは忘れずに!!*
*上記をご理解の上での変更をお願いします*

Inventory Tweeksはコンテナやバッグなどの
インベントリを持つコンテナにソート機能を追加
してくれる便利なMODです。

大体はソート機能が対応しているのですが
一部の他MODでは非対応になっているようで
どうにか出来ないものかと思っていました。
色々ググっていたら、ITの公式websiteに追加方法が
載っていたので追加してみたのですが・・・

これが、追加したいコンテナを探すのに苦労しました(;´∀`)
試行錯誤した結果、無事追加することが出来たので
手順をメモ書きで残しておきたいと思います。

環境構成
Minecraftバージョン:Java Edition 1.12.2
Minecraft Forge:forge-1.12.2-14.23.5.2855-installer.jar
Inventry Tweeks [1.12 only] :https://www.curseforge.com/minecraft/mc-mods/inventory-tweaks
Inventory Tweaks official website(英語):
https://inventory-tweaks.readthedocs.io/en/latest/
Quark:https://www.curseforge.com/minecraft/mc-mods/quark
Minecraft Japan Wiki:MOD解説/Quark

Inventory Tweaks official websiteのAdding configured compatibility info
という項目に追加方法が記載されています

<root>
   <chest class="mod.container.MyChestContainer" row_size="9" large_chest="false"/> <!-- Chests to show the sorting modes buttons on -->
   <inventory class="mod.container.MyInventoryContainer" disable_buttons="false"/> <!-- Other inventories to show just the options button on -->
</root>

内容は翻訳してみた所

追加の互換性情報は、
ファイル ‘config/InvTweaksCompatibility.xml’ に
追加できます。
このファイルはデフォルトでは存在しませんので、
使用する必要がある場合は作成してください。
このファイルは、必要な最も基本的な情報しか扱えないため、
すべてのMODで動作するわけではありません。
コンテナが正しく動作しない場合は、MODの作者にAPIの
互換性を確認してください。
エントリーのフォーマットは非常にシンプルです。

という訳で早速作ってみました。
テキストエディタで適当な場所に
InvTweaksCompatibility.xml
を作成します。

内容は上記の通りに

<root>
   <chest class="mod.container.MyChestContainer" row_size="9" large_chest="false"/> <!-- Chests to show the sorting modes buttons on -->
   <inventory class="mod.container.MyInventoryContainer" disable_buttons="false"/> <!-- Other inventories to show just the options button on -->
</root>

と記載して保存。

chest classがITを適用させるためのclass名
inventory classがオプションボタンを表示させるためのClass名だと思われます。

ファイル内の
mod.container.MyInventoryContainer
というのが反映させたいコンテナ名になります。

なので、反映させたいコンテナの名前を探さなくてはいけません。

MODに詳しい方ならもっと良い探し方があるのかもしれませんが
私には分からなかったので、以前使ったQuarkのDebug機能を利用して
反映させたいコンテナにあたりを付けることにしました。

quark.cfgのDebug Classnames項目をtrueにして
ITを反映させたいコンテナを開いていきます。
*詳しいやり方は此方を参照して下さい*

例として
Biblio Craftで追加されるラベルチェストを
適用させてみたいと思います。
quark.cfgのDebug Classnames項目をtrueにして
ゲーム内でラベルチェストを開きマイクラを終了します。

マイクラのdebug.logを開き
[Client thread/INFO] [Quark]: Opening GUI
で検索をかけ、
[Client thread/INFO] [Quark]: Opening GUI jds.bibliocraft.gui.GuiFramedChest
を見つけます。

jds.bibliocraft.gui.GuiFramedChest
FramedChestがコンテナ名になりますので
ここからBiblio CraftのMODの中身を覗いて探します。

.jarファイルは7-zipで開くことが出来ますので
この機会にPCにインストールしておくことをお勧めします!

bibliocraftのjarファイルを展開して
jds/bibliocraft 階層まで進みPCのウインドウの検索で
jds/bibliocraft以下のフォルダから検索を掛けます。

色々探してみて分かったのですが、キーの文字列の前に
containerと付くみたいなので
containerFramedChest と合体させて検索します

検索して出てきたファイルは
ContainerFramedChest.class
となっています。
選択した状態で右クリックの「ファイルの場所を開く」
ファルダまで飛びます。
ウインドウの検索バーの左、階層を表すバーをクリックで
例:
E:/modの階層/BiblioCraft[v2.4.5][MC1.12.2]/jds/bibliocraft/containers
これをコピーします。
jds以下がファイルまでのアドレスになるので
jds.bibliocraft.containers
これに先ほどのファイル名を追加
jds.bibliocraft.containers.ContainerFramedChest

この文字列を最初に作った
InvTweaksCompatibility.xml
へ書き込みます。

<root>
   <chest class="jds.bibliocraft.containers.ContainerFramedChest" row_size="9" large_chest="false"/> <!-- Chests to show the sorting modes buttons on -->
</root>

*inventory classは作らないので消しました*

保存したら
minecraft/config へxmlファイルを追加します。
これでソート機能が追加されます。

公式websiteにも書いてありますが、この方法で追加出来るのは
設置型のコンテナが主のようで、試してはいませんが
バックパックなどには効果が無いかもしれません。(要検証)

幾つか追加してみましたが、すべて名前の前にContainer〇〇と
記載されているのでQuarkのdebugで調べたGUI〇〇の「GUI」部分と
「Container」交換して検索すると探しやすいかと思います。

上記と同じファイルで機能が追加されない場合は
ファイルの拡張子、エンコード(UTF-8)、文字列の折り返し等
を確認してみて下さい。
(私は折り返しが勝手に改行されていて動かなくて悩んでたw)

おさらい:
■InvTweaksCompatibility.xmlを適当な場所に作成
■Quarkのdebug機能で該当コンテナを探す
 (使用後のdebug機能をfalseに変えるの忘れずに!)
■該当コンテナのワードから目的のMODファイルを
 展開してコンテナの場所を探す(要7-zio)
■コンテナの場所を書き込めるように編集しxmlファイルに記入
■保存したxmlファイルをminecraft/configへ入れる

以上となります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


The reCAPTCHA verification period has expired. Please reload the page.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)