public void initializeSpawns() {
    BiomeDictionary.registerAllBiomes();

    // SpawnListEntry wisps = new SpawnListEntry(EntityWisp.class, 1, 1, 1);
    SpawnListEntry manaElementals =
        new SpawnListEntry(
            EntityManaElemental.class, AMCore.config.GetManaElementalSpawnRate(), 1, 1);
    SpawnListEntry dryads =
        new SpawnListEntry(EntityDryad.class, AMCore.config.GetDryadSpawnRate(), 1, 2);
    SpawnListEntry hecates_nonHell =
        new SpawnListEntry(EntityHecate.class, AMCore.config.GetHecateSpawnRate(), 1, 1);
    SpawnListEntry hecates_hell =
        new SpawnListEntry(EntityHecate.class, AMCore.config.GetHecateSpawnRate() * 2, 1, 2);
    SpawnListEntry manaCreepers =
        new SpawnListEntry(EntityManaCreeper.class, AMCore.config.GetManaCreeperSpawnRate(), 1, 1);
    SpawnListEntry lightMages =
        new SpawnListEntry(EntityLightMage.class, AMCore.config.GetMageSpawnRate(), 1, 3);
    SpawnListEntry darkMages =
        new SpawnListEntry(EntityDarkMage.class, AMCore.config.GetMageSpawnRate(), 1, 3);
    SpawnListEntry waterElementals =
        new SpawnListEntry(
            EntityWaterElemental.class, AMCore.config.GetWaterElementalSpawnRate(), 1, 3);
    SpawnListEntry darklings =
        new SpawnListEntry(EntityDarkling.class, AMCore.config.GetDarklingSpawnRate(), 4, 8);
    SpawnListEntry earthElementals =
        new SpawnListEntry(
            EntityEarthElemental.class, AMCore.config.GetEarthElementalSpawnRate(), 1, 2);
    SpawnListEntry fireElementals =
        new SpawnListEntry(
            EntityFireElemental.class, AMCore.config.GetFireElementalSpawnRate(), 1, 1);

    initSpawnsForBiomeTypes(
        manaElementals,
        EnumCreatureType.monster,
        new Type[] {
          Type.BEACH,
          Type.DESERT,
          Type.FOREST,
          Type.FROZEN,
          Type.HILLS,
          Type.JUNGLE,
          Type.MAGICAL,
          Type.MOUNTAIN,
          Type.PLAINS,
          Type.SWAMP,
          Type.WASTELAND
        },
        new Type[] {Type.END, Type.NETHER, Type.MUSHROOM});

    initSpawnsForBiomeTypes(
        dryads,
        EnumCreatureType.creature,
        new Type[] {
          Type.BEACH, Type.FOREST, Type.MAGICAL, Type.HILLS, Type.JUNGLE, Type.MOUNTAIN, Type.PLAINS
        },
        new Type[] {
          Type.END, Type.FROZEN, Type.MUSHROOM, Type.NETHER, Type.WASTELAND, Type.SWAMP, Type.DESERT
        });

    initSpawnsForBiomeTypes(
        hecates_nonHell,
        EnumCreatureType.monster,
        new Type[] {
          Type.BEACH,
          Type.DESERT,
          Type.FOREST,
          Type.FROZEN,
          Type.HILLS,
          Type.JUNGLE,
          Type.MAGICAL,
          Type.MOUNTAIN,
          Type.PLAINS,
          Type.SWAMP,
          Type.WASTELAND
        },
        new Type[] {Type.END, Type.NETHER, Type.MUSHROOM});

    initSpawnsForBiomeTypes(
        hecates_hell,
        EnumCreatureType.monster,
        new Type[] {Type.NETHER},
        new Type[] {Type.MUSHROOM});

    initSpawnsForBiomeTypes(
        darklings, EnumCreatureType.monster, new Type[] {Type.NETHER}, new Type[] {Type.MUSHROOM});

    initSpawnsForBiomeTypes(
        manaCreepers,
        EnumCreatureType.monster,
        new Type[] {
          Type.BEACH,
          Type.DESERT,
          Type.FOREST,
          Type.FROZEN,
          Type.HILLS,
          Type.JUNGLE,
          Type.MAGICAL,
          Type.MOUNTAIN,
          Type.PLAINS,
          Type.SWAMP,
          Type.WASTELAND
        },
        new Type[] {Type.END, Type.NETHER, Type.MUSHROOM});

    initSpawnsForBiomeTypes(
        lightMages,
        EnumCreatureType.monster,
        new Type[] {
          Type.BEACH,
          Type.DESERT,
          Type.FOREST,
          Type.FROZEN,
          Type.HILLS,
          Type.JUNGLE,
          Type.MAGICAL,
          Type.MOUNTAIN,
          Type.PLAINS,
          Type.SWAMP,
          Type.WASTELAND
        },
        new Type[] {Type.END, Type.NETHER, Type.MUSHROOM});

    initSpawnsForBiomeTypes(
        darkMages,
        EnumCreatureType.monster,
        new Type[] {
          Type.BEACH,
          Type.DESERT,
          Type.FOREST,
          Type.FROZEN,
          Type.HILLS,
          Type.JUNGLE,
          Type.MAGICAL,
          Type.MOUNTAIN,
          Type.PLAINS,
          Type.SWAMP,
          Type.WASTELAND
        },
        new Type[] {Type.END, Type.NETHER, Type.MUSHROOM});

    initSpawnsForBiomeTypes(
        waterElementals,
        EnumCreatureType.monster,
        new Type[] {Type.WATER},
        new Type[] {Type.END, Type.NETHER, Type.MUSHROOM});
    initSpawnsForBiomeTypes(
        waterElementals,
        EnumCreatureType.waterCreature,
        new Type[] {Type.WATER},
        new Type[] {Type.END, Type.NETHER, Type.MUSHROOM});

    initSpawnsForBiomeTypes(
        earthElementals,
        EnumCreatureType.monster,
        new Type[] {Type.HILLS, Type.MOUNTAIN},
        new Type[] {Type.MUSHROOM});
    initSpawnsForBiomeTypes(
        fireElementals,
        EnumCreatureType.monster,
        new Type[] {Type.NETHER},
        new Type[] {Type.MUSHROOM});
  }