001    package net.minecraft.src;
002    
003    import java.util.Arrays;
004    import java.util.List;
005    import java.util.Random;
006    
007    public class MapGenScatteredFeature extends MapGenStructure
008    {
009        private static List biomelist = Arrays.asList(new BiomeGenBase[] {BiomeGenBase.desert, BiomeGenBase.desertHills, BiomeGenBase.jungle});
010    
011        protected boolean canSpawnStructureAtCoords(int par1, int par2)
012        {
013            byte var3 = 32;
014            byte var4 = 8;
015            int var5 = par1;
016            int var6 = par2;
017    
018            if (par1 < 0)
019            {
020                par1 -= var3 - 1;
021            }
022    
023            if (par2 < 0)
024            {
025                par2 -= var3 - 1;
026            }
027    
028            int var7 = par1 / var3;
029            int var8 = par2 / var3;
030            Random var9 = this.worldObj.setRandomSeed(var7, var8, 14357617);
031            var7 *= var3;
032            var8 *= var3;
033            var7 += var9.nextInt(var3 - var4);
034            var8 += var9.nextInt(var3 - var4);
035    
036            if (var5 == var7 && var6 == var8)
037            {
038                boolean var10 = this.worldObj.getWorldChunkManager().areBiomesViable(var5 * 16 + 8, var6 * 16 + 8, 0, biomelist);
039    
040                if (var10)
041                {
042                    return true;
043                }
044            }
045    
046            return false;
047        }
048    
049        protected StructureStart getStructureStart(int par1, int par2)
050        {
051            return new StructureScatteredFeatureStart(this.worldObj, this.rand, par1, par2);
052        }
053    }