public static GenLayerRiverMix traditionalExpansion(long par0, GenLayer genlayer3, ClimateControlSettings settings)
    {
        BiomeRandomizer.instance.set(settings.biomeIncidences);
        boolean flag = false;
        byte b0 = 4;
        if (settings.biomeSize.value() != null);
        {
            b0 = (byte)settings.biomeSize.value().intValue();
        }

        GenLayer genlayer = GenLayerZoom.magnify(1000L, genlayer3, 0);
        GenLayerRiverInit genlayerriverinit = new GenLayerRiverInit(100L, genlayer);
        GenLayer biomes = null;
        if (settings.randomBiomes.value())
        {
            biomes = new GenLayerRandomBiomes(par0, genlayer3);
        }
        else
        {
            biomes = new GenLayerBiomeByClimate(par0, genlayer3);
        }// par2WorldType.getBiomeLayer(par0, genlayer3);

        GenLayer object = new GenLayerZoom(1000L, biomes);
        object = new GenLayerAddLand(1000L, object);
        object = new GenLayerClimateSmooth(100L, object);
        object = new GenLayerZoom(1001L, object);
        object = new GenLayerAddLand(1000L, object);
        object = new GenLayerClimateSmooth(101L, object);

        // object = biomes; this is to shrink maps for viewing in AMIDST
        GenLayer genlayer1 = GenLayerZoom.magnify(1000L, genlayerriverinit, 2);
        GenLayer genlayerhills = new GenLayerDederpedHills(1000L, object, genlayer1);

        genlayer = GenLayerZoom.magnify(1000L, genlayerriverinit, 2);
        genlayer = GenLayerZoom.magnify(1000L, genlayer, b0);
        GenLayerRiver genlayerriver = new GenLayerRiver(1L, genlayer);
        GenLayerSmooth genlayersmooth = new GenLayerSmooth(1000L, genlayerriver);
        object = new GenLayerRareBiome(1001L, genlayerhills);

        for (int j = 0; j < b0; ++j)
        {
            object = new GenLayerZoom(1000 + j, object);

            if (j == 0)
            {
                object = new GenLayerAddIsland(3L, object);
                object = new GenLayerClimateSmooth(100L, object);
            }

            if (j == 1)
            {
                object = new GenLayerShore(1000L, object);
            }
        }

        GenLayer genlayersmooth1 = new GenLayerSmooth(1000L, object);
        GenLayerRiverMix genlayerrivermix = new GenLayerRiverMix(100L, genlayersmooth1, genlayersmooth);
        GenLayerVoronoiZoom genlayervoronoizoom = new GenLayerVoronoiZoom(10L, genlayerrivermix);
        genlayerrivermix.initWorldGenSeed(par0);
        genlayervoronoizoom.initWorldGenSeed(par0);
        return genlayerrivermix;
    }