/**
* This class was created by <Vazkii>. It's distributed as
* part of the Botania Mod. Get the Source Code in github:
* https://github.com/Vazkii/Botania
*
* Botania is Open Source and distributed under the
* Botania License: http://botaniamod.net/license.php
*
* File Created @ [Apr 14, 2014, 7:30:00 PM (GMT)]
*/
package vazkii.botania.api.mana;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import vazkii.botania.api.internal.IManaBurst;
/**
* Have an item implement this for it to count as a lens effect and
* be able to change the properties of Mana Bursts.
*/
public interface ILensEffect {
/**
* Called when a mana spreader that has this focus shoots a burst. This is where
* you change the properties of the burst.
*/
public void apply(ItemStack stack, BurstProperties props);
/**
* Called when a mana burst fired from a mana spreader with this focus collides against
* any block. This is called after the collision is handled.
* @return True to kill the burst. False to keep it alive.
*/
public boolean collideBurst(IManaBurst burst, MovingObjectPosition pos, boolean isManaBlock, boolean dead, ItemStack stack);
/**
* Called when a mana burst fired from a mana spreader with this focus is updated.
* This is called before the update is handled.
*/
public void updateBurst(IManaBurst burst, ItemStack stack);
/**
* Called when the mana burst should do it's particles. Return false to not
* do any particles.
*/
public boolean doParticles(IManaBurst burst, ItemStack stack);
}