001    package net.minecraft.world.gen.layer;
002    
003    import net.minecraft.world.biome.BiomeGenBase;
004    
005    public class GenLayerShore extends GenLayer
006    {
007        public GenLayerShore(long par1, GenLayer par3GenLayer)
008        {
009            super(par1);
010            this.parent = par3GenLayer;
011        }
012    
013        /**
014         * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall
015         * amounts, or biomeList[] indices based on the particular GenLayer subclass.
016         */
017        public int[] getInts(int par1, int par2, int par3, int par4)
018        {
019            int[] var5 = this.parent.getInts(par1 - 1, par2 - 1, par3 + 2, par4 + 2);
020            int[] var6 = IntCache.getIntCache(par3 * par4);
021    
022            for (int var7 = 0; var7 < par4; ++var7)
023            {
024                for (int var8 = 0; var8 < par3; ++var8)
025                {
026                    this.initChunkSeed((long)(var8 + par1), (long)(var7 + par2));
027                    int var9 = var5[var8 + 1 + (var7 + 1) * (par3 + 2)];
028                    int var10;
029                    int var11;
030                    int var12;
031                    int var13;
032    
033                    if (var9 == BiomeGenBase.mushroomIsland.biomeID)
034                    {
035                        var10 = var5[var8 + 1 + (var7 + 1 - 1) * (par3 + 2)];
036                        var11 = var5[var8 + 1 + 1 + (var7 + 1) * (par3 + 2)];
037                        var12 = var5[var8 + 1 - 1 + (var7 + 1) * (par3 + 2)];
038                        var13 = var5[var8 + 1 + (var7 + 1 + 1) * (par3 + 2)];
039    
040                        if (var10 != BiomeGenBase.ocean.biomeID && var11 != BiomeGenBase.ocean.biomeID && var12 != BiomeGenBase.ocean.biomeID && var13 != BiomeGenBase.ocean.biomeID)
041                        {
042                            var6[var8 + var7 * par3] = var9;
043                        }
044                        else
045                        {
046                            var6[var8 + var7 * par3] = BiomeGenBase.mushroomIslandShore.biomeID;
047                        }
048                    }
049                    else if (var9 != BiomeGenBase.ocean.biomeID && var9 != BiomeGenBase.river.biomeID && var9 != BiomeGenBase.swampland.biomeID && var9 != BiomeGenBase.extremeHills.biomeID)
050                    {
051                        var10 = var5[var8 + 1 + (var7 + 1 - 1) * (par3 + 2)];
052                        var11 = var5[var8 + 1 + 1 + (var7 + 1) * (par3 + 2)];
053                        var12 = var5[var8 + 1 - 1 + (var7 + 1) * (par3 + 2)];
054                        var13 = var5[var8 + 1 + (var7 + 1 + 1) * (par3 + 2)];
055    
056                        if (var10 != BiomeGenBase.ocean.biomeID && var11 != BiomeGenBase.ocean.biomeID && var12 != BiomeGenBase.ocean.biomeID && var13 != BiomeGenBase.ocean.biomeID)
057                        {
058                            var6[var8 + var7 * par3] = var9;
059                        }
060                        else
061                        {
062                            var6[var8 + var7 * par3] = BiomeGenBase.beach.biomeID;
063                        }
064                    }
065                    else if (var9 == BiomeGenBase.extremeHills.biomeID)
066                    {
067                        var10 = var5[var8 + 1 + (var7 + 1 - 1) * (par3 + 2)];
068                        var11 = var5[var8 + 1 + 1 + (var7 + 1) * (par3 + 2)];
069                        var12 = var5[var8 + 1 - 1 + (var7 + 1) * (par3 + 2)];
070                        var13 = var5[var8 + 1 + (var7 + 1 + 1) * (par3 + 2)];
071    
072                        if (var10 == BiomeGenBase.extremeHills.biomeID && var11 == BiomeGenBase.extremeHills.biomeID && var12 == BiomeGenBase.extremeHills.biomeID && var13 == BiomeGenBase.extremeHills.biomeID)
073                        {
074                            var6[var8 + var7 * par3] = var9;
075                        }
076                        else
077                        {
078                            var6[var8 + var7 * par3] = BiomeGenBase.extremeHillsEdge.biomeID;
079                        }
080                    }
081                    else
082                    {
083                        var6[var8 + var7 * par3] = var9;
084                    }
085                }
086            }
087    
088            return var6;
089        }
090    }