提供: Minecraft Modding Wiki
2014年10月7日 (火) 00:39時点におけるA.K. (トーク | 投稿記録)による版
移動先: 案内検索

この記事は"Minecraft Forge Universal 10.12.0.xxx~"を前提MODとしています。

Wood pickaxe.png
初心者向けのチュートリアルです。
C item.png
Itemに関係のあるチュートリアルです。


防具の追加

簡単な防具の追加方法

ソースコード

  • SampleItemCore.java
package 等省略

@Mod(modid="SampleItemCore", name="SampleItemCore", version="1.0")
public class SampleItemCore
{
	public static Item sampleItemArmor;
	
	@EventHandler
	public void preInit(FMLPreInitializationEvent event)
	{
		//アイテムのインスタンス生成
		sampleItem = new SampleItemArmor()
		.setCreativeTab(CreativeTabs.tabCombat)/*クリエイティブのタブ*/
		.setUnlocalizedName("SampleItemArmor")/*システム名の登録*/
		.setTextureName("samplemod:sample_itemArmor")/*テクスチャの指定*/
		//アイテムの登録。登録文字列はMOD内で被らなければ何でも良い。
		GameRegistry.registerItem(sampleItemArmor, "sampleItemArmor");
	}
}
  • SampleItemArmor.java
package 等省略
public class SampleItemArmor extends ItemArmor {

    public static final String HELMET_TEXTURE = "(domain名):textures/armor/helmet.png";//armorフォルダである必要はない。
    public static final String CHESTPLATE_TEXTURE = "(domain名):textures/armor/plate.png";
    public static final String LEGGINGS_TEXTURE = "(domain名):textures/armor/leg.png";
    public static final String BOOTS_TEXTURE = "(domain名):textures/armor/boots.png";
    //renderIndexは以下でArmorTextureを指定する場合はどんな値でも良い。
    //0 is cloth, 1 is chain, 2 is iron, 3 is diamond and 4 is gold.
    public SampleItemArmor(ItemArmor.ArmorMaterial armorMaterial, int renderIndex, int type) {
        super(armorMaterial, renderIndex, type);
    }

    //ItemStack:防具のItemStack, Entity:装備してるEntity, Slot:装備してるスロット, Layer:オーバーレイかどうか
    @Override
    public String getArmorTexture(ItemStack stack, Entity entity, int slot, String layer) {
        if (4 - slot == 0) {
            return HELMET_TEXTURE;
        }

        if (4 - slot == 1) {
            return CHESTPLATE_TEXTURE;
        }

        if (4 - slot == 2) {
            return LEGGINGS_TEXTURE;
        }


        if (4 - slot == 3) {
            return BOOTS_TEXTURE;
        }

        return "";
   }
}

解説

基本的に1.7のアイテム追加と同じ要領で追加できる。

  • getArmorTextureメソッド

Forgeが用意したアーマーの見た目のテクスチャを取得するメソッド。
これで適切な文字列を返さないと、renderIndexで指定した数値のバニラテクスチャが適用される。
メソッド内の処理は、スロット別にテクスチャ文字列を変えている。スロットが逆順なので、4-slotで判定している。 この判定は緩いので、場合によって適宜判定を追加したほうが良い。