001 package net.minecraft.src;
002
003 import cpw.mods.fml.common.Side;
004 import cpw.mods.fml.common.asm.SideOnly;
005
006 public interface IBlockAccess
007 {
008 /**
009 * Returns the block ID at coords x,y,z
010 */
011 int getBlockId(int var1, int var2, int var3);
012
013 /**
014 * Returns the TileEntity associated with a given block in X,Y,Z coordinates, or null if no TileEntity exists
015 */
016 TileEntity getBlockTileEntity(int var1, int var2, int var3);
017
018 @SideOnly(Side.CLIENT)
019
020 /**
021 * Any Light rendered on a 1.8 Block goes through here
022 */
023 int getLightBrightnessForSkyBlocks(int var1, int var2, int var3, int var4);
024
025 @SideOnly(Side.CLIENT)
026 float getBrightness(int var1, int var2, int var3, int var4);
027
028 @SideOnly(Side.CLIENT)
029
030 /**
031 * Returns how bright the block is shown as which is the block's light value looked up in a lookup table (light
032 * values aren't linear for brightness). Args: x, y, z
033 */
034 float getLightBrightness(int var1, int var2, int var3);
035
036 /**
037 * Returns the block metadata at coords x,y,z
038 */
039 int getBlockMetadata(int var1, int var2, int var3);
040
041 /**
042 * Returns the block's material.
043 */
044 Material getBlockMaterial(int var1, int var2, int var3);
045
046 @SideOnly(Side.CLIENT)
047
048 /**
049 * Returns true if the block at the specified coordinates is an opaque cube. Args: x, y, z
050 */
051 boolean isBlockOpaqueCube(int var1, int var2, int var3);
052
053 /**
054 * Indicate if a material is a normal solid opaque cube.
055 */
056 boolean isBlockNormalCube(int var1, int var2, int var3);
057
058 @SideOnly(Side.CLIENT)
059
060 /**
061 * Returns true if the block at the specified coordinates is empty
062 */
063 boolean isAirBlock(int var1, int var2, int var3);
064
065 @SideOnly(Side.CLIENT)
066
067 /**
068 * Gets the biome for a given set of x/z coordinates
069 */
070 BiomeGenBase getBiomeGenForCoords(int var1, int var2);
071
072 @SideOnly(Side.CLIENT)
073
074 /**
075 * Returns current world height.
076 */
077 int getHeight();
078
079 @SideOnly(Side.CLIENT)
080
081 /**
082 * set by !chunk.getAreLevelsEmpty
083 */
084 boolean extendedLevelsInChunkCache();
085
086 @SideOnly(Side.CLIENT)
087
088 /**
089 * Returns true if the block at the given coordinate has a solid (buildable) top surface.
090 */
091 boolean doesBlockHaveSolidTopSurface(int var1, int var2, int var3);
092
093 Vec3Pool func_82732_R();
094
095 /**
096 * Is this block powering in the specified direction Args: x, y, z, direction
097 */
098 boolean isBlockProvidingPowerTo(int var1, int var2, int var3, int var4);
099 }