int m = paramInt2 + paramInt3 >> 2;
int n = k - i + 1;
int i1 = m - j + 1;
int[] arrayOfInt = this.biomeGenerator.getBiomesUnZoomed(null, i, j, n, i1, OutputType.DEFAULT_FOR_WORLD);
ChunkPosition localChunkPosition = null;
int i2 = 0;
for (int i3 = 0; i3 < arrayOfInt.length; i3++)
{
if (arrayOfInt[i3] >= DefaultBiome.values().length)
continue;
int i4 = i + i3 % n << 2;
int i5 = j + i3 / n << 2;
BiomeGenBase localBiomeBase = BiomeGenBase.getBiome(arrayOfInt[i3]);
if ((!paramList.contains(localBiomeBase)) || ((localChunkPosition != null) && (paramRandom.nextInt(i2 + 1) != 0)))
continue;
localChunkPosition = new ChunkPosition(i4, 0, i5);
i2++;
}
return localChunkPosition;
}