Added a few of the necessary items to start the soul system.

This commit is contained in:
WayofTime 2016-01-07 11:01:38 -05:00
parent f379351e88
commit 45870812d4
15 changed files with 408 additions and 2 deletions

View file

@ -0,0 +1,30 @@
package WayofTime.bloodmagic.api.iface;
import net.minecraft.item.ItemStack;
public interface ISoul
{
public double getSouls(ItemStack soulStack);
public void setSouls(ItemStack soulStack, double souls);
/**
* Drains the souls from the soulStack. If all of the souls are drained, the
* soulStack will be removed.
*
* @param soulStack
* @param drainAmount
* @return The number of souls drained.
*/
public double drainSouls(ItemStack soulStack, double drainAmount);
/**
* Creates a new ItemStack with the specified number of souls.
* Implementation should respect the number requested.
*
* @param meta
* @param number
* @return
*/
public ItemStack createSoul(int meta, double number);
}

View file

@ -0,0 +1,28 @@
package WayofTime.bloodmagic.api.iface;
import net.minecraft.item.ItemStack;
public interface ISoulGem
{
/**
*
* @param soulGemStack
* - The ItemStack for this soul gem.
* @param soulStack
* - The ItemStack for the soul. Item should extend ISoul
* @return - The remainder soulStack after the souls have been absorbed into
* the gem. Return null if there are no souls left in the stack.
*/
public ItemStack fillSoulGem(ItemStack soulGemStack, ItemStack soulStack);
/**
* Returns the number of souls that are left in the soul gem. Returns a
* double because souls can be fractionally drained.
*
* @param soulGemStack
* @return
*/
public double getSouls(ItemStack soulGemStack);
public int getMaxSouls(ItemStack soulGemStack);
}

View file

@ -0,0 +1,11 @@
package WayofTime.bloodmagic.api.iface;
import java.util.List;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
public interface ISoulWeapon
{
public List<ItemStack> getRandomSoulDrop(EntityLivingBase killedEntity, EntityLivingBase attackingEntity, ItemStack stack, int looting);
}