提供: Minecraft Modding Wiki
移動先: 案内検索

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
1行目: 1行目:
 
{{前提MOD|reqmod="ModLoader"}}
 
{{前提MOD|reqmod="ModLoader"}}
=精錬レシピの追加=
+
作成するソース<br />
ここでは、精錬レシピ、および新しい燃料を追加するMODを作成する。
+
mod_Tutorial.java<br />
==ソース全文==
+
<br />
;mod_Tutorial.java
+
==全体の完成形==
 
<source lang="java">
 
<source lang="java">
 
package net.minecraft.src;
 
package net.minecraft.src;
13行目: 13行目:
 
         return "1.2.3";
 
         return "1.2.3";
 
     }
 
     }
 
 
     public void load()
 
     public void load()
 
     {
 
     {
         ModLoader.addSmelting(Block.dirt.blockID, new ItemStack(Item.diamond, 1));
+
         FurnaceRecipes.smelting().addSmelting(Block.dirt.blockID, new ItemStack(Item.diamond, 1));
 
         FurnaceRecipes.smelting().addSmelting(Block.cloth.blockID, 4, new ItemStack(Block.sponge, 1));
 
         FurnaceRecipes.smelting().addSmelting(Block.cloth.blockID, 4, new ItemStack(Block.sponge, 1));
    }
 
 
    public int addFuel(int id, int metadata)
 
    {
 
        if(id >= 268 && id <= 271 || id == 290)
 
        {
 
            return 200;
 
        }
 
        return 0;
 
 
     }
 
     }
 
}
 
}
32行目: 22行目:
  
 
==精錬レシピを作る==
 
==精錬レシピを作る==
精錬レシピを指定する方法は、精錬前のアイテムのダメージ値を指定するかどうかで変わります。
 
 
===精錬前がダメージ値を持たない場合===
 
例えば、普通のアイテムや、どの色の羊毛を精錬してもいいようなレシピの場合。
 
 
<source lang="java">
 
<source lang="java">
ModLoader.addSmelting(Block.dirt.blockID, new ItemStack(Item.diamond, 1));
+
FurnaceRecipes.smelting().addSmelting(Block.dirt.blockID, new ItemStack(Item.diamond, 1));
FurnaceRecipes.smelting().addSmelting(Block.cloth.blockID, new ItemStack(Block.sponge, 1));
 
 
</source>
 
</source>
*ModLoader.addSmelting、もしくはFurnaceRecipes.smelting().addSmeltingで、精錬レシピを追加する。
+
レシピを指定してる部分はこの部分です。<br />
*第一引数にはBlock.blockID、Item.shiftedIndexを指定する。
+
FurnaceRecipes.smelting()で精錬レシピを作ることを宣言しています。<br />
*第二引数には、完成後のアイテムを、ItemStack型で指定する。
+
焼きたいものはBlockIDまたはItemIDで指定します。(BlockIDは".blockID"、ItemIDは".shiftedIndex"で参照できる)<br />
**書き方は、 new itemStack(Item型、またはItemID, 作成数, ダメージ値)
+
完成品はitemStack型で指定します。(new itemStack(アイテム名,作成数))<br />
*サンプルは、土を焼くとダイヤモンドを1つ出すように指定されています。
+
サンプルでは土を焼くとダイヤモンドを1つ出すプログラムになっています。<br />
  
===精錬前がダメージ値を持つ場合===
 
例えば特定の色の羊毛のみなどを精錬したい場合。
 
 
<source lang="java">
 
<source lang="java">
 
FurnaceRecipes.smelting().addSmelting(Block.cloth.blockID, 4, new ItemStack(Block.sponge, 1));
 
FurnaceRecipes.smelting().addSmelting(Block.cloth.blockID, 4, new ItemStack(Block.sponge, 1));
 
</source>
 
</source>
*FurnaceRecipes.smelting().addSmeltingメソッドで、精錬レシピを追加する。
+
ダメージ値を指定する場合は焼きたいもののIDの後に記述します。<br />
**精錬前のアイテムがダメージ値を持つ場合、ModLoaderの機能では設定できません。
+
サンプルでは黄色い羊毛を焼くとスポンジを1つ出すプログラムになっています。<br />
*第一引数にはBlock.blockID、Item.shiftedIndexを指定する。
 
*第二引数には、精錬前のアイテムのダメージ値を指定する。
 
*第三引数には、完成後のアイテムを、ItemStack型で指定する。
 
**書き方は、 new itemStack(Item型、またはItemID, 作成数, ダメージ値)
 
*サンプルは、黄色い羊毛を焼くとスポンジを1つ出すように指定されています。
 
 
 
=新しい燃料を追加する=
 
mod_Tutorial に addFuel メソッドを追加する事で、燃料の設定を追加できる。
 
<source lang="java">
 
public int addFuel(int id, int metadata)
 
{
 
if(id >= 268 && id <= 271 || id == 290)
 
{
 
return 200;
 
}
 
return 0;
 
}
 
</source>
 
*addFuelメソッドは、かまどで精錬が開始される時に呼ばれる。
 
**id には、燃料スロットに入れられたアイテムのIDが入る。
 
**metadeta には、燃料スロットに入れられたアイテムのダメージ値が入る。
 
*これらの値を判定し、燃焼効率を返す。
 
**200 でアイテム1個分の効率。
 
**例えば木の棒や苗木は100(0.5個分)、石炭木炭は1600(8個分)となる。
 
*上の例では木製のツール(斧、つるはし、ショベル、クワ、剣)で200(1個分)の燃焼効率を返している。
 
 
 
=1.3.x以降の場合=
 
精錬したものを取り出した時に経験値オーブが出るようになり、それに合わせaddSmeltingの引数が追加されています。
 
上記のソースをこのように変更すれば良いです。
 
<source lang="java">
 
ModLoader.addSmelting(Block.dirt.blockID, new ItemStack(Item.diamond, 1), 0.1F);
 
FurnaceRecipes.smelting().addSmelting(Block.cloth.blockID, new ItemStack(Block.sponge, 1), 0.1F);
 
FurnaceRecipes.smelting().addSmelting(Block.cloth.blockID, 4, new ItemStack(Block.sponge, 1), 0.1F);
 
</source>
 
*第三変数もしくは第四変数に経験値オーブの出る確率をfloatで指定します。
 
*バニラの設定値は以下のようになっています。
 
**0.1F  砂、丸石、石炭鉱石
 
**0.15F 原木
 
**0.2F  サボテン、ラピス鉱石
 
**0.3F  粘土
 
**0.35F 牛肉、豚肉、鶏肉、生魚、ジャガイモ
 
**0.7F  鉄鉱石、レッドストーン鉱石
 
**1.0F  ダイヤモンド鉱石、エメラルド鉱石、金鉱石
 

Minecraft Modding Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMinecraft Modding Wiki:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート: