この記事は"Minecraft Forge Universal 11.14.0.xxx~"を前提MODとしています。 |
このチュートリアルでは1.8.xのレシピの追加方法を解説します。
ソース[編集]
SampleRecipe.java[編集]
/*パッケージ、インポートは省略*/ @Mod(modid = SampleRecipe.MOD_ID, version = SampleRecipe.MOD_VERSION, name = SampleRecipe.MOD_NAME) public class SampleRecipe { /*modid*/ public static final String MOD_ID = "sample_recipe"; /*modのバージョン*/ public static final String MOD_VERSION = "1.0.0"; /*modの名前*/ public static final String MOD_NAME = "Sample Recipe"; @EventHandler public void init(FMLInitalizationEvent event) { GameRegistry.addRecipe(new ItemStack(Items.diamond), "##", '#', new ItemStack(Blocks.dirt) ); GameRegistry.addRecipe(new ItemStack(Items.diamond), "#%#", "%#%", "#%#" '#', new ItemStack(Blocks.dirt), '%', new ItemStack(Blocks.stone) ); GameRegistry.addRecipe(new ItemStack(Items.diamond_pickaxe, 1, 200), "###", " % ", " % ", '#', new ItemStack(Blocks.stone), '%', new ItemStack(Items.iron_ingot) ); GameRegistry.addShapelessRecipe(new ItemStack(Items.diamond), new ItemStack(Blocks.dirt), new ItemStack(Blocks.dirt), new ItemStack(Blocks.stone) ); } }
解説[編集]
定型レシピ[編集]
定型レシピは「あそこ」に「何」を置くかが決まっているレシピです。
GameRegistry.addRecipe(…);
で定型レシピを追加します。
最初に完成品を指定します。
ItemStackかItemかBlockで指定します。
ItemStackを使うとメタデータ値(以後、meta)と個数を設定できます。
ItemStack(アイテム, 個数, meta)
次にレシピの形を設定します。
"000", "000", "000"
の形になります。0のところは好きな記号を書いてください(同じアイテムは同じ記号)。何も置かない部分は空欄にします。
その次にはレシピの形で使った記号が何の記号かどうかを設定します。
'0', (アイテム);
0のところには使った記号、そのあとはその記号のアイテムをItemStackかItemかBlockで指定します。
ItemStackを使うとmetaと個数を設定できます。
ItemStack(アイテム, 個数, meta)
どのmetaでもクラフトできるようにしたいなら、metaのところに、OreDictionary.WILDCARD_VALUEを設定します。
二個以上の記号を使ったときは、指定した後に「,」で次の記号を指定します。
不定形レシピ[編集]
不定形レシピは、どこでもいいから「あれ」があればいいというレシピです。
GameRegistry.addShapelessRecipe(…);
で不定形レシピを追加します。
最初に完成品を指定します。
ItemStackかItemかBlockで指定します。
ItemStackを使うとmetaと個数を設定できます。
ItemStack(アイテム, 個数, meta)
次に作るための素材をItemStackかItemかBlockで指定します。
ItemStackを使うとmetaと個数を設定できますが、個数は1にしてください。
ItemStack(アイテム, 個数, meta)
どのmetaでもクラフトできるようにしたいなら、metaのところに、OreDictionary.WILDCARD_VALUEを設定します。
ここで注意が必要なのが、同じ素材を使うとき、ItemStackの個数でその個数にするのではなく、そのアイテムを使う個数書きます。