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    }