package minefantasy.mf2.item.food; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemMultiFood extends ItemFoodMF { private IIcon[] icons; private int bites = 6; public ItemMultiFood(String name, int bites, int hunger, float saturation, float noEatTime, int rarity) { super(name, hunger, saturation, noEatTime, false, rarity); setMaxStackSize(1); this.bites = bites; setMaxDamage(bites-1); } @Override @SideOnly(Side.CLIENT) public IIcon getIconFromDamage(int damage) { int index = MathHelper.clamp_int(damage, 0, bites-1); return this.icons[index]; } @Override public boolean isRepairable() { return false; } @Override public ItemStack onEaten(ItemStack food, World world, EntityPlayer consumer) { consumer.getFoodStats().func_151686_a(this, food); world.playSoundAtEntity(consumer, "random.burp", 0.5F, world.rand.nextFloat() * 0.1F + 0.9F); this.onFoodEaten(food, world, consumer); if(food.attemptDamageItem(1, consumer.getRNG())) { --food.stackSize; if(food.stackSize < 0) { food.stackSize = 0; } } return food; } @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister register) { this.icons = new IIcon[bites]; for (int i = 0; i < bites; ++i) { this.icons[i] = register.registerIcon(this.getIconString() + "_" + i); } } }