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

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

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
1行目: 1行目:
{{前提MOD|reqmod="ModLoader 1.2.3以降"}}
+
このページはModLoaderを使っていることを前提に書かれています。<br />
;作成するファイル
+
<br />
:mod_Tutorial.java mod本体のソース
+
作成するソース<br />
:ttritem.png 追加アイテムのテクスチャ画像
+
mod_Tutorial.java<br />
 +
ItemTutorial.java<br />
 +
ttritem.png<br />
  
==mod_Tutorial.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";
15行目: 16行目:
 
   
 
   
 
     public static Item ttrItem;
 
     public static Item ttrItem;
    @MLProp(info="ttrItemID", min = 4096, max = 32000)
 
    public static int ttrItemID = 5000;
 
 
   
 
   
 
     public void load() {
 
     public void load() {
 
   
 
   
       ttrItem = new Item(ttrItemID-256).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>
 
  
 +
==それぞれの役割==
 +
ここから、ソースのそれぞれの部分の役割を説明していきます。<br />
  
==解説==
+
===パッケージ、クラスを作る、バージョンを指定する===
 
+
MODを作る下準備といったところでしょうか。<br />
===パッケージ、クラス設定、バージョン設定===
+
<br />
<source lang="java">
 
 
  package net.minecraft.src;
 
  package net.minecraft.src;
</source>
+
ここでパッケージを読み込みます。必ず必要になります。<br />
 
+
<br />
*ここでパッケージを読み込みます。必ず必要になります。
 
 
 
 
 
<source lang="java">
 
 
  public class mod_Tutorial extends BaseMod {
 
  public class mod_Tutorial extends BaseMod {
</source>
+
ModLoaderのクラスBaseModを継承したクラスを作ります。mod_の後のこの部分は任意で構いません。<br />
 
+
クラスを作るときにお好みの名前に変えてください。基本はMOD名になります。<br />
*ModLoaderのクラス BaseMod を継承したクラスを作ります。mod_の後の部分はmod名で、ファイル名と同じにします。
+
<br />
 
 
 
 
<source lang="java">
 
 
  public String getVersion() {
 
  public String getVersion() {
 
    return "1.0.0";
 
    return "1.0.0";
 
  }
 
  }
</source>
+
ここでMODのバージョンをModLoaderに渡しています。<br />
 
+
'''中の文字列Minecraftのバージョンと関係が無いので適当でも構いません。'''<br />
*MODのバージョンをModLoaderに渡しています。
+
<br />
**中の文字列Minecraftのバージョンではなく、modのバージョンです。適当でも構いません。
+
===アイテムを作る===
**modリスト一覧でのバージョン表記などで表示されます。
 
 
 
 
 
===アイテムを追加する===
 
<source lang="java">
 
 
  public static Item ttrItem;
 
  public static Item ttrItem;
</source>
+
ここでアイテム""ttrItem""のフィールドを用意しています。<br />
 
+
<br />
*ここで Itemクラスの新規アイテム "ttrItem" のフィールドを用意しています。
 
 
 
 
 
<source lang="java">
 
 
  public void load() {
 
  public void load() {
</source>
+
このメソッドがModLoaderが読み込んでくれる部分です。<br />
 
+
<br />
*ModLoaderにmodが読み込まれた際に実行される部分です。必ず追加する必要があります。
+
  ttrItem = new Item(5000).setItemName("ttrItem");
 
+
アイテム""ttrItem""にIDと名前を渡しています。数字は任意に変えてください。<br />
 
+
ただし、この数字はアイテムIDなので、他のMODや既存アイテムとかぶると競合してしまいます。<br />
<source lang="java">
+
アイテムなのでほとんどありませんが気を付けてください。<br />
@MLProp(info="assign an ItemID", min = 4096, max = 32000)
+
ここで入れてる名前はゲーム内で表示される名前ではありません。<br />
public static int ttrItemID = 5000;
+
<br />
 
  ttrItem = new Item(ttrItemID-256).setItemName("ttrItem");
 
</source>
 
;例2)
 
<source lang="java">
 
ttrItem = new Item(ttrItemID-256).setItemName("ttrItem").setIconCoord(0, 0);
 
</source>
 
 
 
*ttrItemID でアイテムのIDを設定し、その前の @MLProp でcfgファイルから変更可能にしています。
 
**アイテムIDなので、設定範囲を4096-32000にしています。
 
***<b style="color:red;">ID 256-4095はブロックで使われる可能性があります。アイテムIDは4096以上が望ましいです。</b>
 
**cfgファイルについての詳細は、[[設定ファイル作成方法]]を参照して下さい。
 
**IDで記述するのはデフォルトIDになります。数字は任意に変更してください(競合注意)。
 
***<b style="color:red;">ID被りによる競合は常に発生しうるものなので、IDは極力、設定ファイルで変更可能にしましょう。</b>
 
*最後の文でアイテム"ttrItem"にIDと名前を渡しています。
 
**Item(ttrItemID-256) がアイテムIDを設定している部分です。
 
**アイテムを追加する場合、実際に登録されるIDは指定した数値の+256になるため、設定ファイルの数字をそのまま反映できるように、-256して登録しています。
 
*次に、setItemName("ttrItem") でアイテムに名前を設定しています。
 
**ここで入れてる名前は画面上に表示される名前ではなく、ゲーム内でアイテムの判別に利用される名前です。
 
**既存のアイテムやMODの追加アイテムと被ると、問題が発生します。決して被らない名前を付けるようにして下さい。
 
*例2)のように指定すると、既存のテクスチャ(gui/items.png)を使用できます。
 
**.setIconCoord(横座標, 縦座標) で指定します。0,0 なら皮のヘルメット、5,3 なら木の棒になります。
 
*.setMaxStackSize(1)を追加することで、スタックサイズを1にできます。未指定時のスタックサイズは64になります。
 
 
 
 
 
<source lang="java">
 
 
  ttrItem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ttritem.png");
 
  ttrItem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ttritem.png");
</source>
+
アイテムttrItemにModLoaderの機能でテクスチャをオーバーライドしています。用意していたttritem.pngが反映されます。<br />
 
+
画像が見つからない場合、エラーが出ます。<br />
*アイテムttrItemにModLoaderの機能でテクスチャを上書きしています。用意していたttritem.pngが反映されます。
+
MCPを使っている場合、画像を入れるのは eclipse/client/bin/ のnetフォルダと同じところに置きます。<br />
**画像が見つからない場合、エラーが出ます。
+
ファイルで画像をまとめたい場合、指定を"/フォルダ名/画像名"というようにします。<br />
**MCPを使っている場合、画像を入れるのは eclipse/client/bin/ のnetフォルダと同じところに置きます。
+
<br />  
**フォルダで画像をまとめたい場合、指定を"/フォルダ名/画像名"というようにします。
 
 
 
 
 
<source lang="java">
 
ModLoader.addName(ttrItem, "Tutorial Item");
 
</source>
 
 
 
*ここではアイテムのゲーム内で表示する名前を設定しています。
 
**addName(アイテム名,"表示したい名前") と記述します。
 
*以下のようにすると、各言語設定に対応した名前を設定できます。
 
**注意:2バイト文字(日本語など)を使う場合は、ファイルをUTF-8で保存してください。
 
<source lang="java">
 
 
  ModLoader.addName(ttrItem, "Tutorial Item");
 
  ModLoader.addName(ttrItem, "Tutorial Item");
ModLoader.addName(ttrItem, "ja_JP", "チュートリアルアイテム");
+
ここではアイテムのゲーム内で表示する名前を設定しています。(アイテム名,"表示したい名前")にしてください。<br />
</source>
+
これでゲーム内にアイテムができました。ですがレシピがなければサバイバルで使うことはできません。<br />
 
+
次ではレシピを追加していきます。<br />
 
+
<br />
===レシピを設定する===
+
===レシピを作る===
<source lang="java">
 
 
  ModLoader.addRecipe(new ItemStack(ttrItem, 4),  
 
  ModLoader.addRecipe(new ItemStack(ttrItem, 4),  
 
                     new Object[]{ "X","X",
 
                     new Object[]{ "X","X",
 
                     Character.valueOf('X'),Block.dirt });
 
                     Character.valueOf('X'),Block.dirt });
</source>
+
レシピを指定してる部分はこの部分です。<br />
 
+
ModLoader.addRecipeで形が決まったレシピでこれを作りますよ!というのを決めています。<br />
*ModLoader.addRecipeで定型レシピを設定します。詳しくは[[レシピの追加]]をご覧下さい。
+
詳しくは[[レシピの追加]]をご覧下さい<br />
 
+
<br />
 
 
 
===クラスの終わり===
 
===クラスの終わり===
<source lang="java">
+
最後に足りない } が入ります。このチュートリアルの場合2つになります。<br />
 
    }
 
    }
 
  }
 
  }
</source>
+
これで1つのソースが完成します。<br />
*最後に足りない } が入ります。このチュートリアルの場合2つになります。
 
 
 
[[Category:アイテムの追加|む]] [[category:アイテム]]
 

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

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

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

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