提供: Minecraft Modding Wiki
(ページの作成:「このページはModLoaderを使っていることを前提に書かれています。<br /> <br /> 作成するソース<br /> mod_Tutorial.java<br /> ItemTutorial.ja...」) |
Takanasayo (トーク | 投稿記録) 細 (お願い追加) |
||
(6人の利用者による、間の11版が非表示) | |||
1行目: | 1行目: | ||
− | + | {{前提MOD|reqmod="ModLoader 1.2.3以降"}} | |
− | + | ;作成するファイル | |
− | + | :mod_Tutorial.java mod本体のソース | |
− | mod_Tutorial. | + | :ttritem.png 追加アイテムのテクスチャ画像 |
− | |||
− | ttritem. | ||
− | == | + | ==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"; | ||
16行目: | 15行目: | ||
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( | + | ttrItem = new Item(ttrItemID-256).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 lang="java"> | ||
package net.minecraft.src; | package net.minecraft.src; | ||
− | + | </source> | |
− | < | + | |
+ | *ここでパッケージを読み込みます。必ず必要になります。 | ||
+ | |||
+ | |||
+ | <source lang="java"> | ||
public class mod_Tutorial extends BaseMod { | public class mod_Tutorial extends BaseMod { | ||
− | + | </source> | |
− | + | ||
− | < | + | *ModLoaderのクラス BaseMod を継承したクラスを作ります。mod_の後の部分はmod名で、ファイル名と同じにします。 |
+ | |||
+ | |||
+ | <source lang="java"> | ||
public String getVersion() { | public String getVersion() { | ||
return "1.0.0"; | return "1.0.0"; | ||
} | } | ||
− | + | </source> | |
− | + | ||
− | + | *MODのバージョンをModLoaderに渡しています。 | |
− | === | + | **中の文字列Minecraftのバージョンではなく、modのバージョンです。適当でも構いません。 |
+ | **modリスト一覧でのバージョン表記などで表示されます。 | ||
+ | |||
+ | |||
+ | ===アイテムを追加する=== | ||
+ | <source lang="java"> | ||
public static Item ttrItem; | public static Item ttrItem; | ||
− | + | </source> | |
− | < | + | |
+ | *ここで Itemクラスの新規アイテム "ttrItem" のフィールドを用意しています。 | ||
+ | |||
+ | |||
+ | <source lang="java"> | ||
public void load() { | public void load() { | ||
− | + | </source> | |
− | < | + | |
− | ttrItem = new Item( | + | *ModLoaderにmodが読み込まれた際に実行される部分です。必ず追加する必要があります。 |
− | + | ||
− | + | ||
− | + | <source lang="java"> | |
− | + | @MLProp(info="assign an ItemID", min = 4096, max = 32000) | |
− | < | + | public static int ttrItemID = 5000; |
+ | |||
+ | 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> | |
− | 画像が見つからない場合、エラーが出ます。 | + | |
− | MCPを使っている場合、画像を入れるのは eclipse/client/bin/ のnetフォルダと同じところに置きます。 | + | *アイテムttrItemにModLoaderの機能でテクスチャを上書きしています。用意していたttritem.pngが反映されます。 |
− | + | **画像が見つからない場合、エラーが出ます。 | |
− | < | + | **MCPを使っている場合、画像を入れるのは eclipse/client/bin/ のnetフォルダと同じところに置きます。 |
+ | **フォルダで画像をまとめたい場合、指定を"/フォルダ名/画像名"というようにします。 | ||
+ | |||
+ | |||
+ | <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", "チュートリアルアイテム"); | |
− | + | </source> | |
− | + | ||
− | + | ||
− | === | + | ===レシピを設定する=== |
+ | <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> | |
− | ModLoader. | + | |
− | + | *ModLoader.addRecipeで定型レシピを設定します。詳しくは[[レシピの追加]]をご覧下さい。 | |
− | + | ||
+ | |||
===クラスの終わり=== | ===クラスの終わり=== | ||
− | + | <source lang="java"> | |
} | } | ||
} | } | ||
− | + | </source> | |
+ | *最後に足りない } が入ります。このチュートリアルの場合2つになります。 | ||
+ | |||
+ | [[Category:アイテムの追加|む]] [[category:アイテム]] |
2012年12月2日 (日) 20:23時点における最新版
この記事は"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; @MLProp(info="ttrItemID", min = 4096, max = 32000) public static int ttrItemID = 5000; public void load() { ttrItem = new Item(ttrItemID-256).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が読み込まれた際に実行される部分です。必ず追加する必要があります。
@MLProp(info="assign an ItemID", min = 4096, max = 32000) public static int ttrItemID = 5000; ttrItem = new Item(ttrItemID-256).setItemName("ttrItem");
- 例2)
ttrItem = new Item(ttrItemID-256).setItemName("ttrItem").setIconCoord(0, 0);
- ttrItemID でアイテムのIDを設定し、その前の @MLProp でcfgファイルから変更可能にしています。
- アイテムIDなので、設定範囲を4096-32000にしています。
- ID 256-4095はブロックで使われる可能性があります。アイテムIDは4096以上が望ましいです。
- cfgファイルについての詳細は、設定ファイル作成方法を参照して下さい。
- IDで記述するのはデフォルトIDになります。数字は任意に変更してください(競合注意)。
- ID被りによる競合は常に発生しうるものなので、IDは極力、設定ファイルで変更可能にしましょう。
- アイテムIDなので、設定範囲を4096-32000にしています。
- 最後の文でアイテム"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になります。
ttrItem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ttritem.png");
- アイテムttrItemにModLoaderの機能でテクスチャを上書きしています。用意していたttritem.pngが反映されます。
- 画像が見つからない場合、エラーが出ます。
- MCPを使っている場合、画像を入れるのは eclipse/client/bin/ のnetフォルダと同じところに置きます。
- フォルダで画像をまとめたい場合、指定を"/フォルダ名/画像名"というようにします。
ModLoader.addName(ttrItem, "Tutorial Item");
- ここではアイテムのゲーム内で表示する名前を設定しています。
- addName(アイテム名,"表示したい名前") と記述します。
- 以下のようにすると、各言語設定に対応した名前を設定できます。
- 注意:2バイト文字(日本語など)を使う場合は、ファイルをUTF-8で保存してください。
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つになります。