(前提modの記述をテンプレートを使ったものに変更しました。) |
細 (カテゴリを追加) |
||
102行目: | 102行目: | ||
</source> | </source> | ||
これで1つのソースが完成します。<br /> | これで1つのソースが完成します。<br /> | ||
+ | |||
+ | [[Category:アイテムの追加]] |
2012年3月29日 (木) 16:42時点における版
この記事は"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;
ここでアイテム""ttrItem""のフィールドを用意しています。
public void load() {
このメソッドがModLoaderが読み込んでくれる部分です。
ttrItem = new Item(5000).setItemName("ttrItem");
アイテム""ttrItem""にIDと名前を渡しています。数字は任意に変えてください。
ただし、この数字はアイテム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");
ここではアイテムのゲーム内で表示する名前を設定しています。(アイテム名,"表示したい名前")にしてください。
これでゲーム内にアイテムができました。ですがレシピがなければサバイバルで使うことはできません。
次ではレシピを追加していきます。
レシピを作る
ModLoader.addRecipe(new ItemStack(ttrItem, 4), new Object[]{ "X","X", Character.valueOf('X'),Block.dirt });
レシピを指定してる部分はこの部分です。
ModLoader.addRecipeで形が決まったレシピでこれを作りますよ!というのを決めています。
詳しくはレシピの追加をご覧下さい
クラスの終わり
最後に足りない } が入ります。このチュートリアルの場合2つになります。
} }
これで1つのソースが完成します。