public static IAllele[] getSpruceTemplate() {
   IAllele[] alleles = getDefaultTemplate();
   alleles[EnumTreeChromosome.SPECIES.ordinal()] = Allele.treeSpruce;
   alleles[EnumTreeChromosome.HEIGHT.ordinal()] = Allele.heightAverage;
   alleles[EnumTreeChromosome.MATURATION.ordinal()] = Allele.maturationFaster;
   return alleles;
 }
 public static IAllele[] getMahoganyTemplate() {
   IAllele[] alleles = getDefaultTemplate();
   alleles[EnumTreeChromosome.SPECIES.ordinal()] = Allele.treeMahogany;
   alleles[EnumTreeChromosome.HEIGHT.ordinal()] = Allele.heightLarge;
   alleles[EnumTreeChromosome.MATURATION.ordinal()] = Allele.maturationSlow;
   return alleles;
 }
 public static IAllele[] getSequoiaTemplate() {
   IAllele[] alleles = getDefaultTemplate();
   alleles[EnumTreeChromosome.SPECIES.ordinal()] = Allele.treeSequioa;
   alleles[EnumTreeChromosome.HEIGHT.ordinal()] = Allele.heightLargest;
   alleles[EnumTreeChromosome.MATURATION.ordinal()] = Allele.maturationSlower;
   return alleles;
 }
 public static IAllele[] getBalsaTemplate() {
   IAllele[] alleles = getDefaultTemplate();
   alleles[EnumTreeChromosome.SPECIES.ordinal()] = Allele.treeBalsa;
   alleles[EnumTreeChromosome.FERTILITY.ordinal()] = Allele.saplingsTriple;
   alleles[EnumTreeChromosome.HEIGHT.ordinal()] = Allele.heightLarge;
   return alleles;
 }
 public static IAllele[] getJungleTemplate() {
   IAllele[] alleles = getDefaultTemplate();
   alleles[EnumTreeChromosome.SPECIES.ordinal()] = Allele.treeJungle;
   alleles[EnumTreeChromosome.FRUITS.ordinal()] = Allele.fruitCocoa;
   alleles[EnumTreeChromosome.HEIGHT.ordinal()] = Allele.heightLarger;
   alleles[EnumTreeChromosome.MATURATION.ordinal()] = Allele.maturationFast;
   return alleles;
 }
 public static IAllele[] getSipiriTemplate() {
   IAllele[] alleles = getDefaultTemplate();
   alleles[EnumTreeChromosome.SPECIES.ordinal()] = Allele.treeSipiri;
   alleles[EnumTreeChromosome.GROWTH.ordinal()] = Allele.growthTropical;
   alleles[EnumTreeChromosome.HEIGHT.ordinal()] = Allele.heightLarge;
   alleles[EnumTreeChromosome.MATURATION.ordinal()] = Allele.maturationSlow;
   return alleles;
 }
 public static IAllele[] getWillowTemplate() {
   IAllele[] alleles = getDefaultTemplate();
   alleles[EnumTreeChromosome.SPECIES.ordinal()] = Allele.treeWillow;
   alleles[EnumTreeChromosome.HEIGHT.ordinal()] = Allele.heightAverage;
   alleles[EnumTreeChromosome.FERTILITY.ordinal()] = Allele.saplingsLow;
   alleles[EnumTreeChromosome.MATURATION.ordinal()] = Allele.maturationFaster;
   return alleles;
 }
 public static IAllele[] getBaobabTemplate() {
   IAllele[] alleles = getDefaultTemplate();
   alleles[EnumTreeChromosome.SPECIES.ordinal()] = Allele.treeBaobab;
   alleles[EnumTreeChromosome.HEIGHT.ordinal()] = Allele.heightLarge;
   alleles[EnumTreeChromosome.PLANT.ordinal()] = Allele.plantTypeDesert;
   alleles[EnumTreeChromosome.MATURATION.ordinal()] = Allele.maturationSlow;
   return alleles;
 }
 public static IAllele[] getWalnutTemplate() {
   IAllele[] alleles = getDefaultTemplate();
   alleles[EnumTreeChromosome.SPECIES.ordinal()] = Allele.treeWalnut;
   alleles[EnumTreeChromosome.FRUITS.ordinal()] = Allele.fruitWalnut;
   alleles[EnumTreeChromosome.YIELD.ordinal()] = Allele.yieldAverage;
   alleles[EnumTreeChromosome.SAPPINESS.ordinal()] = Allele.sappinessAverage;
   alleles[EnumTreeChromosome.HEIGHT.ordinal()] = Allele.heightAverage;
   return alleles;
 }
  /* TEMPLATES */
  public static IAllele[] getDefaultTemplate() {
    IAllele[] alleles = new IAllele[EnumTreeChromosome.values().length];

    alleles[EnumTreeChromosome.SPECIES.ordinal()] = Allele.treeOak;
    alleles[EnumTreeChromosome.FRUITS.ordinal()] = Allele.fruitNone;
    alleles[EnumTreeChromosome.GROWTH.ordinal()] = Allele.growthLightlevel;
    alleles[EnumTreeChromosome.HEIGHT.ordinal()] = Allele.heightSmall;
    alleles[EnumTreeChromosome.FERTILITY.ordinal()] = Allele.saplingsDefault;
    alleles[EnumTreeChromosome.YIELD.ordinal()] = Allele.yieldLowest;
    alleles[EnumTreeChromosome.PLANT.ordinal()] = Allele.plantTypeNone;
    alleles[EnumTreeChromosome.SAPPINESS.ordinal()] = Allele.sappinessLowest;
    alleles[EnumTreeChromosome.TERRITORY.ordinal()] = Allele.territoryDefault;
    alleles[EnumTreeChromosome.EFFECT.ordinal()] = Allele.leavesNone;
    alleles[EnumTreeChromosome.MATURATION.ordinal()] = Allele.maturationAverage;

    return alleles;
  }
 public static IAllele[] getBirchTemplate() {
   IAllele[] alleles = getDefaultTemplate();
   alleles[EnumTreeChromosome.SPECIES.ordinal()] = Allele.treeBirch;
   alleles[EnumTreeChromosome.MATURATION.ordinal()] = Allele.maturationFaster;
   return alleles;
 }
 public static IAllele[] getWengeTemplate() {
   IAllele[] alleles = getDefaultTemplate();
   alleles[EnumTreeChromosome.SPECIES.ordinal()] = Allele.treeWenge;
   return alleles;
 }
 public static IAllele[] getAcaciaTemplate() {
   IAllele[] alleles = getDefaultTemplate();
   alleles[EnumTreeChromosome.SPECIES.ordinal()] = Allele.treeAcacia;
   alleles[EnumTreeChromosome.PLANT.ordinal()] = Allele.plantTypeDesert;
   return alleles;
 }
 public static IAllele[] getLimeTemplate() {
   IAllele[] alleles = getDefaultTemplate();
   alleles[EnumTreeChromosome.SPECIES.ordinal()] = Allele.treeLime;
   alleles[EnumTreeChromosome.YIELD.ordinal()] = Allele.yieldLower;
   return alleles;
 }
 public static IAllele[] getPineTemplate() {
   IAllele[] alleles = getDefaultTemplate();
   alleles[EnumTreeChromosome.SPECIES.ordinal()] = Allele.treePine;
   alleles[EnumTreeChromosome.HEIGHT.ordinal()] = Allele.heightAverage;
   return alleles;
 }