content: package com.accbdd.complicated_bees.datagen.builtin;
  
  import com.accbdd.complicated_bees.bees.Product;
  import com.accbdd.complicated_bees.bees.Species;
  import com.accbdd.complicated_bees.bees.gene.*;
  import com.accbdd.complicated_bees.bees.gene.enums.*;
  import com.accbdd.complicated_bees.registry.BeeEffectRegistration;
  import com.accbdd.complicated_bees.registry.GeneRegistration;
  import com.accbdd.complicated_bees.registry.ItemsRegistration;
  import net.minecraft.resources.ResourceKey;
  import net.minecraft.resources.ResourceLocation;
  import net.minecraft.world.item.Items;
  
  import java.util.List;
  import java.util.Map;
  
  import static com.accbdd.complicated_bees.datagen.builtin.BuiltIn.*;
  
  public class BuiltInSpecies {
      public static final List<ResourceLocation> RED_MODELS = getModelList("red");
      public static final List<ResourceLocation> GRAY_MODELS = getModelList("gray");
      public static final List<ResourceLocation> ENDER_MODELS = getModelList("ender");
      public static final List<ResourceLocation> JAZZY_MODELS = getModelList("jazzy");
      public static final List<ResourceLocation> TRICKY_MODELS = getModelList("tricky");
  
      public static final Map.Entry<ResourceKey<Species>, Species> FOREST = species(new Species.Builder(loc("forest"))
              .dominant(true)
              .foil(false)
              .colors(0x03fce8)
              .products(List.of(new Product(stack(Combs.HONEY), 0.35f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORTEST, true))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.NORMAL, EnumTolerance.DOWN_1, true))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.NONE, true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOWEST, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(2, true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.FLOWER.getKey().location(), true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.DIURNAL, true))
              .gene(GeneRegistration.CAVE_DWELLING, new GeneBoolean(false, true))
              .gene(GeneRegistration.WEATHERPROOF, new GeneBoolean(false, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> PLAINS = species(Species.Builder.of(FOREST.getValue(), loc("plains"))
              .colors(0xfc030f, 0xc92d02)
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORTER, true))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.NORMAL, EnumTolerance.UP_1, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> JUNGLE = species(Species.Builder.of(FOREST.getValue(), loc("jungle"))
              .colors(0x7bbf04, 0x4f721e)
              .products(List.of(new Product(stack(Combs.SILKY), 0.35f)))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.WARM, EnumTolerance.UP_1, true))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.WET, EnumTolerance.NONE, true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOWER, true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.JUNGLE.getKey().location(), true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.VENOMOUS.get(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> TANGLE = species(Species.Builder.of(JUNGLE.getValue(), loc("tangle"))
              .colors(0x649d01)
              .products(List.of(new Product(stack(Combs.SILKY), 0.4f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORTER, true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOW, true))
              .gene(GeneRegistration.WEATHERPROOF, new GeneBoolean(true, false))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> LUSH = species(Species.Builder.of(TANGLE.getValue(), loc("lush"))
              .colors(0xa3d945)
              .products(List.of(new Product(stack(Combs.SILKY), 0.45f)))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_1, false))
              .gene(GeneRegistration.WEATHERPROOF, new GeneBoolean(true, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.POLLENIC.get(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> DESERT = species(Species.Builder.of(FOREST.getValue(), loc("desert"))
              .colors(0xffdf87)
              .products(List.of(new Product(stack(Combs.DUSTY), 0.35f)))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.HOT, EnumTolerance.DOWN_1, true))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.DRY, EnumTolerance.NONE, true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.DESERT.getKey().location(), true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.NOCTURNAL, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> OUTCAST = species(Species.Builder.of(DESERT.getValue(), loc("outcast"))
              .colors(0xfcda72)
              .products(List.of(new Product(stack(Combs.DUSTY), 0.4f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORT, true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOW, false))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> BANDIT = species(Species.Builder.of(OUTCAST.getValue(), loc("bandit"))
              .colors(0xcd6a18)
              .products(List.of(new Product(stack(Combs.DUSTY), 0.4f)))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.HOT, EnumTolerance.DOWN_2, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.TRIBUTE.get(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> ROCKY = species(Species.Builder.of(FOREST.getValue(), loc("rocky"))
              .colors(0x7e7e7e, 0x9d416b)
              .products(List.of(new Product(stack(Combs.ROCKY), 0.35f)))
              .models(GRAY_MODELS)
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.NORMAL, EnumTolerance.NONE, true))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.NONE, true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.LUSH_CAVE.getKey().location(), true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.NOCTURNAL, true))
              .gene(GeneRegistration.CAVE_DWELLING, new GeneBoolean(true, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> ROBUST = species(Species.Builder.of(ROCKY.getValue(), loc("robust"))
              .colors(0x999999)
              .products(List.of(new Product(stack(Combs.ROCKY), 0.35f)))
              .models(GRAY_MODELS)
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.NORMAL, EnumTolerance.BOTH_1, false))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.UP_1, false))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOWER, true))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.AVERAGE, false))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> RESILIENT = species(Species.Builder.of(ROCKY.getValue(), loc("resilient"))
              .colors(0xb8b7b7)
              .products(List.of(new Product(stack(Combs.ROCKY), 0.4f)))
              .models(GRAY_MODELS)
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.NORMAL, EnumTolerance.BOTH_1, false))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.UP_1, false))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.LONG, false))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(1, false))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> COMMON = species(Species.Builder.of(PLAINS.getValue(), loc("common"))
              .colors(0xc2c2c2)
              .products(List.of(new Product(stack(Combs.HONEY), 0.4f)))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.NORMAL, EnumTolerance.BOTH_1, true))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.NONE, true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOWER, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> CULTIVATED = species(Species.Builder.of(COMMON.getValue(), loc("cultivated"))
              .colors(0x4542f5)
              .products(List.of(new Product(stack(Combs.HONEY), 0.4f)))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOW, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> NOBLE = species(new Species.Builder(loc("noble"))
              .dominant(false)
              .foil(false)
              .colors(0xffca38)
              .products(List.of(new Product(stack(Combs.DRIPPING), 0.4f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORT, false))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.NORMAL, EnumTolerance.NONE, false))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.NONE, false))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOW, false))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(2, true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.FLOWER.getKey().location(), true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.DIURNAL, true))
              .gene(GeneRegistration.CAVE_DWELLING, new GeneBoolean(false, true))
              .gene(GeneRegistration.WEATHERPROOF, new GeneBoolean(false, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> MAJESTIC = species(Species.Builder.of(NOBLE.getValue(), loc("majestic"))
              .colors(0x840121)
              .specialtyProducts(List.of(new Product(stack(Combs.ROYAL), 0.25f)))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.WARM, EnumTolerance.DOWN_1, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(3, false))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> IMPERIAL = species(Species.Builder.of(MAJESTIC.getValue(), loc("imperial"))
              .colors(0x840121)
              .foil(true)
              .products(List.of(new Product(stack(Combs.DRIPPING), 0.5f)))
              .specialtyProducts(List.of(new Product(stack(Combs.ROYAL), 0.4f)))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.WARM, EnumTolerance.DOWN_1, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(4, false))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.BEATIFIC.get(), false))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> DILIGENT = species(new Species.Builder(loc("diligent"))
              .colors(0xb642f5)
              .products(List.of(new Product(stack(Combs.STRINGY), 0.35f), new Product(stack(Combs.HONEY), 0.1f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORT, false))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.NORMAL, EnumTolerance.BOTH_1, false))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.NONE, false))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOW, false))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(2, true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.FLOWER.getKey().location(), true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.DIURNAL, true))
              .gene(GeneRegistration.CAVE_DWELLING, new GeneBoolean(false, true))
              .gene(GeneRegistration.WEATHERPROOF, new GeneBoolean(false, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> TIRELESS = species(Species.Builder.of(DILIGENT.getValue(), loc("tireless"))
              .colors(0x4dfe88)
              .products(List.of(new Product(stack(Combs.STRINGY), 0.4f), new Product(stack(Combs.HONEY), 0.1f), new Product(ItemsRegistration.POLLEN.get().getDefaultInstance(), 0.05f)))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.AVERAGE, false))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> INDUSTRIOUS = species(Species.Builder.of(DILIGENT.getValue(), loc("industrious"))
              .colors(0xecfafe)
              .foil(true)
              .products(List.of(new Product(stack(Combs.STRINGY), 0.4f), new Product(stack(Combs.HONEY), 0.1f), new Product(ItemsRegistration.POLLEN.get().getDefaultInstance(), 0.1f)))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.FAST, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> EXPLORER = species(new Species.Builder(loc("explorer"))
              .colors(0x6eb800)
              .dominant(false)
              .foil(false)
              .products(List.of(new Product(stack(Combs.STRINGY), 0.4f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.AVERAGE, true))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_1, false))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.UP_1, true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOWER, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(2, false))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.FLOWER.getKey().location(), true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.EXPLORER.get(), true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.CATHEMERAL, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> INTREPID = species(Species.Builder.of(EXPLORER.getValue(), loc("explorer"))
              .colors(0x2acad5)
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_2, false))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.BOTH_1, false))
              .gene(GeneRegistration.EFFECT, new GeneEffect())
      );
      public static final Map.Entry<ResourceKey<Species>, Species> CHAMPION = species(Species.Builder.of(EXPLORER.getValue(), loc("explorer"))
              .colors(0xfddc08)
              .dominant(true)
              .foil(true)
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_2, true))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.BOTH_1, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.CHAMPION.get(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> ENDER = species(new Species.Builder(loc("ender"))
              .colors(0xf18aff, 0x7f497c)
              .dominant(true)
              .foil(false)
              .models(ENDER_MODELS)
              .products(List.of(new Product(stack(Combs.MYSTERIOUS), 0.25f)))
              .specialtyProducts(List.of(new Product(ItemsRegistration.PEARL_SHARD.get().getDefaultInstance(), 0.05f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.LONG, true))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.COLD, EnumTolerance.UP_2, false))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.NONE, true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOWER, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(2, false))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.CHORUS.getKey().location(), true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.ENDS.get(), true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.CATHEMERAL, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> SURREAL = species(Species.Builder.of(ENDER.getValue(), loc("surreal"))
              .colors(0x9a1fff)
              .products(List.of(new Product(stack(Combs.MYSTERIOUS), 0.3f)))
              .specialtyProducts(List.of(new Product(ItemsRegistration.PEARL_SHARD.get().getDefaultInstance(), 0.1f)))
              .gene(GeneRegistration.TERRITORY, new GeneTerritory(5, 3, true))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.LONGER, false))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> ENIGMATIC = species(Species.Builder.of(ENDER.getValue(), loc("enigmatic"))
              .colors(0x000ed1)
              .products(List.of(new Product(stack(Combs.MYSTERIOUS), 0.35f)))
              .specialtyProducts(List.of(new Product(ItemsRegistration.PEARL_SHARD.get().getDefaultInstance(), 0.1f), new Product(ItemsRegistration.EXP_DROP.get().getDefaultInstance(), 0.25f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.LONGER, true))
              .gene(GeneRegistration.TERRITORY, new GeneTerritory(6, 3, true))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.ICY, EnumTolerance.UP_2, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> WARPED = species(new Species.Builder(loc("warped"))
              .colors(0x1db9b7, 0x14a87b)
              .products(List.of(new Product(stack(Combs.SIMMERING), 0.3f)))
              .models(RED_MODELS)
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORTER, true))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.HELLISH, EnumTolerance.NONE, true))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.NONE, true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOWER, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(2, true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.NETHER.getKey().location(), true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.AGGRESSIVE.get(), true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.CATHEMERAL, true))
              .gene(GeneRegistration.CAVE_DWELLING, new GeneBoolean(true, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> CRIMSON = species(Species.Builder.of(WARPED.getValue(), loc("crimson"))
              .colors(0x990000, 0xad1e1b)
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORTEST, true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOW, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> CURSED = species(Species.Builder.of(WARPED.getValue(), loc("cursed"))
              .colors(0x404040)
              .products(List.of(new Product(stack(Combs.SIMMERING), 0.35f)))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.HELLISH, EnumTolerance.DOWN_1, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.CURSED.get(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> HAUNTED = species(Species.Builder.of(CURSED.getValue(), loc("haunted"))
              .dominant(false)
              .colors(0x743d25)
              .products(List.of(new Product(stack(Combs.SPECTRAL), 0.35f), new Product(stack(Combs.SIMMERING), 0.05f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORT, false))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.AVERAGE, false))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.CURSED.get(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> GHOSTLY = species(Species.Builder.of(HAUNTED.getValue(), loc("ghostly"))
              .colors(0xc2f0ff)
              .products(List.of(new Product(stack(Combs.SPECTRAL), 0.35f), new Product(stack(Combs.SIMMERING), 0.05f)))
              .specialtyProducts(List.of(new Product(Items.GLOWSTONE_DUST.getDefaultInstance(), 0.05f)))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.SPECTRAL.get(), false))
              .gene(GeneRegistration.WEATHERPROOF, new GeneBoolean(true, false))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.FAST, false))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> SPECTRAL = species(Species.Builder.of(GHOSTLY.getValue(), loc("spectral"))
              .foil(true)
              .colors(0xfff700)
              .products(List.of(new Product(stack(Combs.SPECTRAL), 0.35f), new Product(stack(Combs.SIMMERING), 0.05f)))
              .specialtyProducts(List.of(new Product(Items.GLOWSTONE_DUST.getDefaultInstance(), 0.1f)))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.SPECTRAL.get(), true))
              .gene(GeneRegistration.WEATHERPROOF, new GeneBoolean(true, true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.FASTER, false))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(1, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> FIENDISH = species(Species.Builder.of(CURSED.getValue(), loc("fiendish"))
              .dominant(true)
              .colors(0xbd0039)
              .products(List.of(new Product(stack(Combs.SIMMERING), 0.35f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.AVERAGE, false))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.AVERAGE, false))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.FLAMING.get(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> DEVILISH = species(Species.Builder.of(FIENDISH.getValue(), loc("devilish"))
              .colors(0xe60045)
              .products(List.of(new Product(stack(Combs.SIMMERING), 0.4f)))
              .specialtyProducts(List.of(new Product(Items.BLAZE_POWDER.getDefaultInstance(), 0.1f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.LONG, false))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(3, false))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> INFERNAL = species(Species.Builder.of(DEVILISH.getValue(), loc("infernal"))
              .colors(0xff0059)
              .products(List.of(new Product(stack(Combs.SIMMERING), 0.45f)))
              .specialtyProducts(List.of(new Product(Items.GLOWSTONE_DUST.getDefaultInstance(), 0.15f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.LONG, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(3, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.HOSTILE.get(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> DECAYING = species(new Species.Builder(loc("decaying"))
              .colors(0x7e7700)
              .dominant(false)
              .products(List.of(new Product(stack(Combs.ROTTEN), 0.4f), new Product(stack(Combs.STRINGY), 0.1f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORTER, true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOWER, true))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.COLD, EnumTolerance.UP_1, true))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.BOTH_1, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(2, true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.SKULLS.getKey().location(), true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.UNHEALTHY.get(), true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.NEVER_SLEEPS, false))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> ROTTEN = species(Species.Builder.of(DECAYING.getValue(), loc("rotten"))
              .colors(0x4a6305)
              .dominant(true)
              .products(List.of(new Product(stack(Combs.ROTTEN), 0.4f), new Product(stack(Combs.STRINGY), 0.1f)))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.ICY, EnumTolerance.UP_2, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(1, false))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.NEVER_SLEEPS, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> NECROMANTIC = species(Species.Builder.of(ROTTEN.getValue(), loc("necromantic"))
              .foil(true)
              .colors(0x4a6305)
              .dominant(false)
              .products(List.of(new Product(stack(Combs.ROTTEN), 0.4f), new Product(stack(Combs.HONEY), 0.1f)))
              .specialtyProducts(List.of(new Product(stack(Combs.SPECTRAL), 0.2f)))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOW, false))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(1, true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.NEVER_SLEEPS, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.RESURRECTION.get(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> BITUMINOUS = species(new Species.Builder(loc("bituminous"))
              .dominant(true)
              .models(GRAY_MODELS)
              .colors(0x141414)
              .products(List.of(new Product(stack(Combs.ROCKY), 0.30f), new Product(stack(Combs.COAL), 0.15f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORTER, true))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.NORMAL, EnumTolerance.UP_1, true))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.NONE, true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOWER, true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.DEEPSLATE.getKey().location(), true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.NOCTURNAL, true))
              .gene(GeneRegistration.CAVE_DWELLING, new GeneBoolean(true, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> CONDUCTIVE = species(Species.Builder.of(BITUMINOUS.getValue(), loc("conductive"))
              .colors(0xc90303)
              .products(List.of(new Product(stack(Combs.ROCKY), 0.30f), new Product(stack(Combs.REDSTONE), 0.15f)))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.GRANITE.getKey().location(), true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.AVERAGE, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> LAPIC = species(Species.Builder.of(BITUMINOUS.getValue(), loc("lapic"))
              .colors(0x325afb)
              .products(List.of(new Product(stack(Combs.ROCKY), 0.30f), new Product(stack(Combs.LAPIS), 0.15f)))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.DEEPSLATE.getKey().location(), true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.AVERAGE, true))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORT, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> DIMANTIC = species(Species.Builder.of(BITUMINOUS.getValue(), loc("dimantic"))
              .dominant(false)
              .colors(0x42d9ff)
              .products(List.of(new Product(stack(Combs.ROCKY), 0.30f), new Product(stack(Combs.DIAMOND), 0.1f)))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.GRANITE.getKey().location(), true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOWEST, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(1, true))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.AVERAGE, false))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> AMETHYST = species(Species.Builder.of(BITUMINOUS.getValue(), loc("amethyst"))
              .colors(0xaa42ff)
              .products(List.of(new Product(stack(Combs.ROCKY), 0.30f), new Product(stack(Combs.AMETHYST), 0.15f)))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.CALCITE.getKey().location(), true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOW, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> EMERADIC = species(Species.Builder.of(BITUMINOUS.getValue(), loc("emeradic"))
              .dominant(false)
              .colors(0x0fff6b)
              .products(List.of(new Product(stack(Combs.ROCKY), 0.30f), new Product(stack(Combs.EMERALD), 0.1f)))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.GRANITE.getKey().location(), true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOWER, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(1, false))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORT, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> QUARTZ = species(new Species.Builder(loc("quartz"))
              .dominant(true)
              .models(RED_MODELS)
              .colors(0xd8d7ba)
              .products(List.of(new Product(stack(Combs.SIMMERING), 0.30f), new Product(stack(Combs.QUARTZ), 0.15f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORT, true))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.HOT, EnumTolerance.UP_1, true))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.DRY, EnumTolerance.UP_1, true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.DIORITE.getKey().location(), true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOW, true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.CATHEMERAL, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> LUMINOUS = species(Species.Builder.of(QUARTZ.getValue(), loc("luminous"))
              .colors(0xf5ed00)
              .products(List.of(new Product(stack(Combs.SIMMERING), 0.30f), new Product(stack(Combs.GLOWSTONE), 0.15f)))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.SPECTRAL.get(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> CUPROUS = species(new Species.Builder(loc("cuprous"))
              .dominant(true)
              .models(GRAY_MODELS)
              .colors(0xdd9c2c)
              .products(List.of(new Product(stack(Combs.ROCKY), 0.30f), new Product(stack(Combs.COPPER), 0.15f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORT, true))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.NORMAL, EnumTolerance.UP_1, true))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.NONE, true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.AVERAGE, true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.GRANITE.getKey().location(), true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.DIURNAL, true))
              .gene(GeneRegistration.CAVE_DWELLING, new GeneBoolean(true, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(3, false))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> PRECIOUS = species(Species.Builder.of(CUPROUS.getValue(), loc("precious"))
              .colors(0xe6d200)
              .products(List.of(new Product(stack(Combs.ROCKY), 0.30f), new Product(stack(Combs.GOLD), 0.15f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.AVERAGE, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(2, true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.DRIPSTONE.getKey().location(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> FERROUS = species(Species.Builder.of(PRECIOUS.getValue(), loc("ferrous"))
              .colors(0xd1d1d1)
              .products(List.of(new Product(stack(Combs.ROCKY), 0.30f), new Product(stack(Combs.IRON), 0.15f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.AVERAGE, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(2, true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.TUFF.getKey().location(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> ADAMANTINE = species(new Species.Builder(loc("adamantine"))
              .dominant(false)
              .foil(true)
              .models(RED_MODELS)
              .products(List.of(new Product(stack(Combs.SIMMERING), 0.3f), new Product(stack(Combs.NETHERITE), 0.10f)))
              .colors(0x4d453d)
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.AVERAGE, false))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.HOT, EnumTolerance.UP_1, true))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.DRY, EnumTolerance.UP_1, true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOWEST, false))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(1, true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.DEBRIS.getKey().location(), true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.CATHEMERAL, false))
              .gene(GeneRegistration.CAVE_DWELLING, new GeneBoolean(true, true))
              .gene(GeneRegistration.WEATHERPROOF, new GeneBoolean(true, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> JAZZY = species(new Species.Builder(loc("jazzy"))
              .dominant(false)
              .foil(false)
              .models(JAZZY_MODELS)
              .colors(0x66a1ff)
              .products(List.of(new Product(stack(Combs.HONEY), 0.30f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.SHORT, true))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.COLD, EnumTolerance.UP_1, true))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.WET, EnumTolerance.DOWN_1, true))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOWEST, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(2, false))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.MUSICAL.getKey().location(), true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.DIURNAL, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.JAZZY.get(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> ESSAYIST = species(Species.Builder.of(JAZZY.getValue(), loc("essayist"))
              .colors(0xFFCC00)
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.ESSAYIST.get(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> TRICKY = species(Species.Builder.of(JAZZY.getValue(), loc("tricky"))
              .colors(0xFFFFFF)
              .models(TRICKY_MODELS)
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.FASTER, true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.NEVER_SLEEPS, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.TRICKY.get(), true))
      );
  
      public static final Map.Entry<ResourceKey<Species>, Species> PRIMORDIAL = species(new Species.Builder(loc("primordial"))
              .dominant(false)
              .foil(true)
              .colors(0xFFFFFF)
              .models(getModelList("primordial"))
              .products(List.of(new Product(stack(Combs.MYSTERIOUS), 0.25f)))
              .gene(GeneRegistration.LIFESPAN, new GeneLifespan(EnumLifespan.LONGEST, false))
              .gene(GeneRegistration.TEMPERATURE, new GeneTemperature(EnumTemperature.NORMAL, EnumTolerance.BOTH_2, false))
              .gene(GeneRegistration.HUMIDITY, new GeneHumidity(EnumHumidity.NORMAL, EnumTolerance.BOTH_1, false))
              .gene(GeneRegistration.PRODUCTIVITY, new GeneProductivity(EnumProductivity.SLOWEST, true))
              .gene(GeneRegistration.FERTILITY, new GeneFertility(2, false))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.DRAGON_EGG.getKey().location(), false))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.ENDS.get(), true))
              .gene(GeneRegistration.ACTIVE_TIME, new GeneActiveTime(EnumActiveTime.NEVER_SLEEPS, false))
              .gene(GeneRegistration.TERRITORY, new GeneTerritory(7, 4, true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> CAMPESTRAL = species(Species.Builder.of(PRIMORDIAL.getValue(), loc("campestral"))
              .dominant(true)
              .foil(false)
              .colors(0xfc030f)
              .models(getModelList("plains_terraform"))
              .gene(GeneRegistration.TERRITORY, new GeneTerritory(9, 5, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.PLAINS_TERRAFORM.get(), true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.FLOWER.getKey().location(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> SYLVAN = species(Species.Builder.of(PRIMORDIAL.getValue(), loc("sylvan"))
              .dominant(true)
              .foil(false)
              .colors(0x03fce8)
              .models(getModelList("forest_terraform"))
              .gene(GeneRegistration.TERRITORY, new GeneTerritory(9, 5, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.FOREST_TERRAFORM.get(), true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.FLOWER.getKey().location(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> BOREAL = species(Species.Builder.of(PRIMORDIAL.getValue(), loc("boreal"))
              .dominant(true)
              .foil(false)
              .colors(0x523C18)
              .models(getModelList("taiga_terraform"))
              .gene(GeneRegistration.TERRITORY, new GeneTerritory(9, 5, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.TAIGA_TERRAFORM.get(), true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.FLOWER.getKey().location(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> TROPIC = species(Species.Builder.of(PRIMORDIAL.getValue(), loc("tropic"))
              .dominant(true)
              .foil(false)
              .colors(0x2DB500)
              .models(getModelList("jungle_terraform"))
              .gene(GeneRegistration.TERRITORY, new GeneTerritory(9, 5, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.JUNGLE_TERRAFORM.get(), true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.JUNGLE.getKey().location(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> PALUDAL = species(Species.Builder.of(PRIMORDIAL.getValue(), loc("paludal"))
              .dominant(true)
              .foil(false)
              .colors(0x444724)
              .models(getModelList("swamp_terraform"))
              .gene(GeneRegistration.TERRITORY, new GeneTerritory(9, 5, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.SWAMP_TERRAFORM.get(), true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.SWAMP.getKey().location(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> GELID = species(Species.Builder.of(PRIMORDIAL.getValue(), loc("gelid"))
              .dominant(true)
              .foil(false)
              .models(getModelList("snowy_terraform"))
              .gene(GeneRegistration.TERRITORY, new GeneTerritory(9, 5, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.SNOWY_TERRAFORM.get(), true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.ICY.getKey().location(), true))
      );
      public static final Map.Entry<ResourceKey<Species>, Species> MYCELIC = species(Species.Builder.of(PRIMORDIAL.getValue(), loc("mycelic"))
              .dominant(true)
              .foil(false)
              .colors(0xCC9978)
              .models(getModelList("mushroom_terraform"))
              .gene(GeneRegistration.TERRITORY, new GeneTerritory(9, 5, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.MUSHROOM_TERRAFORM.get(), true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.MYCELIC.getKey().location(), true))//todo set flower
      );
      public static final Map.Entry<ResourceKey<Species>, Species> XERIC = species(Species.Builder.of(PRIMORDIAL.getValue(), loc("xeric"))
              .dominant(true)
              .foil(false)
              .colors(0xBABF95)
              .models(getModelList("desert_terraform"))
              .gene(GeneRegistration.TERRITORY, new GeneTerritory(9, 5, true))
              .gene(GeneRegistration.EFFECT, new GeneEffect(BeeEffectRegistration.DESERT_TERRAFORM.get(), true))
              .gene(GeneRegistration.FLOWER, new GeneFlower(Flowers.DESERT.getKey().location(), true))
      );
  
      private static List<ResourceLocation> getModelList(String name) {
          return List.of(loc("bee/"+name+"_drone"), loc("bee/"+name+"_princess"), loc("bee/"+name+"_queen"));
      }
  }
  