48 lines
1.5 KiB
Java
48 lines
1.5 KiB
Java
package biomesoplenty.helpers;
|
|
|
|
import net.minecraft.world.biome.BiomeGenBase;
|
|
|
|
public class BiomeCacheBlockPromised
|
|
{
|
|
/** An array of chunk temperatures saved by this cache. */
|
|
public float[] temperatureValues;
|
|
|
|
/** An array of chunk rainfall values saved by this cache. */
|
|
public float[] rainfallValues;
|
|
|
|
/** The array of biome types stored in this BiomeCacheBlock. */
|
|
public BiomeGenBase[] biomes;
|
|
|
|
/** The x coordinate of the BiomeCacheBlock. */
|
|
public int xPosition;
|
|
|
|
/** The z coordinate of the BiomeCacheBlock. */
|
|
public int zPosition;
|
|
|
|
/** The last time this BiomeCacheBlock was accessed, in milliseconds. */
|
|
public long lastAccessTime;
|
|
|
|
/** The BiomeCache object that contains this BiomeCacheBlock */
|
|
final BiomeCachePromised theBiomeCache;
|
|
|
|
public BiomeCacheBlockPromised(BiomeCachePromised par1BiomeCache, int par2, int par3)
|
|
{
|
|
theBiomeCache = par1BiomeCache;
|
|
temperatureValues = new float[256];
|
|
rainfallValues = new float[256];
|
|
biomes = new BiomeGenBase[256];
|
|
xPosition = par2;
|
|
zPosition = par3;
|
|
BiomeCachePromised.getChunkManager(par1BiomeCache).getTemperatures(temperatureValues, par2 << 4, par3 << 4, 16, 16);
|
|
BiomeCachePromised.getChunkManager(par1BiomeCache).getRainfall(rainfallValues, par2 << 4, par3 << 4, 16, 16);
|
|
BiomeCachePromised.getChunkManager(par1BiomeCache).getBiomeGenAt(biomes, par2 << 4, par3 << 4, 16, 16, false);
|
|
}
|
|
|
|
/**
|
|
* Returns the BiomeGenBase related to the x, z position from the cache block.
|
|
*/
|
|
public BiomeGenBase getBiomeGenAt(int par1, int par2)
|
|
{
|
|
return biomes[par1 & 15 | (par2 & 15) << 4];
|
|
}
|
|
}
|