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