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

41 lines
1.2 KiB
Java
Raw Normal View History

package WayofTime.bloodmagic.api.soul;
import net.minecraft.item.ItemStack;
2017-08-15 21:30:48 -07:00
public interface IDiscreteDemonWill {
/**
* Obtains the amount of Will an ItemStack contains.
2017-08-15 21:30:48 -07:00
*
* @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.
2017-08-15 21:30:48 -07:00
*
* @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.
2017-08-15 21:30:48 -07:00
*
* @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.
2017-08-15 21:30:48 -07:00
*
* @param willStack - The ItemStack of the will
* @return - The type of will this is.
*/
EnumDemonWillType getType(ItemStack willStack);
}