99 lines
2.5 KiB
Java
99 lines
2.5 KiB
Java
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");
|
|
}
|
|
}
|