提供: Minecraft Modding Wiki
細 |
Takanasayo (トーク | 投稿記録) 細 (→アイテムを作る) |
||
55行目: | 55行目: | ||
public static Item ttrItem; | public static Item ttrItem; | ||
</source> | </source> | ||
− | + | ||
− | + | *ここで Itemクラスの新規アイテム "ttrItem" のフィールドを用意しています。 | |
+ | |||
<source lang="java"> | <source lang="java"> | ||
public void load() { | public void load() { | ||
</source> | </source> | ||
− | + | ||
− | + | *ModLoaderにmodが読み込まれた際に実行される部分です。必ず追加する必要があります。 | |
+ | |||
<source lang="java"> | <source lang="java"> | ||
ttrItem = new Item(5000).setItemName("ttrItem"); | ttrItem = new Item(5000).setItemName("ttrItem"); | ||
</source> | </source> | ||
− | アイテム | + | |
− | + | *アイテム"ttrItem"にIDと名前を渡しています。数字は任意に変えてください。 | |
− | + | **この数字はアイテムIDなので、他のMODや既存アイテムとかぶると競合します。注意してください。 | |
− | + | **実際に登録されるIDは、指定した数値の+256になることに注意。特に設定ファイルからIDを取得する際には注意が必要です。 | |
− | + | *ここで入れてる名前はゲーム内で表示される名前ではなく、ゲーム内でアイテムの判別に利用される名前です。 | |
+ | **既存のアイテムやMODの追加アイテムと被ると、問題が発生します。決して被らない名前を付けるようにして下さい。 | ||
+ | |||
<source lang="java"> | <source lang="java"> | ||
ttrItem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ttritem.png"); | ttrItem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ttritem.png"); | ||
</source> | </source> | ||
− | + | ||
− | 画像が見つからない場合、エラーが出ます。 | + | *アイテムttrItemにModLoaderの機能でテクスチャを上書きしています。用意していたttritem.pngが反映されます。 |
− | MCPを使っている場合、画像を入れるのは eclipse/client/bin/ のnetフォルダと同じところに置きます。 | + | **画像が見つからない場合、エラーが出ます。 |
− | フォルダで画像をまとめたい場合、指定を"/フォルダ名/画像名"というようにします。 | + | **MCPを使っている場合、画像を入れるのは eclipse/client/bin/ のnetフォルダと同じところに置きます。 |
− | + | **フォルダで画像をまとめたい場合、指定を"/フォルダ名/画像名"というようにします。 | |
+ | |||
<source lang="java"> | <source lang="java"> | ||
ModLoader.addName(ttrItem, "Tutorial Item"); | ModLoader.addName(ttrItem, "Tutorial Item"); | ||
</source> | </source> | ||
− | + | ||
− | + | *ここではアイテムのゲーム内で表示する名前を設定しています。 | |
− | + | **addName(アイテム名,"表示したい名前") と記述します。 | |
− | + | *以下のようにすると、各言語設定に対応した名前を設定できます。 | |
+ | <source lang="java"> | ||
+ | ModLoader.addName(ttrItem, "Tutorial Item"); | ||
+ | ModLoader.addName(ttrItem, "ja_JP", "チュートリアルアイテム"); | ||
+ | </source> | ||
+ | |||
===レシピを作る=== | ===レシピを作る=== | ||
<source lang="java"> | <source lang="java"> |
2012年8月3日 (金) 22:31時点における版
この記事は"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つのソースが完成します。