(不定形レシピwo) |
細 |
||
57行目: | 57行目: | ||
Item.javaやBlock.javaにリストのような部分があったりしますので、そこに書いてある名前を参考にしてください。<br /> | Item.javaやBlock.javaにリストのような部分があったりしますので、そこに書いてある名前を参考にしてください。<br /> | ||
複数素材がある場合、1つ指定した後に , で区切って次のパーツを指定してください。<br /> | 複数素材がある場合、1つ指定した後に , で区切って次のパーツを指定してください。<br /> | ||
+ | また、ダメージ値(炭、羊毛など)を指定したい場合、<br /><br /> | ||
+ | Character.valueOf('X'),new ItemStack(Item.coal, 1, 0) }); | ||
+ | というように記述します。<br /> | ||
<br /> | <br /> | ||
例として、石ピッケルのレシピの形を作る場合、こうなります。<br /> | 例として、石ピッケルのレシピの形を作る場合、こうなります。<br /> |
2012年3月27日 (火) 13:37時点における版
この記事は"ModLoader"を前提MODとしています。 |
作成するソース
mod_Tutorial.java
全体の完成形
package net.minecraft.src; public class mod_Tutorial extends BaseMod { public String getVersion() { return "1.0.0"; } public void load() { ModLoader.addRecipe(new ItemStack(Item.diamond, 4), new Object[]{ "X","X","X", Character.valueOf('X'),Block.dirt }); /* ここは不定形レシピを作るときに使います。 作らないのであれば削除してください。 */ ModLoader.AddShapelessRecipe(new ItemStack(Item.diamond,1), new Object[]{ new ItemStack(Block.dirt, 1), new ItemStack(Block.sand, 1)}); } }
レシピを作る
ModLoader.addRecipe(new ItemStack(Item.diamond, 4), new Object[]{ "X","X","X", Character.valueOf('X'),Block.dirt });
レシピを指定してる部分はこの部分です。
ModLoader.addRecipeで形が決まったレシピでこれを作りますよ!というのを決めています。
(new itemStack(追加アイテム名,一度に作れる数))となっています。
今回の場合 土を縦に3つ並べるとダイヤモンドというアイテムを4個出すというプログラムになっています。
new Object[]{
この後の文がレシピの形を決めています。分かりやすく見せると、
"000"
"000"
"000"
このように配置が決まっています。
何も入れない部分は半角空白、素材を入れる部分は任意の文字を入れてください。同じ文字は同じパーツと判断されます。
空白を入れなかった場合、ワークベンチに収まればそれで作れるようになってしまいます。
"XX"とした場合、 "XX0"または"0XX"というように認識されます。指定は3段でなくても問題ありません。
そのように指定したら、次はその文字がどんなパーツかを指定します。
Character.valueOf('X'),Block.dirt });
valueOfの後の中の文字が指定したパーツの文字、その次が素材になります。
ブロックが素材の場合Block、置けないアイテムの場合Item、になります。
そのあとのアイテムの種類は、ゲームでよく呼ばれる名前とは違う場合があります。
Item.javaやBlock.javaにリストのような部分があったりしますので、そこに書いてある名前を参考にしてください。
複数素材がある場合、1つ指定した後に , で区切って次のパーツを指定してください。
また、ダメージ値(炭、羊毛など)を指定したい場合、
Character.valueOf('X'),new ItemStack(Item.coal, 1, 0) });
というように記述します。
例として、石ピッケルのレシピの形を作る場合、こうなります。
ModLoader.addRecipe(new ItemStack(ttrPickaxe,1), new Object[]{"XXX"," Y "," Y ", Character.valueOf('X'),Block.stone,Character.valueOf('Y'),Item.stick});
不定形レシピを作る
上記のレシピに対して配置は関係ないレシピの作り方です。
ModLoader.AddShapelessRecipe(new ItemStack(Item.diamond,1), new Object[]{ new ItemStack(Block.dirt, 1), new ItemStack(Block.sand, 1)});
ここがレシピを指定している部分です。
ModLoader.AddShapelessRecipeで不定形レシピを作ることを宣言しています。
ここでは、土ブロック(Block.dirt, 1)と砂ブロック(Block.sand, 1)で(Item.diamond,1)ができるように書いてあります。
レシピはこれで終わりです。
追加アイテムがあればそれを作るレシピも作れます。詳しくは無機能のアイテムを追加するをご覧ください。