public class Chunk
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
Chunk.EnumCreateEntityType |
Modifier and Type | Field and Description |
---|---|
static ExtendedBlockStorage |
NULL_BLOCK_STORAGE |
boolean |
unloaded |
int |
xPosition
The x coordinate of the chunk.
|
int |
zPosition
The z coordinate of the chunk.
|
Constructor and Description |
---|
Chunk(World worldIn,
ChunkPrimer primer,
int x,
int z) |
Chunk(World worldIn,
int x,
int z) |
Modifier and Type | Method and Description |
---|---|
void |
addEntity(Entity entityIn)
Adds an entity to the chunk.
|
void |
addTileEntity(BlockPos pos,
TileEntity tileEntityIn) |
void |
addTileEntity(TileEntity tileEntityIn) |
boolean |
canSeeSky(BlockPos pos) |
void |
checkLight() |
void |
enqueueRelightChecks()
Called once-per-chunk-per-tick, and advances the round-robin relight check index by up to 8 blocks at a time.
|
void |
fillChunk(PacketBuffer buf,
int p_186033_2_,
boolean p_186033_3_) |
protected void |
generateHeightMap()
Generates the height map for a chunk from scratch
|
void |
generateSkylightMap()
Generates the initial skylight map for the chunk upon generation or load.
|
boolean |
getAreLevelsEmpty(int startY,
int endY)
Returns whether the ExtendedBlockStorages containing levels (in blocks) from arg 1 to arg 2 are fully empty
(true) or not (false).
|
Biome |
getBiome(BlockPos pos,
BiomeProvider provider) |
byte[] |
getBiomeArray()
Returns an array containing a 16x16 mapping on the X/Z of block positions in this Chunk to biome IDs.
|
int |
getBlockLightOpacity(BlockPos pos) |
IBlockState |
getBlockState(BlockPos pos) |
IBlockState |
getBlockState(int x,
int y,
int z) |
ExtendedBlockStorage[] |
getBlockStorageArray()
Returns the ExtendedBlockStorage array for this Chunk.
|
<T extends Entity> |
getEntitiesOfTypeWithinAAAB(java.lang.Class<? extends T> entityClass,
AxisAlignedBB aabb,
java.util.List<T> listToFill,
<any> filter)
Gets all entities that can be assigned to the specified class.
|
void |
getEntitiesWithinAABBForEntity(Entity entityIn,
AxisAlignedBB aabb,
java.util.List<Entity> listToFill,
<any> p_177414_4_)
Fills the given list of all entities that intersect within the given bounding box that aren't the passed entity.
|
ClassInheritanceMultiMap<Entity>[] |
getEntityLists() |
int |
getHeight(BlockPos pos) |
int[] |
getHeightMap() |
int |
getHeightValue(int x,
int z)
Returns the value in the height map at this x, z coordinate in the chunk
|
long |
getInhabitedTime() |
int |
getLightFor(EnumSkyBlock p_177413_1_,
BlockPos pos) |
int |
getLightSubtracted(BlockPos pos,
int amount) |
int |
getLowestHeight() |
ChunkPos |
getPos()
Gets a
ChunkPos representing the x and z coordinates of this chunk. |
BlockPos |
getPrecipitationHeight(BlockPos pos) |
java.util.Random |
getRandomWithSeed(long seed) |
TileEntity |
getTileEntity(BlockPos pos,
Chunk.EnumCreateEntityType p_177424_2_) |
java.util.Map<BlockPos,TileEntity> |
getTileEntityMap() |
int |
getTopFilledSegment()
Returns the topmost ExtendedBlockStorage instance for this Chunk that actually contains a block.
|
World |
getWorld() |
boolean |
isAtLocation(int x,
int z)
Checks whether the chunk is at the X/Z location specified
|
boolean |
isChunkTicked() |
boolean |
isEmpty() |
boolean |
isLightPopulated() |
boolean |
isLoaded() |
boolean |
isPopulated() |
boolean |
isTerrainPopulated() |
boolean |
needsSaving(boolean p_76601_1_)
Returns true if this Chunk needs to be saved
|
void |
onChunkLoad()
Called when this Chunk is loaded by the ChunkProvider
|
void |
onChunkUnload()
Called when this Chunk is unloaded by the ChunkProvider
|
void |
onTick(boolean p_150804_1_) |
protected void |
populateChunk(IChunkGenerator generator) |
void |
populateChunk(IChunkProvider chunkProvider,
IChunkGenerator chunkGenrator) |
void |
removeEntity(Entity entityIn)
removes entity using its y chunk coordinate as its index
|
void |
removeEntityAtIndex(Entity entityIn,
int index)
Removes entity at the specified index from the entity array.
|
void |
removeInvalidTileEntity(BlockPos pos)
Removes the tile entity at the specified position, only if it's
marked as invalid.
|
void |
removeTileEntity(BlockPos pos) |
void |
resetRelightChecks()
Resets the relight check index to 0 for this Chunk.
|
void |
setBiomeArray(byte[] biomeArray)
Accepts a 256-entry array that contains a 16x16 mapping on the X/Z plane of block positions in this Chunk to
biome IDs.
|
IBlockState |
setBlockState(BlockPos pos,
IBlockState state) |
void |
setChunkLoaded(boolean loaded) |
void |
setChunkModified()
Sets the isModified flag for this Chunk
|
void |
setHasEntities(boolean hasEntitiesIn) |
void |
setHeightMap(int[] newHeightMap) |
void |
setInhabitedTime(long newInhabitedTime) |
void |
setLastSaveTime(long saveTime) |
void |
setLightFor(EnumSkyBlock p_177431_1_,
BlockPos pos,
int value) |
void |
setLightPopulated(boolean lightPopulated) |
void |
setModified(boolean modified) |
void |
setStorageArrays(ExtendedBlockStorage[] newStorageArrays) |
void |
setTerrainPopulated(boolean terrainPopulated) |
public static final ExtendedBlockStorage NULL_BLOCK_STORAGE
public final int xPosition
public final int zPosition
public boolean unloaded
public Chunk(World worldIn, int x, int z)
public Chunk(World worldIn, ChunkPrimer primer, int x, int z)
public boolean isAtLocation(int x, int z)
public int getHeight(BlockPos pos)
public int getHeightValue(int x, int z)
public int getTopFilledSegment()
public ExtendedBlockStorage[] getBlockStorageArray()
protected void generateHeightMap()
public void generateSkylightMap()
public int getBlockLightOpacity(BlockPos pos)
public IBlockState getBlockState(BlockPos pos)
public IBlockState getBlockState(int x, int y, int z)
public IBlockState setBlockState(BlockPos pos, IBlockState state)
public int getLightFor(EnumSkyBlock p_177413_1_, BlockPos pos)
public void setLightFor(EnumSkyBlock p_177431_1_, BlockPos pos, int value)
public int getLightSubtracted(BlockPos pos, int amount)
public void addEntity(Entity entityIn)
public void removeEntity(Entity entityIn)
public void removeEntityAtIndex(Entity entityIn, int index)
public boolean canSeeSky(BlockPos pos)
public TileEntity getTileEntity(BlockPos pos, Chunk.EnumCreateEntityType p_177424_2_)
public void addTileEntity(TileEntity tileEntityIn)
public void addTileEntity(BlockPos pos, TileEntity tileEntityIn)
public void removeTileEntity(BlockPos pos)
public void onChunkLoad()
public void onChunkUnload()
public void setChunkModified()
public void getEntitiesWithinAABBForEntity(Entity entityIn, AxisAlignedBB aabb, java.util.List<Entity> listToFill, <any> p_177414_4_)
public <T extends Entity> void getEntitiesOfTypeWithinAAAB(java.lang.Class<? extends T> entityClass, AxisAlignedBB aabb, java.util.List<T> listToFill, <any> filter)
public boolean needsSaving(boolean p_76601_1_)
public java.util.Random getRandomWithSeed(long seed)
public boolean isEmpty()
public void populateChunk(IChunkProvider chunkProvider, IChunkGenerator chunkGenrator)
protected void populateChunk(IChunkGenerator generator)
public void onTick(boolean p_150804_1_)
public boolean isPopulated()
public boolean isChunkTicked()
public boolean getAreLevelsEmpty(int startY, int endY)
public void setStorageArrays(ExtendedBlockStorage[] newStorageArrays)
public void fillChunk(PacketBuffer buf, int p_186033_2_, boolean p_186033_3_)
public Biome getBiome(BlockPos pos, BiomeProvider provider)
public byte[] getBiomeArray()
public void setBiomeArray(byte[] biomeArray)
public void resetRelightChecks()
public void enqueueRelightChecks()
public void checkLight()
public boolean isLoaded()
public void setChunkLoaded(boolean loaded)
public World getWorld()
public int[] getHeightMap()
public void setHeightMap(int[] newHeightMap)
public java.util.Map<BlockPos,TileEntity> getTileEntityMap()
public ClassInheritanceMultiMap<Entity>[] getEntityLists()
public boolean isTerrainPopulated()
public void setTerrainPopulated(boolean terrainPopulated)
public boolean isLightPopulated()
public void setLightPopulated(boolean lightPopulated)
public void setModified(boolean modified)
public void setHasEntities(boolean hasEntitiesIn)
public void setLastSaveTime(long saveTime)
public int getLowestHeight()
public long getInhabitedTime()
public void setInhabitedTime(long newInhabitedTime)
public void removeInvalidTileEntity(BlockPos pos)