/** * This class was created by <Vazkii>. It's distributed as * part of the Botania Mod. Get the Source Code in github: * https://github.com/Vazkii/Botania * * Botania is Open Source and distributed under the * Botania License: http://botaniamod.net/license.php * * File Created @ [Mar 6, 2014, 9:07:40 AM (GMT)] */ package vazkii.botania.api.mana; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; /** * An item that implements this can be counted as an item that can * contain mana. */ public interface IManaItem { /** * Gets the amount of mana this item contains */ public int getMana(ItemStack stack); /** * Gets the max amount of mana this item can hold. */ public int getMaxMana(ItemStack stack); /** * Adds mana to this item. */ public void addMana(ItemStack stack, int mana); /** * Can this item receive mana from a mana Pool? * @param pool The pool it's receiving mana from, can be casted to IManaPool. * @see IManaPool#isOutputtingPower() */ public boolean canReceiveManaFromPool(ItemStack stack, TileEntity pool); /** * Can this item recieve mana from another item? */ public boolean canReceiveManaFromItem(ItemStack stack, ItemStack otherStack); /** * Can this item export mana to a mana Pool? * @param pool The pool it's exporting mana to, can be casted to IManaPool. * @see IManaPool#isOutputtingPower() */ public boolean canExportManaToPool(ItemStack stack,TileEntity pool); /** * Can this item export mana to another item? */ public boolean canExportManaToItem(ItemStack stack, ItemStack otherStack); /** * If this item simply does not export mana at all, set this to true. This is * used to skip items that contain mana but can't export it when drawing the * mana bar above the XP bar. */ public boolean isNoExport(ItemStack stack); }