#鉱石辞書とは
鉱石辞書はMinecraft Forgeが提供している機能の一つで、Mod間のアイテムの互換性を追加することが出来ます。
基本的には名前の通り、鉱石の互換性を追加するための機能でしたが、最近では色々なアイテムの互換性に使われています。
#バニラやModでの使用例
Modで追加された○○インゴット(銅や鉛)が複数のModのレシピで使用できるのは、鉱石辞書の機能です。
#実際に使う
鉱石辞書にアイテムを登録する方法と、登録されたアイテムを取得する方法の説明をします。
##登録
net.minecraftforge.oredictパッケージのOreDictionaryクラスを使います。
OreDictionary.registerOre("鉱石辞書名", ItemやBlockのInstance);
で登録が出来ます。
###鉱石辞書名のルール
登録する時に設定する鉱石辞書名は"プレフィックス" + "マテリアル" です。
例えば、鉄インゴットなら ingotIron
に、木の棒ならstickWood
になります。
##取得
登録されたアイテムの取得はgetOresで出来ます。
OreDictionary.getOres("鉱石辞書名")
戻り値はList<ItemStack>
です。
あとはforなどで回して一致するか調べます。
また、少し面倒ですがアイテムに追加された鉱石辞書名の取得も出来ます。
ArrayList<String> oreNames = Lists.newArrayList();
for(int id : OreDictionary.getOreIDs("ここに調べたいアイテムのItemStackを入れる")){
oreNames.add(OreDictionary.getOreName(id));
}
oreNamesにアイテムの鉱石辞書名がListで入っています。