I am making a mod which involves apples which give effects like golden apples. I have entered in all of the the code and it is working fine except it is not always edible so if someone would help me it would mean a lot to me.
@Mod(modid = "mam", name = "More Armor Mod", version = "1.0")
public class MoreArmorMod {
public static Item itemChip;
public static Item itemObbar;
public static Item itemRuby; public static Item itemObapple;
public static Item itemPickob;
public static Item itemSwordob;
public static Item itemAxeob;
public static Item itemHoeob;
public static Item itemSpadeob;
public static Block blockRuby;
public static Block blockOrer;
public static final Item.ToolMaterial obsidianToolMaterial = EnumHelper.addToolMaterial("obsidianToolMaterial", 3, 2000, 8.0f, 3.0f, 5);
@EventHandler
public void preInit(FMLPreInitializationEvent event) {
itemChip = new ItemChip().setUnlocalizedName("ItemChip").setTextureName("mam:obsidianchip").setCreativeTab(tabMoreArmorMod);
itemObbar = new ItemObbar().setUnlocalizedName("ItemObbar").setTextureName("mam:obsidian_ingot").setCreativeTab(tabMoreArmorMod);
itemRuby = new ItemRuby().setUnlocalizedName("ItemRuby").setTextureName("mam:ruby").setCreativeTab(tabMoreArmorMod); itemObapple = new Obappleclass(3, 0.5F, false).setUnlocalizedName("ItemObapple").setTextureName("mam:obsidian_apple").setCreativeTab(tabMoreArmorMod);
itemPickob = new ItemPickob(obsidianToolMaterial).setUnlocalizedName("ItemPickob").setTextureName("mam:obsidian_pickaxe").setCreativeTab(tabMoreArmorMod);
itemSwordob = new ItemSwordob(obsidianToolMaterial).setUnlocalizedName("ItemSwordob").setTextureName("mam:obsidian_sword").setCreativeTab(tabMoreArmorMod);
itemAxeob = new ItemAxeob(obsidianToolMaterial).setUnlocalizedName("ItemAxeob").setTextureName("mam:obsidian_axe").setCreativeTab(tabMoreArmorMod);
itemHoeob = new ItemHoeob(obsidianToolMaterial).setUnlocalizedName("ItemHoeob").setTextureName("mam:obsidian_hoe").setCreativeTab(tabMoreArmorMod);
itemSpadeob = new ItemSpadeob(obsidianToolMaterial).setUnlocalizedName("ItemSpadeob").setTextureName("mam:obsidian_shovel").setCreativeTab(tabMoreArmorMod);
blockRuby = new BlockRuby(Material.rock).setBlockName("BlockRuby").setBlockTextureName("mam:ruby_block").setCreativeTab(tabMoreArmorMod);
blockOrer = new BlockOrer(Material.rock).setBlockName("BlockOrer").setBlockTextureName("mam:ruby_ore").setCreativeTab(tabMoreArmorMod);
GameRegistry.registerItem(itemChip, itemChip.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemObbar, itemObbar.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemRuby, itemRuby.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemObapple, itemObapple.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemPickob, itemPickob.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemSwordob, itemSwordob.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemAxeob, itemAxeob.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemHoeob, itemHoeob.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemSpadeob, itemSpadeob.getUnlocalizedName().substring(5));
GameRegistry.registerBlock(blockRuby, blockRuby.getUnlocalizedName().substring(5));
GameRegistry.registerBlock(blockOrer, blockOrer.getUnlocalizedName().substring(5));
GameRegistry.registerWorldGenerator(new RubyGeneration(), 0);
}
My Code:
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
public class Obappleclass extends ItemFood {
private boolean alwaysEdible;
public Obappleclass(int hunger, float saturation, boolean isWolfsFavoriteMeat) {
super(hunger, saturation, isWolfsFavoriteMeat);
}
protected void onFoodEaten(ItemStack itemstack, World world, EntityPlayer player) {
player.addPotionEffect(new PotionEffect(Potion.regeneration.id, 300, 0));
player.addPotionEffect(new PotionEffect(Potion.resistance.id, 1200, 0));
}
public ItemFood setAlwaysEdible()
{
this.alwaysEdible = true;
return this;
}
}
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.EnumHelper;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import dinoboychris.morearmormod.item.ItemAxeob;
import dinoboychris.morearmormod.item.ItemHoeob;
import dinoboychris.morearmormod.item.ItemPickob;
import dinoboychris.morearmormod.item.ItemSpadeob;
import dinoboychris.morearmormod.item.ItemSwordob;
@Mod(modid = "mam", name = "More Armor Mod", version = "1.0")
public class MoreArmorMod {
public static Item itemChip;
public static Item itemObbar;
public static Item itemRuby;
public static Item itemObapple;
public static Item itemPickob;
public static Item itemSwordob;
public static Item itemAxeob;
public static Item itemHoeob;
public static Item itemSpadeob;
public static Block blockRuby;
public static Block blockOrer;
public static final Item.ToolMaterial obsidianToolMaterial = EnumHelper.addToolMaterial("obsidianToolMaterial", 3, 2000, 8.0f, 3.0f, 5);
@EventHandler
public void preInit(FMLPreInitializationEvent event) {
itemChip = new ItemChip().setUnlocalizedName("ItemChip").setTextureName("mam:obsidianchip").setCreativeTab(tabMoreArmorMod);
itemObbar = new ItemObbar().setUnlocalizedName("ItemObbar").setTextureName("mam:obsidian_ingot").setCreativeTab(tabMoreArmorMod);
itemRuby = new ItemRuby().setUnlocalizedName("ItemRuby").setTextureName("mam:ruby").setCreativeTab(tabMoreArmorMod);
itemObapple = new Obappleclass(3, 0.5F, false).setUnlocalizedName("ItemObapple").setTextureName("mam:obsidian_apple").setCreativeTab(tabMoreArmorMod);
itemPickob = new ItemPickob(obsidianToolMaterial).setUnlocalizedName("ItemPickob").setTextureName("mam:obsidian_pickaxe").setCreativeTab(tabMoreArmorMod);
itemSwordob = new ItemSwordob(obsidianToolMaterial).setUnlocalizedName("ItemSwordob").setTextureName("mam:obsidian_sword").setCreativeTab(tabMoreArmorMod);
itemAxeob = new ItemAxeob(obsidianToolMaterial).setUnlocalizedName("ItemAxeob").setTextureName("mam:obsidian_axe").setCreativeTab(tabMoreArmorMod);
itemHoeob = new ItemHoeob(obsidianToolMaterial).setUnlocalizedName("ItemHoeob").setTextureName("mam:obsidian_hoe").setCreativeTab(tabMoreArmorMod);
itemSpadeob = new ItemSpadeob(obsidianToolMaterial).setUnlocalizedName("ItemSpadeob").setTextureName("mam:obsidian_shovel").setCreativeTab(tabMoreArmorMod);
blockRuby = new BlockRuby(Material.rock).setBlockName("BlockRuby").setBlockTextureName("mam:ruby_block").setCreativeTab(tabMoreArmorMod);
blockOrer = new BlockOrer(Material.rock).setBlockName("BlockOrer").setBlockTextureName("mam:ruby_ore").setCreativeTab(tabMoreArmorMod);
GameRegistry.registerItem(itemChip, itemChip.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemObbar, itemObbar.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemRuby, itemRuby.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemObapple, itemObapple.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemPickob, itemPickob.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemSwordob, itemSwordob.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemAxeob, itemAxeob.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemHoeob, itemHoeob.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemSpadeob, itemSpadeob.getUnlocalizedName().substring(5));
GameRegistry.registerBlock(blockRuby, blockRuby.getUnlocalizedName().substring(5));
GameRegistry.registerBlock(blockOrer, blockOrer.getUnlocalizedName().substring(5));
GameRegistry.registerWorldGenerator(new RubyGeneration(), 0);
}
(This one: setAlwaysEdible)
package dinoboychris.morearmormod;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
public class Obappleclass extends ItemFood {
private boolean alwaysEdible;
public Obappleclass(int hunger, float saturation, boolean isWolfsFavoriteMeat) {
super(hunger, saturation, isWolfsFavoriteMeat);
setAlwaysEdible();
}
protected void onFoodEaten(ItemStack itemstack, World world, EntityPlayer player) {
player.addPotionEffect(new PotionEffect(Potion.regeneration.id, 300, 0));
player.addPotionEffect(new PotionEffect(Potion.resistance.id, 1200, 0));
}
}
Try putting this.setAlwaysEdible(); in the main method.
Yeah, that should work, however in your case, apparently it's not?
I honestly have no idea what's wrong with it at this point. (I haven't touched food items yet.)
Oh, okay.