概要
新しいクリエイティブタブを追加する。
ソースコード
package tutorial.aluminiummod;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
@Mod(modid = AluminiumMod.MODID, name = AluminiumMod.MODNAME, version = AluminiumMod.VERSION)
public class AluminiumMod {
public static final String MODID = "AluminiumMod";
public static final String MODNAME = "Aluminium Mod";
public static final String VERSION = "1.0.0";
public static CreativeTabs tabAluminium = new AluminiumTab("Aluminiumtab");
public static Item aluminium;
@EventHandler
public void perInit(FMLPreInitializationEvent event) {
aluminium = new Item()
.setCreativeTab(AluminiumMod.tabAluminium)
.setUnlocalizedName("aluminium")
.setTextureName("aluminiummod:aluminium");
GameRegistry.registerItem(aluminium, "aluminium");
}
}
package tutorial.aluminiummod;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
public class AluminiumTab extends CreativeTabs {
public AluminiumTab(String label) {
super(label);
}
@Override
public Item getTabIconItem() {
return AluminiumMod.aluminium;
}
}
解説
CreativeTabs
コンストラクタ(String label)
引数は表示されるクリエイティブタブの名前。
言語ファイルに
itemGroup.Aluminiumtab=アルミニウム
と記入すれば設定できる。
Item getTabIconItem()
クリエイティブタブのアイコンとして表示するアイテムを返す。
オファレンMODでは、このメソッドを呼び出しているItemStack getIconItemStack()をオーバーライドすることでメタデータを変えている。
使用例
オファレンMODのクリエイティブタブを追加している部分。
+
|
オファレンMOD |
package nahama.ofalenmod;
/*略*/
/** @author Akasata Nahama */
@Mod(modid = OfalenModCore.MODID, name = OfalenModCore.MODNAME, version = OfalenModCore.VERSION)
public class OfalenModCore {
public static final String MODID = "OfalenMod";
public static final String MODNAME = "Ofalen Mod";
public static final String VERSION = "[1.7.10]1.0.0";
/*略*/
/** 追加されたクリエイティブタブ */
public static final CreativeTabs tabOfalen = new OfalenTab("ofalentab");
/*略*/
}
package nahama.ofalenmod.creativetab;
import java.util.Random;
import nahama.ofalenmod.core.OfalenModItemCore;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class OfalenTab extends CreativeTabs {
private Random random = new Random();
private int count = 0;
private int meta = -1;
public OfalenTab(String label) {
super(label);
}
/** アイコンの設定 */
@Override
@SideOnly(Side.CLIENT)
public ItemStack getIconItemStack() {
if (count < 1) {
count = 100;
meta++;
if (meta > 3)
meta = 0;
} else {
count--;
}
return new ItemStack(OfalenModItemCore.ofalen, 1, meta);
}
@Override
@SideOnly(Side.CLIENT)
public Item getTabIconItem() {
return null;
}
}
|
コメント
この項目に関する質問などをどうぞ。
最終更新:2015年11月20日 15:00