    001    package net.minecraft.world.gen.layer;
    002
    003    import net.minecraft.world.biome.BiomeGenBase;
    004
    005    public class GenLayerRiverMix extends GenLayer
    006    {
    007        private GenLayer biomePatternGeneratorChain;
    008        private GenLayer riverPatternGeneratorChain;
    009
    010        public GenLayerRiverMix(long par1, GenLayer par3GenLayer, GenLayer par4GenLayer)
    011        {
    012            super(par1);
    013            this.biomePatternGeneratorChain = par3GenLayer;
    014            this.riverPatternGeneratorChain = par4GenLayer;
    015        }
    016
    017        /**
    018         * Initialize layer's local worldGenSeed based on its own baseSeed and the world's global seed (passed in as an
    019         * argument).
    020         */
    021        public void initWorldGenSeed(long par1)
    022        {
    023            this.biomePatternGeneratorChain.initWorldGenSeed(par1);
    024            this.riverPatternGeneratorChain.initWorldGenSeed(par1);
    025            super.initWorldGenSeed(par1);
    026        }
    027
    028        /**
    029         * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall
    030         * amounts, or biomeList[] indices based on the particular GenLayer subclass.
    031         */
    032        public int[] getInts(int par1, int par2, int par3, int par4)
    033        {
    034            int[] var5 = this.biomePatternGeneratorChain.getInts(par1, par2, par3, par4);
    035            int[] var6 = this.riverPatternGeneratorChain.getInts(par1, par2, par3, par4);
    036            int[] var7 = IntCache.getIntCache(par3 * par4);
    037
    038            for (int var8 = 0; var8 < par3 * par4; ++var8)
    039            {
    040                if (var5[var8] == BiomeGenBase.ocean.biomeID)
    041                {
    042                    var7[var8] = var5[var8];
    043                }
    044                else if (var6[var8] >= 0)
    045                {
    046                    if (var5[var8] == BiomeGenBase.icePlains.biomeID)
    047                    {
    048                        var7[var8] = BiomeGenBase.frozenRiver.biomeID;
    049                    }
    050                    else if (var5[var8] != BiomeGenBase.mushroomIsland.biomeID && var5[var8] != BiomeGenBase.mushroomIslandShore.biomeID)
    051                    {
    052                        var7[var8] = var6[var8];
    053                    }
    054                    else
    055                    {
    056                        var7[var8] = BiomeGenBase.mushroomIslandShore.biomeID;
    057                    }
    058                }
    059                else
    060                {
    061                    var7[var8] = var5[var8];
    062                }
    063            }
    064
    065            return var7;
    066        }
    067    }