package net.minecraft.data.worldgen;

import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import java.util.List;
import java.util.OptionalInt;
import java.util.function.Supplier;
import net.minecraft.core.BlockPosition;
import net.minecraft.core.EnumDirection;
import net.minecraft.core.IRegistry;
import net.minecraft.data.RegistryGeneration;
import net.minecraft.resources.MinecraftKey;
import net.minecraft.server.level.WorldServer;
import net.minecraft.tags.TagsBlock;
import net.minecraft.util.random.SimpleWeightedRandomList;
import net.minecraft.util.valueproviders.BiasedToBottomInt;
import net.minecraft.util.valueproviders.ClampedInt;
import net.minecraft.util.valueproviders.ClampedNormalFloat;
import net.minecraft.util.valueproviders.ConstantInt;
import net.minecraft.util.valueproviders.IntProvider;
import net.minecraft.util.valueproviders.UniformFloat;
import net.minecraft.util.valueproviders.UniformInt;
import net.minecraft.world.level.block.BigDripleafBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.BlockHugeMushroom;
import net.minecraft.world.level.block.BlockSweetBerryBush;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.CaveVines;
import net.minecraft.world.level.block.CaveVinesBlock;
import net.minecraft.world.level.block.SmallDripleafBlock;
import net.minecraft.world.level.block.state.IBlockData;
import net.minecraft.world.level.block.state.properties.BlockProperties;
import net.minecraft.world.level.levelgen.GeodeBlockSettings;
import net.minecraft.world.level.levelgen.GeodeCrackSettings;
import net.minecraft.world.level.levelgen.GeodeLayerSettings;
import net.minecraft.world.level.levelgen.HeightMap;
import net.minecraft.world.level.levelgen.VerticalAnchor;
import net.minecraft.world.level.levelgen.WorldGenStage;
import net.minecraft.world.level.levelgen.feature.FossilFeatureConfiguration;
import net.minecraft.world.level.levelgen.feature.WorldGenFeatureConfigured;
import net.minecraft.world.level.levelgen.feature.WorldGenFeatureHugeFungiConfiguration;
import net.minecraft.world.level.levelgen.feature.WorldGenerator;
import net.minecraft.world.level.levelgen.feature.blockplacers.WorldGenBlockPlacerColumn;
import net.minecraft.world.level.levelgen.feature.blockplacers.WorldGenBlockPlacerDoublePlant;
import net.minecraft.world.level.levelgen.feature.blockplacers.WorldGenBlockPlacerSimple;
import net.minecraft.world.level.levelgen.feature.configurations.DripstoneClusterConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.GeodeConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.GlowLichenConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.GrowingPlantConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.HeightmapConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.LargeDripstoneConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.RootSystemConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.SmallDripstoneConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.UnderwaterMagmaConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.VegetationPatchConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenDecoratorFrequencyConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenEndGatewayConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureBasaltColumnsConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureBlockConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureBlockPileConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureChanceDecoratorRangeConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureChoiceConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureCircleConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureConfigurationChance;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureDecoratorConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureDecoratorNoiseConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureDeltaConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureEmptyConfiguration2;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureEndSpikeConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureHellFlowingLavaConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureLakeConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureMushroomConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureOreConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureRadiusConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureRandom2;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureRandomChoiceConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureRandomPatchConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureReplaceBlockConfiguration;
import net.minecraft.world.level.levelgen.feature.configurations.WorldGenFeatureTreeConfiguration;
import net.minecraft.world.level.levelgen.feature.featuresize.FeatureSizeThreeLayers;
import net.minecraft.world.level.levelgen.feature.featuresize.FeatureSizeTwoLayers;
import net.minecraft.world.level.levelgen.feature.foliageplacers.RandomSpreadFoliagePlacer;
import net.minecraft.world.level.levelgen.feature.foliageplacers.WorldGenFoilagePlacerAcacia;
import net.minecraft.world.level.levelgen.feature.foliageplacers.WorldGenFoilagePlacerBlob;
import net.minecraft.world.level.levelgen.feature.foliageplacers.WorldGenFoilagePlacerBush;
import net.minecraft.world.level.levelgen.feature.foliageplacers.WorldGenFoilagePlacerDarkOak;
import net.minecraft.world.level.levelgen.feature.foliageplacers.WorldGenFoilagePlacerFancy;
import net.minecraft.world.level.levelgen.feature.foliageplacers.WorldGenFoilagePlacerJungle;
import net.minecraft.world.level.levelgen.feature.foliageplacers.WorldGenFoilagePlacerMegaPine;
import net.minecraft.world.level.levelgen.feature.foliageplacers.WorldGenFoilagePlacerPine;
import net.minecraft.world.level.levelgen.feature.foliageplacers.WorldGenFoilagePlacerSpruce;
import net.minecraft.world.level.levelgen.feature.stateproviders.RandomizedIntStateProvider;
import net.minecraft.world.level.levelgen.feature.stateproviders.WorldGenFeatureStateProvider;
import net.minecraft.world.level.levelgen.feature.stateproviders.WorldGenFeatureStateProviderForestFlower;
import net.minecraft.world.level.levelgen.feature.stateproviders.WorldGenFeatureStateProviderPlainFlower;
import net.minecraft.world.level.levelgen.feature.stateproviders.WorldGenFeatureStateProviderRotatedBlock;
import net.minecraft.world.level.levelgen.feature.stateproviders.WorldGenFeatureStateProviderSimpl;
import net.minecraft.world.level.levelgen.feature.stateproviders.WorldGenFeatureStateProviderWeighted;
import net.minecraft.world.level.levelgen.feature.treedecorators.WorldGenFeatureTreeAlterGround;
import net.minecraft.world.level.levelgen.feature.treedecorators.WorldGenFeatureTreeBeehive;
import net.minecraft.world.level.levelgen.feature.treedecorators.WorldGenFeatureTreeCocoa;
import net.minecraft.world.level.levelgen.feature.treedecorators.WorldGenFeatureTreeVineLeaves;
import net.minecraft.world.level.levelgen.feature.treedecorators.WorldGenFeatureTreeVineTrunk;
import net.minecraft.world.level.levelgen.feature.trunkplacers.BendingTrunkPlacer;
import net.minecraft.world.level.levelgen.feature.trunkplacers.TrunkPlacerDarkOak;
import net.minecraft.world.level.levelgen.feature.trunkplacers.TrunkPlacerFancy;
import net.minecraft.world.level.levelgen.feature.trunkplacers.TrunkPlacerForking;
import net.minecraft.world.level.levelgen.feature.trunkplacers.TrunkPlacerGiant;
import net.minecraft.world.level.levelgen.feature.trunkplacers.TrunkPlacerMegaJungle;
import net.minecraft.world.level.levelgen.feature.trunkplacers.TrunkPlacerStraight;
import net.minecraft.world.level.levelgen.heightproviders.BiasedToBottomHeight;
import net.minecraft.world.level.levelgen.heightproviders.UniformHeight;
import net.minecraft.world.level.levelgen.heightproviders.VeryBiasedToBottomHeight;
import net.minecraft.world.level.levelgen.placement.CaveDecoratorConfiguration;
import net.minecraft.world.level.levelgen.placement.CaveSurface;
import net.minecraft.world.level.levelgen.placement.WaterDepthThresholdConfiguration;
import net.minecraft.world.level.levelgen.placement.WorldGenDecorator;
import net.minecraft.world.level.levelgen.placement.WorldGenDecoratorCarveMaskConfiguration;
import net.minecraft.world.level.levelgen.placement.WorldGenDecoratorConfigured;
import net.minecraft.world.level.levelgen.placement.WorldGenDecoratorDungeonConfiguration;
import net.minecraft.world.level.levelgen.placement.WorldGenDecoratorFrequencyExtraChanceConfiguration;
import net.minecraft.world.level.levelgen.placement.WorldGenDecoratorNoiseConfiguration;
import net.minecraft.world.level.material.Fluid;
import net.minecraft.world.level.material.FluidTypes;

public class BiomeDecoratorGroups {

    public static final WorldGenFeatureConfigured<?, ?> END_SPIKE = a("end_spike", WorldGenerator.END_SPIKE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureEndSpikeConfiguration(false, ImmutableList.of(), (BlockPosition) null))));
    public static final WorldGenFeatureConfigured<?, ?> END_GATEWAY = a("end_gateway", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.END_GATEWAY.b((WorldGenFeatureConfiguration) WorldGenEndGatewayConfiguration.a(WorldServer.END_SPAWN_POINT, true)).a(WorldGenDecorator.END_GATEWAY.a(WorldGenFeatureDecoratorConfiguration.NONE)).a(BiomeDecoratorGroups.b.HEIGHTMAP).a()).a(700));
    public static final WorldGenFeatureConfigured<?, ?> END_GATEWAY_DELAYED = a("end_gateway_delayed", WorldGenerator.END_GATEWAY.b((WorldGenFeatureConfiguration) WorldGenEndGatewayConfiguration.b()));
    public static final WorldGenFeatureConfigured<?, ?> CHORUS_PLANT = a("chorus_plant", (WorldGenFeatureConfigured) WorldGenerator.CHORUS_PLANT.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE).c(4));
    public static final WorldGenFeatureConfigured<?, ?> END_ISLAND = a("end_island", WorldGenerator.END_ISLAND.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE));
    public static final WorldGenFeatureConfigured<?, ?> END_ISLAND_DECORATED = a("end_island_decorated", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) BiomeDecoratorGroups.END_ISLAND.a(VerticalAnchor.a(55), VerticalAnchor.a(70))).a()).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(1, 0.25F, 1))).a(14));
    public static final WorldGenFeatureConfigured<?, ?> DELTA = a("delta", WorldGenerator.DELTA_FEATURE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureDeltaConfiguration(BiomeDecoratorGroups.c.LAVA, BiomeDecoratorGroups.c.MAGMA_BLOCK, UniformInt.a(3, 7), UniformInt.a(0, 2)))).a(WorldGenDecorator.COUNT_MULTILAYER.a(new WorldGenDecoratorFrequencyConfiguration(40))));
    public static final WorldGenFeatureConfigured<?, ?> SMALL_BASALT_COLUMNS = a("small_basalt_columns", WorldGenerator.BASALT_COLUMNS.b((WorldGenFeatureConfiguration) (new WorldGenFeatureBasaltColumnsConfiguration(ConstantInt.a(1), UniformInt.a(1, 4)))).a(WorldGenDecorator.COUNT_MULTILAYER.a(new WorldGenDecoratorFrequencyConfiguration(4))));
    public static final WorldGenFeatureConfigured<?, ?> LARGE_BASALT_COLUMNS = a("large_basalt_columns", WorldGenerator.BASALT_COLUMNS.b((WorldGenFeatureConfiguration) (new WorldGenFeatureBasaltColumnsConfiguration(UniformInt.a(2, 3), UniformInt.a(5, 10)))).a(WorldGenDecorator.COUNT_MULTILAYER.a(new WorldGenDecoratorFrequencyConfiguration(2))));
    public static final WorldGenFeatureConfigured<?, ?> BASALT_BLOBS = a("basalt_blobs", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.REPLACE_BLOBS.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRadiusConfiguration(BiomeDecoratorGroups.c.NETHERRACK, BiomeDecoratorGroups.c.BASALT, UniformInt.a(3, 7)))).a(BiomeDecoratorGroups.b.FULL_RANGE)).a()).b(75));
    public static final WorldGenFeatureConfigured<?, ?> BLACKSTONE_BLOBS = a("blackstone_blobs", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.REPLACE_BLOBS.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRadiusConfiguration(BiomeDecoratorGroups.c.NETHERRACK, BiomeDecoratorGroups.c.BLACKSTONE, UniformInt.a(3, 7)))).a(BiomeDecoratorGroups.b.FULL_RANGE)).a()).b(25));
    public static final WorldGenFeatureConfigured<?, ?> GLOWSTONE_EXTRA = a("glowstone_extra", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.GLOWSTONE_BLOB.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE).a(BiomeDecoratorGroups.b.RANGE_4_4)).a()).a((IntProvider) BiasedToBottomInt.a(0, 9)));
    public static final WorldGenFeatureConfigured<?, ?> GLOWSTONE = a("glowstone", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.GLOWSTONE_BLOB.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE).a(BiomeDecoratorGroups.b.FULL_RANGE)).a()).b(10));
    public static final WorldGenFeatureConfigured<?, ?> CRIMSON_FOREST_VEGETATION = a("crimson_forest_vegetation", WorldGenerator.NETHER_FOREST_VEGETATION.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.CRIMSON_FOREST_CONFIG).a(WorldGenDecorator.COUNT_MULTILAYER.a(new WorldGenDecoratorFrequencyConfiguration(6))));
    public static final WorldGenFeatureConfigured<?, ?> WARPED_FOREST_VEGETATION = a("warped_forest_vegetation", WorldGenerator.NETHER_FOREST_VEGETATION.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.WARPED_FOREST_CONFIG).a(WorldGenDecorator.COUNT_MULTILAYER.a(new WorldGenDecoratorFrequencyConfiguration(5))));
    public static final WorldGenFeatureConfigured<?, ?> NETHER_SPROUTS = a("nether_sprouts", WorldGenerator.NETHER_FOREST_VEGETATION.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.NETHER_SPROUTS_CONFIG).a(WorldGenDecorator.COUNT_MULTILAYER.a(new WorldGenDecoratorFrequencyConfiguration(4))));
    public static final WorldGenFeatureConfigured<?, ?> TWISTING_VINES = a("twisting_vines", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.TWISTING_VINES.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE).a(BiomeDecoratorGroups.b.FULL_RANGE)).a()).b(10));
    public static final WorldGenFeatureConfigured<?, ?> WEEPING_VINES = a("weeping_vines", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.WEEPING_VINES.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE).a(BiomeDecoratorGroups.b.FULL_RANGE)).a()).b(10));
    public static final WorldGenFeatureConfigured<?, ?> BASALT_PILLAR = a("basalt_pillar", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.BASALT_PILLAR.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE).a(BiomeDecoratorGroups.b.FULL_RANGE)).a()).b(10));
    public static final WorldGenFeatureConfigured<?, ?> SEAGRASS_COLD = a("seagrass_cold", ((WorldGenFeatureConfigured) WorldGenerator.SEAGRASS.b((WorldGenFeatureConfiguration) (new WorldGenFeatureConfigurationChance(0.3F))).b(32)).a(BiomeDecoratorGroups.b.TOP_SOLID_HEIGHTMAP_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> SEAGRASS_DEEP_COLD = a("seagrass_deep_cold", ((WorldGenFeatureConfigured) WorldGenerator.SEAGRASS.b((WorldGenFeatureConfiguration) (new WorldGenFeatureConfigurationChance(0.8F))).b(40)).a(BiomeDecoratorGroups.b.TOP_SOLID_HEIGHTMAP_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> SEAGRASS_NORMAL = a("seagrass_normal", ((WorldGenFeatureConfigured) WorldGenerator.SEAGRASS.b((WorldGenFeatureConfiguration) (new WorldGenFeatureConfigurationChance(0.3F))).b(48)).a(BiomeDecoratorGroups.b.TOP_SOLID_HEIGHTMAP_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> SEAGRASS_RIVER = a("seagrass_river", ((WorldGenFeatureConfigured) WorldGenerator.SEAGRASS.b((WorldGenFeatureConfiguration) (new WorldGenFeatureConfigurationChance(0.4F))).b(48)).a(BiomeDecoratorGroups.b.TOP_SOLID_HEIGHTMAP_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> SEAGRASS_DEEP = a("seagrass_deep", ((WorldGenFeatureConfigured) WorldGenerator.SEAGRASS.b((WorldGenFeatureConfiguration) (new WorldGenFeatureConfigurationChance(0.8F))).b(48)).a(BiomeDecoratorGroups.b.TOP_SOLID_HEIGHTMAP_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> SEAGRASS_SWAMP = a("seagrass_swamp", ((WorldGenFeatureConfigured) WorldGenerator.SEAGRASS.b((WorldGenFeatureConfiguration) (new WorldGenFeatureConfigurationChance(0.6F))).b(64)).a(BiomeDecoratorGroups.b.TOP_SOLID_HEIGHTMAP_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> SEAGRASS_WARM = a("seagrass_warm", ((WorldGenFeatureConfigured) WorldGenerator.SEAGRASS.b((WorldGenFeatureConfiguration) (new WorldGenFeatureConfigurationChance(0.3F))).b(80)).a(BiomeDecoratorGroups.b.TOP_SOLID_HEIGHTMAP_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> SEAGRASS_DEEP_WARM = a("seagrass_deep_warm", ((WorldGenFeatureConfigured) WorldGenerator.SEAGRASS.b((WorldGenFeatureConfiguration) (new WorldGenFeatureConfigurationChance(0.8F))).b(80)).a(BiomeDecoratorGroups.b.TOP_SOLID_HEIGHTMAP_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> SEA_PICKLE = a("sea_pickle", (WorldGenFeatureConfigured) WorldGenerator.SEA_PICKLE.b((WorldGenFeatureConfiguration) (new WorldGenDecoratorFrequencyConfiguration(20))).a(BiomeDecoratorGroups.b.TOP_SOLID_HEIGHTMAP_SQUARE).a(16));
    public static final WorldGenFeatureConfigured<?, ?> ICE_SPIKE = a("ice_spike", (WorldGenFeatureConfigured) WorldGenerator.ICE_SPIKE.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE).b(3));
    public static final WorldGenFeatureConfigured<?, ?> ICE_PATCH = a("ice_patch", (WorldGenFeatureConfigured) WorldGenerator.ICE_PATCH.b((WorldGenFeatureConfiguration) (new WorldGenFeatureCircleConfiguration(BiomeDecoratorGroups.c.PACKED_ICE, UniformInt.a(2, 3), 1, ImmutableList.of(BiomeDecoratorGroups.c.DIRT, BiomeDecoratorGroups.c.GRASS_BLOCK, BiomeDecoratorGroups.c.PODZOL, BiomeDecoratorGroups.c.COARSE_DIRT, BiomeDecoratorGroups.c.MYCELIUM, BiomeDecoratorGroups.c.SNOW_BLOCK, BiomeDecoratorGroups.c.ICE)))).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE).b(2));
    public static final WorldGenFeatureConfigured<?, ?> FOREST_ROCK = a("forest_rock", (WorldGenFeatureConfigured) WorldGenerator.FOREST_ROCK.b((WorldGenFeatureConfiguration) (new WorldGenFeatureLakeConfiguration(BiomeDecoratorGroups.c.MOSSY_COBBLESTONE))).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE).c(2));
    public static final WorldGenFeatureConfigured<?, ?> SEAGRASS_SIMPLE = a("seagrass_simple", ((WorldGenFeatureConfigured) WorldGenerator.SIMPLE_BLOCK.b((WorldGenFeatureConfiguration) (new WorldGenFeatureBlockConfiguration(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SEAGRASS), ImmutableList.of(BiomeDecoratorGroups.c.STONE), ImmutableList.of(BiomeDecoratorGroups.c.WATER), ImmutableList.of(BiomeDecoratorGroups.c.WATER)))).a(10)).a(WorldGenDecorator.CARVING_MASK.a(new WorldGenDecoratorCarveMaskConfiguration(WorldGenStage.Features.LIQUID))));
    public static final WorldGenFeatureConfigured<?, ?> ICEBERG_PACKED = a("iceberg_packed", (WorldGenFeatureConfigured) WorldGenerator.ICEBERG.b((WorldGenFeatureConfiguration) (new WorldGenFeatureLakeConfiguration(BiomeDecoratorGroups.c.PACKED_ICE))).a(WorldGenDecorator.ICEBERG.a(WorldGenFeatureEmptyConfiguration2.INSTANCE)).a(16));
    public static final WorldGenFeatureConfigured<?, ?> ICEBERG_BLUE = a("iceberg_blue", (WorldGenFeatureConfigured) WorldGenerator.ICEBERG.b((WorldGenFeatureConfiguration) (new WorldGenFeatureLakeConfiguration(BiomeDecoratorGroups.c.BLUE_ICE))).a(WorldGenDecorator.ICEBERG.a(WorldGenFeatureEmptyConfiguration2.INSTANCE)).a(200));
    public static final WorldGenFeatureConfigured<?, ?> KELP_COLD = a("kelp_cold", ((WorldGenFeatureConfigured) WorldGenerator.KELP.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE).a(BiomeDecoratorGroups.b.HEIGHTMAP_TOP_SOLID).a()).a(WorldGenDecorator.COUNT_NOISE_BIASED.a(new WorldGenDecoratorNoiseConfiguration(120, 80.0D, 0.0D))));
    public static final WorldGenFeatureConfigured<?, ?> KELP_WARM = a("kelp_warm", ((WorldGenFeatureConfigured) WorldGenerator.KELP.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE).a(BiomeDecoratorGroups.b.HEIGHTMAP_TOP_SOLID).a()).a(WorldGenDecorator.COUNT_NOISE_BIASED.a(new WorldGenDecoratorNoiseConfiguration(80, 80.0D, 0.0D))));
    public static final WorldGenFeatureConfigured<?, ?> BLUE_ICE = a("blue_ice", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.BLUE_ICE.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE).a(VerticalAnchor.a(30), VerticalAnchor.a(61))).a()).c(19));
    public static final WorldGenFeatureConfigured<?, ?> BAMBOO_LIGHT = a("bamboo_light", (WorldGenFeatureConfigured) WorldGenerator.BAMBOO.b((WorldGenFeatureConfiguration) (new WorldGenFeatureConfigurationChance(0.0F))).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).b(16));
    public static final WorldGenFeatureConfigured<?, ?> BAMBOO = a("bamboo", ((WorldGenFeatureConfigured) WorldGenerator.BAMBOO.b((WorldGenFeatureConfiguration) (new WorldGenFeatureConfigurationChance(0.2F))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WORLD_SURFACE).a()).a(WorldGenDecorator.COUNT_NOISE_BIASED.a(new WorldGenDecoratorNoiseConfiguration(160, 80.0D, 0.3D))));
    public static final WorldGenFeatureConfigured<?, ?> VINES = a("vines", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.VINES.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE).a()).b(50));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_VINES = a("prototype_vines", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.VINES.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE).a(VerticalAnchor.a(64), VerticalAnchor.a(100))).a()).b(127));
    public static final WorldGenFeatureConfigured<?, ?> LAKE_WATER = a("lake_water", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.LAKE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureLakeConfiguration(BiomeDecoratorGroups.c.WATER))).a(BiomeDecoratorGroups.b.FULL_RANGE)).a()).a(4));
    public static final WorldGenFeatureConfigured<?, ?> LAKE_LAVA = a("lake_lava", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.LAKE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureLakeConfiguration(BiomeDecoratorGroups.c.LAVA))).a(WorldGenDecorator.LAVA_LAKE.a(new WorldGenDecoratorDungeonConfiguration(80))).a(new WorldGenFeatureChanceDecoratorRangeConfiguration(BiasedToBottomHeight.a(VerticalAnchor.a(), VerticalAnchor.b(), 8)))).a()).a(8));
    public static final WorldGenFeatureConfigured<?, ?> DISK_CLAY = a("disk_clay", WorldGenerator.DISK.b((WorldGenFeatureConfiguration) (new WorldGenFeatureCircleConfiguration(BiomeDecoratorGroups.c.CLAY, UniformInt.a(2, 3), 1, ImmutableList.of(BiomeDecoratorGroups.c.DIRT, BiomeDecoratorGroups.c.CLAY)))).a(BiomeDecoratorGroups.b.TOP_SOLID_HEIGHTMAP_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> DISK_GRAVEL = a("disk_gravel", WorldGenerator.DISK.b((WorldGenFeatureConfiguration) (new WorldGenFeatureCircleConfiguration(BiomeDecoratorGroups.c.GRAVEL, UniformInt.a(2, 5), 2, ImmutableList.of(BiomeDecoratorGroups.c.DIRT, BiomeDecoratorGroups.c.GRASS_BLOCK)))).a(BiomeDecoratorGroups.b.TOP_SOLID_HEIGHTMAP_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> DISK_SAND = a("disk_sand", (WorldGenFeatureConfigured) WorldGenerator.DISK.b((WorldGenFeatureConfiguration) (new WorldGenFeatureCircleConfiguration(BiomeDecoratorGroups.c.SAND, UniformInt.a(2, 6), 2, ImmutableList.of(BiomeDecoratorGroups.c.DIRT, BiomeDecoratorGroups.c.GRASS_BLOCK)))).a(BiomeDecoratorGroups.b.TOP_SOLID_HEIGHTMAP_SQUARE).b(3));
    public static final WorldGenFeatureConfigured<?, ?> FREEZE_TOP_LAYER = a("freeze_top_layer", WorldGenerator.FREEZE_TOP_LAYER.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE));
    public static final WorldGenFeatureConfigured<?, ?> BONUS_CHEST = a("bonus_chest", WorldGenerator.BONUS_CHEST.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE));
    public static final WorldGenFeatureConfigured<?, ?> VOID_START_PLATFORM = a("void_start_platform", WorldGenerator.VOID_START_PLATFORM.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE));
    public static final WorldGenFeatureConfigured<?, ?> MONSTER_ROOM = a("monster_room", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.MONSTER_ROOM.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE).a(BiomeDecoratorGroups.b.FULL_RANGE)).a()).b(8));
    public static final WorldGenFeatureConfigured<?, ?> WELL = a("desert_well", (WorldGenFeatureConfigured) WorldGenerator.DESERT_WELL.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE).a(1000));
    private static final ImmutableList<MinecraftKey> FOSSIL_STRUCTURES = ImmutableList.of(new MinecraftKey("fossil/spine_1"), new MinecraftKey("fossil/spine_2"), new MinecraftKey("fossil/spine_3"), new MinecraftKey("fossil/spine_4"), new MinecraftKey("fossil/skull_1"), new MinecraftKey("fossil/skull_2"), new MinecraftKey("fossil/skull_3"), new MinecraftKey("fossil/skull_4"));
    private static final ImmutableList<MinecraftKey> FOSSIL_COAL_STRUCTURES = ImmutableList.of(new MinecraftKey("fossil/spine_1_coal"), new MinecraftKey("fossil/spine_2_coal"), new MinecraftKey("fossil/spine_3_coal"), new MinecraftKey("fossil/spine_4_coal"), new MinecraftKey("fossil/skull_1_coal"), new MinecraftKey("fossil/skull_2_coal"), new MinecraftKey("fossil/skull_3_coal"), new MinecraftKey("fossil/skull_4_coal"));
    public static final WorldGenFeatureConfigured<?, ?> FOSSIL = a("fossil", (WorldGenFeatureConfigured) WorldGenerator.FOSSIL.b((WorldGenFeatureConfiguration) (new FossilFeatureConfiguration(BiomeDecoratorGroups.FOSSIL_STRUCTURES, BiomeDecoratorGroups.FOSSIL_COAL_STRUCTURES, ProcessorLists.FOSSIL_ROT, ProcessorLists.FOSSIL_COAL, 4))).a(64));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_FOSSIL_UPPER = a("prototype_fossil_upper", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.FOSSIL.b((WorldGenFeatureConfiguration) (new FossilFeatureConfiguration(BiomeDecoratorGroups.FOSSIL_STRUCTURES, BiomeDecoratorGroups.FOSSIL_COAL_STRUCTURES, ProcessorLists.FOSSIL_ROT, ProcessorLists.FOSSIL_COAL, 4))).a(VerticalAnchor.a(0), VerticalAnchor.b())).a(64));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_FOSSIL_LOWER = a("prototype_fossil_lower", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.FOSSIL.b((WorldGenFeatureConfiguration) (new FossilFeatureConfiguration(BiomeDecoratorGroups.FOSSIL_STRUCTURES, BiomeDecoratorGroups.FOSSIL_COAL_STRUCTURES, ProcessorLists.FOSSIL_ROT, ProcessorLists.FOSSIL_DIAMONDS, 4))).a(VerticalAnchor.a(), VerticalAnchor.a(-8))).a(64));
    public static final WorldGenFeatureConfigured<?, ?> SPRING_LAVA_DOUBLE = a("spring_lava_double", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SPRING.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.LAVA_SPRING_CONFIG).a(new WorldGenFeatureChanceDecoratorRangeConfiguration(VeryBiasedToBottomHeight.a(VerticalAnchor.a(), VerticalAnchor.c(8), 8)))).a()).b(40));
    public static final WorldGenFeatureConfigured<?, ?> SPRING_LAVA = a("spring_lava", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SPRING.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.LAVA_SPRING_CONFIG).a(new WorldGenFeatureChanceDecoratorRangeConfiguration(VeryBiasedToBottomHeight.a(VerticalAnchor.a(), VerticalAnchor.c(8), 8)))).a()).b(20));
    public static final WorldGenFeatureConfigured<?, ?> SPRING_DELTA = a("spring_delta", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SPRING.b((WorldGenFeatureConfiguration) (new WorldGenFeatureHellFlowingLavaConfiguration(BiomeDecoratorGroups.c.LAVA_STATE, true, 4, 1, ImmutableSet.of(Blocks.NETHERRACK, Blocks.SOUL_SAND, Blocks.GRAVEL, Blocks.MAGMA_BLOCK, Blocks.BLACKSTONE)))).a(BiomeDecoratorGroups.b.RANGE_4_4)).a()).b(16));
    public static final WorldGenFeatureConfigured<?, ?> SPRING_CLOSED = a("spring_closed", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SPRING.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.CLOSED_NETHER_SPRING_CONFIG).a(BiomeDecoratorGroups.b.RANGE_10_10)).a()).b(16));
    public static final WorldGenFeatureConfigured<?, ?> SPRING_CLOSED_DOUBLE = a("spring_closed_double", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SPRING.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.CLOSED_NETHER_SPRING_CONFIG).a(BiomeDecoratorGroups.b.RANGE_10_10)).a()).b(32));
    public static final WorldGenFeatureConfigured<?, ?> SPRING_OPEN = a("spring_open", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SPRING.b((WorldGenFeatureConfiguration) (new WorldGenFeatureHellFlowingLavaConfiguration(BiomeDecoratorGroups.c.LAVA_STATE, false, 4, 1, ImmutableSet.of(Blocks.NETHERRACK)))).a(BiomeDecoratorGroups.b.RANGE_4_4)).a()).b(8));
    public static final WorldGenFeatureConfigured<?, ?> SPRING_WATER = a("spring_water", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SPRING.b((WorldGenFeatureConfiguration) (new WorldGenFeatureHellFlowingLavaConfiguration(BiomeDecoratorGroups.c.WATER_STATE, true, 4, 1, ImmutableSet.of(Blocks.STONE, Blocks.GRANITE, Blocks.DIORITE, Blocks.ANDESITE)))).a(new WorldGenFeatureChanceDecoratorRangeConfiguration(BiasedToBottomHeight.a(VerticalAnchor.a(), VerticalAnchor.c(8), 8)))).a()).b(50));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_SPRING_WATER = a("prototype_spring_water", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SPRING.b((WorldGenFeatureConfiguration) (new WorldGenFeatureHellFlowingLavaConfiguration(BiomeDecoratorGroups.c.WATER_STATE, true, 4, 1, ImmutableSet.of(Blocks.STONE, Blocks.GRANITE, Blocks.DIORITE, Blocks.ANDESITE, Blocks.DEEPSLATE, Blocks.TUFF, new Block[0])))).a(VerticalAnchor.a(), VerticalAnchor.b())).a()).b(50));
    public static final WorldGenFeatureConfigured<?, ?> PILE_HAY = a("pile_hay", WorldGenerator.BLOCK_PILE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureBlockPileConfiguration(new WorldGenFeatureStateProviderRotatedBlock(Blocks.HAY_BLOCK)))));
    public static final WorldGenFeatureConfigured<?, ?> PILE_MELON = a("pile_melon", WorldGenerator.BLOCK_PILE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureBlockPileConfiguration(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.MELON)))));
    public static final WorldGenFeatureConfigured<?, ?> PILE_SNOW = a("pile_snow", WorldGenerator.BLOCK_PILE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureBlockPileConfiguration(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SNOW)))));
    public static final WorldGenFeatureConfigured<?, ?> PILE_ICE = a("pile_ice", WorldGenerator.BLOCK_PILE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureBlockPileConfiguration(new WorldGenFeatureStateProviderWeighted(a().a(BiomeDecoratorGroups.c.BLUE_ICE, 1).a(BiomeDecoratorGroups.c.PACKED_ICE, 5))))));
    public static final WorldGenFeatureConfigured<?, ?> PILE_PUMPKIN = a("pile_pumpkin", WorldGenerator.BLOCK_PILE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureBlockPileConfiguration(new WorldGenFeatureStateProviderWeighted(a().a(BiomeDecoratorGroups.c.PUMPKIN, 19).a(BiomeDecoratorGroups.c.JACK_O_LANTERN, 1))))));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_FIRE = a("patch_fire", WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.FIRE), WorldGenBlockPlacerSimple.INSTANCE)).a(64).a(ImmutableSet.of(BiomeDecoratorGroups.c.NETHERRACK.getBlock())).b().d()).a(BiomeDecoratorGroups.b.FIRE));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_SOUL_FIRE = a("patch_soul_fire", WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SOUL_FIRE), new WorldGenBlockPlacerSimple())).a(64).a(ImmutableSet.of(BiomeDecoratorGroups.c.SOUL_SOIL.getBlock())).b().d()).a(BiomeDecoratorGroups.b.FIRE));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_BROWN_MUSHROOM = a("patch_brown_mushroom", WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.BROWN_MUSHROOM), WorldGenBlockPlacerSimple.INSTANCE)).a(64).b().d()));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_RED_MUSHROOM = a("patch_red_mushroom", WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.RED_MUSHROOM), WorldGenBlockPlacerSimple.INSTANCE)).a(64).b().d()));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_CRIMSON_ROOTS = a("patch_crimson_roots", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.CRIMSON_ROOTS), new WorldGenBlockPlacerSimple())).a(64).b().d()).a(BiomeDecoratorGroups.b.FULL_RANGE));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_SUNFLOWER = a("patch_sunflower", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SUNFLOWER), new WorldGenBlockPlacerDoublePlant())).a(64).b().d()).a(BiomeDecoratorGroups.b.ADD_32).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE).b(10));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_PUMPKIN = a("patch_pumpkin", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.PUMPKIN), WorldGenBlockPlacerSimple.INSTANCE)).a(64).a(ImmutableSet.of(BiomeDecoratorGroups.c.GRASS_BLOCK.getBlock())).b().d()).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).a(32));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_TAIGA_GRASS = a("patch_taiga_grass", WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.TAIGA_GRASS_CONFIG));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_BERRY_BUSH = a("patch_berry_bush", WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.SWEET_BERRY_BUSH_CONFIG));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_GRASS_PLAIN = a("patch_grass_plain", WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.DEFAULT_GRASS_CONFIG).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).a(WorldGenDecorator.COUNT_NOISE.a(new WorldGenFeatureDecoratorNoiseConfiguration(-0.8D, 5, 10))));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_GRASS_FOREST = a("patch_grass_forest", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.DEFAULT_GRASS_CONFIG).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).b(2));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_GRASS_BADLANDS = a("patch_grass_badlands", WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.DEFAULT_GRASS_CONFIG).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_GRASS_SAVANNA = a("patch_grass_savanna", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.DEFAULT_GRASS_CONFIG).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).b(20));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_GRASS_NORMAL = a("patch_grass_normal", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.DEFAULT_GRASS_CONFIG).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).b(5));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_GRASS_TAIGA_2 = a("patch_grass_taiga_2", WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.TAIGA_GRASS_CONFIG).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_GRASS_TAIGA = a("patch_grass_taiga", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.TAIGA_GRASS_CONFIG).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).b(7));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_GRASS_JUNGLE = a("patch_grass_jungle", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.JUNGLE_GRASS_CONFIG).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).b(25));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_DEAD_BUSH_2 = a("patch_dead_bush_2", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.DEAD_BUSH_CONFIG).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).b(2));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_DEAD_BUSH = a("patch_dead_bush", WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.DEAD_BUSH_CONFIG).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_DEAD_BUSH_BADLANDS = a("patch_dead_bush_badlands", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.DEAD_BUSH_CONFIG).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).b(20));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_MELON = a("patch_melon", WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.MELON), WorldGenBlockPlacerSimple.INSTANCE)).a(64).a(ImmutableSet.of(BiomeDecoratorGroups.c.GRASS_BLOCK.getBlock())).a().b().d()).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_BERRY_SPARSE = a("patch_berry_sparse", BiomeDecoratorGroups.PATCH_BERRY_BUSH.a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_BERRY_DECORATED = a("patch_berry_decorated", (WorldGenFeatureConfigured) BiomeDecoratorGroups.PATCH_BERRY_BUSH.a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).a(12));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_WATERLILLY = a("patch_waterlilly", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.LILY_PAD), WorldGenBlockPlacerSimple.INSTANCE)).a(10).d()).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).b(4));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_TALL_GRASS_2 = a("patch_tall_grass_2", ((WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.TALL_GRASS_CONFIG).a(BiomeDecoratorGroups.b.ADD_32).a(BiomeDecoratorGroups.b.HEIGHTMAP).a()).a(WorldGenDecorator.COUNT_NOISE.a(new WorldGenFeatureDecoratorNoiseConfiguration(-0.8D, 0, 7))));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_TALL_GRASS = a("patch_tall_grass", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.TALL_GRASS_CONFIG).a(BiomeDecoratorGroups.b.ADD_32).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE).b(7));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_LARGE_FERN = a("patch_large_fern", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.LARGE_FERN), new WorldGenBlockPlacerDoublePlant())).a(64).b().d()).a(BiomeDecoratorGroups.b.ADD_32).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE).b(7));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_CACTUS = a("patch_cactus", WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.CACTUS), new WorldGenBlockPlacerColumn(BiasedToBottomInt.a(1, 3)))).a(10).b().d()));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_CACTUS_DESERT = a("patch_cactus_desert", (WorldGenFeatureConfigured) BiomeDecoratorGroups.PATCH_CACTUS.a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).b(10));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_CACTUS_DECORATED = a("patch_cactus_decorated", (WorldGenFeatureConfigured) BiomeDecoratorGroups.PATCH_CACTUS.a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).b(5));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_SUGAR_CANE_SWAMP = a("patch_sugar_cane_swamp", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.SUGAR_CANE_CONFIG).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).b(20));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_SUGAR_CANE_DESERT = a("patch_sugar_cane_desert", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.SUGAR_CANE_CONFIG).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).b(60));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_SUGAR_CANE_BADLANDS = a("patch_sugar_cane_badlands", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.SUGAR_CANE_CONFIG).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).b(13));
    public static final WorldGenFeatureConfigured<?, ?> PATCH_SUGAR_CANE = a("patch_sugar_cane", (WorldGenFeatureConfigured) WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.SUGAR_CANE_CONFIG).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).b(10));
    public static final WorldGenFeatureConfigured<?, ?> BROWN_MUSHROOM_NETHER = a("brown_mushroom_nether", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) BiomeDecoratorGroups.PATCH_BROWN_MUSHROOM.a(BiomeDecoratorGroups.b.FULL_RANGE)).a(2));
    public static final WorldGenFeatureConfigured<?, ?> RED_MUSHROOM_NETHER = a("red_mushroom_nether", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) BiomeDecoratorGroups.PATCH_RED_MUSHROOM.a(BiomeDecoratorGroups.b.FULL_RANGE)).a(2));
    public static final WorldGenFeatureConfigured<?, ?> BROWN_MUSHROOM_NORMAL = a("brown_mushroom_normal", (WorldGenFeatureConfigured) BiomeDecoratorGroups.PATCH_BROWN_MUSHROOM.a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).a(4));
    public static final WorldGenFeatureConfigured<?, ?> RED_MUSHROOM_NORMAL = a("red_mushroom_normal", (WorldGenFeatureConfigured) BiomeDecoratorGroups.PATCH_RED_MUSHROOM.a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE).a(8));
    public static final WorldGenFeatureConfigured<?, ?> BROWN_MUSHROOM_TAIGA = a("brown_mushroom_taiga", ((WorldGenFeatureConfigured) BiomeDecoratorGroups.PATCH_BROWN_MUSHROOM.a(4)).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> RED_MUSHROOM_TAIGA = a("red_mushroom_taiga", ((WorldGenFeatureConfigured) BiomeDecoratorGroups.PATCH_RED_MUSHROOM.a(8)).a(BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> BROWN_MUSHROOM_GIANT = a("brown_mushroom_giant", (WorldGenFeatureConfigured) BiomeDecoratorGroups.BROWN_MUSHROOM_TAIGA.b(3));
    public static final WorldGenFeatureConfigured<?, ?> RED_MUSHROOM_GIANT = a("red_mushroom_giant", (WorldGenFeatureConfigured) BiomeDecoratorGroups.RED_MUSHROOM_TAIGA.b(3));
    public static final WorldGenFeatureConfigured<?, ?> BROWN_MUSHROOM_SWAMP = a("brown_mushroom_swamp", (WorldGenFeatureConfigured) BiomeDecoratorGroups.BROWN_MUSHROOM_TAIGA.b(8));
    public static final WorldGenFeatureConfigured<?, ?> RED_MUSHROOM_SWAMP = a("red_mushroom_swamp", (WorldGenFeatureConfigured) BiomeDecoratorGroups.RED_MUSHROOM_TAIGA.b(8));
    public static final ImmutableList<WorldGenFeatureOreConfiguration.b> ORE_IRON_TARGET_LIST = ImmutableList.of(WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.STONE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.IRON_ORE), WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.DEEPSLATE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.DEEPSLATE_IRON_ORE));
    public static final ImmutableList<WorldGenFeatureOreConfiguration.b> ORE_REDSTONE_TARGET_LIST = ImmutableList.of(WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.STONE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.REDSTONE_ORE), WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.DEEPSLATE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.DEEPSLATE_REDSTONE_ORE));
    public static final ImmutableList<WorldGenFeatureOreConfiguration.b> ORE_GOLD_TARGET_LIST = ImmutableList.of(WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.STONE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.GOLD_ORE), WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.DEEPSLATE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.DEEPSLATE_GOLD_ORE));
    public static final ImmutableList<WorldGenFeatureOreConfiguration.b> ORE_DIAMOND_TARGET_LIST = ImmutableList.of(WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.STONE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.DIAMOND_ORE), WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.DEEPSLATE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.DEEPSLATE_DIAMOND_ORE));
    public static final ImmutableList<WorldGenFeatureOreConfiguration.b> ORE_LAPIS_TARGET_LIST = ImmutableList.of(WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.STONE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.LAPIS_ORE), WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.DEEPSLATE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.DEEPSLATE_LAPIS_ORE));
    public static final ImmutableList<WorldGenFeatureOreConfiguration.b> ORE_EMERALD_TARGET_LIST = ImmutableList.of(WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.STONE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.EMERALD_ORE), WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.DEEPSLATE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.DEEPSLATE_EMERALD_ORE));
    public static final ImmutableList<WorldGenFeatureOreConfiguration.b> ORE_COPPER_TARGET_LIST = ImmutableList.of(WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.STONE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.COPPER_ORE), WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.DEEPSLATE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.DEEPSLATE_COPPER_ORE));
    public static final ImmutableList<WorldGenFeatureOreConfiguration.b> ORE_COAL_TARGET_LIST = ImmutableList.of(WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.STONE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.COAL_ORE), WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.DEEPSLATE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.DEEPSLATE_COAL_ORE));
    public static final ImmutableList<WorldGenFeatureOreConfiguration.b> ORE_INFESTED_TARGET_LIST = ImmutableList.of(WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.STONE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.INFESTED_STONE), WorldGenFeatureOreConfiguration.a(WorldGenFeatureOreConfiguration.Target.DEEPSLATE_ORE_REPLACEABLES, BiomeDecoratorGroups.c.INFESTED_DEEPSLATE));
    public static final WorldGenFeatureOreConfiguration ORE_IRON_CONFIG = new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_IRON_TARGET_LIST, 9);
    public static final WorldGenFeatureOreConfiguration ORE_REDSTONE_CONFIG = new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_REDSTONE_TARGET_LIST, 8);
    public static final WorldGenFeatureConfigured<?, ?> ORE_MAGMA = a("ore_magma", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NETHERRACK, BiomeDecoratorGroups.c.MAGMA_BLOCK, 33))).a(VerticalAnchor.a(27), VerticalAnchor.a(36))).a()).b(4));
    public static final WorldGenFeatureConfigured<?, ?> ORE_SOUL_SAND = a("ore_soul_sand", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NETHERRACK, BiomeDecoratorGroups.c.SOUL_SAND, 12))).a(VerticalAnchor.a(), VerticalAnchor.a(31))).a()).b(12));
    public static final WorldGenFeatureConfigured<?, ?> ORE_GOLD_DELTAS = a("ore_gold_deltas", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NETHERRACK, BiomeDecoratorGroups.c.NETHER_GOLD_ORE, 10))).a(BiomeDecoratorGroups.b.RANGE_10_10)).a()).b(20));
    public static final WorldGenFeatureConfigured<?, ?> ORE_QUARTZ_DELTAS = a("ore_quartz_deltas", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NETHERRACK, BiomeDecoratorGroups.c.NETHER_QUARTZ_ORE, 14))).a(BiomeDecoratorGroups.b.RANGE_10_10)).a()).b(32));
    public static final WorldGenFeatureConfigured<?, ?> ORE_GOLD_NETHER = a("ore_gold_nether", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NETHERRACK, BiomeDecoratorGroups.c.NETHER_GOLD_ORE, 10))).a(BiomeDecoratorGroups.b.RANGE_10_10)).a()).b(10));
    public static final WorldGenFeatureConfigured<?, ?> ORE_QUARTZ_NETHER = a("ore_quartz_nether", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NETHERRACK, BiomeDecoratorGroups.c.NETHER_QUARTZ_ORE, 14))).a(BiomeDecoratorGroups.b.RANGE_10_10)).a()).b(16));
    public static final WorldGenFeatureConfigured<?, ?> ORE_GRAVEL_NETHER = a("ore_gravel_nether", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NETHERRACK, BiomeDecoratorGroups.c.GRAVEL, 33))).a(VerticalAnchor.a(5), VerticalAnchor.a(41))).a()).b(2));
    public static final WorldGenFeatureConfigured<?, ?> ORE_BLACKSTONE = a("ore_blackstone", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NETHERRACK, BiomeDecoratorGroups.c.BLACKSTONE, 33))).a(VerticalAnchor.a(5), VerticalAnchor.a(31))).a()).b(2));
    public static final WorldGenFeatureConfigured<?, ?> ORE_DIRT = a("ore_dirt", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NATURAL_STONE, BiomeDecoratorGroups.c.DIRT, 33))).a(VerticalAnchor.a(0), VerticalAnchor.b())).a()).b(10));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_DIRT = a("prototype_ore_dirt", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NATURAL_STONE, BiomeDecoratorGroups.c.DIRT, 33))).a(VerticalAnchor.a(0), VerticalAnchor.b())).a()).b(15));
    public static final WorldGenFeatureConfigured<?, ?> ORE_GRAVEL = a("ore_gravel", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NATURAL_STONE, BiomeDecoratorGroups.c.GRAVEL, 33))).a(VerticalAnchor.a(0), VerticalAnchor.b())).a()).b(8));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_GRAVEL = a("prototype_ore_gravel", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NATURAL_STONE, BiomeDecoratorGroups.c.GRAVEL, 33))).a(VerticalAnchor.a(0), VerticalAnchor.b())).a()).b(12));
    public static final WorldGenFeatureConfigured<?, ?> ORE_GRANITE = a("ore_granite", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NATURAL_STONE, BiomeDecoratorGroups.c.GRANITE, 33))).a(VerticalAnchor.a(0), VerticalAnchor.a(79))).a()).b(10));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_GRANITE = a("prototype_ore_granite", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NATURAL_STONE, BiomeDecoratorGroups.c.GRANITE, 64))).a(VerticalAnchor.a(0), VerticalAnchor.a(79))).a()).b(2));
    public static final WorldGenFeatureConfigured<?, ?> ORE_DIORITE = a("ore_diorite", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NATURAL_STONE, BiomeDecoratorGroups.c.DIORITE, 33))).a(VerticalAnchor.a(0), VerticalAnchor.a(79))).a()).b(10));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_DIORITE = a("prototype_ore_diorite", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NATURAL_STONE, BiomeDecoratorGroups.c.DIORITE, 64))).a(VerticalAnchor.a(0), VerticalAnchor.a(79))).a()).b(2));
    public static final WorldGenFeatureConfigured<?, ?> ORE_ANDESITE = a("ore_andesite", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NATURAL_STONE, BiomeDecoratorGroups.c.ANDESITE, 33))).a(VerticalAnchor.a(0), VerticalAnchor.a(79))).a()).b(10));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_ANDESITE = a("prototype_ore_andesite", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NATURAL_STONE, BiomeDecoratorGroups.c.ANDESITE, 64))).a(VerticalAnchor.a(0), VerticalAnchor.a(79))).a()).b(2));
    public static final WorldGenFeatureConfigured<?, ?> ORE_TUFF = a("ore_tuff", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NATURAL_STONE, BiomeDecoratorGroups.c.TUFF, 33))).a(VerticalAnchor.a(0), VerticalAnchor.a(16))).a()).b(1));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_TUFF = a("prototype_ore_tuff", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NATURAL_STONE, BiomeDecoratorGroups.c.TUFF, 64))).a(VerticalAnchor.a(), VerticalAnchor.a(0))).a()).b(2));
    public static final WorldGenFeatureConfigured<?, ?> ORE_DEEPSLATE = a("ore_deepslate", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NATURAL_STONE, BiomeDecoratorGroups.c.DEEPSLATE, 64))).a(VerticalAnchor.a(0), VerticalAnchor.a(16))).a()).b(2));
    public static final WorldGenFeatureConfigured<?, ?> ORE_COAL = a("ore_coal", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_COAL_TARGET_LIST, 17))).a(VerticalAnchor.a(), VerticalAnchor.a(127))).a()).b(20));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_COAL_UPPER = a("prototype_ore_coal_upper", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_COAL_TARGET_LIST, 17))).a(VerticalAnchor.a(136), VerticalAnchor.b())).a()).b(30));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_COAL_LOWER = a("prototype_ore_coal_lower", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_COAL_TARGET_LIST, 17, 0.5F))).b(VerticalAnchor.a(0), VerticalAnchor.a(192))).a()).b(20));
    public static final WorldGenFeatureConfigured<?, ?> ORE_IRON = a("ore_iron", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_IRON_TARGET_LIST, 9))).a(VerticalAnchor.a(), VerticalAnchor.a(63))).a()).b(20));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_IRON_UPPER = a("prototype_ore_iron_upper", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.ORE_IRON_CONFIG).b(VerticalAnchor.a(128), VerticalAnchor.a(384))).a()).b(40));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_IRON_MIDDLE = a("prototype_ore_iron_middle", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.ORE_IRON_CONFIG).b(VerticalAnchor.a(-24), VerticalAnchor.a(56))).a()).b(5));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_IRON_SMALL = a("prototype_ore_iron_small", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_IRON_TARGET_LIST, 4))).a(VerticalAnchor.a(), VerticalAnchor.a(64))).a()).b(10));
    public static final WorldGenFeatureConfigured<?, ?> ORE_GOLD_EXTRA = a("ore_gold_extra", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_GOLD_TARGET_LIST, 9))).a(VerticalAnchor.a(32), VerticalAnchor.a(79))).a()).b(20));
    public static final WorldGenFeatureConfigured<?, ?> ORE_GOLD = a("ore_gold", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_GOLD_TARGET_LIST, 9))).a(VerticalAnchor.a(), VerticalAnchor.a(31))).a()).b(2));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_GOLD = a("prototype_ore_gold", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_GOLD_TARGET_LIST, 9, 0.5F))).b(VerticalAnchor.a(-64), VerticalAnchor.a(32))).a()).b(4));
    public static final WorldGenFeatureConfigured<?, ?> ORE_REDSTONE = a("ore_redstone", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.ORE_REDSTONE_CONFIG).a(VerticalAnchor.a(), VerticalAnchor.a(15))).a()).b(8));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_REDSTONE = a("prototype_ore_redstone", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.ORE_REDSTONE_CONFIG).a(VerticalAnchor.a(), VerticalAnchor.a(15))).a()).b(4));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_REDSTONE_LOWER = a("prototype_ore_redstone_lower", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.ORE_REDSTONE_CONFIG).b(VerticalAnchor.b(-32), VerticalAnchor.b(32))).a()).b(8));
    public static final WorldGenFeatureConfigured<?, ?> ORE_DIAMOND = a("ore_diamond", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_DIAMOND_TARGET_LIST, 8))).a(VerticalAnchor.a(), VerticalAnchor.a(15))).a());
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_DIAMOND = a("prototype_ore_diamond", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_DIAMOND_TARGET_LIST, 4, 0.5F))).b(VerticalAnchor.b(-80), VerticalAnchor.b(80))).a()).b(6));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_DIAMOND_LARGE = a("prototype_ore_diamond_large", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_DIAMOND_TARGET_LIST, 12, 0.7F))).b(VerticalAnchor.b(-80), VerticalAnchor.b(80))).a()).a(9));
    public static final WorldGenFeatureConfigured<?, ?> ORE_LAPIS = a("ore_lapis", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_LAPIS_TARGET_LIST, 7))).b(VerticalAnchor.a(0), VerticalAnchor.a(30))).a());
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_LAPIS = a("prototype_ore_lapis", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_LAPIS_TARGET_LIST, 7))).b(VerticalAnchor.a(-32), VerticalAnchor.a(32))).a()).b(2));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_LAPIS_BURIED = a("prototype_ore_lapis_buried", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SCATTERED_ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_LAPIS_TARGET_LIST, 7, 1.0F))).a(VerticalAnchor.a(), VerticalAnchor.a(64))).a()).b(4));
    public static final WorldGenFeatureConfigured<?, ?> ORE_INFESTED = a("ore_infested", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_INFESTED_TARGET_LIST, 9))).a(VerticalAnchor.a(), VerticalAnchor.a(63))).a()).b(7));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_INFESTED = a("prototype_ore_infested", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_INFESTED_TARGET_LIST, 9))).a(VerticalAnchor.a(), VerticalAnchor.a(63))).a()).b(14));
    public static final WorldGenFeatureConfigured<?, ?> ORE_EMERALD = a("ore_emerald", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.REPLACE_SINGLE_BLOCK.b((WorldGenFeatureConfiguration) (new WorldGenFeatureReplaceBlockConfiguration(BiomeDecoratorGroups.ORE_EMERALD_TARGET_LIST))).a(VerticalAnchor.a(4), VerticalAnchor.a(31))).a()).a((IntProvider) UniformInt.a(3, 8)));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_EMERALD = a("prototype_ore_emerald", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_EMERALD_TARGET_LIST, 3))).b(VerticalAnchor.a(32), VerticalAnchor.a(480))).a()).b(50));
    public static final WorldGenFeatureConfigured<?, ?> ORE_DEBRIS_LARGE = a("ore_debris_large", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SCATTERED_ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NETHER_ORE_REPLACEABLES, BiomeDecoratorGroups.c.ANCIENT_DEBRIS, 3, 1.0F))).b(VerticalAnchor.a(8), VerticalAnchor.a(24))).a());
    public static final WorldGenFeatureConfigured<?, ?> ORE_DEBRIS_SMALL = a("ore_debris_small", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SCATTERED_ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NETHER_ORE_REPLACEABLES, BiomeDecoratorGroups.c.ANCIENT_DEBRIS, 2, 1.0F))).a(BiomeDecoratorGroups.b.RANGE_8_8)).a());
    public static final WorldGenFeatureConfigured<?, ?> ORE_COPPER = a("ore_copper", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_COPPER_TARGET_LIST, 10))).b(VerticalAnchor.a(0), VerticalAnchor.a(96))).a()).b(6));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_ORE_COPPER = a("prototype_ore_copper", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(BiomeDecoratorGroups.ORE_COPPER_TARGET_LIST, 10))).a(VerticalAnchor.a(0), VerticalAnchor.a(63))).a()).b(8));
    public static final WorldGenFeatureConfigured<?, ?> ORE_CLAY = a("ore_clay", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ORE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureOreConfiguration(WorldGenFeatureOreConfiguration.Target.NATURAL_STONE, BiomeDecoratorGroups.c.CLAY, 33))).a(BiomeDecoratorGroups.b.RANGE_BOTTOM_TO_60)).a()).b(15));
    public static final WorldGenFeatureConfigured<?, ?> DRIPSTONE_CLUSTER_FEATURE = a("dripstone_cluster", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.DRIPSTONE_CLUSTER.b((WorldGenFeatureConfiguration) (new DripstoneClusterConfiguration(12, UniformInt.a(3, 6), UniformInt.a(2, 8), 1, 3, UniformInt.a(2, 4), UniformFloat.b(0.3F, 0.7F), ClampedNormalFloat.a(0.1F, 0.3F, 0.1F, 0.9F), 0.1F, 3, 8))).a(VerticalAnchor.a(), VerticalAnchor.a(59))).a()).a((IntProvider) UniformInt.a(10, 20)));
    public static final WorldGenFeatureConfigured<?, ?> LARGE_DRIPSTONE_FEATURE = a("large_dripstone", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.LARGE_DRIPSTONE.b((WorldGenFeatureConfiguration) (new LargeDripstoneConfiguration(30, UniformInt.a(3, 19), UniformFloat.b(0.4F, 2.0F), 0.33F, UniformFloat.b(0.3F, 0.9F), UniformFloat.b(0.4F, 1.0F), UniformFloat.b(0.0F, 0.3F), 4, 0.6F))).a(VerticalAnchor.a(), VerticalAnchor.a(59))).a()).a((IntProvider) UniformInt.a(2, 10)));
    public static final WorldGenFeatureConfigured<?, ?> SMALL_DRIPSTONE_FEATURE = a("small_dripstone", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SMALL_DRIPSTONE.b((WorldGenFeatureConfiguration) (new SmallDripstoneConfiguration(5, 10, 2, 0.2F))).a(VerticalAnchor.a(), VerticalAnchor.a(59))).a()).a((IntProvider) UniformInt.a(40, 120)));
    public static final WorldGenFeatureConfigured<?, ?> RARE_DRIPSTONE_CLUSTER_FEATURE = a("rare_dripstone_cluster", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.DRIPSTONE_CLUSTER.b((WorldGenFeatureConfiguration) (new DripstoneClusterConfiguration(12, UniformInt.a(3, 3), UniformInt.a(2, 6), 1, 3, UniformInt.a(2, 2), UniformFloat.b(0.3F, 0.4F), ClampedNormalFloat.a(0.1F, 0.3F, 0.1F, 0.9F), 0.1F, 3, 8))).a(VerticalAnchor.a(), VerticalAnchor.a(59))).a()).a((IntProvider) UniformInt.a(10, 10))).a(25));
    public static final WorldGenFeatureConfigured<?, ?> RARE_SMALL_DRIPSTONE_FEATURE = a("rare_small_dripstone", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SMALL_DRIPSTONE.b((WorldGenFeatureConfiguration) (new SmallDripstoneConfiguration(5, 10, 2, 0.2F))).a(VerticalAnchor.a(), VerticalAnchor.a(59))).a()).a((IntProvider) UniformInt.a(40, 80))).a(30));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_UNDERWATER_MAGMA = a("prototype_underwater_magma", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.UNDERWATER_MAGMA.b((WorldGenFeatureConfiguration) (new UnderwaterMagmaConfiguration(5, 1, 0.5F))).a()).a(VerticalAnchor.a(), VerticalAnchor.a(39))).a((IntProvider) UniformInt.a(4, 10)));
    public static final WorldGenFeatureConfigured<?, ?> GLOW_LICHEN = a("glow_lichen", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.GLOW_LICHEN.b((WorldGenFeatureConfiguration) (new GlowLichenConfiguration(20, false, true, true, 0.5F, ImmutableList.of(Blocks.STONE.getBlockData(), Blocks.ANDESITE.getBlockData(), Blocks.DIORITE.getBlockData(), Blocks.GRANITE.getBlockData(), Blocks.DRIPSTONE_BLOCK.getBlockData(), Blocks.CALCITE.getBlockData(), Blocks.TUFF.getBlockData(), Blocks.DEEPSLATE.getBlockData())))).a()).a(VerticalAnchor.a(), VerticalAnchor.a(54))).a((IntProvider) UniformInt.a(20, 30)));
    public static final WorldGenFeatureConfigured<?, ?> PROTOTYPE_GLOW_LICHEN = a("prototype_glow_lichen", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.GLOW_LICHEN.b((WorldGenFeatureConfiguration) (new GlowLichenConfiguration(20, false, true, true, 0.5F, ImmutableList.of(Blocks.STONE.getBlockData(), Blocks.ANDESITE.getBlockData(), Blocks.DIORITE.getBlockData(), Blocks.GRANITE.getBlockData(), Blocks.DRIPSTONE_BLOCK.getBlockData(), Blocks.CALCITE.getBlockData(), Blocks.TUFF.getBlockData(), Blocks.DEEPSLATE.getBlockData())))).a()).a(VerticalAnchor.a(), VerticalAnchor.a(54))).a((IntProvider) UniformInt.a(40, 60)));
    public static final WorldGenFeatureConfigured<?, ?> CRIMSON_FUNGI = a("crimson_fungi", WorldGenerator.HUGE_FUNGUS.b((WorldGenFeatureConfiguration) WorldGenFeatureHugeFungiConfiguration.HUGE_CRIMSON_FUNGI_NOT_PLANTED_CONFIG).a(WorldGenDecorator.COUNT_MULTILAYER.a(new WorldGenDecoratorFrequencyConfiguration(8))));
    public static final WorldGenFeatureConfigured<WorldGenFeatureHugeFungiConfiguration, ?> CRIMSON_FUNGI_PLANTED = a("crimson_fungi_planted", WorldGenerator.HUGE_FUNGUS.b((WorldGenFeatureConfiguration) WorldGenFeatureHugeFungiConfiguration.HUGE_CRIMSON_FUNGI_PLANTED_CONFIG));
    public static final WorldGenFeatureConfigured<?, ?> WARPED_FUNGI = a("warped_fungi", WorldGenerator.HUGE_FUNGUS.b((WorldGenFeatureConfiguration) WorldGenFeatureHugeFungiConfiguration.HUGE_WARPED_FUNGI_NOT_PLANTED_CONFIG).a(WorldGenDecorator.COUNT_MULTILAYER.a(new WorldGenDecoratorFrequencyConfiguration(8))));
    public static final WorldGenFeatureConfigured<WorldGenFeatureHugeFungiConfiguration, ?> WARPED_FUNGI_PLANTED = a("warped_fungi_planted", WorldGenerator.HUGE_FUNGUS.b((WorldGenFeatureConfiguration) WorldGenFeatureHugeFungiConfiguration.HUGE_WARPED_FUNGI_PLANTED_CONFIG));
    public static final WorldGenFeatureConfigured<?, ?> HUGE_BROWN_MUSHROOM = a("huge_brown_mushroom", WorldGenerator.HUGE_BROWN_MUSHROOM.b((WorldGenFeatureConfiguration) (new WorldGenFeatureMushroomConfiguration(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.HUGE_BROWN_MUSHROOM), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.HUGE_MUSHROOM_STEM), 3))));
    public static final WorldGenFeatureConfigured<?, ?> HUGE_RED_MUSHROOM = a("huge_red_mushroom", WorldGenerator.HUGE_RED_MUSHROOM.b((WorldGenFeatureConfiguration) (new WorldGenFeatureMushroomConfiguration(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.HUGE_RED_MUSHROOM), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.HUGE_MUSHROOM_STEM), 2))));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> OAK = a("oak", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.OAK_LOG), new TrunkPlacerStraight(4, 2, 0), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.OAK_LEAVES), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.OAK_SAPLING), new WorldGenFoilagePlacerBlob(ConstantInt.a(2), ConstantInt.a(0), 3), new FeatureSizeTwoLayers(1, 0, 1))).a().c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> DARK_OAK = a("dark_oak", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.DARK_OAK_LOG), new TrunkPlacerDarkOak(6, 2, 1), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.DARK_OAK_LEAVES), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.DARK_OAK_SAPLING), new WorldGenFoilagePlacerDarkOak(ConstantInt.a(0), ConstantInt.a(0)), new FeatureSizeThreeLayers(1, 1, 0, 1, 2, OptionalInt.empty()))).a().c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> BIRCH = a("birch", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.BIRCH_LOG), new TrunkPlacerStraight(5, 2, 0), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.BIRCH_LEAVES), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.BIRCH_SAPLING), new WorldGenFoilagePlacerBlob(ConstantInt.a(2), ConstantInt.a(0), 3), new FeatureSizeTwoLayers(1, 0, 1))).a().c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> ACACIA = a("acacia", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.ACACIA_LOG), new TrunkPlacerForking(5, 2, 2), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.ACACIA_LEAVES), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.ACACIA_SAPLING), new WorldGenFoilagePlacerAcacia(ConstantInt.a(2), ConstantInt.a(0)), new FeatureSizeTwoLayers(1, 0, 2))).a().c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> SPRUCE = a("spruce", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SPRUCE_LOG), new TrunkPlacerStraight(5, 2, 1), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SPRUCE_LEAVES), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SPRUCE_SAPLING), new WorldGenFoilagePlacerSpruce(UniformInt.a(2, 3), UniformInt.a(0, 2), UniformInt.a(1, 2)), new FeatureSizeTwoLayers(2, 0, 2))).a().c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> PINE = a("pine", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SPRUCE_LOG), new TrunkPlacerStraight(6, 4, 0), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SPRUCE_LEAVES), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SPRUCE_SAPLING), new WorldGenFoilagePlacerPine(ConstantInt.a(1), ConstantInt.a(1), UniformInt.a(3, 4)), new FeatureSizeTwoLayers(2, 0, 2))).a().c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> JUNGLE_TREE = a("jungle_tree", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.JUNGLE_LOG), new TrunkPlacerStraight(4, 8, 0), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.JUNGLE_LEAVES), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.JUNGLE_SAPLING), new WorldGenFoilagePlacerBlob(ConstantInt.a(2), ConstantInt.a(0), 3), new FeatureSizeTwoLayers(1, 0, 1))).a((List) ImmutableList.of(new WorldGenFeatureTreeCocoa(0.2F), WorldGenFeatureTreeVineTrunk.INSTANCE, WorldGenFeatureTreeVineLeaves.INSTANCE)).a().c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> FANCY_OAK = a("fancy_oak", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.OAK_LOG), new TrunkPlacerFancy(3, 11, 0), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.OAK_LEAVES), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.OAK_SAPLING), new WorldGenFoilagePlacerFancy(ConstantInt.a(2), ConstantInt.a(4), 4), new FeatureSizeTwoLayers(0, 0, 0, OptionalInt.of(4)))).a().c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> JUNGLE_TREE_NO_VINE = a("jungle_tree_no_vine", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.JUNGLE_LOG), new TrunkPlacerStraight(4, 8, 0), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.JUNGLE_LEAVES), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.JUNGLE_SAPLING), new WorldGenFoilagePlacerBlob(ConstantInt.a(2), ConstantInt.a(0), 3), new FeatureSizeTwoLayers(1, 0, 1))).a().c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> MEGA_JUNGLE_TREE = a("mega_jungle_tree", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.JUNGLE_LOG), new TrunkPlacerMegaJungle(10, 2, 19), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.JUNGLE_LEAVES), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.JUNGLE_SAPLING), new WorldGenFoilagePlacerJungle(ConstantInt.a(2), ConstantInt.a(0), 2), new FeatureSizeTwoLayers(1, 1, 2))).a((List) ImmutableList.of(WorldGenFeatureTreeVineTrunk.INSTANCE, WorldGenFeatureTreeVineLeaves.INSTANCE)).c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> MEGA_SPRUCE = a("mega_spruce", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SPRUCE_LOG), new TrunkPlacerGiant(13, 2, 14), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SPRUCE_LEAVES), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SPRUCE_SAPLING), new WorldGenFoilagePlacerMegaPine(ConstantInt.a(0), ConstantInt.a(0), UniformInt.a(13, 17)), new FeatureSizeTwoLayers(1, 1, 2))).a((List) ImmutableList.of(new WorldGenFeatureTreeAlterGround(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.PODZOL)))).c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> MEGA_PINE = a("mega_pine", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SPRUCE_LOG), new TrunkPlacerGiant(13, 2, 14), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SPRUCE_LEAVES), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SPRUCE_SAPLING), new WorldGenFoilagePlacerMegaPine(ConstantInt.a(0), ConstantInt.a(0), UniformInt.a(3, 7)), new FeatureSizeTwoLayers(1, 1, 2))).a((List) ImmutableList.of(new WorldGenFeatureTreeAlterGround(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.PODZOL)))).c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> SUPER_BIRCH_BEES_0002 = a("super_birch_bees_0002", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.BIRCH_LOG), new TrunkPlacerStraight(5, 2, 6), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.BIRCH_LEAVES), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.BIRCH_SAPLING), new WorldGenFoilagePlacerBlob(ConstantInt.a(2), ConstantInt.a(0), 3), new FeatureSizeTwoLayers(1, 0, 1))).a().a((List) ImmutableList.of(BiomeDecoratorGroups.b.BEEHIVE_0002)).c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> SWAMP_OAK = a("swamp_oak", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.OAK_LOG), new TrunkPlacerStraight(5, 3, 0), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.OAK_LEAVES), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.OAK_SAPLING), new WorldGenFoilagePlacerBlob(ConstantInt.a(3), ConstantInt.a(0), 3), new FeatureSizeTwoLayers(1, 0, 1))).a((List) ImmutableList.of(WorldGenFeatureTreeVineLeaves.INSTANCE)).c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> JUNGLE_BUSH = a("jungle_bush", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.JUNGLE_LOG), new TrunkPlacerStraight(1, 0, 0), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.OAK_LEAVES), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.OAK_SAPLING), new WorldGenFoilagePlacerBush(ConstantInt.a(2), ConstantInt.a(1), 2), new FeatureSizeTwoLayers(0, 0, 0))).c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> AZALEA_TREE = a("azalea_tree", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) (new WorldGenFeatureTreeConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.OAK_LOG), new BendingTrunkPlacer(4, 2, 0, 3, UniformInt.a(1, 2)), new WorldGenFeatureStateProviderWeighted(a().a(BiomeDecoratorGroups.c.AZALEA_LEAVES, 3).a(BiomeDecoratorGroups.c.FLOWERING_AZALEA_LEAVES, 1)), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.AZALEA), new RandomSpreadFoliagePlacer(ConstantInt.a(3), ConstantInt.a(0), ConstantInt.a(2), 50), new FeatureSizeTwoLayers(1, 0, 1))).a((WorldGenFeatureStateProvider) (new WorldGenFeatureStateProviderSimpl(Blocks.ROOTED_DIRT.getBlockData()))).b().c()));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> OAK_BEES_0002 = a("oak_bees_0002", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) ((WorldGenFeatureTreeConfiguration) BiomeDecoratorGroups.OAK.c()).a((List) ImmutableList.of(BiomeDecoratorGroups.b.BEEHIVE_0002))));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> OAK_BEES_002 = a("oak_bees_002", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) ((WorldGenFeatureTreeConfiguration) BiomeDecoratorGroups.OAK.c()).a((List) ImmutableList.of(BiomeDecoratorGroups.b.BEEHIVE_002))));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> OAK_BEES_005 = a("oak_bees_005", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) ((WorldGenFeatureTreeConfiguration) BiomeDecoratorGroups.OAK.c()).a((List) ImmutableList.of(BiomeDecoratorGroups.b.BEEHIVE_005))));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> BIRCH_BEES_0002 = a("birch_bees_0002", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) ((WorldGenFeatureTreeConfiguration) BiomeDecoratorGroups.BIRCH.c()).a((List) ImmutableList.of(BiomeDecoratorGroups.b.BEEHIVE_0002))));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> BIRCH_BEES_002 = a("birch_bees_002", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) ((WorldGenFeatureTreeConfiguration) BiomeDecoratorGroups.BIRCH.c()).a((List) ImmutableList.of(BiomeDecoratorGroups.b.BEEHIVE_002))));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> BIRCH_BEES_005 = a("birch_bees_005", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) ((WorldGenFeatureTreeConfiguration) BiomeDecoratorGroups.BIRCH.c()).a((List) ImmutableList.of(BiomeDecoratorGroups.b.BEEHIVE_005))));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> FANCY_OAK_BEES_0002 = a("fancy_oak_bees_0002", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) ((WorldGenFeatureTreeConfiguration) BiomeDecoratorGroups.FANCY_OAK.c()).a((List) ImmutableList.of(BiomeDecoratorGroups.b.BEEHIVE_0002))));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> FANCY_OAK_BEES_002 = a("fancy_oak_bees_002", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) ((WorldGenFeatureTreeConfiguration) BiomeDecoratorGroups.FANCY_OAK.c()).a((List) ImmutableList.of(BiomeDecoratorGroups.b.BEEHIVE_002))));
    public static final WorldGenFeatureConfigured<WorldGenFeatureTreeConfiguration, ?> FANCY_OAK_BEES_005 = a("fancy_oak_bees_005", WorldGenerator.TREE.b((WorldGenFeatureConfiguration) ((WorldGenFeatureTreeConfiguration) BiomeDecoratorGroups.FANCY_OAK.c()).a((List) ImmutableList.of(BiomeDecoratorGroups.b.BEEHIVE_005))));
    public static final WorldGenFeatureConfigured<?, ?> FLOWER_WARM = a("flower_warm", (WorldGenFeatureConfigured) WorldGenerator.FLOWER.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.DEFAULT_FLOWER_CONFIG).a(BiomeDecoratorGroups.b.ADD_32).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE).b(4));
    public static final WorldGenFeatureConfigured<?, ?> FLOWER_DEFAULT = a("flower_default", (WorldGenFeatureConfigured) WorldGenerator.FLOWER.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.DEFAULT_FLOWER_CONFIG).a(BiomeDecoratorGroups.b.ADD_32).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE).b(2));
    public static final WorldGenFeatureConfigured<?, ?> FLOWER_FOREST = a("flower_forest", (WorldGenFeatureConfigured) WorldGenerator.FLOWER.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(WorldGenFeatureStateProviderForestFlower.INSTANCE, WorldGenBlockPlacerSimple.INSTANCE)).a(64).d()).a(BiomeDecoratorGroups.b.ADD_32).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE).b(100));
    public static final WorldGenFeatureConfigured<?, ?> FLOWER_SWAMP = a("flower_swamp", WorldGenerator.FLOWER.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.BLUE_ORCHID), WorldGenBlockPlacerSimple.INSTANCE)).a(64).d()).a(BiomeDecoratorGroups.b.ADD_32).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> FLOWER_PLAIN = a("flower_plain", WorldGenerator.FLOWER.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(WorldGenFeatureStateProviderPlainFlower.INSTANCE, WorldGenBlockPlacerSimple.INSTANCE)).a(64).d()));
    public static final WorldGenFeatureConfigured<?, ?> FLOWER_PLAIN_DECORATED = a("flower_plain_decorated", ((WorldGenFeatureConfigured) BiomeDecoratorGroups.FLOWER_PLAIN.a(BiomeDecoratorGroups.b.ADD_32).a(BiomeDecoratorGroups.b.HEIGHTMAP).a()).a(WorldGenDecorator.COUNT_NOISE.a(new WorldGenFeatureDecoratorNoiseConfiguration(-0.8D, 15, 4))));
    private static final ImmutableList<Supplier<WorldGenFeatureConfigured<?, ?>>> FOREST_FLOWER_FEATURES = ImmutableList.of(() -> {
        return WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.LILAC), new WorldGenBlockPlacerDoublePlant())).a(64).b().d());
    }, () -> {
        return WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.ROSE_BUSH), new WorldGenBlockPlacerDoublePlant())).a(64).b().d());
    }, () -> {
        return WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.PEONY), new WorldGenBlockPlacerDoublePlant())).a(64).b().d());
    }, () -> {
        return WorldGenerator.NO_BONEMEAL_FLOWER.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.LILY_OF_THE_VALLEY), WorldGenBlockPlacerSimple.INSTANCE)).a(64).d());
    });
    public static final WorldGenFeatureConfigured<?, ?> FOREST_FLOWER_VEGETATION_COMMON = a("forest_flower_vegetation_common", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SIMPLE_RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandom2(BiomeDecoratorGroups.FOREST_FLOWER_FEATURES))).a((IntProvider) ClampedInt.a(UniformInt.a(-1, 3), 0, 3))).a(BiomeDecoratorGroups.b.ADD_32).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE).b(5));
    public static final WorldGenFeatureConfigured<?, ?> FOREST_FLOWER_VEGETATION = a("forest_flower_vegetation", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SIMPLE_RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandom2(BiomeDecoratorGroups.FOREST_FLOWER_FEATURES))).a((IntProvider) ClampedInt.a(UniformInt.a(-3, 1), 0, 1))).a(BiomeDecoratorGroups.b.ADD_32).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE).b(5));
    public static final WorldGenFeatureConfigured<?, ?> DARK_FOREST_VEGETATION_BROWN = a("dark_forest_vegetation_brown", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.HUGE_BROWN_MUSHROOM.a(0.025F), BiomeDecoratorGroups.HUGE_RED_MUSHROOM.a(0.05F), BiomeDecoratorGroups.DARK_OAK.a(0.6666667F), BiomeDecoratorGroups.BIRCH.a(0.2F), BiomeDecoratorGroups.FANCY_OAK.a(0.1F)), BiomeDecoratorGroups.OAK))).a(BiomeDecoratorGroups.b.DARK_OAK_DECORATOR));
    public static final WorldGenFeatureConfigured<?, ?> DARK_FOREST_VEGETATION_RED = a("dark_forest_vegetation_red", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.HUGE_RED_MUSHROOM.a(0.025F), BiomeDecoratorGroups.HUGE_BROWN_MUSHROOM.a(0.05F), BiomeDecoratorGroups.DARK_OAK.a(0.6666667F), BiomeDecoratorGroups.BIRCH.a(0.2F), BiomeDecoratorGroups.FANCY_OAK.a(0.1F)), BiomeDecoratorGroups.OAK))).a(BiomeDecoratorGroups.b.DARK_OAK_DECORATOR));
    public static final WorldGenFeatureConfigured<?, ?> WARM_OCEAN_VEGETATION = a("warm_ocean_vegetation", ((WorldGenFeatureConfigured) WorldGenerator.SIMPLE_RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandom2(ImmutableList.of(() -> {
        return WorldGenerator.CORAL_TREE.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE);
    }, () -> {
        return WorldGenerator.CORAL_CLAW.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE);
    }, () -> {
        return WorldGenerator.CORAL_MUSHROOM.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE);
    })))).a(BiomeDecoratorGroups.b.HEIGHTMAP_TOP_SOLID).a()).a(WorldGenDecorator.COUNT_NOISE_BIASED.a(new WorldGenDecoratorNoiseConfiguration(20, 400.0D, 0.0D))));
    public static final WorldGenFeatureConfigured<?, ?> FOREST_FLOWER_TREES = a("forest_flower_trees", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.BIRCH_BEES_002.a(0.2F), BiomeDecoratorGroups.FANCY_OAK_BEES_002.a(0.1F)), BiomeDecoratorGroups.OAK_BEES_002))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(6, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> TAIGA_VEGETATION = a("taiga_vegetation", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.PINE.a(0.33333334F)), BiomeDecoratorGroups.SPRUCE))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(10, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> TREES_BADLANDS = a("trees_badlands", BiomeDecoratorGroups.OAK.a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(5, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> TREES_SNOWY = a("trees_snowy", BiomeDecoratorGroups.SPRUCE.a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(0, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> TREES_SWAMP = a("trees_swamp", ((WorldGenFeatureConfigured) BiomeDecoratorGroups.SWAMP_OAK.a(BiomeDecoratorGroups.b.HEIGHTMAP_OCEAN_FLOOR).a(WorldGenDecorator.WATER_DEPTH_THRESHOLD.a(new WaterDepthThresholdConfiguration(1))).a()).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(2, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> TREES_SHATTERED_SAVANNA = a("trees_shattered_savanna", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.ACACIA.a(0.8F)), BiomeDecoratorGroups.OAK))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(2, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> TREES_SAVANNA = a("trees_savanna", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.ACACIA.a(0.8F)), BiomeDecoratorGroups.OAK))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(1, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> BIRCH_TALL = a("birch_tall", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.SUPER_BIRCH_BEES_0002.a(0.5F)), BiomeDecoratorGroups.BIRCH_BEES_0002))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(10, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> TREES_BIRCH = a("trees_birch", BiomeDecoratorGroups.BIRCH_BEES_0002.a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(10, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> TREES_MOUNTAIN_EDGE = a("trees_mountain_edge", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.SPRUCE.a(0.666F), BiomeDecoratorGroups.FANCY_OAK.a(0.1F)), BiomeDecoratorGroups.OAK))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(3, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> TREES_MOUNTAIN = a("trees_mountain", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.SPRUCE.a(0.666F), BiomeDecoratorGroups.FANCY_OAK.a(0.1F)), BiomeDecoratorGroups.OAK))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(0, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> TREES_WATER = a("trees_water", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.FANCY_OAK.a(0.1F)), BiomeDecoratorGroups.OAK))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(0, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> BIRCH_OTHER = a("birch_other", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.BIRCH_BEES_0002.a(0.2F), BiomeDecoratorGroups.FANCY_OAK_BEES_0002.a(0.1F)), BiomeDecoratorGroups.OAK_BEES_0002))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(10, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> PLAIN_VEGETATION = a("plain_vegetation", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.FANCY_OAK_BEES_005.a(0.33333334F)), BiomeDecoratorGroups.OAK_BEES_005))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(0, 0.05F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> TREES_JUNGLE_EDGE = a("trees_jungle_edge", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.FANCY_OAK.a(0.1F), BiomeDecoratorGroups.JUNGLE_BUSH.a(0.5F)), BiomeDecoratorGroups.JUNGLE_TREE))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(2, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> TREES_GIANT_SPRUCE = a("trees_giant_spruce", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.MEGA_SPRUCE.a(0.33333334F), BiomeDecoratorGroups.PINE.a(0.33333334F)), BiomeDecoratorGroups.SPRUCE))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(10, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> TREES_GIANT = a("trees_giant", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.MEGA_SPRUCE.a(0.025641026F), BiomeDecoratorGroups.MEGA_PINE.a(0.30769232F), BiomeDecoratorGroups.PINE.a(0.33333334F)), BiomeDecoratorGroups.SPRUCE))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(10, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> TREES_JUNGLE = a("trees_jungle", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.FANCY_OAK.a(0.1F), BiomeDecoratorGroups.JUNGLE_BUSH.a(0.5F), BiomeDecoratorGroups.MEGA_JUNGLE_TREE.a(0.33333334F)), BiomeDecoratorGroups.JUNGLE_TREE))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(50, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> BAMBOO_VEGETATION = a("bamboo_vegetation", WorldGenerator.RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandomChoiceConfiguration(ImmutableList.of(BiomeDecoratorGroups.FANCY_OAK.a(0.05F), BiomeDecoratorGroups.JUNGLE_BUSH.a(0.15F), BiomeDecoratorGroups.MEGA_JUNGLE_TREE.a(0.7F)), WorldGenerator.RANDOM_PATCH.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.a.JUNGLE_GRASS_CONFIG)))).a(BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED).a(WorldGenDecorator.COUNT_EXTRA.a(new WorldGenDecoratorFrequencyExtraChanceConfiguration(30, 0.1F, 1))));
    public static final WorldGenFeatureConfigured<?, ?> MUSHROOM_FIELD_VEGETATION = a("mushroom_field_vegetation", WorldGenerator.RANDOM_BOOLEAN_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureChoiceConfiguration(() -> {
        return BiomeDecoratorGroups.HUGE_RED_MUSHROOM;
    }, () -> {
        return BiomeDecoratorGroups.HUGE_BROWN_MUSHROOM;
    }))).a(BiomeDecoratorGroups.b.HEIGHTMAP_SQUARE));
    public static final WorldGenFeatureConfigured<?, ?> ROOTED_AZALEA_TREES = a("rooted_azalea_trees", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.ROOT_SYSTEM.b((WorldGenFeatureConfiguration) (new RootSystemConfiguration(() -> {
        return BiomeDecoratorGroups.AZALEA_TREE;
    }, 3, 3, TagsBlock.LUSH_GROUND_REPLACEABLE.a(), new WorldGenFeatureStateProviderSimpl(Blocks.ROOTED_DIRT.getBlockData()), 20, 100, 3, 2, new WorldGenFeatureStateProviderSimpl(Blocks.HANGING_ROOTS.getBlockData()), 20, 2))).a(WorldGenDecorator.CAVE_SURFACE.a(new CaveDecoratorConfiguration(CaveSurface.CEILING, 12))).a(BiomeDecoratorGroups.b.RANGE_BOTTOM_TO_60)).a()).a(2));
    private static final WorldGenFeatureStateProviderWeighted CAVE_VINES_BODY_PROVIDER = new WorldGenFeatureStateProviderWeighted(a().a(Blocks.CAVE_VINES_PLANT.getBlockData(), 4).a((IBlockData) Blocks.CAVE_VINES_PLANT.getBlockData().set(CaveVines.BERRIES, true), 1));
    private static final RandomizedIntStateProvider CAVE_VINES_HEAD_PROVIDER = new RandomizedIntStateProvider(new WorldGenFeatureStateProviderWeighted(a().a(Blocks.CAVE_VINES.getBlockData(), 4).a((IBlockData) Blocks.CAVE_VINES.getBlockData().set(CaveVines.BERRIES, true), 1)), CaveVinesBlock.AGE, UniformInt.a(17, 25));
    public static final WorldGenFeatureConfigured<GrowingPlantConfiguration, ?> CAVE_VINE = a("cave_vine", WorldGenerator.GROWING_PLANT.b((WorldGenFeatureConfiguration) (new GrowingPlantConfiguration(SimpleWeightedRandomList.a().a(UniformInt.a(1, 20), 2).a(UniformInt.a(1, 3), 3).a(UniformInt.a(1, 7), 10).a(), EnumDirection.DOWN, BiomeDecoratorGroups.CAVE_VINES_BODY_PROVIDER, BiomeDecoratorGroups.CAVE_VINES_HEAD_PROVIDER, false))));
    public static final WorldGenFeatureConfigured<GrowingPlantConfiguration, ?> CAVE_VINE_IN_MOSS = a("cave_vine_in_moss", WorldGenerator.GROWING_PLANT.b((WorldGenFeatureConfiguration) (new GrowingPlantConfiguration(SimpleWeightedRandomList.a().a(UniformInt.a(1, 4), 5).a(UniformInt.a(2, 8), 1).a(), EnumDirection.DOWN, BiomeDecoratorGroups.CAVE_VINES_BODY_PROVIDER, BiomeDecoratorGroups.CAVE_VINES_HEAD_PROVIDER, false))));
    public static final WorldGenFeatureConfigured<?, ?> CAVE_VINES = a("cave_vines", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) BiomeDecoratorGroups.CAVE_VINE.a(WorldGenDecorator.CAVE_SURFACE.a(new CaveDecoratorConfiguration(CaveSurface.CEILING, 12))).a(BiomeDecoratorGroups.b.RANGE_BOTTOM_TO_60)).a()).b(60));
    public static final WorldGenFeatureConfigured<WorldGenFeatureBlockConfiguration, ?> MOSS_VEGETATION = a("moss_vegetation", WorldGenerator.SIMPLE_BLOCK.b((WorldGenFeatureConfiguration) (new WorldGenFeatureBlockConfiguration(new WorldGenFeatureStateProviderWeighted(a().a(Blocks.FLOWERING_AZALEA.getBlockData(), 4).a(Blocks.AZALEA.getBlockData(), 7).a(Blocks.MOSS_CARPET.getBlockData(), 25).a(Blocks.GRASS.getBlockData(), 50).a(Blocks.TALL_GRASS.getBlockData(), 10))))));
    public static final WorldGenFeatureConfigured<VegetationPatchConfiguration, ?> MOSS_PATCH = a("moss_patch", WorldGenerator.VEGETATION_PATCH.b((WorldGenFeatureConfiguration) (new VegetationPatchConfiguration(TagsBlock.MOSS_REPLACEABLE.a(), new WorldGenFeatureStateProviderSimpl(Blocks.MOSS_BLOCK.getBlockData()), () -> {
        return BiomeDecoratorGroups.MOSS_VEGETATION;
    }, CaveSurface.FLOOR, ConstantInt.a(1), 0.0F, 5, 0.8F, UniformInt.a(4, 7), 0.3F))));
    public static final WorldGenFeatureConfigured<VegetationPatchConfiguration, ?> MOSS_PATCH_BONEMEAL = a("moss_patch_bonemeal", WorldGenerator.VEGETATION_PATCH.b((WorldGenFeatureConfiguration) (new VegetationPatchConfiguration(TagsBlock.MOSS_REPLACEABLE.a(), new WorldGenFeatureStateProviderSimpl(Blocks.MOSS_BLOCK.getBlockData()), () -> {
        return BiomeDecoratorGroups.MOSS_VEGETATION;
    }, CaveSurface.FLOOR, ConstantInt.a(1), 0.0F, 5, 0.6F, UniformInt.a(1, 2), 0.75F))));
    public static final WorldGenFeatureConfigured<?, ?> LUSH_CAVES_VEGETATION = a("lush_caves_vegetation", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) BiomeDecoratorGroups.MOSS_PATCH.a(WorldGenDecorator.CAVE_SURFACE.a(new CaveDecoratorConfiguration(CaveSurface.FLOOR, 12))).a(BiomeDecoratorGroups.b.RANGE_BOTTOM_TO_60)).a()).b(40));
    public static final WorldGenFeatureConfigured<WorldGenFeatureRandom2, ?> DRIPLEAF = a("dripleaf", WorldGenerator.SIMPLE_RANDOM_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureRandom2(ImmutableList.of(BiomeDecoratorGroups::b, () -> {
        return a(EnumDirection.EAST);
    }, () -> {
        return a(EnumDirection.WEST);
    }, () -> {
        return a(EnumDirection.SOUTH);
    }, () -> {
        return a(EnumDirection.NORTH);
    })))));
    public static final WorldGenFeatureConfigured<?, ?> CLAY_WITH_DRIPLEAVES = a("clay_with_dripleaves", WorldGenerator.VEGETATION_PATCH.b((WorldGenFeatureConfiguration) (new VegetationPatchConfiguration(TagsBlock.LUSH_GROUND_REPLACEABLE.a(), new WorldGenFeatureStateProviderSimpl(Blocks.CLAY.getBlockData()), () -> {
        return BiomeDecoratorGroups.DRIPLEAF;
    }, CaveSurface.FLOOR, ConstantInt.a(3), 0.8F, 2, 0.05F, UniformInt.a(4, 7), 0.7F))));
    public static final WorldGenFeatureConfigured<?, ?> CLAY_POOL_WITH_DRIPLEAVES = a("clay_pool_with_dripleaves", WorldGenerator.WATERLOGGED_VEGETATION_PATCH.b((WorldGenFeatureConfiguration) (new VegetationPatchConfiguration(TagsBlock.LUSH_GROUND_REPLACEABLE.a(), new WorldGenFeatureStateProviderSimpl(Blocks.CLAY.getBlockData()), () -> {
        return BiomeDecoratorGroups.DRIPLEAF;
    }, CaveSurface.FLOOR, ConstantInt.a(3), 0.8F, 5, 0.1F, UniformInt.a(4, 7), 0.7F))));
    public static final WorldGenFeatureConfigured<?, ?> LUSH_CAVES_CLAY = a("lush_caves_clay", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.RANDOM_BOOLEAN_SELECTOR.b((WorldGenFeatureConfiguration) (new WorldGenFeatureChoiceConfiguration(() -> {
        return BiomeDecoratorGroups.CLAY_WITH_DRIPLEAVES;
    }, () -> {
        return BiomeDecoratorGroups.CLAY_POOL_WITH_DRIPLEAVES;
    }))).a(WorldGenDecorator.CAVE_SURFACE.a(new CaveDecoratorConfiguration(CaveSurface.FLOOR, 12))).a(BiomeDecoratorGroups.b.RANGE_BOTTOM_TO_60)).a()).b(20));
    public static final WorldGenFeatureConfigured<VegetationPatchConfiguration, ?> MOSS_PATCH_CEILING = a("moss_patch_ceiling", WorldGenerator.VEGETATION_PATCH.b((WorldGenFeatureConfiguration) (new VegetationPatchConfiguration(TagsBlock.MOSS_REPLACEABLE.a(), new WorldGenFeatureStateProviderSimpl(Blocks.MOSS_BLOCK.getBlockData()), () -> {
        return BiomeDecoratorGroups.CAVE_VINE_IN_MOSS;
    }, CaveSurface.CEILING, UniformInt.a(1, 2), 0.0F, 5, 0.08F, UniformInt.a(4, 7), 0.3F))));
    public static final WorldGenFeatureConfigured<?, ?> LUSH_CAVES_CEILING_VEGETATION = a("lush_caves_ceiling_vegetation", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) BiomeDecoratorGroups.MOSS_PATCH_CEILING.a(WorldGenDecorator.CAVE_SURFACE.a(new CaveDecoratorConfiguration(CaveSurface.CEILING, 12))).a(BiomeDecoratorGroups.b.RANGE_BOTTOM_TO_60)).a()).b(40));
    public static final WorldGenFeatureConfigured<?, ?> SPORE_BLOSSOM_FEATURE = a("spore_blossom", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.SIMPLE_BLOCK.b((WorldGenFeatureConfiguration) (new WorldGenFeatureBlockConfiguration(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SPORE_BLOSSOM)))).a(WorldGenDecorator.CAVE_SURFACE.a(new CaveDecoratorConfiguration(CaveSurface.CEILING, 12))).a(BiomeDecoratorGroups.b.RANGE_BOTTOM_TO_60)).a()).b(8));
    public static final WorldGenFeatureConfigured<?, ?> CLASSIC_VINES_CAVE_FEATURE = a("classic_vines_cave_feature", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.VINES.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.NONE).a(BiomeDecoratorGroups.b.RANGE_BOTTOM_TO_60)).a()).b(127));
    public static final WorldGenFeatureConfigured<?, ?> AMETHYST_GEODE = a("amethyst_geode", (WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) ((WorldGenFeatureConfigured) WorldGenerator.GEODE.b((WorldGenFeatureConfiguration) (new GeodeConfiguration(new GeodeBlockSettings(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.AIR), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.AMETHYST_BLOCK), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.BUDDING_AMETHYST), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.CALCITE), new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SMOOTH_BASALT), ImmutableList.of(Blocks.SMALL_AMETHYST_BUD.getBlockData(), Blocks.MEDIUM_AMETHYST_BUD.getBlockData(), Blocks.LARGE_AMETHYST_BUD.getBlockData(), Blocks.AMETHYST_CLUSTER.getBlockData()), TagsBlock.FEATURES_CANNOT_REPLACE.a(), TagsBlock.GEODE_INVALID_BLOCKS.a()), new GeodeLayerSettings(1.7D, 2.2D, 3.2D, 4.2D), new GeodeCrackSettings(0.95D, 2.0D, 2), 0.35D, 0.083D, true, UniformInt.a(4, 6), UniformInt.a(3, 4), UniformInt.a(1, 2), -16, 16, 0.05D, 1))).a(VerticalAnchor.b(6), VerticalAnchor.a(46))).a()).a(53));

    public BiomeDecoratorGroups() {}

    static SimpleWeightedRandomList.a<IBlockData> a() {
        return SimpleWeightedRandomList.a();
    }

    private static WorldGenFeatureConfigured<GrowingPlantConfiguration, ?> a(EnumDirection enumdirection) {
        return WorldGenerator.GROWING_PLANT.b((WorldGenFeatureConfiguration) (new GrowingPlantConfiguration(SimpleWeightedRandomList.a().a(UniformInt.a(1, 5), 2).a(ConstantInt.a(1), 1).a(), EnumDirection.UP, new WorldGenFeatureStateProviderSimpl((IBlockData) Blocks.BIG_DRIPLEAF_STEM.getBlockData().set(BlockProperties.HORIZONTAL_FACING, enumdirection)), new WorldGenFeatureStateProviderSimpl((IBlockData) Blocks.BIG_DRIPLEAF.getBlockData().set(BlockProperties.HORIZONTAL_FACING, enumdirection)), true)));
    }

    private static WorldGenFeatureConfigured<WorldGenFeatureBlockConfiguration, ?> b() {
        return WorldGenerator.SIMPLE_BLOCK.b((WorldGenFeatureConfiguration) (new WorldGenFeatureBlockConfiguration(new WorldGenFeatureStateProviderWeighted(a().a(BiomeDecoratorGroups.c.SMALL_DRIPLEAF_EAST, 1).a(BiomeDecoratorGroups.c.SMALL_DRIPLEAF_WEST, 1).a(BiomeDecoratorGroups.c.SMALL_DRIPLEAF_NORTH, 1).a(BiomeDecoratorGroups.c.SMALL_DRIPLEAF_SOUTH, 1)))));
    }

    private static <FC extends WorldGenFeatureConfiguration> WorldGenFeatureConfigured<FC, ?> a(String s, WorldGenFeatureConfigured<FC, ?> worldgenfeatureconfigured) {
        return (WorldGenFeatureConfigured) IRegistry.a(RegistryGeneration.CONFIGURED_FEATURE, s, (Object) worldgenfeatureconfigured);
    }

    public static final class c {

        protected static final IBlockData GRASS = Blocks.GRASS.getBlockData();
        protected static final IBlockData FERN = Blocks.FERN.getBlockData();
        protected static final IBlockData PODZOL = Blocks.PODZOL.getBlockData();
        protected static final IBlockData COARSE_DIRT = Blocks.COARSE_DIRT.getBlockData();
        protected static final IBlockData MYCELIUM = Blocks.MYCELIUM.getBlockData();
        protected static final IBlockData SNOW_BLOCK = Blocks.SNOW_BLOCK.getBlockData();
        protected static final IBlockData ICE = Blocks.ICE.getBlockData();
        protected static final IBlockData OAK_LOG = Blocks.OAK_LOG.getBlockData();
        protected static final IBlockData OAK_LEAVES = Blocks.OAK_LEAVES.getBlockData();
        protected static final IBlockData OAK_SAPLING = Blocks.OAK_SAPLING.getBlockData();
        protected static final IBlockData JUNGLE_LOG = Blocks.JUNGLE_LOG.getBlockData();
        protected static final IBlockData JUNGLE_LEAVES = Blocks.JUNGLE_LEAVES.getBlockData();
        protected static final IBlockData JUNGLE_SAPLING = Blocks.JUNGLE_SAPLING.getBlockData();
        protected static final IBlockData SPRUCE_LOG = Blocks.SPRUCE_LOG.getBlockData();
        protected static final IBlockData SPRUCE_LEAVES = Blocks.SPRUCE_LEAVES.getBlockData();
        protected static final IBlockData SPRUCE_SAPLING = Blocks.SPRUCE_SAPLING.getBlockData();
        protected static final IBlockData ACACIA_LOG = Blocks.ACACIA_LOG.getBlockData();
        protected static final IBlockData ACACIA_LEAVES = Blocks.ACACIA_LEAVES.getBlockData();
        protected static final IBlockData ACACIA_SAPLING = Blocks.ACACIA_SAPLING.getBlockData();
        protected static final IBlockData BIRCH_LOG = Blocks.BIRCH_LOG.getBlockData();
        protected static final IBlockData BIRCH_LEAVES = Blocks.BIRCH_LEAVES.getBlockData();
        protected static final IBlockData BIRCH_SAPLING = Blocks.BIRCH_SAPLING.getBlockData();
        protected static final IBlockData DARK_OAK_LOG = Blocks.DARK_OAK_LOG.getBlockData();
        protected static final IBlockData DARK_OAK_LEAVES = Blocks.DARK_OAK_LEAVES.getBlockData();
        protected static final IBlockData DARK_OAK_SAPLING = Blocks.DARK_OAK_SAPLING.getBlockData();
        protected static final IBlockData GRASS_BLOCK = Blocks.GRASS_BLOCK.getBlockData();
        protected static final IBlockData LARGE_FERN = Blocks.LARGE_FERN.getBlockData();
        protected static final IBlockData TALL_GRASS = Blocks.TALL_GRASS.getBlockData();
        protected static final IBlockData LILAC = Blocks.LILAC.getBlockData();
        protected static final IBlockData ROSE_BUSH = Blocks.ROSE_BUSH.getBlockData();
        protected static final IBlockData PEONY = Blocks.PEONY.getBlockData();
        protected static final IBlockData BROWN_MUSHROOM = Blocks.BROWN_MUSHROOM.getBlockData();
        protected static final IBlockData RED_MUSHROOM = Blocks.RED_MUSHROOM.getBlockData();
        protected static final IBlockData PACKED_ICE = Blocks.PACKED_ICE.getBlockData();
        protected static final IBlockData BLUE_ICE = Blocks.BLUE_ICE.getBlockData();
        protected static final IBlockData LILY_OF_THE_VALLEY = Blocks.LILY_OF_THE_VALLEY.getBlockData();
        protected static final IBlockData BLUE_ORCHID = Blocks.BLUE_ORCHID.getBlockData();
        protected static final IBlockData POPPY = Blocks.POPPY.getBlockData();
        protected static final IBlockData DANDELION = Blocks.DANDELION.getBlockData();
        protected static final IBlockData DEAD_BUSH = Blocks.DEAD_BUSH.getBlockData();
        protected static final IBlockData MELON = Blocks.MELON.getBlockData();
        protected static final IBlockData PUMPKIN = Blocks.PUMPKIN.getBlockData();
        protected static final IBlockData SWEET_BERRY_BUSH = (IBlockData) Blocks.SWEET_BERRY_BUSH.getBlockData().set(BlockSweetBerryBush.AGE, 3);
        protected static final IBlockData FIRE = Blocks.FIRE.getBlockData();
        protected static final IBlockData SOUL_FIRE = Blocks.SOUL_FIRE.getBlockData();
        protected static final IBlockData NETHERRACK = Blocks.NETHERRACK.getBlockData();
        protected static final IBlockData SOUL_SOIL = Blocks.SOUL_SOIL.getBlockData();
        protected static final IBlockData CRIMSON_ROOTS = Blocks.CRIMSON_ROOTS.getBlockData();
        protected static final IBlockData LILY_PAD = Blocks.LILY_PAD.getBlockData();
        protected static final IBlockData SNOW = Blocks.SNOW.getBlockData();
        protected static final IBlockData JACK_O_LANTERN = Blocks.JACK_O_LANTERN.getBlockData();
        protected static final IBlockData SUNFLOWER = Blocks.SUNFLOWER.getBlockData();
        protected static final IBlockData CACTUS = Blocks.CACTUS.getBlockData();
        protected static final IBlockData SUGAR_CANE = Blocks.SUGAR_CANE.getBlockData();
        protected static final IBlockData HUGE_RED_MUSHROOM = (IBlockData) Blocks.RED_MUSHROOM_BLOCK.getBlockData().set(BlockHugeMushroom.DOWN, false);
        protected static final IBlockData HUGE_BROWN_MUSHROOM = (IBlockData) ((IBlockData) Blocks.BROWN_MUSHROOM_BLOCK.getBlockData().set(BlockHugeMushroom.UP, true)).set(BlockHugeMushroom.DOWN, false);
        protected static final IBlockData HUGE_MUSHROOM_STEM = (IBlockData) ((IBlockData) Blocks.MUSHROOM_STEM.getBlockData().set(BlockHugeMushroom.UP, false)).set(BlockHugeMushroom.DOWN, false);
        protected static final Fluid WATER_STATE = FluidTypes.WATER.h();
        protected static final Fluid LAVA_STATE = FluidTypes.LAVA.h();
        protected static final IBlockData WATER = Blocks.WATER.getBlockData();
        protected static final IBlockData LAVA = Blocks.LAVA.getBlockData();
        protected static final IBlockData DIRT = Blocks.DIRT.getBlockData();
        protected static final IBlockData GRAVEL = Blocks.GRAVEL.getBlockData();
        protected static final IBlockData GRANITE = Blocks.GRANITE.getBlockData();
        protected static final IBlockData DIORITE = Blocks.DIORITE.getBlockData();
        protected static final IBlockData ANDESITE = Blocks.ANDESITE.getBlockData();
        protected static final IBlockData COAL_ORE = Blocks.COAL_ORE.getBlockData();
        protected static final IBlockData DEEPSLATE_COAL_ORE = Blocks.DEEPSLATE_COAL_ORE.getBlockData();
        protected static final IBlockData COPPER_ORE = Blocks.COPPER_ORE.getBlockData();
        protected static final IBlockData DEEPSLATE_COPPER_ORE = Blocks.DEEPSLATE_COPPER_ORE.getBlockData();
        protected static final IBlockData IRON_ORE = Blocks.IRON_ORE.getBlockData();
        protected static final IBlockData DEEPSLATE_IRON_ORE = Blocks.DEEPSLATE_IRON_ORE.getBlockData();
        protected static final IBlockData GOLD_ORE = Blocks.GOLD_ORE.getBlockData();
        protected static final IBlockData DEEPSLATE_GOLD_ORE = Blocks.DEEPSLATE_GOLD_ORE.getBlockData();
        protected static final IBlockData REDSTONE_ORE = Blocks.REDSTONE_ORE.getBlockData();
        protected static final IBlockData DEEPSLATE_REDSTONE_ORE = Blocks.DEEPSLATE_REDSTONE_ORE.getBlockData();
        protected static final IBlockData DIAMOND_ORE = Blocks.DIAMOND_ORE.getBlockData();
        protected static final IBlockData DEEPSLATE_DIAMOND_ORE = Blocks.DEEPSLATE_DIAMOND_ORE.getBlockData();
        protected static final IBlockData LAPIS_ORE = Blocks.LAPIS_ORE.getBlockData();
        protected static final IBlockData DEEPSLATE_LAPIS_ORE = Blocks.DEEPSLATE_LAPIS_ORE.getBlockData();
        protected static final IBlockData STONE = Blocks.STONE.getBlockData();
        protected static final IBlockData EMERALD_ORE = Blocks.EMERALD_ORE.getBlockData();
        protected static final IBlockData DEEPSLATE_EMERALD_ORE = Blocks.DEEPSLATE_EMERALD_ORE.getBlockData();
        protected static final IBlockData INFESTED_STONE = Blocks.INFESTED_STONE.getBlockData();
        protected static final IBlockData INFESTED_DEEPSLATE = Blocks.INFESTED_DEEPSLATE.getBlockData();
        protected static final IBlockData SAND = Blocks.SAND.getBlockData();
        protected static final IBlockData CLAY = Blocks.CLAY.getBlockData();
        protected static final IBlockData MOSSY_COBBLESTONE = Blocks.MOSSY_COBBLESTONE.getBlockData();
        protected static final IBlockData SEAGRASS = Blocks.SEAGRASS.getBlockData();
        protected static final IBlockData MAGMA_BLOCK = Blocks.MAGMA_BLOCK.getBlockData();
        protected static final IBlockData SOUL_SAND = Blocks.SOUL_SAND.getBlockData();
        protected static final IBlockData NETHER_GOLD_ORE = Blocks.NETHER_GOLD_ORE.getBlockData();
        protected static final IBlockData NETHER_QUARTZ_ORE = Blocks.NETHER_QUARTZ_ORE.getBlockData();
        protected static final IBlockData BLACKSTONE = Blocks.BLACKSTONE.getBlockData();
        protected static final IBlockData ANCIENT_DEBRIS = Blocks.ANCIENT_DEBRIS.getBlockData();
        protected static final IBlockData BASALT = Blocks.BASALT.getBlockData();
        protected static final IBlockData CRIMSON_FUNGUS = Blocks.CRIMSON_FUNGUS.getBlockData();
        protected static final IBlockData WARPED_FUNGUS = Blocks.WARPED_FUNGUS.getBlockData();
        protected static final IBlockData WARPED_ROOTS = Blocks.WARPED_ROOTS.getBlockData();
        protected static final IBlockData NETHER_SPROUTS = Blocks.NETHER_SPROUTS.getBlockData();
        protected static final IBlockData AIR = Blocks.AIR.getBlockData();
        protected static final IBlockData AMETHYST_BLOCK = Blocks.AMETHYST_BLOCK.getBlockData();
        protected static final IBlockData BUDDING_AMETHYST = Blocks.BUDDING_AMETHYST.getBlockData();
        protected static final IBlockData CALCITE = Blocks.CALCITE.getBlockData();
        protected static final IBlockData SMOOTH_BASALT = Blocks.SMOOTH_BASALT.getBlockData();
        protected static final IBlockData TUFF = Blocks.TUFF.getBlockData();
        protected static final IBlockData SPORE_BLOSSOM = Blocks.SPORE_BLOSSOM.getBlockData();
        protected static final IBlockData SMALL_DRIPLEAF_EAST = (IBlockData) Blocks.SMALL_DRIPLEAF.getBlockData().set(SmallDripleafBlock.FACING, EnumDirection.EAST);
        protected static final IBlockData SMALL_DRIPLEAF_WEST = (IBlockData) Blocks.SMALL_DRIPLEAF.getBlockData().set(SmallDripleafBlock.FACING, EnumDirection.WEST);
        protected static final IBlockData SMALL_DRIPLEAF_NORTH = (IBlockData) Blocks.SMALL_DRIPLEAF.getBlockData().set(SmallDripleafBlock.FACING, EnumDirection.NORTH);
        protected static final IBlockData SMALL_DRIPLEAF_SOUTH = (IBlockData) Blocks.SMALL_DRIPLEAF.getBlockData().set(SmallDripleafBlock.FACING, EnumDirection.SOUTH);
        protected static final IBlockData BIG_DRIPLEAF_EAST = (IBlockData) Blocks.BIG_DRIPLEAF.getBlockData().set(BigDripleafBlock.FACING, EnumDirection.EAST);
        protected static final IBlockData BIG_DRIPLEAF_WEST = (IBlockData) Blocks.BIG_DRIPLEAF.getBlockData().set(BigDripleafBlock.FACING, EnumDirection.WEST);
        protected static final IBlockData BIG_DRIPLEAF_NORTH = (IBlockData) Blocks.BIG_DRIPLEAF.getBlockData().set(BigDripleafBlock.FACING, EnumDirection.NORTH);
        protected static final IBlockData BIG_DRIPLEAF_SOUTH = (IBlockData) Blocks.BIG_DRIPLEAF.getBlockData().set(BigDripleafBlock.FACING, EnumDirection.SOUTH);
        protected static final IBlockData DEEPSLATE = Blocks.DEEPSLATE.getBlockData();
        protected static final IBlockData AZALEA_LEAVES = Blocks.AZALEA_LEAVES.getBlockData();
        protected static final IBlockData FLOWERING_AZALEA_LEAVES = Blocks.FLOWERING_AZALEA_LEAVES.getBlockData();
        protected static final IBlockData AZALEA = Blocks.AZALEA.getBlockData();

        public c() {}
    }

    protected static final class b {

        public static final WorldGenFeatureTreeBeehive BEEHIVE_0002 = new WorldGenFeatureTreeBeehive(0.002F);
        public static final WorldGenFeatureTreeBeehive BEEHIVE_002 = new WorldGenFeatureTreeBeehive(0.02F);
        public static final WorldGenFeatureTreeBeehive BEEHIVE_005 = new WorldGenFeatureTreeBeehive(0.05F);
        public static final WorldGenDecoratorConfigured<HeightmapConfiguration> HEIGHTMAP = WorldGenDecorator.HEIGHTMAP.a(new HeightmapConfiguration(HeightMap.Type.MOTION_BLOCKING));
        public static final WorldGenDecoratorConfigured<HeightmapConfiguration> HEIGHTMAP_TOP_SOLID = WorldGenDecorator.HEIGHTMAP.a(new HeightmapConfiguration(HeightMap.Type.OCEAN_FLOOR_WG));
        public static final WorldGenDecoratorConfigured<HeightmapConfiguration> HEIGHTMAP_WORLD_SURFACE = WorldGenDecorator.HEIGHTMAP.a(new HeightmapConfiguration(HeightMap.Type.WORLD_SURFACE_WG));
        public static final WorldGenDecoratorConfigured<HeightmapConfiguration> HEIGHTMAP_OCEAN_FLOOR = WorldGenDecorator.HEIGHTMAP.a(new HeightmapConfiguration(HeightMap.Type.OCEAN_FLOOR));
        public static final WorldGenDecoratorConfigured<HeightmapConfiguration> HEIGHTMAP_DOUBLE = WorldGenDecorator.HEIGHTMAP_SPREAD_DOUBLE.a(new HeightmapConfiguration(HeightMap.Type.MOTION_BLOCKING));
        public static final WorldGenFeatureChanceDecoratorRangeConfiguration FULL_RANGE = new WorldGenFeatureChanceDecoratorRangeConfiguration(UniformHeight.a(VerticalAnchor.a(), VerticalAnchor.b()));
        public static final WorldGenFeatureChanceDecoratorRangeConfiguration RANGE_10_10 = new WorldGenFeatureChanceDecoratorRangeConfiguration(UniformHeight.a(VerticalAnchor.b(10), VerticalAnchor.c(10)));
        public static final WorldGenFeatureChanceDecoratorRangeConfiguration RANGE_8_8 = new WorldGenFeatureChanceDecoratorRangeConfiguration(UniformHeight.a(VerticalAnchor.b(8), VerticalAnchor.c(8)));
        public static final WorldGenFeatureChanceDecoratorRangeConfiguration RANGE_4_4 = new WorldGenFeatureChanceDecoratorRangeConfiguration(UniformHeight.a(VerticalAnchor.b(4), VerticalAnchor.c(4)));
        public static final WorldGenFeatureChanceDecoratorRangeConfiguration RANGE_BOTTOM_TO_60 = new WorldGenFeatureChanceDecoratorRangeConfiguration(UniformHeight.a(VerticalAnchor.a(), VerticalAnchor.a(60)));
        public static final WorldGenDecoratorConfigured<?> FIRE = (WorldGenDecoratorConfigured) ((WorldGenDecoratorConfigured) WorldGenDecorator.RANGE.a(BiomeDecoratorGroups.b.RANGE_4_4).a()).c(5);
        public static final WorldGenDecoratorConfigured<?> ADD_32 = WorldGenDecorator.SPREAD_32_ABOVE.a(WorldGenFeatureEmptyConfiguration2.INSTANCE);
        public static final WorldGenDecoratorConfigured<?> HEIGHTMAP_WITH_TREE_THRESHOLD = BiomeDecoratorGroups.b.HEIGHTMAP_OCEAN_FLOOR.a(WorldGenDecorator.WATER_DEPTH_THRESHOLD.a(new WaterDepthThresholdConfiguration(0)));
        public static final WorldGenDecoratorConfigured<?> HEIGHTMAP_WITH_TREE_THRESHOLD_SQUARED = (WorldGenDecoratorConfigured) BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD.a();
        public static final WorldGenDecoratorConfigured<?> HEIGHTMAP_SQUARE = (WorldGenDecoratorConfigured) BiomeDecoratorGroups.b.HEIGHTMAP.a();
        public static final WorldGenDecoratorConfigured<?> HEIGHTMAP_DOUBLE_SQUARE = (WorldGenDecoratorConfigured) BiomeDecoratorGroups.b.HEIGHTMAP_DOUBLE.a();
        public static final WorldGenDecoratorConfigured<?> TOP_SOLID_HEIGHTMAP_SQUARE = (WorldGenDecoratorConfigured) BiomeDecoratorGroups.b.HEIGHTMAP_TOP_SOLID.a();
        public static final WorldGenDecoratorConfigured<?> DARK_OAK_DECORATOR = BiomeDecoratorGroups.b.HEIGHTMAP_WITH_TREE_THRESHOLD.a(WorldGenDecorator.DARK_OAK_TREE.a(WorldGenFeatureDecoratorConfiguration.NONE));

        protected b() {}
    }

    public static final class a {

        public static final WorldGenFeatureRandomPatchConfiguration DEFAULT_GRASS_CONFIG = (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.GRASS), WorldGenBlockPlacerSimple.INSTANCE)).a(32).d();
        public static final WorldGenFeatureRandomPatchConfiguration TAIGA_GRASS_CONFIG = (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderWeighted(BiomeDecoratorGroups.a().a(BiomeDecoratorGroups.c.GRASS, 1).a(BiomeDecoratorGroups.c.FERN, 4)), WorldGenBlockPlacerSimple.INSTANCE)).a(32).d();
        public static final WorldGenFeatureRandomPatchConfiguration JUNGLE_GRASS_CONFIG = (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderWeighted(BiomeDecoratorGroups.a().a(BiomeDecoratorGroups.c.GRASS, 3).a(BiomeDecoratorGroups.c.FERN, 1)), WorldGenBlockPlacerSimple.INSTANCE)).b(ImmutableSet.of(BiomeDecoratorGroups.c.PODZOL)).a(32).d();
        public static final WorldGenFeatureRandomPatchConfiguration DEFAULT_FLOWER_CONFIG = (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderWeighted(BiomeDecoratorGroups.a().a(BiomeDecoratorGroups.c.POPPY, 2).a(BiomeDecoratorGroups.c.DANDELION, 1)), WorldGenBlockPlacerSimple.INSTANCE)).a(64).d();
        public static final WorldGenFeatureRandomPatchConfiguration DEAD_BUSH_CONFIG = (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.DEAD_BUSH), WorldGenBlockPlacerSimple.INSTANCE)).a(4).d();
        public static final WorldGenFeatureRandomPatchConfiguration SWEET_BERRY_BUSH_CONFIG = (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SWEET_BERRY_BUSH), WorldGenBlockPlacerSimple.INSTANCE)).a(64).a(ImmutableSet.of(BiomeDecoratorGroups.c.GRASS_BLOCK.getBlock())).b().d();
        public static final WorldGenFeatureRandomPatchConfiguration TALL_GRASS_CONFIG = (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.TALL_GRASS), new WorldGenBlockPlacerDoublePlant())).a(64).b().d();
        public static final WorldGenFeatureRandomPatchConfiguration SUGAR_CANE_CONFIG = (new WorldGenFeatureRandomPatchConfiguration.a(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.SUGAR_CANE), new WorldGenBlockPlacerColumn(BiasedToBottomInt.a(2, 4)))).a(20).b(4).c(0).d(4).b().c().d();
        public static final WorldGenFeatureHellFlowingLavaConfiguration LAVA_SPRING_CONFIG = new WorldGenFeatureHellFlowingLavaConfiguration(BiomeDecoratorGroups.c.LAVA_STATE, true, 4, 1, ImmutableSet.of(Blocks.STONE, Blocks.GRANITE, Blocks.DIORITE, Blocks.ANDESITE, Blocks.DEEPSLATE, Blocks.TUFF, new Block[0]));
        public static final WorldGenFeatureHellFlowingLavaConfiguration CLOSED_NETHER_SPRING_CONFIG = new WorldGenFeatureHellFlowingLavaConfiguration(BiomeDecoratorGroups.c.LAVA_STATE, false, 5, 0, ImmutableSet.of(Blocks.NETHERRACK));
        public static final WorldGenFeatureBlockPileConfiguration CRIMSON_FOREST_CONFIG = new WorldGenFeatureBlockPileConfiguration(new WorldGenFeatureStateProviderWeighted(BiomeDecoratorGroups.a().a(BiomeDecoratorGroups.c.CRIMSON_ROOTS, 87).a(BiomeDecoratorGroups.c.CRIMSON_FUNGUS, 11).a(BiomeDecoratorGroups.c.WARPED_FUNGUS, 1)));
        public static final WorldGenFeatureBlockPileConfiguration WARPED_FOREST_CONFIG = new WorldGenFeatureBlockPileConfiguration(new WorldGenFeatureStateProviderWeighted(BiomeDecoratorGroups.a().a(BiomeDecoratorGroups.c.WARPED_ROOTS, 85).a(BiomeDecoratorGroups.c.CRIMSON_ROOTS, 1).a(BiomeDecoratorGroups.c.WARPED_FUNGUS, 13).a(BiomeDecoratorGroups.c.CRIMSON_FUNGUS, 1)));
        public static final WorldGenFeatureBlockPileConfiguration NETHER_SPROUTS_CONFIG = new WorldGenFeatureBlockPileConfiguration(new WorldGenFeatureStateProviderSimpl(BiomeDecoratorGroups.c.NETHER_SPROUTS));

        public a() {}
    }
}
