package forestry.api.genetics; import java.util.EnumSet; import net.minecraftforge.common.EnumPlantType; /** * Can be implemented by tile entities, if they wish to be pollinatable. * * @author SirSengir */ public interface IPollinatable { /** * @return plant types this pollinatable is classified as. (Can be used by bees to determine whether to interact or not. */ EnumSet getPlantType(); /** * @return IIndividual containing the genetic information of this IPollinatable */ IIndividual getPollen(); /** * Checks whether this {@link IPollinatable} can mate with the given pollen. * * Must be the one to check genetic equivalency. * * @param pollen * IIndividual representing the pollen. * @return true if mating is possible, false otherwise. */ boolean canMateWith(IIndividual pollen); /** * Pollinates this entity. * * @param pollen * IIndividual representing the pollen. */ void mateWith(IIndividual pollen); }