OreDictionaryと連動したIOreHandlerに代わる新しいレシピ指定クラス. ShapedOreRecipeクラスはIRecipeの実装なので, GameRegistry.addRecipe(IRecipe)の引数でnewして渡してやればよい.
ModLoader.addRecipe風に銀インゴットを使ったレシピを追加する例
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(silvershovel, 1),
new Object[]
{
"X", "Y", "Y",
Character.valueOf('X'), "ingotSilver",
Character.valueOf('Y'), Item.stick
}));
ShapedOreRecipe以降はModLoader.addRecipeと同等だが, 鉱石辞書を利用する場合, アイテムや鉱石IDではなく, 鉱石辞書に登録されている名前を使う.
他のModで設定されている文字列でも可. そのModが読み込まれなくても機能する.
コンストラクタ
public ShapedOreRecipe(Block result, Object... recipe)
public ShapedOreRecipe(Item result, Object... recipe)
public ShapedOreRecipe(ItemStack result, Object... recipe)
public ShapedOreRecipe(Block result, boolean mirrior, Object... recipe)
public ShapedOreRecipe(Item result, boolean mirrior, Object... recipe)
public ShapedOreRecipe(ItemStack result, boolean mirrior, Object... recipe)
ItemStack以外にBlock, Itemにも対応している. mirrorは斧や階段などの左右対称のレシピの際trueにする.
IRecipe実装メソッド
public ItemStack getCraftingResult(InventoryCrafting var1)
public int getRecipeSize()
public ItemStack getRecipeOutput()
public boolean matches(InventoryCrafting inv)
インタフェースIRecipeに用意されいてるメソッドを実装したもの. 上から列挙すると以下の意味.
- 引数のインベントリに応じたクラフト結果のアイテム
- レシピのサイズ
- コンストラクタで指定されたレシピのクラフト結果のアイテム
- 引数のインベントリとコンストラクタで指定したレシピが一致しているかどうか
最終更新:2012年08月24日 17:57