提供: Minecraft Modding Wiki
移動先: 案内検索
(アイテムを作る)
1行目: 1行目:
{{前提MOD|reqmod="ModLoader"}}
+
{{前提MOD|reqmod="ModLoader 1.2.3以降"}}
作成するソース<br />
+
;作成するファイル
mod_Tutorial.java<br />
+
:mod_Tutorial.java mod本体のソース
ItemTutorial.java<br />
+
:ttritem.png 追加アイテムのテクスチャ画像
ttritem.png<br />
 
  
==全体の完成形==
+
==mod_Tutorial.javaの内容==
 
<source lang="java">
 
<source lang="java">
 
  package net.minecraft.src;
 
  package net.minecraft.src;
 
   
 
   
 
  public class mod_Tutorial extends BaseMod {
 
  public class mod_Tutorial extends BaseMod {
   
+
 
     public String getVersion() {
 
     public String getVersion() {
 
       return "1.0.0";
 
       return "1.0.0";
19行目: 18行目:
 
     public void load() {
 
     public void load() {
 
   
 
   
       ttrItem = new Item(5000).setItemName("ttrItem");  
+
       ttrItem = new Item(5000).setItemName("ttrItem");
 
       ttrItem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ttr/ttritem.png");
 
       ttrItem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ttr/ttritem.png");
 
       ModLoader.addName(ttrItem, "Tutorial Item");
 
       ModLoader.addName(ttrItem, "Tutorial Item");
     }  
+
      ModLoader.addRecipe(new ItemStack(ttrItem, 4),
 +
                          new Object[]{ "X","X",
 +
                          Character.valueOf('X'),Block.dirt });
 +
     }
 
  }
 
  }
 
</source>
 
</source>
  
==それぞれの役割==
 
ここから、ソースのそれぞれの部分の役割を説明していきます。<br />
 
  
===パッケージ、クラスを作る、バージョンを指定する===
+
==解説==
MODを作る下準備といったところでしょうか。<br />
+
 
<br />
+
===パッケージ、クラス設定、バージョン設定===
 
<source lang="java">
 
<source lang="java">
 
  package net.minecraft.src;
 
  package net.minecraft.src;
 
</source>
 
</source>
ここでパッケージを読み込みます。必ず必要になります。<br />
+
 
<br />
+
*ここでパッケージを読み込みます。必ず必要になります。
 +
 
 +
 
 
<source lang="java">
 
<source lang="java">
 
  public class mod_Tutorial extends BaseMod {
 
  public class mod_Tutorial extends BaseMod {
 
</source>
 
</source>
ModLoaderのクラスBaseModを継承したクラスを作ります。mod_の後のこの部分は任意で構いません。<br />
+
 
クラスを作るときにお好みの名前に変えてください。基本はMOD名になります。<br />
+
*ModLoaderのクラス BaseMod を継承したクラスを作ります。mod_の後の部分はmod名で、ファイル名と同じにします。
<br />
+
 
 +
 
 
<source lang="java">
 
<source lang="java">
 
  public String getVersion() {
 
  public String getVersion() {
48行目: 51行目:
 
  }
 
  }
 
</source>
 
</source>
ここでMODのバージョンをModLoaderに渡しています。<br />
+
 
'''中の文字列Minecraftのバージョンと関係が無いので適当でも構いません。'''<br />
+
*MODのバージョンをModLoaderに渡しています。
<br />
+
**'''中の文字列Minecraftのバージョンではなく、modのバージョンです。適当でも構いません。'''
===アイテムを作る===
+
**modリスト一覧でのバージョン表記などで表示されます。
 +
 
 +
 
 +
===アイテムを追加する===
 
<source lang="java">
 
<source lang="java">
 
  public static Item ttrItem;
 
  public static Item ttrItem;
57行目: 63行目:
  
 
*ここで Itemクラスの新規アイテム "ttrItem" のフィールドを用意しています。
 
*ここで Itemクラスの新規アイテム "ttrItem" のフィールドを用意しています。
 +
  
 
<source lang="java">
 
<source lang="java">
63行目: 70行目:
  
 
*ModLoaderにmodが読み込まれた際に実行される部分です。必ず追加する必要があります。
 
*ModLoaderにmodが読み込まれた際に実行される部分です。必ず追加する必要があります。
 +
  
 
<source lang="java">
 
<source lang="java">
 
  ttrItem = new Item(5000).setItemName("ttrItem");
 
  ttrItem = new Item(5000).setItemName("ttrItem");
 +
</source>
 +
;例2)
 +
<source lang="java">
 +
ttrItem = new Item(5000).setItemName("ttrItem").setIconCoord(0, 0);
 
</source>
 
</source>
  
 
*アイテム"ttrItem"にIDと名前を渡しています。数字は任意に変えてください。
 
*アイテム"ttrItem"にIDと名前を渡しています。数字は任意に変えてください。
 
**この数字はアイテムIDなので、他のMODや既存アイテムとかぶると競合します。注意してください。
 
**この数字はアイテムIDなので、他のMODや既存アイテムとかぶると競合します。注意してください。
**実際に登録されるIDは、指定した数値の+256になることに注意。特に設定ファイルからIDを取得する際には注意が必要です。
+
**アイテムを追加する場合、<b style="color:red;">実際に登録されるIDは指定した数値の+256</b>になることに注意。特に設定ファイルからIDを取得する際には注意が必要です。
 
*ここで入れてる名前はゲーム内で表示される名前ではなく、ゲーム内でアイテムの判別に利用される名前です。
 
*ここで入れてる名前はゲーム内で表示される名前ではなく、ゲーム内でアイテムの判別に利用される名前です。
 
**既存のアイテムやMODの追加アイテムと被ると、問題が発生します。決して被らない名前を付けるようにして下さい。
 
**既存のアイテムやMODの追加アイテムと被ると、問題が発生します。決して被らない名前を付けるようにして下さい。
 +
*例2)のように指定すると、既存のテクスチャ(gui/items.png)を使用できます。
 +
**.setIconCoord(横座標, 縦座標) で指定します。0,0 なら皮のヘルメット、5,3 なら木の棒になります。
 +
*.setMaxStackSize(1)を追加することで、スタックサイズを1にできます。未指定時のスタックサイズは64になります。
 +
  
 
<source lang="java">
 
<source lang="java">
82行目: 98行目:
 
**MCPを使っている場合、画像を入れるのは eclipse/client/bin/ のnetフォルダと同じところに置きます。
 
**MCPを使っている場合、画像を入れるのは eclipse/client/bin/ のnetフォルダと同じところに置きます。
 
**フォルダで画像をまとめたい場合、指定を"/フォルダ名/画像名"というようにします。
 
**フォルダで画像をまとめたい場合、指定を"/フォルダ名/画像名"というようにします。
 +
  
 
<source lang="java">
 
<source lang="java">
95行目: 112行目:
 
</source>
 
</source>
  
===レシピを作る===
+
 
 +
===レシピを設定する===
 
<source lang="java">
 
<source lang="java">
 
  ModLoader.addRecipe(new ItemStack(ttrItem, 4),  
 
  ModLoader.addRecipe(new ItemStack(ttrItem, 4),  
101行目: 119行目:
 
                     Character.valueOf('X'),Block.dirt });
 
                     Character.valueOf('X'),Block.dirt });
 
</source>
 
</source>
レシピを指定してる部分はこの部分です。<br />
+
 
ModLoader.addRecipeで形が決まったレシピでこれを作りますよ!というのを決めています。<br />
+
*ModLoader.addRecipeで定型レシピを設定します。詳しくは[[レシピの追加]]をご覧下さい。
詳しくは[[レシピの追加]]をご覧下さい<br />
+
 
<br />
+
 
 
===クラスの終わり===
 
===クラスの終わり===
最後に足りない } が入ります。このチュートリアルの場合2つになります。<br />
 
 
<source lang="java">
 
<source lang="java">
 
    }
 
    }
 
  }
 
  }
 
</source>
 
</source>
これで1つのソースが完成します。<br />
+
*最後に足りない } が入ります。このチュートリアルの場合2つになります。
  
 
[[Category:アイテムの追加|む]]
 
[[Category:アイテムの追加|む]]

2012年8月3日 (金) 23:38時点における版

この記事は"ModLoader 1.2.3以降"を前提MODとしています。

作成するファイル
mod_Tutorial.java mod本体のソース
ttritem.png 追加アイテムのテクスチャ画像

mod_Tutorial.javaの内容

package net.minecraft.src;
 
 public class mod_Tutorial extends BaseMod {
 
    public String getVersion() {
       return "1.0.0";
    }
 
    public static Item ttrItem;
 
    public void load() {
 
       ttrItem = new Item(5000).setItemName("ttrItem");
       ttrItem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ttr/ttritem.png");
       ModLoader.addName(ttrItem, "Tutorial Item");
       ModLoader.addRecipe(new ItemStack(ttrItem, 4),
                           new Object[]{ "X","X",
                           Character.valueOf('X'),Block.dirt });
    }
 }


解説

パッケージ、クラス設定、バージョン設定

package net.minecraft.src;
  • ここでパッケージを読み込みます。必ず必要になります。


public class mod_Tutorial extends BaseMod {
  • ModLoaderのクラス BaseMod を継承したクラスを作ります。mod_の後の部分はmod名で、ファイル名と同じにします。


public String getVersion() {
   return "1.0.0";
 }
  • MODのバージョンをModLoaderに渡しています。
    • 中の文字列Minecraftのバージョンではなく、modのバージョンです。適当でも構いません。
    • modリスト一覧でのバージョン表記などで表示されます。


アイテムを追加する

public static Item ttrItem;
  • ここで Itemクラスの新規アイテム "ttrItem" のフィールドを用意しています。


public void load() {
  • ModLoaderにmodが読み込まれた際に実行される部分です。必ず追加する必要があります。


ttrItem = new Item(5000).setItemName("ttrItem");
例2)
ttrItem = new Item(5000).setItemName("ttrItem").setIconCoord(0, 0);
  • アイテム"ttrItem"にIDと名前を渡しています。数字は任意に変えてください。
    • この数字はアイテムIDなので、他のMODや既存アイテムとかぶると競合します。注意してください。
    • アイテムを追加する場合、実際に登録されるIDは指定した数値の+256になることに注意。特に設定ファイルからIDを取得する際には注意が必要です。
  • ここで入れてる名前はゲーム内で表示される名前ではなく、ゲーム内でアイテムの判別に利用される名前です。
    • 既存のアイテムやMODの追加アイテムと被ると、問題が発生します。決して被らない名前を付けるようにして下さい。
  • 例2)のように指定すると、既存のテクスチャ(gui/items.png)を使用できます。
    • .setIconCoord(横座標, 縦座標) で指定します。0,0 なら皮のヘルメット、5,3 なら木の棒になります。
  • .setMaxStackSize(1)を追加することで、スタックサイズを1にできます。未指定時のスタックサイズは64になります。


ttrItem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ttritem.png");
  • アイテムttrItemにModLoaderの機能でテクスチャを上書きしています。用意していたttritem.pngが反映されます。
    • 画像が見つからない場合、エラーが出ます。
    • MCPを使っている場合、画像を入れるのは eclipse/client/bin/ のnetフォルダと同じところに置きます。
    • フォルダで画像をまとめたい場合、指定を"/フォルダ名/画像名"というようにします。


ModLoader.addName(ttrItem, "Tutorial Item");
  • ここではアイテムのゲーム内で表示する名前を設定しています。
    • addName(アイテム名,"表示したい名前") と記述します。
  • 以下のようにすると、各言語設定に対応した名前を設定できます。
ModLoader.addName(ttrItem, "Tutorial Item");
 ModLoader.addName(ttrItem, "ja_JP", "チュートリアルアイテム");


レシピを設定する

ModLoader.addRecipe(new ItemStack(ttrItem, 4), 
                     new Object[]{ "X","X",
                     Character.valueOf('X'),Block.dirt });
  • ModLoader.addRecipeで定型レシピを設定します。詳しくはレシピの追加をご覧下さい。


クラスの終わり

  }
 }
  • 最後に足りない } が入ります。このチュートリアルの場合2つになります。