44 lines
1,009 B
Java
44 lines
1,009 B
Java
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<EnumPlantType> 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);
|
|
|
|
}
|