package WayofTime.bloodmagic.ritual.harvest;
import net.minecraft.block.state.IBlockState;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import java.util.List;
/**
* Used to define a HarvestHandler for the Harvest Ritual.
*/
public interface IHarvestHandler {
/**
* Called whenever the Harvest Ritual attempts to harvest a block.
* Use this to break the block and plant a new one.
* Add the items to be dropped to the drops list.
*
* @param world - The world
* @param pos - The position of the {@link IBlockState} being checked
* @param state - The {@link IBlockState} being checked
* @param drops - The items to be dropped
* @return If the block was successfully harvested.
*/
boolean harvest(World world, BlockPos pos, IBlockState state, List drops);
/**
* Tests to see if the block is valid for harvest.
*
* @param world The world
* @param pos The position in the world of the {@link IBlockState} being checked
* @param state The {@link IBlockState} being checked
* @return if this block is valid for harvest.
*/
boolean test(World world, BlockPos pos, IBlockState state);
}