    001    package net.minecraft.src;
    002
    003    import cpw.mods.fml.common.Side;
    004    import cpw.mods.fml.common.asm.SideOnly;
    005    import java.util.List;
    006    import java.util.Random;
    007
    008    public class EmptyChunk extends Chunk
    009    {
    010        public EmptyChunk(World par1World, int par2, int par3)
    011        {
    012            super(par1World, par2, par3);
    013        }
    014
    015        /**
    016         * Checks whether the chunk is at the X/Z location specified
    017         */
    018        public boolean isAtLocation(int par1, int par2)
    019        {
    020            return par1 == this.xPosition && par2 == this.zPosition;
    021        }
    022
    023        /**
    024         * Returns the value in the height map at this x, z coordinate in the chunk
    025         */
    026        public int getHeightValue(int par1, int par2)
    027        {
    028            return 0;
    029        }
    030
    031        /**
    032         * Generates the initial skylight map for the chunk upon generation or load.
    033         */
    034        public void generateSkylightMap() {}
    035
    036        @SideOnly(Side.CLIENT)
    037
    038        /**
    039         * Generates the height map for a chunk from scratch
    040         */
    041        public void generateHeightMap() {}
    042
    043        /**
    044         * Return the ID of a block in the chunk.
    045         */
    046        public int getBlockID(int par1, int par2, int par3)
    047        {
    048            return 0;
    049        }
    050
    051        public int getBlockLightOpacity(int par1, int par2, int par3)
    052        {
    053            return 255;
    054        }
    055
    056        /**
    057         * Sets a blockID of a position within a chunk with metadata. Args: x, y, z, blockID, metadata
    058         */
    059        public boolean setBlockIDWithMetadata(int par1, int par2, int par3, int par4, int par5)
    060        {
    061            return true;
    062        }
    063
    064        /**
    065         * Sets a blockID for a position in the chunk. Args: x, y, z, blockID
    066         */
    067        public boolean setBlockID(int par1, int par2, int par3, int par4)
    068        {
    069            return true;
    070        }
    071
    072        /**
    073         * Return the metadata corresponding to the given coordinates inside a chunk.
    074         */
    075        public int getBlockMetadata(int par1, int par2, int par3)
    076        {
    077            return 0;
    078        }
    079
    080        /**
    081         * Set the metadata of a block in the chunk
    082         */
    083        public boolean setBlockMetadata(int par1, int par2, int par3, int par4)
    084        {
    085            return false;
    086        }
    087
    088        /**
    089         * Gets the amount of light saved in this block (doesn't adjust for daylight)
    090         */
    091        public int getSavedLightValue(EnumSkyBlock par1EnumSkyBlock, int par2, int par3, int par4)
    092        {
    093            return 0;
    094        }
    095
    096        /**
    097         * Sets the light value at the coordinate. If enumskyblock is set to sky it sets it in the skylightmap and if its a
    098         * block then into the blocklightmap. Args enumSkyBlock, x, y, z, lightValue
    099         */
    100        public void setLightValue(EnumSkyBlock par1EnumSkyBlock, int par2, int par3, int par4, int par5) {}
    101
    102        /**
    103         * Gets the amount of light on a block taking into account sunlight
    104         */
    105        public int getBlockLightValue(int par1, int par2, int par3, int par4)
    106        {
    107            return 0;
    108        }
    109
    110        /**
    111         * Adds an entity to the chunk. Args: entity
    112         */
    113        public void addEntity(Entity par1Entity) {}
    114
    115        /**
    116         * removes entity using its y chunk coordinate as its index
    117         */
    118        public void removeEntity(Entity par1Entity) {}
    119
    120        /**
    121         * Removes entity at the specified index from the entity array.
    122         */
    123        public void removeEntityAtIndex(Entity par1Entity, int par2) {}
    124
    125        /**
    126         * Returns whether is not a block above this one blocking sight to the sky (done via checking against the heightmap)
    127         */
    128        public boolean canBlockSeeTheSky(int par1, int par2, int par3)
    129        {
    130            return false;
    131        }
    132
    133        /**
    134         * Gets the TileEntity for a given block in this chunk
    135         */
    136        public TileEntity getChunkBlockTileEntity(int par1, int par2, int par3)
    137        {
    138            return null;
    139        }
    140
    141        /**
    142         * Adds a TileEntity to a chunk
    143         */
    144        public void addTileEntity(TileEntity par1TileEntity) {}
    145
    146        /**
    147         * Sets the TileEntity for a given block in this chunk
    148         */
    149        public void setChunkBlockTileEntity(int par1, int par2, int par3, TileEntity par4TileEntity) {}
    150
    151        /**
    152         * Removes the TileEntity for a given block in this chunk
    153         */
    154        public void removeChunkBlockTileEntity(int par1, int par2, int par3) {}
    155
    156        /**
    157         * Called when this Chunk is loaded by the ChunkProvider
    158         */
    159        public void onChunkLoad() {}
    160
    161        /**
    162         * Called when this Chunk is unloaded by the ChunkProvider
    163         */
    164        public void onChunkUnload() {}
    165
    166        /**
    167         * Sets the isModified flag for this Chunk
    168         */
    169        public void setChunkModified() {}
    170
    171        /**
    172         * Fills the given list of all entities that intersect within the given bounding box that aren't the passed entity
    173         * Args: entity, aabb, listToFill
    174         */
    175        public void getEntitiesWithinAABBForEntity(Entity par1Entity, AxisAlignedBB par2AxisAlignedBB, List par3List) {}
    176
    177        /**
    178         * Gets all entities that can be assigned to the specified class. Args: entityClass, aabb, listToFill
    179         */
    180        public void getEntitiesOfTypeWithinAAAB(Class par1Class, AxisAlignedBB par2AxisAlignedBB, List par3List, IEntitySelector par4IEntitySelector) {}
    181
    182        /**
    183         * Returns true if this Chunk needs to be saved
    184         */
    185        public boolean needsSaving(boolean par1)
    186        {
    187            return false;
    188        }
    189
    190        public Random getRandomWithSeed(long par1)
    191        {
    192            return new Random(this.worldObj.getSeed() + (long)(this.xPosition * this.xPosition * 4987142) + (long)(this.xPosition * 5947611) + (long)(this.zPosition * this.zPosition) * 4392871L + (long)(this.zPosition * 389711) ^ par1);
    193        }
    194
    195        public boolean isEmpty()
    196        {
    197            return true;
    198        }
    199
    200        /**
    201         * Returns whether the ExtendedBlockStorages containing levels (in blocks) from arg 1 to arg 2 are fully empty
    202         * (true) or not (false).
    203         */
    204        public boolean getAreLevelsEmpty(int par1, int par2)
    205        {
    206            return true;
    207        }
    208    }