    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    }