「Modding/アイテム・レシピの追加」の編集履歴(バックアップ)一覧はこちら

Modding/アイテム・レシピの追加」の最新版変更点

追加された行は青色になります。

削除された行は赤色になります。

 自作アイテムの追加とレシピの追加について。
 ここでは例として新しいアイテム(鉄の棒)を作成して、これを使って線路を作成するレシピを作ってみる。
 
 この記事は minecraft B1.6_06, MCP34, ModLoader B1.6_06 について書かれたものです。
 
 大まかな流れは[[Modding>http://www26.atwiki.jp/minecraft/pages/86.html]]を参照すること。
 
 *目次
 
 #contents()
 
 
 **ItemIronStick(鉄の棒)クラス
 
 MCPROOT/sources/minecraft/net/minecraft/src/ に新しくItemIronStick.javaを作成する。
 (自作するときは、既存のクラス名とかぶらないように注意。)
 
 内容は次の通り。
 
 #highlight(java){{
 package net.minecraft.src;
 
 public class ItemIronStick extends Item
 {
     public ItemIronStick(int i)
     {
         super(i);
         maxStackSize = 64;
     }
 }
 }}
 
 アイテムなのでItemクラスを継承する。
 コンストラクタではmaxStackSize(スタック可能数)の設定のみを行っている。
 Itemクラスのメソッドを呼び出したり、適切なメソッドをオーバーライドして挙動を変える。
 
 
 *ModLoaderからのエントリポイントとなるクラス
 
 エントリポイントなので、BaseModを継承したクラスを作成。
 MCPROOT/sources/minecraft/net/minecraft/src/ に新しく mod_ReasonableRails.java を作成する。
 内容は次の通り。
 
 #highlight(java){{
 package net.minecraft.src;
  
 public class mod_ReasonableRails extends BaseMod
 {
     public mod_ReasonableRails()
     {
         super();
         //ここで自作MODを初期化する
     }
  
     public String getVersion()
     {
         //ModLoaderが対応しているバージョンを書きこむ
          return "1.3.1";
     }
  
     // /gui/items.pngの使われてないテクスチャ部分を、/mod/ironsitck.png でオーバーライド。
     // オーバーライドしたテクスチャ番号が返るので、それをIconテクスチャに設定。
     private static int IronStickIcon= ModLoader.getUniqueSpriteIndex("/gui/items.png");
  
     //アイテムの定義:IDは200番(他のアイテムと絶対に被ってはいけない)
     public static final Item ironstick = new ItemIronStick(200)
             //アイコンの設定
             .setIconIndex(IronStickIcon)
             //アイテム名の設定
             .setItemName("IronStick");
  
     //インスタンスをここで初期化する。
     public void load()
     {	
         //アイコンの読み込み
         ModLoader.addOverride("/gui/items.png", "/mod/ironstick.png", IronStickIcon);
  
         //アイテム名登録、これでインベントリとかで名前が出てくる。
         ModLoader.addName(ironstick,"Iron Stick");
  
         //鉄2個から鉄の棒を4個作成するレシピを追加。
         ModLoader.addRecipe(new ItemStack(ironstick, 4),
             new Object[]{
                      "#", //鉄を縦に2個並べる
                      "#",
                      //'#'はItem.javaで定義されてる鉄のインゴット
                      Character.valueOf('#'), Item.ingotIron
                      });
  
         //鉄の棒と木の棒から、線路を4個作成するレシピを追加。
         ModLoader.addRecipe(new ItemStack(Block.rail, 4),
             new Object[]{
                      "#x#", //鉄の棒・木の棒・鉄の棒と並べる
                      //'#'は自作の鉄の棒
                      Character.valueOf('#'), ironstick,
                      //'x'はデフォルトの木の棒
                      Character.valueOf('x'), Item.stick
                      });
     }
 }
 }}
 public void load()ブロックで、ItemIronStickのインスタンスを作成し、名前とテクスチャを設定している。
 また、addRecipesメソッドでレシピを追加している。
 
 テクスチャは自作テクスチャとして、"mod/ironstick.png"を使用するよう設定した。
 
 &bold(){ModLoaderの最新版では、BaseMod.AddRecipesは削除され、変わりにModLoader.AddRecipesを静的に呼び出す仕様になっているので注意。}
 
 *リソース
 /mod/ironsitck.png を使うコードを書いたので、実際にこのリソースを配置する。
 
 MCPROOT/bin/minecraft/ に新たにmodというフォルダを作成し、その中に ironstick.png をコピーする。
 (MCPROOT/bin/minecraft/mod/ironstick.pngになる)
 
 この説明で使用するサンプルはこれ。
 #ref(ironstick.png)
 
 &bold(){MCPROOT/bin/ 以下は cleanup すると消えるので、マスターデータは別の場所にとっておくこと。}
 
-*コメント
->&color(red){コメント欄の運営・編集方針に関しては[[コメント欄方針]]を参照してください。}
->このコメント欄はwikiの情報充実のため、追記がしやすいよう設けた物なので、編集が苦手な方は以下のコメントフォームへ書き込んで頂ければ有志でページに取り込みます。
->&b(){編集に関わらない質問は一切受け付けておらず、一律して削除されます。}
->注意書きをよく読んだ上で、[[質問掲示板]]または[[非公式日本ユーザーフォーラム>http://forum.minecraftuser.jp/]]をご利用ください。
->Wikiの運営に関連する話は[[Wiki運営掲示板]]、雑談等は[[非公式日本ユーザーフォーラム>http://forum.minecraftuser.jp/]]にてお願いします。
->&color(red){表示される親コメントには限りがあるので、返信の際は返信したいコメント横のチェックを付けて返信するようご協力お願いします。}
+*編集用コメント
+#include(コメント欄方針/テンプレート)
 #pcomment(reply,enableurl,10,Modding/アイテム・レシピの追加/コメント)
+[[コメントログ>Modding/アイテム・レシピの追加/コメント]]