2016-02-27 16:36:56 -05:00
|
|
|
package WayofTime.bloodmagic.api.soul;
|
|
|
|
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
|
|
|
|
public interface IDiscreteDemonWill
|
|
|
|
{
|
2016-03-02 12:56:57 -08:00
|
|
|
/**
|
|
|
|
* Obtains the amount of Will an ItemStack contains.
|
2016-03-16 18:41:06 -04:00
|
|
|
*
|
2016-03-02 12:56:57 -08:00
|
|
|
* @param soulStack
|
2016-03-16 18:41:06 -04:00
|
|
|
* - The stack to retrieve the Will from
|
|
|
|
*
|
2016-03-02 12:56:57 -08:00
|
|
|
* @return - The amount of Will an ItemStack contains
|
|
|
|
*/
|
|
|
|
double getWill(ItemStack soulStack);
|
2016-02-27 16:36:56 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 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.
|
2016-03-16 18:41:06 -04:00
|
|
|
*
|
2016-02-27 16:36:56 -05:00
|
|
|
* @param willStack
|
2016-03-16 18:41:06 -04:00
|
|
|
* - The ItemStack of the will
|
2016-02-27 16:36:56 -05:00
|
|
|
* @param drainAmount
|
2016-03-16 18:41:06 -04:00
|
|
|
* - The amount of Will to drain
|
|
|
|
*
|
2016-02-27 16:36:56 -05:00
|
|
|
* @return The amount of will drained.
|
|
|
|
*/
|
2016-03-02 12:56:57 -08:00
|
|
|
double drainWill(ItemStack willStack, double drainAmount);
|
2016-02-27 16:36:56 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the discrete number for this demonic will.
|
2016-03-16 18:41:06 -04:00
|
|
|
*
|
2016-02-27 16:36:56 -05:00
|
|
|
* @param willStack
|
2016-03-16 18:41:06 -04:00
|
|
|
* - The ItemStack of the will
|
|
|
|
*
|
2016-03-02 12:56:57 -08:00
|
|
|
* @return - The discrete number for the given stack.
|
2016-02-27 16:36:56 -05:00
|
|
|
*/
|
2016-03-02 12:56:57 -08:00
|
|
|
double getDiscretization(ItemStack willStack);
|
2016-02-27 16:36:56 -05:00
|
|
|
|
2016-03-02 12:56:57 -08:00
|
|
|
/**
|
|
|
|
* Obtains the type of will this is.
|
2016-03-16 18:41:06 -04:00
|
|
|
*
|
2016-03-02 12:56:57 -08:00
|
|
|
* @param willStack
|
2016-03-16 18:41:06 -04:00
|
|
|
* - The ItemStack of the will
|
|
|
|
*
|
2016-03-02 12:56:57 -08:00
|
|
|
* @return - The type of will this is.
|
|
|
|
*/
|
|
|
|
EnumDemonWillType getType(ItemStack willStack);
|
2016-02-27 16:36:56 -05:00
|
|
|
}
|