提供: Minecraft Modding Wiki
2012年8月3日 (金) 22:31時点におけるTakanasayo (トーク | 投稿記録)による版 (アイテムを作る)
移動先: 案内検索

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

作成するソース
mod_Tutorial.java
ItemTutorial.java
ttritem.png

全体の完成形

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");
    }   
 }

それぞれの役割

ここから、ソースのそれぞれの部分の役割を説明していきます。

パッケージ、クラスを作る、バージョンを指定する

MODを作る下準備といったところでしょうか。

package net.minecraft.src;

ここでパッケージを読み込みます。必ず必要になります。

public class mod_Tutorial extends BaseMod {

ModLoaderのクラスBaseModを継承したクラスを作ります。mod_の後のこの部分は任意で構いません。
クラスを作るときにお好みの名前に変えてください。基本はMOD名になります。

public String getVersion() {
   return "1.0.0";
 }

ここでMODのバージョンをModLoaderに渡しています。
中の文字列Minecraftのバージョンと関係が無いので適当でも構いません。

アイテムを作る

public static Item ttrItem;
  • ここで Itemクラスの新規アイテム "ttrItem" のフィールドを用意しています。
public void load() {
  • ModLoaderにmodが読み込まれた際に実行される部分です。必ず追加する必要があります。
ttrItem = new Item(5000).setItemName("ttrItem");
  • アイテム"ttrItem"にIDと名前を渡しています。数字は任意に変えてください。
    • この数字はアイテムIDなので、他のMODや既存アイテムとかぶると競合します。注意してください。
    • 実際に登録されるIDは、指定した数値の+256になることに注意。特に設定ファイルからIDを取得する際には注意が必要です。
  • ここで入れてる名前はゲーム内で表示される名前ではなく、ゲーム内でアイテムの判別に利用される名前です。
    • 既存のアイテムやMODの追加アイテムと被ると、問題が発生します。決して被らない名前を付けるようにして下さい。
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つになります。

  }
 }

これで1つのソースが完成します。