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