MOD解説 > ID競合防止支援MOD

目次

はじめに


Block IDs
マインクラフト内のブロック(=マップ上に設置可能なアイテム)のデータを管理するID。
新たなブロックを追加するMODは、ブロックIDの空きIDに新たなブロックを追加登録する。
そのため、複数のMODの導入を行った時、登録するブロックIDが重複していると読み込みエラーが発生してしまう。
競合が発生しやすいだけに、ブロックの追加を行うMODでは付属の設定ファイル(拡張子txt, ini, cfgなど)で登録するIDを変更できるものが多い。
1.6.x現在、0~4096の内、0~173がブロックIDとして、256~421と2256~2267がアイテムIDとして使用済みである。
よって、174~255, 422~2255, 2268~4095の計3744枠が空きIDとなる。
※1.2.3からBlockIDが4096と大幅に増えたが、一部バニラのアイテムIDとして登録済みのため、使用不可能である。
※AertherMODのように特殊な地形生成で使用されるブロックは、1~255の範囲内でなければならないという制限がある。
(ここでいう地形生成には、植物生成や鉱石生成、建物生成などは含まれないため、1.5.2現時点において該当するのはAertherMOD以外にほとんど存在しない点に留意したい。例えばBCの油田やRP2の火山なども該当しない。)


Item IDs
マインクラフト内のアイテム(設置不可能なアイテム)を管理するID。
新ブロック追加MODは、この空き枠にユーザー作成のアイテムを追加する。
複数MOD導入時、この範囲(256~31999)で同じIDにブロック&アイテムを追加するMODがあると、
ゲーム自体は問題なく起動するが、片方のMODのアイテムがもう片方のMODに上書きされて入手不可能になる。
(→レシピの作成結果や、モンスターがドロップするアイテムもおかしくなる)
使用領域が広く、滅多に競合が発生しないため、MODの中には競合回避手段を用意していないものが多々ある。
1.6.x現在、256~31999の内、256~421と2256~2267が使用済みである。
よって、422~2255, 2268~31999の計31566枠、4095以下除外で27904枠が空きIDとなる。
※1~255の空き領域もItemIDとして使うことはできるので、それも含めると最大で31648枠の空き枠となるが特にメリットはない。

Sprite ID
Sprite=描画。マインクラフト内に新規追加可能なアイテムグラフィックの残数。
新たに書き起こされたブロックやアイテムが追加されるMODほど大量に消費する傾向がある。
使い切るとリソース不足、これ以上新規グラフィックのアイテムは追加できないという事で、
Block IDやItemID、classファイルが競合していなくてもマインクラフトがブラックアウト、プレイ不可能になる。
1.5以降はSprite IDというシステムが削除されたので特に気にする必要はない

Terrain ID
Terrain=地形。性質的にはSpriteIDsとほぼ同じであり追加可能なグラフィックの残数を示すが、
こちらはマップに設置された状態のブロックの描画用に消費する。
六面の模様が同一でないブロックや、凝った見た目を持つデコレーションブロック、
On状態とOff状態で見た目が変わるなど二相を持つブロックが消費する傾向があるが、
必ずしもそうとは限らず、そういうブロックでも消費しないものはある。
1.5以降はTerrain IDというシステムが削除されたので特に気にする必要はない

既存classファイル
バニラ状態のminecraft.jarを開いた際、最初から入っているa, sw, bcaなどのアルファベット1~3文字のファイル群。
書き換えるclassファイルが重複してしまうと競合を起こし、大きな不具合をもたらす。
最近では多くのMODがなるべくこれらに手を加えないよう配慮して作られているが、それでもシステムに大きな改変を加えるMODは手を加えざるを得ない。
ID競合と違って厄介なのは、仮にclassファイルが重複したとしても、必ずしもブラックアウトはしないという事。
起動が不可能になるものから、特定の行動を取った時だけクラッシュしてしまうもの、ゲーム中のブロックやMOBの挙動に異常が発生するもの、ワールドデータを破壊してしまうものまである。
逆に表面上は何の問題も無く普通にプレイできるものまであるなど、影響は多岐に渡る。


処理の矛盾による競合
その他、同時導入するMOD数が多くなれば多くなるほど発生しやすくなる競合。
ブロック・アイテムID、書き換えるclassなどの重複が発生していないのにも関わらず、動作不良が発生している場合、これが原因の可能性が高い。
いかに書き換えるclassファイルが重複しておらずとも、別々のMODの新たに追加されたclassファイルが互いに矛盾相反する命令や処理を要求した場合、必然的にフリーズやエラーが発生してしまう。



BlockID・ItemIDの一覧の出力

そのMODがBlockID、およびItemIDのどこに新アイテムを追加するかを調べるためのMOD。
導入した状態でマインクラフトにログインすると、.minecraftフォルダ内に使用中のID一覧がtxt形式で出力される。
あくまで調査し確認するだけのMODであり、競合回避を補助する機能はない。

ID Checker [1.8] [1.7.10] [1.7.2] [1.6.2] [1.5.2] [1.5.1] [1.4.6] [1.4.5] [1.4.4] [1.4.2] [1.3.2]

IDwakanderとの違いとして、Omit形式での出力が無くなった代わりに、
BiomeID、EntityID、SpriteID、TerrainID、WorldTypeIDの確認もできるようになっている。
1.5.1からは SpriteID TerrainIDがなくなった代わりにEnchantmentID、MetadataID、PotionTypeIDの確認もできるようになった。
ModLoader前提版とMinecraftForge(FML)前提版の2種類が用意されており、マルチでの動作保証はFML版のみ。
1.6.2版はForge版のみ。
+←開くにはここをクリックしてください。
MOD名 ID Checker
製作者 のと
配布場所 http://forum.minecraftuser.jp/viewtopic.php?f=13&t=5440
前提MOD 【ModLoader】 または 【MinecraftForge】のどちらか
使用class なし (前提MOD除く)

◆導入方法
既に前提MODを導入済みの場合、手順2~10は飛ばす
  1. 前提MODとなるMod LoaderMinecraftForge(universal)のどちらか片方をダウンロード。
  2. 配布Forumから通常版Forge(FML)対応版のどちらか片方をダウンロード。
  3. データを入れるminecraft.jarファイル((ユーザ名)\AppData\Roaming\.minecraft\bin)を探す。
    Appdataはファイル名を指定して実行(デスクトップでWindowsキー+R)で%appdata%と打てば見つかる。
  4. まだしていないのなら、.jarファイルを開く為の7zをダウンロード&インストール。
  5. 7zで3.で見つけたminecraft.jarを7zで展開。
  6. (択一)ModLoaderのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  7. (択一)MinecraftForge(universal)のファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  8. minecraft.jarの中のMETA-INFフォルダを削除。前提MODのドラッグ後に行うこと。
  9. 展開していたminecraft.jarを閉じ、Minecraftを起動。タイトル画面まで進めたのを確認したら一度Minecraft終了。
  10. 「bin」の1つ上の階層の「.minecraft」フォルダに移動し、「mods」フォルダが生成されているか確認、無い場合は自分で作成。
  11. 「mods」フォルダの中に、先ほどダウンロードした対応するバージョンの方のID Checkerをzip圧縮状態のままコピー&貼り付け。
  12. マインクラフトを起動、ログインしてタイトル画面まで進めたなら導入成功。


◆導入後の使用例

導入に成功していれば、ログインしてタイトル画面まで進めた際に、.minecraftフォルダに画像のフォルダが生成される。
その中には
BiomeID.txtBlockID.txtEntityID.txtItemID.txtSpriteID.txtTerrainID.txtWorldTypeID.txt
の7つのテキストファイルが入っている。
IDの使用状況は、Minecraftにログインする度にこれらのファイルに出力される。
MODを導入する上で重要なのはBlockID.txtとItemID.txtの2つで、残り2つを参照する機会はおそらくあまり無い。
s&(){強いて言えば、ModLoaderなどが前提のModの導入時に、SpriteID、TerrainIDの消費状況を確認するのに使うぐらい。}
バニラでSpriteIDとTerrainIDが無限になったので実質blockIDとItemIDの確認以外はまずする機会がない。
なお、本来バニラのMinecraftには含まれないはずのフォルダが他にも色々と映っているが、
これは画像を撮影した人がIDChecker以外にも多数のMODを入れおり、それらのMODが色々と自動生成したためである。



IDwakander(ham86氏版)[1.2.5] [1.2.4]

日本人製作者によるIDListの完全上位互換のMOD。
+←開くにはここをクリックしてください。
MOD名 IDwakander
製作者 ham86
配布場所 http://forum.minecraftuser.jp/viewtopic.php?t=3673
前提MOD 【ModLoader】
使用class なし(前提MOD除く)

◆導入方法
※事前に必要なファイルのバックアップを必ずとること。
  1. Mod LoaderIDwakanderをダウンロード。
  2. データを入れるminecraft.jarファイル((ユーザ名)\AppData\Roaming\.minecraft\bin)を探す。
    Appdataはファイル名を指定して実行(デスクトップでWindowsキー+R)で%appdata%と打てば見つかる。
  3. まだしていないのなら、.jarファイルを開く為の7zをダウンロード&インストール。
  4. 7zで2.で見つけたminecraft.jarを7zで展開。
  5. META-INFフォルダがあるなら、minecraft.jarの中のMETA-INFフォルダを削除。
  6. ModLoaderのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  7. 展開していたminecraft.jarを閉じ、一つ上の階層である「(ユーザ名)\AppData\Roaming\.minecraft」に移動。
  8. 「.minecraft」フォルダ内に「mods」フォルダがあるか確認。無い場合は自分で新規フォルダ作成する。
  9. 「mods」フォルダの中に、先ほどダウンロードしたIDwakanderをzip圧縮状態のままコピー&貼り付けする。
  10. マインクラフトを起動、ログインしてタイトル画面まで進めたなら導入成功。

◆導入後の使用例

導入に成功していればゲーム開始後、最初にゲームデータが保存されたタイミング(バニラなら2秒間隔、OptiFine導入時は設定したオートセーブ間隔かもしくはゲームメニューを開いた時点)で、.minecraftフォルダに画像のフォルダが生成される。その中にはBlockID.csv、BlockID.txt、BlockID_Omit.txt、ItemID.csv、ItemID.txt、ItemID_Omit.txtの6個のファイルが存在するはずである。前3つがブロックIDに関するもの、後3つがアイテムIDに関するものである(なお、いろいろ余計なフォルダが映っているが、これはスクリーンショットを撮影した人がいろいろバックアップとったりMODが自動生成したりしたためである)。



IDwakander(A.K.氏版)[1.6.4] [1.6.2]

ham86氏のIDwakanderをtakanasayo氏が引き継ぎ、さらにそれをA.K.氏が引き継いだもの。
+←開くにはここをクリックしてください。
MOD名 IDwakander
製作者 A.K.
配布場所 http://forum.minecraftuser.jp/viewtopic.php?f=13&t=9292
前提MOD 【MinecraftForge】
使用class なし(前提MOD除く)

◆旧IDwakanderとの違い
  • 前提MODがMinecraftForge
  • ItemとBlockがまとまって出力ファイルが1つになった。
    • csvやOmit形式での出力は設定ファイルから指定可能。
  • 出力フォルダを変更できる(設定ファイルより変更可能)
  • 出力する文字コードを変更できる(設定ファイルより変更可能)
  • ブロックやアイテムを出力する際、マイクラ内の設定言語での翻訳名も同時に出力される
    • レコードの場合は曲名も出力される
  • ブロックやアイテムのメタデータごとの名前も出力できる(設定ファイルより変更可能)
    • RedPower2の薄板ブロックのような特殊なブロックにも対応
  • EntityIDや、MODで追加された翻訳データの出力もできる(設定ファイルより変更可能)
    • 翻訳データはminecraftの言語ファイルと同じ形式で出力され、UniqueLocalizerの言語ファイルとしてそのまま利用できる。

◆導入方法
※事前に必要なファイルのバックアップを必ずとること。
  1. MinecraftForgeIDwakanderをダウンロード。
  2. データを入れるminecraft.jarファイル((ユーザ名)\AppData\Roaming\.minecraft\bin)を探す。
    Appdataはファイル名を指定して実行(デスクトップでWindowsキー+R)で%appdata%と打てば見つかる。
  3. まだしていないのなら、.jarファイルを開く為の7zをダウンロード&インストール。
  4. 7zで2.で見つけたminecraft.jarを7zで展開。
  5. MinecraftForgeのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  6. META-INFフォルダがあるなら、minecraft.jarの中のMETA-INFフォルダを削除。
  7. 展開していたminecraft.jarを閉じ、一つ上の階層である「(ユーザ名)\AppData\Roaming\.minecraft」に移動。
  8. 一度、Minecraftを起動し、タイトル画面まで表示されることを確認する。
  9. 「.minecraft」フォルダ内に「mods」フォルダがあるか確認。無い場合は自分で新規フォルダ作成する。
  10. 「mods」フォルダの中に、先ほどダウンロードしたIDwakanderをzip圧縮状態のままコピー&貼り付けする。
  11. マインクラフトを起動、ログインしてタイトル画面まで進めたなら導入成功。

◆導入後の使用例
導入に成功していればタイトル画面が表示された際に、設定したフォルダ(初期値は.minecraft/IDwakander)が生成される。
その中にはblockitemIDs.txtが生成されているはずである。
また設定によってはentityIDs.txt、ja_JP.langのファイルが追加で出力される。



ID競合の自動回避


ID Resolver [1.5.2] [1.5.1] [1.4.7] [1.4.5] [1.4.2] [1.2.5] [1.2.3] [1.1] [1.0.0] [b1.6.6~b1.8.1]

BlockID、ItemIDの競合が発生した場合、自動でそれを空いているIDに移送、オートで競合回避してくれるMOD。
非常に便利だが全能ではなく、そのMODのConfigファイルの形式によっては二重の移送処理によるブッキングが発生、
逆に入れていた方が競合の原因になる事があり、手動で移送できるならそれに越した事は無い。

githubのソースコードを確認したところ、仕様が変更されておりかなり高度な競合回避ができるようになっていた。
詳細は、spoilerの中のMod製作者向け情報を参照のこと。
+←開くにはここをクリックしてください。
MOD名 ID Resolver
製作者 ShaRose
配布場所 http://www.minecraftforum.net/topic/366377-
前提MOD 【MinecraftForge】、【GuiAPI】
使用class なし

◆導入方法
既にMinecraftForgeとGuiAPIを導入済みの場合、手順2~10は飛ばす
  1. 配布ForumからIDResolver-1.4.6.1をダウンロード。
  2. 前提MODのMinecraftForge(universal)Gui API(0.15.1)をダウンロード。
  3. データを入れるminecraft.jarファイル((ユーザ名)\AppData\Roaming\.minecraft\bin)を探す。
    Appdataはファイル名を指定して実行(デスクトップでWindowsキー+R)で%appdata%と打てば見つかる。
  4. まだしていないのなら、.jarファイルを開く為の7zをダウンロード&インストール。
  5. 7zで3.で見つけたminecraft.jarを7zで展開。
  6. Gui APIのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  7. MinecraftForge(universal)のファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  8. minecraft.jarの中のMETA-INFフォルダを削除。前提MODのドラッグ後に行うこと。
  9. 展開していたminecraft.jarを閉じ、Minecraft.exeを起動。
    Forge環境の必要ファイルが自動DL+フォルダが自動生成される。タイトル画面まで進めたのを確認したら一度Minecraftを終了。
  10. 「bin」の1つ上の階層の「.minecraft」フォルダに移動し、coremodsフォルダが生成されているか確認。無い場合は自分で作成。
  11. 先程DLしたIDResolver-1.4.6.1.jarを、jarファイルのままcoremodsフォルダの中にコピー&貼り付け。
  12. マインクラフトを起動、ログインしてタイトル画面まで進めたなら導入成功。


◆導入後の使用例
導入後の初回ログイン時には、ゲームのタイトル画面に行く前に以下の設定画面が表示される。
この設定は後でタイトル画面のOption画面からでも改めて設定変更する事ができる。
Show ID info
on Main Menu:
Minecraftのタイトル画面において、画面右上にIDの使用状況を表示するか否かの設定。
初期状態ではfalseになっており表示されず、trueにすると表示されるようになる。
とりあえずtrueで問題ないが、ウィンドウサイズ最小(854x480)だと画面が狭すぎて一部表示が被ってしまう。
Show ID info
on Resolve Screen:
IDResolverでのID再割り振り画面において、画面左上にIDの使用状況を表示するか否かの設定。
初期状態ではfalseになっており表示されず、trueにすると表示されるようになる。
とりあえずtrueで問題ないが、ウィンドウサイズ最小(854x480)だと画面が狭すぎて一部表示が被ってしまう。
Check for Loose Settings: IDResolverによるID再割り振りの対象となっていたMODが途中から抜かれた場合、
該当MODが存在しない旨を通知しつつ、
該当MODの追加IDの再割り振り状態を記録したデータを整理するか否かの設定。
初期状態ではtrueになっており、
この状態では途中から抜かれたMODを検知した場合、通知&整理画面に移行する。
falseにすると途中から抜かれたMODを検知しても特にアクションを起こさない。
Only Show Conflicts: IDResolverでのID再割り振り画面を、ID競合が発生した時だけ表示するか否かに関する設定。
初期設定ではfalseになっており、この状態ではID競合が発生していなくても、
前回起動時には無かった新しいIDの追加が確認される都度、いちいちID割り振り画面に移行するようになる。
(=別に競合していないBlock・Itemに関しても、逐一どこに割り振るか聞かれるので少々面倒)
trueにすると、BlockIDまたはItemIDの競合が確認された時にのみ、ID割り振り画面に移行するようになる。
Continue IDResolverの初期設定を終了し、Minecraftのの起動を続ける。


上述の通り、「Only Show Conflicts:false」を「true」に切り換えておかないと、
別に競合していないIDに関してまで本当にここに割り当てていいか聞かれるようになるので非常に面倒になる。
「CraftGuide のItemIDは ID23617 に割り当てられるみたいですよプレイヤーさん。
ID23617 はとりあえず空いていて割り当てるのに何も問題はないけど、本当にここに割り当てていいの?いいの?いいの?」



上述の通り、「Show ID info on Main Menu:」および「Show ID info on Resolve Screen:」の設定をtrueに変えておくと、
タイトル画面の右上隅(およびIDResolver画面の左上隅)に各IDの使用状況が表示されるようになる。
Block IDs left あとどれだけBlockIDを追加できるか(0~4095範囲における空きIDの総数)
本来のBlockIDの追加可能範囲は0~255だが、現在のIDResolverはForgeを前提とするため、
BlockIDを追加可能な範囲が自動的に0~4095に拡張された状態から始まるようになっている。
Item IDs left あとどれだけItemIDを追加できるか(4096~31999範囲における空きIDの総数)
……の表示のはずなのだが、少なくともIDResolver_1.4.5_0の時点ではバグなのか仕様なのか、
値が「MODによって追加されたItemIDの総数」になっている(=バニラのItemIDは数えない)
Item Sprite IDs left SpriteIDの残数を表している。
ただ、MinecraftForgeを前提とするMODは基本的に消費しない。
Terrain Sprite IDs left TerrainIDの残数を表している。
ただ、MinecraftForgeを前提とするMODは基本的に消費しない。


Minecraft起動時、IDの重複による競合が発生したのが確認されると以下の画面に移動する。
(「Only Show Conflicts:」がfalseのままだと、新アイテムの追加を確認した場合は競合していなくても移動)
上の画像内の【1】 訳「ID 4093 に追加されようとしている新しいBlockを検知した。
このBlockはIndustrialCraft2による追加Blockである」
上の画像内の【2】 現在のID座標(4093)。左右の四角ボタンで前後に1ずつ移動。
上の画像内の【3】 スライダー表示による現在のID座標(4093)。ID座標を大きく移動する際に使用する。
上の画像内の【4】 訳「BlockID 4093 は既にForestry for Minecraftにより使用されている」
Save and Continue Loading 現在選択中のID座標に【1】のIDを割り当てつつ次の処理に進む。
【2】~【3】を使って未使用の空いているID座標に移動してからでないとボタンが押せない。
Override old setting 現在選択中のID座標に強引に【1】のIDの割り当てつつ次の処理に進む。
既に使用中のID座標にも強引にIDを上書きできるが、
当然そのままだとIDResolverのID割り振り画面終了後にID競合が発生する事になる。
なのでこのボタンの使用は推奨しない。
Show ID Resolver settings menu 初回起動時に表示された設定画面へと移動し、IDResolverの動作設定を行える。
この場合、設定終了後にContinueを押すと再びID割り振り画面に戻ってくる。
Automatically assign an ID 現在【1】で表示されているIDのみを、ID座標の先頭方向(Blockなら146~)から優先して、
未使用で空いている箇所を探しつつ自動かつ正順方式で割り当てる。
Automatically assign an ID
in Reverse
現在【1】で表示されているIDのみを、ID座標の最後尾(Blockなら~4095)から優先して、
未使用で空いている箇所を探しつつ自動かつ逆順方式で割り当てる。
Automatically assign an ID
to All from this mod
【1】のIDが所属しているMODの全ID(この場合はIndustrialCraft2の全ID)に関し、
上記の正順方式で全ての競合IDを自動割り振りする。
(BlockIDなら先頭146、ItemIDなら先頭256から、空いている箇所を探しつつ自動割り当て)
Automatically assign an ID
to All from this mod in Reverse
【1】のIDが所属しているMODの全ID(この場合はIndustrialCraft2の全ID)に関し、
上記の逆順方式で全ての競合IDを自動割り振りする。
(BlockIDなら最後尾4095、ItemIDなら最後尾31999から、空いている箇所を探しつつ自動割り当て)
特にIDの並び順に拘らない場合、基本的にこれ一択で良い。
Rise the priority for this mod 【1】のMODの優先順を1段階上げ、その上でID割り振りをもう一度最初からやり直す。
(この場合、先にIC2のIDが割り振られ、その後でFFMのIDが割り振られる形に逆転する)
Reset to default ID 【1】のIDが所属するMODに関し、ID再割り振り処理を最初からやり直す。
……設定のはずなのだが、IDResolver_1.4.5_0においては機能していない。
Cancel and Return ID ResolverによるID再割り振り処理を中断してゲームの起動を続行する。
ただしBlockIDの競合が残ったままの状態では、当然ながら直後にMinecraftがクラッシュ。


初回起動時のIDResolverの動作設定のし直し、および一度競合回避の為に再割り振りしたIDを三度割り振り直したい場合は、
タイトル画面のOptionの項目からそれらを変更できる画面に移動する事ができる。
これらの設定はタイトル画面のOptionからのみ行え、ワールドにログインしている最中のOptionからは行えない。

Option画面に新たに追加されている「Global Mod Options」の項目を選択。

その中から更に「ID Resolver」の項目を選択。
(他にMo'CreaturesやTooltipPlusなどのMODも導入している場合、それらの項目もある場合がある)

上記の手順の結果辿り着くID Resolverのメインメニューが下の画像。
Vew IDs ○○○ 各MODのIDを、後から個別に手動で再割り振りし直したい時に使用する。
Show ID info on Main Menu: 初期設定画面のものと同じもの。ここから再設定できる。
Show ID info on Resolve Screen: 初期設定画面のものと同じもの。ここから再設定できる。
Check for Loose Settings: 初期設定画面のものと同じもの。ここから再設定できる。
Only Show Conflicts: 初期設定画面のものと同じもの。ここから再設定できる。
Wipe ALL Saved IDs ID Resolverの作用によるID再割り振り状況の記録を全て消去して初期化する。
ただしID再割り振り処理はMinecraftの起動時にしか行われないので、
一度Minecraftをシャットダウンして再起動しないと割り振り記録の消去が反映されない。
Check for loose IDs 途中でMODを抜くなどした結果、
現在では機能しておらず意味が無いID割り振り設定があるかどうかをチェックする。
仮に見つかった場合は、更にそれを削除して整理できる画面に移行する。
Generate ID Status Report ID Checker機能。
このボタンを押すと、現時点でのBlockID&ItemIDの使用状況を一覧表形式で出力した、
「ID Status.txt」というtxtファイルが「.minecraft」フォルダ下に生成される。
何らかのBlockまたはItemで使用中のID番号のみ列挙し、未使用の空IDは記述されない。
Generate ID Status Report
with Expanded Free IDs
同上のID Checker機能。出力されるファイル名は「ID Status Expanded IDs.txt」
ただしこちらは未使用のIDも含めて出力される為、テキスト量が非常に膨大になる。
Generate ID Status Report
with Collapsed Free IDs
同上のID Checker機能。出力されるファイル名は「ID Status Collapsed Free IDs」
ただしこちらは現在ではそのMODを抜いた結果既にBlockIDやItemIDが残っていなくても、
ID Resolver側に該当IDを移送する処理が残ったままなら、それを反映してIDリストを出力する。
「ID Status.txt」同様、未使用IDは出力しないので、テキスト量は少なくて済む。
Export ID Mapping Report ID Resolverの処理によってどのMODのIDがどこに移されているかを一覧表形式で出力した、
「ID Mapping.txt」というtxtファイルが「.minecraft」フォルダ下に生成される。
元ID(各MODのConfigファイル上でのID座標)と新ID(その後Resolverの機能で移されたID)の
座標対比がしやすい形式になっているので、どのIDがどこに行ったか調べるのに便利。
Display ID Status Report どのIDにどのブロック(アイテム)が割り振られているかを、アイコン付きで分かりやすく表示。
ただし画像つきなのもあって、流石にこれはtxt出力はできず、画面上での確認のみに留まる。
Reload Option このOption画面をリロード(更新)する。


更に上記のメインメニューの「Vew IDs ○○○」の項目から、
各MODのIDを個別に再割り振りするための画面に移動した後の画像が以下の通り。
Raise Priority of this Mod そのMODの優先順位を1段階上げる。
優先順位の高いMODから先にIDが割り振られ、低いMODほど後からIDを割り振られる。
競合発生時の画面のものと違い、
MODの導入優先順位を変更するだけで、IDの割り振りのやり直しまではしない。
Lower Priority of this Mod そのMODの優先順位を1段階下げる。
MODの導入優先順位を変更するだけで、IDの割り振りのやり直しまではしないのは上に同じ。
Wipe Saved IDs of this Mod そのMODにのみ限定して、ID Resolverの作用によるID再割り振り状況の記録を全て消去する。
ただしID再割り振り処理はMinecraftの起動時にしか行われないので、
一度Minecraftをシャットダウンして再起動しないと割り振り記録の消去が反映されない。
Edit ID for ○○○○ 任意のBlockまたはItemのIDを個別に選択し、そのIDの割り振り設定のみを変更する。
(ボタンを押すと、競合発生時のID再割り振り画面と同じ画面に移行する)
既にID Resolverによって元のID座標から移動されているものに関しては、
項目名の後ろに更に「Originally at ○○○○」という記述が追記される。


そして「Loose Settings」、すなわち該当IDを含んでいたMODが途中から抜かれるなどして、
もはや意味をなさないID移送処理が存在するのを検知した場合のメニューは以下の通り。
Go to trim menu もはや意味を持たないID移送処理に関して、
個別に選択しつつ削除/残留の選別をしたい場合用に、専用の画面へと移動する。
ただ、実際には個別に選択してまでデータを残すべきケース等あまり無い。
Trim all loose settings 現在では意味を持たない無効なID移送処理の、その全てを削除する。
ボタンを押してもデータを削除するだけで、自動的に次の画面に進んだりはしない。
この画面を終了してタイトル画面に進むには最下段の「Back」を押す必要がある。
Trim all loose settings
for unloaded mods
現在導入していないMODに関してのみ、意味の無い移送処理を全て削除する。
ボタンを押してもデータを削除するだけで、自動的に次の画面に進んだりはしない。
この画面を終了してタイトル画面に進むには最下段の「Back」を押す必要がある。
Trim all loose settings
for loaded mods
現在導入中のMODに関してのみ、意味の無い移送処理を全て削除する。
ボタンを押してもデータを削除するだけで、自動的に次の画面に進んだりはしない。
この画面を終了してタイトル画面に進むには最下段の「Back」を押す必要がある。
Ignore and don't ask again もはや意味の無いID移送処理であっても削除せず、そのまま残し続ける。
更に以後はMinecraftの起動時にこの画面を表示しない(=削除するかどうか訊かない)
ただし新たに意味を持たないID移送処理が出現した場合は再び表示する。


最後に。
ID Resolverは、各MODのConfigファイルの内容をプレイヤーの代わりに自動で書き換えてくれるのではなく、
Minecraft起動時に各MODのConfigファイルの指示通りに各IDに割り振られたIDを、
その後で更にID Resolver独自の処理により再割り振りし直す事で対症療法的にIDの競合を防いでいる。

なので珍しい形式、特殊な形式のConfigファイルを使用しているMODの場合、
ID Resolverが勝手に動かしたIDを感知した本家Configが、それをもう一度元のIDの場所に戻そうとしての、
処理のブッキングによる競合が発生する可能性がある(=ID Resolverは万能ではない)

githubのソースコードを確認したところ、仕様が変更されており、かなり高精度なID移動が可能になった。
+Mod製作者向け情報
具体的には、coremodsの機能(asm)により、Item.javaと、Block.javaのコンストラクタを書き換え、そこで重複の判定をするようになった。
だが、この方法が、ItemBlock.javaのコンストラクタの処理と相性が悪く、現在のバージョンではItemBlockを追加するMODはNullPointerExceptionが発生する。
理由)ItemBlockを継承したクラスは、予めそれに振ったItemIDと同じ位置のBlockIDにBlockを入れておかなければならないが、IDResolverを使用した場合、BlockのIDが移動してしまうため都合よく事が進まない。
また、configから取得したブロックIDをMOD側で定数として保持している場合、それを参照した際に、NullPointerExceptionが発生したり、正常に動作しなくなる可能性がある。

また、個別のMODのConfigによるID割り振りを元にして、それを更に再度移動させているID ResolverのConfigファイルは、
他のConfigファイルと一緒になって、「.minecraft」フォルダ下の「Config」ファイル下に自動生成されるようになっている。
下の画像の2ファイルを消してしまうと、ID ResolverによるID移送処理の記録は全て消え、初期化されてしまう。
(あまりにもIDの再割り振りや移動がゴチャゴチャし、訳が分からなくなった時は一度初期化して最初からやり直すのも手)




ブロックID上限増加


Minecraft Forge [1.6.4~1.6] [1.5.2~1.5] [1.4.0~1.4.7] [1.3.2] [1.2.5~1.2.3] [1.1]

Forge3.3.7.136以降、「mDiyo's 4096 Fix」がMinecraftForgeに同梱されるようになった。
そのため、3.3.7.136以降のForgeは最初からBlockID拡張機能を有する。
他のBlockID4096化MODもこれを受けて、Forge3.3.8.152以後は更新停止や開発終了にしている。

>解説ページ



Robinton's 4096BlockIDs [1.2.5] [1.2.3] [1.0.0] [b1.8.1]

1.2.3アップデートで追加された新規ブロックID枠を有効化させるMODでID Resolverの必須MOD。
他のブロックID上限増加MODとの違いは既存アイテムのIDが4097以降に設定されるため、
4096個のブロックID枠をフル活用できること、【MinecraftForge】不要のバージョンが用意されていることの2つである。
そのためこのMODを導入すると、導入以前に作成したワールドデータでは遊べなくなるので注意。
+←開くにはここをクリックしてください。
MOD名 4096BlockIDs
製作者 Robinton
配布場所 http://www.minecraftforum.net/topic/1248996-
前提MOD 【ModLoader】
使用class (共通)aan, acj, ady, afm, ahg, aiv, ame, gh, gv, jg ml, mn, oj, os, pb, ra, tg, tw, vd, we, yr ModLoader.class(22個)

◆導入方法
※事前に必要なファイルのバックアップを必ずとること。
  1. Mod LoaderRobinton's 4096BlockIDs modをダウンロード。
  2. データを入れるminecraft.jarファイル((ユーザ名)\AppData\Roaming\.minecraft\bin)を探す。
    Appdataはファイル名を指定して実行(デスクトップでWindowsキー+R)で%appdata%と打てば見つかる。
  3. まだしていないのなら、.jarファイルを開く為の7zをダウンロード&インストール。
  4. 7zで2.で見つけたminecraft.jarを7zで展開。
  5. META-INFフォルダがあるなら、minecraft.jarの中のMETA-INFフォルダを削除。
  6. Mod Loaderのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  7. (任意)MinecraftForgeのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  8. Robinton's 4096BlockIDs modのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  9. 展開していたminecraft.jarを閉じる。



ExtendedBlockIDSupport [1.2.5][1.2.4] [1.2.3]

日本人製作者による新規ブロックID枠を有効化させるMOD。
他のブロックID上限増加MODとの違いは既存アイテムのIDは変更されず、なおかつその範囲にもブロックIDを設定できることである。
Modの一部Blockは、拡張分のIDを指定すると不具合が出るものが在る。影響情報や回避方法はフォーラムを参照。
+←開くにはここをクリックしてください。
MOD名 ExtendedBlockIDSupport
製作者 Ferne
配布場所 http://forum.minecraftuser.jp/viewtopic.php?f=13&t=2150&start=260#p86866
使用ItemID 27904-32000,cfgで任意に指定可能
前提MOD 【ModLoader】、【MinecraftForge】
使用class

◆導入方法
※事前に必要なファイルのバックアップを必ずとること。
  1. Mod LoaderMinecraftForgeExtendedBlockIDSupportをダウンロード。
  2. データを入れるminecraft.jarファイル((ユーザ名)\AppData\Roaming\.minecraft\bin)を探す。
    Appdataはファイル名を指定して実行(デスクトップでWindowsキー+R)で%appdata%と打てば見つかる。
  3. まだしていないのなら、.jarファイルを開く為の7zをダウンロード&インストール。
  4. 7zで2.で見つけたminecraft.jarを7zで展開。
  5. META-INFフォルダがあるなら、minecraft.jarの中のMETA-INFフォルダを削除。
  6. Mod Loaderのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  7. MinecraftForgeのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  8. ExtendedBlockIDSupportのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  9. 展開していたminecraft.jarを閉じる。



mDiyo's 4096 Fix [1.2.5]

InfiCraft作者による新規ブロックID枠を有効化させるMOD。
他のブロックID上限増加MODとの違いは1~4096までのIDがBlockIDとItemIDのハイブリッドになること。
そのためこのMODを導入すると、導入以前に作成したワールドデータでは遊べなくなるので注意。
+←開くにはここをクリックしてください。
MOD名 mDiyo's 4096 Fix
製作者 mDiyo
配布場所 http://www.minecraftforum.net/topic/521617-
使用ItemID 27904-32000
前提MOD 【ModLoader】、【MinecraftForge】
使用class gv jg mn pb ra tw (6個)

◆導入方法
※事前に必要なファイルのバックアップを必ずとること。
  1. Mod LoaderMinecraftForgemDiyo's 4096 Fixをダウンロード。
  2. データを入れるminecraft.jarファイル((ユーザ名)\AppData\Roaming\.minecraft\bin)を探す。
    Appdataはファイル名を指定して実行(デスクトップでWindowsキー+R)で%appdata%と打てば見つかる。
  3. まだしていないのなら、.jarファイルを開く為の7zをダウンロード&インストール。
  4. 7zで2.で見つけたminecraft.jarを7zで展開。
  5. META-INFフォルダがあるなら、minecraft.jarの中のMETA-INFフォルダを削除。
  6. Mod Loaderのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  7. MinecraftForgeのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  8. mDiyo's 4096 Fixのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  9. 展開していたminecraft.jarを閉じる。




SpriteID & TerrainID 関係

Minecraft Forge [1.6.4~1.6] [1.5.2~1.5] [1.4.0~1.4.7] [1.3.2] [1.2.5~1.2.3] [1.1]

このMODを前提に必要とするMODは、基本的にSpriteID & TerrainID を一切消費しないと思っていい。
>解説ページ


UnForgeTextureBinder [1.4.7] [1.4.5] [1.4.2] [1.3.2] [1.2.5]

前提にMinecraftForgeを使用していないMODに対しても、
Forgeの機能を利用して、SpriteID & TerrainIDの消費を減らせるように働きかけるMOD(当然だが前提にForgeが必要)
ただ、RunicDustModの本台や粉、zeitgeistのFrass系など、
バニラのアイテム&ブロックのテクスチャとハイブリッドしてるアイテム&ブロックに対しては無効でエラーの原因になり、
(UnForgeTextureBinder.cfgから該当テクスチャの項目の数値を1から0に切り換える事で解決)
またOptifine等を使用してConnnectedTextures機能を使用した際に、本棚やガラスが透明化する不具合もある。
(現時点では対処法が判明していない)
このため、まだ枯渇が発生していない段階で特に意味もなく入れる事はあまり推奨されない。
+←開くにはここをクリックしてください。
MOD名 UnForgeTextureBinder(Forge使用時の非ForgeModSpriteID使用低減Mod)
製作者 Ferne
配布場所 http://forum.minecraftuser.jp/viewtopic.php?f=13&t=2150&start=260#p86866
前提MOD 【MinecraftForge】
使用class なし

◆導入方法
既にMinecraftForgeを導入済みの場合、手順2~7は飛ばす
  1. 配布Forumから非ForgeModSpriteID使用低減MODの本体をダウンロード。
  2. 前提MODのMinecraftForge(universal)をダウンロード(目的のVerをDLできない場合はこちらから)
  3. データを入れるminecraft.jarファイル((ユーザ名)\AppData\Roaming\.minecraft\bin)を探す。
    Appdataはファイル名を指定して実行(デスクトップでWindowsキー+R)で%appdata%と打てば見つかる。
  4. まだしていないのなら、.jarファイルを開く為の7zをダウンロード&インストール。
  5. 7zで3.で見つけたminecraft.jarを7zで展開。
  6. MinecraftForge(universal)のファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  7. minecraft.jarの中のMETA-INFフォルダを削除。MinecraftForge(universal)のドラッグ後に行うこと。
  8. 非ForgeModSpriteID使用低減MODのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  9. 展開していたminecraft.jarを閉じ、マインクラフトを起動、ログインしてタイトル画面まで進めたなら導入成功。



SpriteIDCounter [1.2.5]

SpriteIDの消費数を数えてtxt形式で出力するだけのMOD。IDwakanderのSpriteID版。
前提ModLoader + DLしたzipファイルを「mods」フォルダに入れておくだけで動作するお手軽MOD。
+←開くにはここをクリックしてください。
MOD名 SpriteIDCounter(スプライトID使用数チェッカ)
製作者 Ferne
配布場所 http://forum.minecraftuser.jp/viewtopic.php?f=13&t=2150
前提MOD 【ModLoader】
使用class なし

◆導入方法
※事前に必要なファイルのバックアップを必ずとること。
  1. Mod Loaderをダウンロード。
  2. 配布Forumのトップ記事の最下部、おまけと書かれた場所からスプライトID使用数チェッカをダウンロード。
  3. データを入れるminecraft.jarファイル((ユーザ名)\AppData\Roaming\.minecraft\bin)を探す。
    Appdataはファイル名を指定して実行(デスクトップでWindowsキー+R)で%appdata%と打てば見つかる。
  4. まだしていないのなら、.jarファイルを開く為の7zをダウンロード&インストール。
  5. 7zで3.で見つけたminecraft.jarを7zで展開。
  6. META-INFフォルダがあるなら、minecraft.jarの中のMETA-INFフォルダを削除。
  7. Mod Loaderのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  8. 展開していたminecraft.jarを閉じ、一つ上の階層である「(ユーザ名)\AppData\Roaming\.minecraft」に移動。
  9. 「mods」フォルダの中に、先ほどダウンロードしたSpriteIDCounter本体をzip圧縮状態のままコピー&貼り付けする。
  10. マインクラフトを起動、ログインしてタイトル画面まで進めたなら導入成功。

◆導入後の使用例
導入に成功していれば、ログインしてタイトル画面まで進めた際に、.minecraftフォルダに下図のフォルダが生成される。

その中にはSpriteIDCount.txtというファイルが入っており、開くと以下のように簡潔な情報が示される。




コメント

コメント欄の運営・編集方針に関してはコメント欄方針を参照してください。
このコメント欄はwikiの情報充実のため、追記がしやすいよう設けた物なので、編集が苦手な方は以下のコメントフォームへ書き込んで頂ければ有志でページに取り込みます。
編集に関わらない質問は一切受け付けておらず、一律して削除されます。
注意書きをよく読んだ上で、質問掲示板または非公式日本ユーザーフォーラムをご利用ください。
Wikiの運営に関連する話はWiki運営掲示板、雑談等は非公式日本ユーザーフォーラムにてお願いします。
表示される親コメントには限りがあるので、返信の際は返信したいコメント横のチェックを付けて返信するようご協力お願いします。
  • システムMODのページにもコメントしましたが、念のためこちらにも。別作者版1.4.6/7用IDwakanderが公開されています。機能や導入法に差異があるため可能なら加筆をお願いします。 - heaven 2013-02-06 02:39:37
    • 今更ですが追記しました - 名無しさん 2013-05-23 15:37:09
  • IDResolverの仕様が変更されていたため、その旨を記述。文章力がないためあまりまとまらない文章になってしまいました。気になる方がいたらお手数ですが修正お願いします。 - 名無しさん 2013-02-26 22:47:55
  • ID Resolverが1.5.1来てます - 名無しさん 2013-04-21 19:11:09
    • forge682で動作確認、設定ファイルを鯖にコピーすればマルチも問題ない様子。 - 名無しさん 2013-05-11 14:00:16
      • レシピの重複があるMODがある場合、クリエイティブでタブが正常に表示されないようです。要検証かな? - 名無しさん 2013-05-17 12:22:10
  • ID Checkerとかで出るitemIDは+256された値が出てきてるのか? - 名無しさん 2013-08-06 14:32:04
  • IDFいx追加してください - 名無しさん 2014-03-22 12:22:33
    • IDCheckerは1.6.2までとなっていますが、1.6.4環境で試したところ、正常に動作しました。(Forge) - 名無しさん 2014-07-18 12:40:47
  • 1.2.5のID Resolverはjarに入れたほうがいい模様 - 名無しさん 2015-03-28 13:13:36
  • ID Checkerは1.7.10・1.8版もあるようです。 - 名無しさん 2015-12-12 08:02:37
    • 確認してみたらminecraft.jarに入れるのではなくmodsに入れるようになっていました - 名無しさん 2015-12-12 08:19:34
      • 間違えました。正しくは、minecraft.jarの中のMETA-INFフォルダは削除しなくてよいようになっていたようでした。 - 名無しさん 2015-12-12 08:21:52
  • i - 名無しさん 2016-03-01 17:57:28
  • i - i 2016-03-01 17:57:38
  • ID Resolverの1.7.10版はないの? - 名無しさん 2016-10-20 03:07:10
名前:

|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|
Wikiのガイドライン
必ずお読みください!

基本事項



プラットフォーム


アイテムデータ



エンティティ



ゲームデータ



ワールド



Tips



ADVANCE



マルチプレイ



リンク




Wiki運営



その他



カウンタ


合計
-

トップページ
今日 : -
昨日 : -

更新履歴


取得中です。
※「ログ」「アーカイブ」「コメント」のページはここの履歴に表示されませんので、「更新履歴」および「コメント」から参照してください

人気ページ