package am2.api.spell; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.Item; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; /** * This is just here for reference - you shouldn't have any need to inherit from this item. To add new parts to spells, inherit from ISpellShape, ISpellModifier, or ISpellComponent. * @author Mithion * */ public abstract class ItemSpellBase extends Item{ public ItemSpellBase() { super(); } /** * Specific version of getMovingObjectPosition that takes into account the targeting types that I need * @param caster The caster of the spell * @param world The world the spell is being cast in * @param range The range to raycast * @param targetEntities Stop at collision with entities * @param targetWater Stop at collision with any non-solid block * @return A MovingObjectPosition instance if a collision was found, null otherwise */ public abstract MovingObjectPosition getMovingObjectPosition(EntityLivingBase caster, World world, double range, boolean targetEntities, boolean targetWater); }