BloodMagic/src/main/java/WayofTime/bloodmagic/api/soul/IDiscreteDemonWill.java

51 lines
1.3 KiB
Java
Raw Normal View History

package WayofTime.bloodmagic.api.soul;
import net.minecraft.item.ItemStack;
public interface IDiscreteDemonWill
{
/**
* Obtains the amount of Will an ItemStack contains.
*
* @param soulStack
* - The stack to retrieve the Will from
*
* @return - The amount of Will an ItemStack contains
*/
double getWill(ItemStack soulStack);
/**
* Drains the demonic will from the willStack. If all of the will is
* drained, the willStack will be removed. Will only drain in discrete
* amounts, determined by getDiscretization.
*
* @param willStack
* - The ItemStack of the will
* @param drainAmount
* - The amount of Will to drain
*
* @return The amount of will drained.
*/
double drainWill(ItemStack willStack, double drainAmount);
/**
* Gets the discrete number for this demonic will.
*
* @param willStack
* - The ItemStack of the will
*
* @return - The discrete number for the given stack.
*/
double getDiscretization(ItemStack willStack);
/**
* Obtains the type of will this is.
*
* @param willStack
* - The ItemStack of the will
*
* @return - The type of will this is.
*/
EnumDemonWillType getType(ItemStack willStack);
}