提供: Minecraft Modding Wiki
この編集を取り消せます。
下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | {{前提MOD|reqmod=" | + | {{前提MOD|reqmod="ModLoader"}} |
作成するソース<br /> | 作成するソース<br /> | ||
mod_Tutorial.java<br /> | mod_Tutorial.java<br /> | ||
21行目: | 21行目: | ||
作らないのであれば削除してください。 | 作らないのであれば削除してください。 | ||
*/ | */ | ||
− | ModLoader. | + | ModLoader.AddShapelessRecipe(new ItemStack(Item.diamond,1), |
new Object[]{ | new Object[]{ | ||
new ItemStack(Block.dirt, 1), new ItemStack(Block.sand, 1)}); | new ItemStack(Block.dirt, 1), new ItemStack(Block.sand, 1)}); | ||
40行目: | 40行目: | ||
今回の場合 土を縦に3つ並べるとダイヤモンドというアイテムを4個出すというプログラムになっています。<br /> | 今回の場合 土を縦に3つ並べるとダイヤモンドというアイテムを4個出すというプログラムになっています。<br /> | ||
<br /> | <br /> | ||
− | |||
new Object[]{ | new Object[]{ | ||
− | |||
この後の文がレシピの形を決めています。分かりやすく見せると、<br /> | この後の文がレシピの形を決めています。分かりやすく見せると、<br /> | ||
− | + | "000"<br /> | |
− | + | "000"<br /> | |
− | + | "000"<br /> | |
− | |||
− | </ | ||
このように配置が決まっています。<br /> | このように配置が決まっています。<br /> | ||
何も入れない部分は半角空白、素材を入れる部分は任意の文字を入れてください。同じ文字は同じパーツと判断されます。<br /> | 何も入れない部分は半角空白、素材を入れる部分は任意の文字を入れてください。同じ文字は同じパーツと判断されます。<br /> | ||
55行目: | 51行目: | ||
そのように指定したら、次はその文字がどんなパーツかを指定します。<br /> | そのように指定したら、次はその文字がどんなパーツかを指定します。<br /> | ||
<br /> | <br /> | ||
− | |||
Character.valueOf('X'),Block.dirt }); | Character.valueOf('X'),Block.dirt }); | ||
− | |||
valueOfの後の中の文字が指定したパーツの文字、その次が素材になります。<br /> | valueOfの後の中の文字が指定したパーツの文字、その次が素材になります。<br /> | ||
ブロックが素材の場合Block、置けないアイテムの場合Item、になります。<br /> | ブロックが素材の場合Block、置けないアイテムの場合Item、になります。<br /> | ||
64行目: | 58行目: | ||
複数素材がある場合、1つ指定した後に , で区切って次のパーツを指定してください。<br /> | 複数素材がある場合、1つ指定した後に , で区切って次のパーツを指定してください。<br /> | ||
また、ダメージ値(炭、羊毛など)を指定したい場合、<br /><br /> | また、ダメージ値(炭、羊毛など)を指定したい場合、<br /><br /> | ||
− | |||
Character.valueOf('X'),new ItemStack(Item.coal, 1, 0) }); | Character.valueOf('X'),new ItemStack(Item.coal, 1, 0) }); | ||
− | |||
というように記述します。<br /> | というように記述します。<br /> | ||
<br /> | <br /> | ||
75行目: | 67行目: | ||
Character.valueOf('X'),Block.stone,Character.valueOf('Y'),Item.stick}); | Character.valueOf('X'),Block.stone,Character.valueOf('Y'),Item.stick}); | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==不定形レシピを作る== | ==不定形レシピを作る== | ||
89行目: | 72行目: | ||
<source lang="java"> | <source lang="java"> | ||
− | ModLoader. | + | ModLoader.AddShapelessRecipe(new ItemStack(Item.diamond,1), |
new Object[]{ | new Object[]{ | ||
new ItemStack(Block.dirt, 1), new ItemStack(Block.sand, 1)}); | new ItemStack(Block.dirt, 1), new ItemStack(Block.sand, 1)}); | ||
</source> | </source> | ||
ここがレシピを指定している部分です。<br /> | ここがレシピを指定している部分です。<br /> | ||
− | ModLoader. | + | ModLoader.AddShapelessRecipeで不定形レシピを作ることを宣言しています。<br /> |
− | ここでは、土ブロック(Block.dirt, 1)と砂ブロック(Block.sand, 1) | + | ここでは、土ブロック(Block.dirt, 1)と砂ブロック(Block.sand, 1)で(Item.diamond,1)ができるように書いてあります。 |
102行目: | 85行目: | ||
==API例と解説== | ==API例と解説== | ||
− | ; | + | ;addRecipe 定型レシピの追加 |
+ | :例)焼き石で石ピッケルを作成 | ||
<source lang="java"> | <source lang="java"> | ||
ModLoader.addRecipe(new ItemStack(Item.pickaxeStone,1), | ModLoader.addRecipe(new ItemStack(Item.pickaxeStone,1), | ||
108行目: | 92行目: | ||
Character.valueOf('X'),Block.stone,Character.valueOf('Y'),Item.stick}); | Character.valueOf('X'),Block.stone,Character.valueOf('Y'),Item.stick}); | ||
</source> | </source> | ||
− | : | + | ;addShapelessRecipe 不定形レシピの追加 |
− | + | :例)赤羊毛と黒羊毛から、茶色羊毛を作成 | |
− | |||
− | |||
<source lang="java"> | <source lang="java"> | ||
ModLoader.addShapelessRecipe(new ItemStack(Block.cloth,2,12), | ModLoader.addShapelessRecipe(new ItemStack(Block.cloth,2,12), | ||
117行目: | 99行目: | ||
new ItemStack(Block.cloth,1,14), new ItemStack(Block.cloth,1,15)}); | new ItemStack(Block.cloth,1,14), new ItemStack(Block.cloth,1,15)}); | ||
</source> | </source> | ||
− | + | :例)木材1つと石炭(木炭)2個から、松明を8つ作成 | |
<source lang="java"> | <source lang="java"> | ||
ModLoader.addShapelessRecipe(new ItemStack(Block.torchWood,8), | ModLoader.addShapelessRecipe(new ItemStack(Block.torchWood,8), | ||
123行目: | 105行目: | ||
new ItemStack(Item.coal,1,-1), new ItemStack(Item.coal,1,-1), new ItemStack(Block.planks,1,-1)}); | new ItemStack(Item.coal,1,-1), new ItemStack(Item.coal,1,-1), new ItemStack(Block.planks,1,-1)}); | ||
</source> | </source> | ||
− | + | *このソースファイルで定義しているアイテムやブロックを作成、使用する場合、ttrPickaxe のようにプリフィクス無しで記述する。 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
*既存のアイテムや他のファイルで定義されているアイテムやブロックを作成、使用する場合、Item.stick、Block.stone のように、定義しているファイル名(ItemやBlock)をプリフィクスとしてつける(クラスのスコープを正しく指定する)。 | *既存のアイテムや他のファイルで定義されているアイテムやブロックを作成、使用する場合、Item.stick、Block.stone のように、定義しているファイル名(ItemやBlock)をプリフィクスとしてつける(クラスのスコープを正しく指定する)。 | ||
− | + | *ダメージ値を指定したレシピを作る場合、ItemStack関数を使用する。 | |
− | + | *:ItemStack(アイテム名,個数,ダメージ値) ダメージ値は省略可能(省略時は0)、個数は材料指定時には無効。 | |
− | + | *:ダメージ値に関わらずレシピに使用する(例えば全ての木材で作成可能にする)には、ダメージ値に「-1」を指定する。 | |
− | * | ||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− |