提供: Minecraft Modding Wiki
この編集を取り消せます。
下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
3行目: | 3行目: | ||
{{チュートリアルカテゴリー|difficulty=0|type=Item}} | {{チュートリアルカテゴリー|difficulty=0|type=Item}} | ||
==アイテムの追加== | ==アイテムの追加== | ||
− | <p> | + | <p>簡単なアイテムの追加方法</p> |
注意:一度入れたMODを外すと、再び入れてもテクスチャが反映されなくなります。デバッグ時にご注意を。 | 注意:一度入れたMODを外すと、再び入れてもテクスチャが反映されなくなります。デバッグ時にご注意を。 | ||
===ソースコード=== | ===ソースコード=== | ||
23行目: | 23行目: | ||
import net.minecraftforge.fml.common.registry.GameRegistry; | import net.minecraftforge.fml.common.registry.GameRegistry; | ||
− | @Mod(modid = SampleMod | + | @Mod(modid = "SampleMod", name = "SampleMod", version = "1.0", dependencies = "required-after:Forge@[1.8-11.14.0.1239,)", useMetadata = true) |
− | |||
− | |||
− | |||
− | |||
− | |||
public class SampleMod { | public class SampleMod { | ||
− | + | public static final String MOD_ID = "SampleMod"; | |
− | public static final String MOD_ID | + | |
− | + | @Mod.Instance("SampleMod") | |
− | + | ||
− | + | public static SampleMod INSTANCE; | |
− | + | ||
− | |||
− | |||
− | |||
− | public static | ||
− | |||
public static Item sampleItem; | public static Item sampleItem; | ||
@EventHandler | @EventHandler | ||
+ | |||
public void preInit(FMLPreInitializationEvent event) { | public void preInit(FMLPreInitializationEvent event) { | ||
sampleItem = new Item() | sampleItem = new Item() | ||
57行目: | 48行目: | ||
//アイテムの登録。登録文字列はMOD内で被らなければ何でも良い。 | //アイテムの登録。登録文字列はMOD内で被らなければ何でも良い。 | ||
GameRegistry.registerItem(sampleItem, "sampleitem"); | GameRegistry.registerItem(sampleItem, "sampleitem"); | ||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
68行目: | 54行目: | ||
@EventHandler | @EventHandler | ||
public void init(FMLInitializationEvent event) { | public void init(FMLInitializationEvent event) { | ||
− | + | //テクスチャ・モデル指定JSONファイル名の登録。 | |
+ | |||
+ | if (event.getSide().isClient()) { | ||
+ | |||
+ | //1IDで複数モデルを登録するなら、上のメソッドで登録した登録名を指定する。 | ||
+ | Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(sampleItem, 0, new ModelResourceLocation(MOD_ID + ":" + "sampleitem", "inventory")); | ||
+ | |||
+ | } | ||
} | } | ||
} | } | ||
106行目: | 99行目: | ||
//モデルJSONファイルのファイル名を登録。1IDで1つだけなら、登録名はGameRegistryでの登録名と同じものにする。 | //モデルJSONファイルのファイル名を登録。1IDで1つだけなら、登録名はGameRegistryでの登録名と同じものにする。 | ||
//1IDでmetadata別複数モデルを登録するなら、上のメソッドで登録した登録名を指定する。 | //1IDでmetadata別複数モデルを登録するなら、上のメソッドで登録した登録名を指定する。 | ||
− | + | Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(sampleItem, 0, new ModelResourceLocation(MOD_ID + ":" + "sampleItem", "inventory")); | |
} | } | ||
</source> | </source> | ||
115行目: | 108行目: | ||
ここで登録されるのは手持ちやドロップアイテム時の描画についてである。 | ここで登録されるのは手持ちやドロップアイテム時の描画についてである。 | ||
1.7と同様の処理については[[1.7のアイテム追加]]を参照のこと。 | 1.7と同様の処理については[[1.7のアイテム追加]]を参照のこと。 | ||
− | |||
===sampleitem.json=== | ===sampleitem.json=== | ||
138行目: | 130行目: | ||
} | } | ||
</source> | </source> | ||
− | アイテムモデル用JSONファイルである。このファイルは、<br />assets\<modid>\models\item<br /> | + | アイテムモデル用JSONファイルである。このファイルは、<br />assets\<modid>\models\item<br />ディレクトリに配置する。 |
parent:親のモデルJSONファイルを指定。"builtin/generated"で通常のアイテムのモデルを指定。 | parent:親のモデルJSONファイルを指定。"builtin/generated"で通常のアイテムのモデルを指定。 | ||
− | texture:テクスチャのファイルパスを指定。"layer0" | + | texture:テクスチャのファイルパスを指定。"layer0"と"layer1"を指定できる。マルチパスレンダリングしないなら、"layer0"のみで良い。 |
display:描画時の回転、平行移動、拡大縮小の係数を指定する。コピペ安定。 | display:描画時の回転、平行移動、拡大縮小の係数を指定する。コピペ安定。 | ||
"thirdperson"は三人称視点、"firstperson"は一人称視点 | "thirdperson"は三人称視点、"firstperson"は一人称視点 |