Package net.minestom.server.instance
Class DynamicChunk
java.lang.Object
net.minestom.server.instance.Chunk
net.minestom.server.instance.DynamicChunk
- All Implemented Interfaces:
Block.Getter,Block.Setter,Snapshotable,Taggable,TagReadable,TagWritable,Tickable,Viewable,Biome.Getter,Biome.Setter
- Direct Known Subclasses:
LightingChunk
Represents a
Chunk which store each individual block in memory.
WARNING: not thread-safe.
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.minestom.server.instance.block.Block.Getter
Block.Getter.Condition -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap<Block> protected Heightmapprotected final it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap<Block> protected HeightmapFields inherited from class net.minestom.server.instance.Chunk
CHUNK_SECTION_SIZE, CHUNK_SIZE_X, CHUNK_SIZE_Z, chunkX, chunkZ, columnarSpace, instance, loaded, maxSection, minSection -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription@NotNull ChunkCreates a copy of this chunk, including blocks state id, custom block id, biomes, update data.protected LightData@NotNull BiomegetBiome(int x, int y, int z) @Nullable BlockgetBlock(int x, int y, int z, @NotNull Block.Getter.Condition condition) @NotNull SendablePacketlongGets the last time that this chunk changed.@NotNull SectiongetSection(int section) voidInvalidate the chunk cachesvoidloadHeightmapsFromNBT(org.jglrxavpok.hephaistos.nbt.NBTCompound heightmapsNBT) @NotNull Heightmapvoidreset()Resets the chunk, this means clearing all the data making it empty.voidvoidsetBlock(int x, int y, int z, @NotNull Block block, BlockHandler.Placement placement, BlockHandler.Destroy destroy) voidtick(long time) Executes a chunk tick.@NotNull ChunkSnapshotupdateSnapshot(@NotNull SnapshotUpdater updater) Updates the currently cached snapshot if required.@NotNull HeightmapMethods inherited from class net.minestom.server.instance.Chunk
addViewer, getChunkX, getChunkZ, getIdentifier, getInstance, getMaxSection, getMinSection, getSectionAt, getViewers, isLoaded, isReadOnly, onGenerate, onLoad, removeViewer, sendChunk, sendChunk, setBlock, setColumnarSpace, setReadOnly, shouldGenerate, tagHandler, toPosition, toString, unloadMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minestom.server.world.biomes.Biome.Getter
getBiomeMethods inherited from interface net.minestom.server.world.biomes.Biome.Setter
setBiomeMethods inherited from interface net.minestom.server.instance.block.Block.Getter
getBlock, getBlock, getBlockMethods inherited from interface net.minestom.server.instance.block.Block.Setter
setBlockMethods inherited from interface net.minestom.server.Viewable
getViewersAsAudience, getViewersAsAudiences, isViewer, sendPacketsToViewers, sendPacketsToViewers, sendPacketToViewers, sendPacketToViewersAndSelf
-
Field Details
-
sections
-
motionBlocking
-
worldSurface
-
entries
-
tickableMap
-
-
Constructor Details
-
DynamicChunk
-
-
Method Details
-
setBlock
public void setBlock(int x, int y, int z, @NotNull @NotNull Block block, @Nullable BlockHandler.Placement placement, @Nullable BlockHandler.Destroy destroy) -
setBiome
-
getSections
- Specified by:
getSectionsin classChunk
-
getSection
- Specified by:
getSectionin classChunk
-
motionBlockingHeightmap
- Specified by:
motionBlockingHeightmapin classChunk
-
worldSurfaceHeightmap
- Specified by:
worldSurfaceHeightmapin classChunk
-
loadHeightmapsFromNBT
public void loadHeightmapsFromNBT(org.jglrxavpok.hephaistos.nbt.NBTCompound heightmapsNBT) - Specified by:
loadHeightmapsFromNBTin classChunk
-
tick
public void tick(long time) Description copied from class:ChunkExecutes a chunk tick.Should be used to update all the blocks in the chunk.
WARNING: this method doesn't necessary have to be thread-safe, proceed with caution.
-
getBlock
@Nullable public @Nullable Block getBlock(int x, int y, int z, @NotNull @NotNull Block.Getter.Condition condition) -
getBiome
-
getLastChangeTime
public long getLastChangeTime()Description copied from class:ChunkGets the last time that this chunk changed."Change" means here data used in
ChunkDataPacket. It is necessary to see if the cached version of this chunk can be used instead of re-writing and compressing everything.- Specified by:
getLastChangeTimein classChunk- Returns:
- the last change time in milliseconds
-
getFullDataPacket
- Specified by:
getFullDataPacketin classChunk
-
copy
Description copied from class:ChunkCreates a copy of this chunk, including blocks state id, custom block id, biomes, update data.The chunk position (X/Z) can be modified using the given arguments.
-
reset
public void reset()Description copied from class:ChunkResets the chunk, this means clearing all the data making it empty. -
invalidate
public void invalidate()Description copied from class:ChunkInvalidate the chunk caches- Specified by:
invalidatein classChunk
-
createLightData
-
updateSnapshot
Description copied from interface:SnapshotableUpdates the currently cached snapshot if required. The updater can be used to retrieve references to other snapshots while avoiding circular dependency. Be careful to do not storeupdateranywhere as its data will change when building requested references.This method is not thread-safe, and targeted at internal use since its execution rely on safe-points (e.g. end of ticks)
- Parameters:
updater- the snapshot updater/context- Returns:
- the updated snapshot
-