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 final it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap<Block> Fields 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 TypeMethodDescriptionprotected org.jglrxavpok.hephaistos.nbt.NBTCompound@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) voidreset()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.Methods inherited from class net.minestom.server.instance.Chunk
addViewer, getChunkX, getChunkZ, getIdentifier, getInstance, getMaxSection, getMinSection, getSectionAt, getViewers, isLoaded, isReadOnly, 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
-
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
-
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. -
computeHeightmap
protected org.jglrxavpok.hephaistos.nbt.NBTCompound computeHeightmap() -
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
-