【Minecraft / Forge Modding】クリエイティブモードにタブを追加する【1.7.10】
2019-11-18 | Minecraft / Forge Modding メモ Minecraft 1.7.10 | Java, Minecraft, Modding
2019-11-18 | Minecraft / Forge Modding メモ Minecraft 1.7.10 | Java, Minecraft, Modding
この記事では、クリエイティブモードのインベントリーに MOD 独自のタブを追加するよ!
Minecraft 1.7.10 - 1.8.9 の記事になります。
Minecraft の Modding の全体像については、こちらのページ をご覧ください。
package com.gopichandmod; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraftforge.common.MinecraftForge; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import com.watermelonheadman.gopichandmod.audio.InstrumentManager; import com.watermelonheadman.gopichandmod.items.GopichandItems; import com.watermelonheadman.gopichandmod.network.PacketHandler; @Mod( modid = GopichandMod.MODID, version = GopichandMod.VERSION ) public class GopichandMod { @Mod.Instance( "GopichandMod" ) public static final String MODID = "gopichandmod"; public static final String VERSION = "1.0.0"; @EventHandler public void preInit( FMLPreInitializationEvent e ) { GopichandItems.registry( this ); InstrumentManager.registry(); PacketHandler.init(); } @EventHandler public void Init( FMLInitializationEvent e ) { Recipes.registry(); } public static CreativeTabs GopichandModTab = new CreativeTabs( "gopichandmodtab" ) { public Item getTabIconItem() { return GopichandItems.Gopichand; } }; }
ハイライトされている部分が今回追加したコードです。
クラス CreativeTabs
のコントラクタの引数の文字列 gopichandmodtab
は、追加するタブのシステム名だよ。
関数 getTabIconItem
の戻り値 GopichandItems.Gopichand
は、タブに表示するテクスチャを持つアイテムだよ。
package com.watermelonheadman.gopichandmod.items; import net.minecraft.item.Item; import cpw.mods.fml.common.registry.GameRegistry; import com.watermelonheadman.gopichandmod.GopichandMod; public class ItemGopichandBody extends Item { public ItemGopichandBody() { String name = "gopichandbody"; this.setCreativeTab( GopichandMod.GopichandModTab ); this.setUnlocalizedName( name ); this.setTextureName( "gopichandmod:gopichandbody" ); maxStackSize = 1; GameRegistry.registerItem( this, name ); return; } }
今回作ったタブにアイテムを追加するには、関数 setCreativeTab
の引数で GopichandMod.GopichandModTab
を渡す。
アイテムの名前と同様にタブの名前をローカライズする。
item.gopichand.name=Gopichand item.gopichandhead.name=Gopichand Head item.gopichandbody.name=Gopichand Body item.ironstring.name=Iron String itemGroup.gopichandmodtab=GopichandMod
item.gopichand.name=ゴピチャンド item.gopichandhead.name=ゴピチャンドの頭 item.gopichandbody.name=ゴピチャンドの胴 item.ironstring.name=鉄の弦
ハイライトされている部分が lang ファイルに追加するコードです。
今回は、日本語のローカライズは必要ないので en_US.lang
のみ編集する。
この場合、ロケール設定が日本語の Minecraft では、en_US.lang
に記述された名前が表示される。
Minecraft のロケール設定と lang ファイルの関係は下記のようになる。
ロケール | en_US.lang | ja_JP.lang | 表示される文字列 |
---|---|---|---|
en_US | GopichandMod | ゴピチャンドモッド | GopichandMod |
en_US | GopichandMod | - | GopichandMod |
en_US | - | ゴピチャンドモッド | システム名 |
ja_JP | GopichandMod | ゴピチャンドモッド | ゴピチャンドモッド |
ja_JP | GopichandMod | - | GopichandMod |
ja_JP | - | ゴピチャンドモッド | ゴピチャンドモッド |
ローカライズされていないロケール設定の Minecraft でも en_US.lang
に記述していれば、その設定が表示される。
Minecraft を起動して、クリエイティブモードではじめてみる。
インベントリーを開くと左上と右上にページ送りのボタンが表示されているので、クリックして、次のページを開く。
タブが追加されていれば成功だよ!
お疲れ様でした!
最近の投稿
カテゴリー