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) {}
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 }