MOD製作チュートリアル > 食料の追加

概要

新しい食料アイテムを追加する。
食べたときにポーションエフェクトを確率で付与することもできる。

ソースコード

  • AluminiumMod.java
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;
import net.minecraft.item.ItemFood;
import net.minecraft.potion.Potion;
 
@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 Item foodAluminium;
 
	@EventHandler
	public void perInit(FMLPreInitializationEvent event) {
		foodAluminium = new ItemFood(5, 2.0F, false)
				.setPotionEffect(Potion.regeneration.id, 60, 0, 0.8F)
				.setCreativeTab(CreativeTabs.tabFood)
				.setUnlocalizedName("foodAluminium")
				.setTextureName("aluminiummod:foodAluminium");
		GameRegistry.registerItem(foodAluminium, "foodAluminium");
	}
 
}
 

解説

ItemFood

コンストラクタ(int healAmount, float saturationModifier, boolean isWolfsFavoriteMeat)

引数は順に、満腹度回復量・隠し満腹度回復量(腹持ち)・オオカミが食べられるか

ItemFood setPotionEffect(int potionId, int potionDuration, int potionAmplifier, float potionEffectProbability)

食べたときに確率でポーションエフェクトを付与する。
引数は順に、ポーションID・効果時間・効果レベル・付与される確率。
効果時間は単位が秒なので注意。
効果レベルは表示値より1少ない。(0がレベル1)

使用例

オファレンMODの回復玉を追加している部分。
回復玉は、ItemFoodを継承しているが、オーバーライドして変えている部分も多い。
+ オファレンMOD

コメント

この項目に関する質問などをどうぞ。
名前: