001 package net.minecraft.world.biome; 002 003 public class BiomeCacheBlock 004 { 005 /** An array of chunk temperatures saved by this cache. */ 006 public float[] temperatureValues; 007 008 /** An array of chunk rainfall values saved by this cache. */ 009 public float[] rainfallValues; 010 011 /** The array of biome types stored in this BiomeCacheBlock. */ 012 public BiomeGenBase[] biomes; 013 014 /** The x coordinate of the BiomeCacheBlock. */ 015 public int xPosition; 016 017 /** The z coordinate of the BiomeCacheBlock. */ 018 public int zPosition; 019 020 /** The last time this BiomeCacheBlock was accessed, in milliseconds. */ 021 public long lastAccessTime; 022 023 /** The BiomeCache object that contains this BiomeCacheBlock */ 024 final BiomeCache theBiomeCache; 025 026 public BiomeCacheBlock(BiomeCache par1BiomeCache, int par2, int par3) 027 { 028 this.theBiomeCache = par1BiomeCache; 029 this.temperatureValues = new float[256]; 030 this.rainfallValues = new float[256]; 031 this.biomes = new BiomeGenBase[256]; 032 this.xPosition = par2; 033 this.zPosition = par3; 034 BiomeCache.getChunkManager(par1BiomeCache).getTemperatures(this.temperatureValues, par2 << 4, par3 << 4, 16, 16); 035 BiomeCache.getChunkManager(par1BiomeCache).getRainfall(this.rainfallValues, par2 << 4, par3 << 4, 16, 16); 036 BiomeCache.getChunkManager(par1BiomeCache).getBiomeGenAt(this.biomes, par2 << 4, par3 << 4, 16, 16, false); 037 } 038 039 /** 040 * Returns the BiomeGenBase related to the x, z position from the cache block. 041 */ 042 public BiomeGenBase getBiomeGenAt(int par1, int par2) 043 { 044 return this.biomes[par1 & 15 | (par2 & 15) << 4]; 045 } 046 }