|  | package forestry.api.apiculture; | 
|  |  | 
|  | import forestry.api.genetics.AlleleManager; | 
|  | import forestry.api.genetics.IAllele; | 
|  | import forestry.api.genetics.IAlleleArea; | 
|  | import forestry.api.genetics.IAlleleBoolean; | 
|  | import forestry.api.genetics.IAlleleFloat; | 
|  | import forestry.api.genetics.IAlleleFlowers; | 
|  | import forestry.api.genetics.IAlleleInteger; | 
|  | import forestry.api.genetics.IAlleleTolerance; | 
|  | import forestry.api.genetics.IChromosomeType; | 
|  | import forestry.api.genetics.ISpeciesRoot; | 
|  |  | 
|  | /** | 
|  | * Enum representing the order of chromosomes in a bee's genome and what they control. | 
|  | * | 
|  | * @author SirSengir | 
|  | */ | 
|  | public enum EnumBeeChromosome implements IChromosomeType { | 
|  | /** | 
|  | * Species of the bee. Alleles here must implement {@link IAlleleBeeSpecies}. | 
|  | */ | 
|  | SPECIES(IAlleleBeeSpecies.class), | 
|  | /** | 
|  | * (Production) Speed of the bee. | 
|  | */ | 
|  | SPEED(IAlleleFloat.class), | 
|  | /** | 
|  | * Lifespan of the bee. | 
|  | */ | 
|  | LIFESPAN(IAlleleInteger.class), | 
|  | /** | 
|  | * Fertility of the bee. Determines number of offspring. | 
|  | */ | 
|  | FERTILITY(IAlleleInteger.class), | 
|  | /** | 
|  | * Temperature difference to its native supported one the bee can tolerate. | 
|  | */ | 
|  | TEMPERATURE_TOLERANCE(IAlleleTolerance.class), | 
|  | /** | 
|  | * Slightly incorrectly named. If true, a naturally dirunal bee can work during the night. If true, a naturally nocturnal bee can work during the day. | 
|  | */ | 
|  | NOCTURNAL(IAlleleBoolean.class), | 
|  | /** | 
|  | * Not used / superseded by fixed values for the species. Probably going to be replaced with a boolean for FIRE_RESIST. | 
|  | */ | 
|  | @Deprecated | 
|  | HUMIDITY(IAllele.class), | 
|  | /** | 
|  | * Humidity difference to its native supported one the bee can tolerate. | 
|  | */ | 
|  | HUMIDITY_TOLERANCE(IAlleleTolerance.class), | 
|  | /** | 
|  | * If true the bee can work during rain. | 
|  | */ | 
|  | TOLERANT_FLYER(IAlleleBoolean.class), | 
|  | /** | 
|  | * If true, the bee can work without a clear view of the sky. | 
|  | */ | 
|  | CAVE_DWELLING(IAlleleBoolean.class), | 
|  | /** | 
|  | * Contains the supported flower provider. | 
|  | */ | 
|  | FLOWER_PROVIDER(IAlleleFlowers.class), | 
|  | /** | 
|  | * Determines pollination speed. | 
|  | */ | 
|  | FLOWERING(IAlleleInteger.class), | 
|  | /** | 
|  | * Determines the size of the bee's territory. | 
|  | */ | 
|  | TERRITORY(IAlleleArea.class), | 
|  | /** | 
|  | * Determines the bee's effect. | 
|  | */ | 
|  | EFFECT(IAlleleBeeEffect.class); | 
|  |  | 
|  | Class<? extends IAllele> clss; | 
|  |  | 
|  | EnumBeeChromosome(Class<? extends IAllele> clss) { | 
|  | this.clss = clss; | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public Class<? extends IAllele> getAlleleClass() { | 
|  | return clss; | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public String getName() { | 
|  | return this.toString().toLowerCase(); | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public ISpeciesRoot getSpeciesRoot() { | 
|  | return AlleleManager.alleleRegistry.getSpeciesRoot("rootBees"); | 
|  | } | 
|  | } |