Package net.minecraft.world.level.chunk
Class ChunkAccess
java.lang.Object
net.minecraft.world.level.chunk.ChunkAccess
- All Implemented Interfaces:
BiomeManager.NoiseBiomeSource,BlockGetter,LightChunk,StructureAccess,LevelHeightAccessor,IAttachmentHolder,IBlockGetterExtension
- Direct Known Subclasses:
LevelChunk,ProtoChunk
public abstract class ChunkAccess
extends Object
implements BlockGetter, BiomeManager.NoiseBiomeSource, LightChunk, StructureAccess, IAttachmentHolder
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AttachmentHolder.AsFieldprotected BlendingDataprotected final Map<BlockPos, BlockEntity> private BiomeGenerationSettingsDeprecated.protected final ChunkPosprivate static final it.unimi.dsi.fastutil.longs.LongSetprotected final Map<Heightmap.Types, Heightmap> private longprivate booleanprotected final LevelHeightAccessorprivate static final org.slf4j.Loggerstatic final intprotected NoiseChunkprotected final Map<BlockPos, CompoundTag> protected final it.unimi.dsi.fastutil.shorts.ShortList[]protected final LevelChunkSection[]protected ChunkSkyLightSourcesprivate final Map<Structure, StructureStart> protected booleanprotected final UpgradeData -
Constructor Summary
ConstructorsConstructorDescriptionChunkAccess(ChunkPos p_187621_, UpgradeData p_187622_, LevelHeightAccessor p_187623_, Registry<Biome> p_187624_, long p_187625_, LevelChunkSection[] p_187626_, BlendingData p_187627_) -
Method Summary
Modifier and TypeMethodDescriptionabstract voidvoidaddPackedPostProcess(short p_62092_, int p_62093_) voidaddReferenceForStructure(Structure p_223007_, long p_223008_) carverBiome(Supplier<BiomeGenerationSettings> p_223015_) Deprecated.voidfillBiomesFromNoise(BiomeResolver p_187638_, Climate.Sampler p_187639_) final voidfindBlockLightSources(BiConsumer<BlockPos, BlockState> p_285269_) voidfindBlocks(BiPredicate<BlockState, BlockPos> p_285343_, BiConsumer<BlockPos, BlockState> p_285030_) Deprecated, for removal: This API element is subject to removal in a future version.voidfindBlocks(Predicate<BlockState> p_285343_, BiConsumer<BlockPos, BlockState> p_285030_) voidfindBlocks(Predicate<BlockState> p_285343_, BiPredicate<BlockState, BlockPos> fineFilter, BiConsumer<BlockPos, BlockState> p_285030_) protected AttachmentHolder.AsFieldgetBlockEntityNbt(BlockPos p_62103_) abstract CompoundTaggetBlockEntityNbtForSaving(BlockPos p_62104_, HolderLookup.Provider p_324415_) abstract TickContainerAccess<Block> <T> TgetData(AttachmentType<T> type) Returns the data attachment of the given type.<T> Optional<T> getExistingData(AttachmentType<T> type) Returns an optional possibly containing a data attachment value of the given type.abstract TickContainerAccess<Fluid> intintgetHeight(Heightmap.Types p_62080_, int p_62081_, int p_62082_) intintDeprecated, for removal: This API element is subject to removal in a future version.longgetLevel()getListenerRegistry(int p_251437_) intgetNoiseBiome(int p_204347_, int p_204348_, int p_204349_) getOrCreateHeightmapUnprimed(Heightmap.Types p_62079_) getOrCreateNoiseChunk(Function<ChunkAccess, NoiseChunk> p_223013_) static it.unimi.dsi.fastutil.shorts.ShortListgetOrCreateOffsetList(it.unimi.dsi.fastutil.shorts.ShortList[] p_62096_, int p_62097_) getPos()it.unimi.dsi.fastutil.shorts.ShortList[]it.unimi.dsi.fastutil.longs.LongSetgetReferencesForStructure(Structure p_223017_) getSection(int p_187657_) getStartForStructure(Structure p_223005_) abstract ChunkStatusabstract ChunkAccess.TicksToSavebooleanbooleanReturnstrueif there is any data attachments,falseotherwise.booleanhasData(AttachmentType<?> type) Returnstrueif there is a data attachment of the give type,falseotherwise.booleanhasPrimedHeightmap(Heightmap.Types p_187659_) voidincrementInhabitedTime(long p_187633_) voidbooleanbooleanbooleanbooleanbooleanisYSpaceEmpty(int p_62075_, int p_62076_) voidmarkPosForPostprocessing(BlockPos p_62102_) final voidreadAttachmentsFromNBT(HolderLookup.Provider provider, CompoundTag tag) FOR INTERNAL USE ONLYabstract voidremoveBlockEntity(BlockPos p_62101_) <T> TremoveData(AttachmentType<T> type) Removes the data attachment of the given type.private static voidreplaceMissingSections(Registry<Biome> p_281389_, LevelChunkSection[] p_282796_) voidsetAllReferences(Map<Structure, it.unimi.dsi.fastutil.longs.LongSet> p_187663_) voidsetAllStarts(Map<Structure, StructureStart> p_62090_) voidsetBlendingData(BlendingData p_187646_) abstract voidsetBlockEntity(BlockEntity p_156114_) voidsetBlockEntityNbt(CompoundTag p_62091_) abstract BlockStatesetBlockState(BlockPos p_62087_, BlockState p_62088_, boolean p_62089_) <T> TsetData(AttachmentType<T> type, T data) Sets the data attachment of the given type.voidsetHeightmap(Heightmap.Types p_62083_, long[] p_62084_) voidsetInhabitedTime(long p_62099_) voidsetLightCorrect(boolean p_62100_) voidsetStartForStructure(Structure p_223010_, StructureStart p_223011_) voidsetUnsaved(boolean p_62094_) final CompoundTagwriteAttachmentsToNBT(HolderLookup.Provider provider) FOR INTERNAL USE ONLYMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraft.world.level.BlockGetter
clip, clipWithInteractionOverride, getBlockEntity, getBlockEntity, getBlockFloorHeight, getBlockFloorHeight, getBlockState, getBlockStates, getFluidState, getLightEmission, getMaxLightLevel, isBlockInLineMethods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder
getData, getExistingData, hasData, removeData, setDataMethods inherited from interface net.neoforged.neoforge.common.extensions.IBlockGetterExtension
getAuxLightManager, getAuxLightManager, getModelDataMethods inherited from interface net.minecraft.world.level.LevelHeightAccessor
getMaxBuildHeight, getMaxSection, getMinSection, getSectionIndex, getSectionIndexFromSectionY, getSectionsCount, getSectionYFromSectionIndex, isOutsideBuildHeight, isOutsideBuildHeight
-
Field Details
-
NO_FILLED_SECTION
public static final int NO_FILLED_SECTION- See Also:
-
LOGGER
private static final org.slf4j.Logger LOGGER -
EMPTY_REFERENCE_SET
private static final it.unimi.dsi.fastutil.longs.LongSet EMPTY_REFERENCE_SET -
postProcessing
protected final it.unimi.dsi.fastutil.shorts.ShortList[] postProcessing -
unsaved
protected volatile boolean unsaved -
isLightCorrect
private volatile boolean isLightCorrect -
chunkPos
-
inhabitedTime
private long inhabitedTime -
carverBiomeSettings
Deprecated. -
noiseChunk
-
upgradeData
-
blendingData
-
heightmaps
-
skyLightSources
-
structureStarts
-
structuresRefences
-
pendingBlockEntities
-
blockEntities
-
levelHeightAccessor
-
sections
-
attachmentHolder
-
-
Constructor Details
-
ChunkAccess
public ChunkAccess(ChunkPos p_187621_, UpgradeData p_187622_, LevelHeightAccessor p_187623_, Registry<Biome> p_187624_, long p_187625_, @Nullable LevelChunkSection[] p_187626_, @Nullable BlendingData p_187627_)
-
-
Method Details
-
replaceMissingSections
private static void replaceMissingSections(Registry<Biome> p_281389_, LevelChunkSection[] p_282796_) -
getListenerRegistry
-
setBlockState
@Nullable public abstract BlockState setBlockState(BlockPos p_62087_, BlockState p_62088_, boolean p_62089_) -
setBlockEntity
-
addEntity
-
getHighestFilledSectionIndex
public int getHighestFilledSectionIndex() -
getHighestSectionPosition
Deprecated, for removal: This API element is subject to removal in a future version. -
getBlockEntitiesPos
-
getSections
-
getSection
-
getHeightmaps
-
setHeightmap
-
getOrCreateHeightmapUnprimed
-
hasPrimedHeightmap
-
getHeight
-
getPos
-
getStartForStructure
- Specified by:
getStartForStructurein interfaceStructureAccess
-
setStartForStructure
- Specified by:
setStartForStructurein interfaceStructureAccess
-
getAllStarts
-
setAllStarts
-
getReferencesForStructure
- Specified by:
getReferencesForStructurein interfaceStructureAccess
-
addReferenceForStructure
- Specified by:
addReferenceForStructurein interfaceStructureAccess
-
getAllReferences
- Specified by:
getAllReferencesin interfaceStructureAccess
-
setAllReferences
- Specified by:
setAllReferencesin interfaceStructureAccess
-
isYSpaceEmpty
public boolean isYSpaceEmpty(int p_62075_, int p_62076_) -
setUnsaved
public void setUnsaved(boolean p_62094_) -
isUnsaved
public boolean isUnsaved() -
getStatus
-
getHighestGeneratedStatus
-
removeBlockEntity
-
markPosForPostprocessing
-
getPostProcessing
public it.unimi.dsi.fastutil.shorts.ShortList[] getPostProcessing() -
addPackedPostProcess
public void addPackedPostProcess(short p_62092_, int p_62093_) -
setBlockEntityNbt
-
getBlockEntityNbt
-
getBlockEntityNbtForSaving
@Nullable public abstract CompoundTag getBlockEntityNbtForSaving(BlockPos p_62104_, HolderLookup.Provider p_324415_) -
findBlockLightSources
- Specified by:
findBlockLightSourcesin interfaceLightChunk
-
findBlocks
-
findBlocks
@Deprecated(forRemoval=true) public void findBlocks(BiPredicate<BlockState, BlockPos> p_285343_, BiConsumer<BlockPos, BlockState> p_285030_) Deprecated, for removal: This API element is subject to removal in a future version. -
findBlocks
public void findBlocks(Predicate<BlockState> p_285343_, BiPredicate<BlockState, BlockPos> fineFilter, BiConsumer<BlockPos, BlockState> p_285030_) -
getBlockTicks
-
getFluidTicks
-
getTicksForSerialization
-
getUpgradeData
-
isOldNoiseGeneration
public boolean isOldNoiseGeneration() -
getBlendingData
-
setBlendingData
-
getInhabitedTime
public long getInhabitedTime() -
incrementInhabitedTime
public void incrementInhabitedTime(long p_187633_) -
setInhabitedTime
public void setInhabitedTime(long p_62099_) -
getOrCreateOffsetList
public static it.unimi.dsi.fastutil.shorts.ShortList getOrCreateOffsetList(it.unimi.dsi.fastutil.shorts.ShortList[] p_62096_, int p_62097_) -
isLightCorrect
public boolean isLightCorrect() -
setLightCorrect
public void setLightCorrect(boolean p_62100_) -
getMinBuildHeight
public int getMinBuildHeight()- Specified by:
getMinBuildHeightin interfaceLevelHeightAccessor
-
getHeight
public int getHeight()- Specified by:
getHeightin interfaceLevelHeightAccessor
-
getOrCreateNoiseChunk
-
carverBiome
Deprecated. -
getNoiseBiome
- Specified by:
getNoiseBiomein interfaceBiomeManager.NoiseBiomeSource
-
fillBiomesFromNoise
-
hasAnyStructureReferences
public boolean hasAnyStructureReferences() -
getBelowZeroRetrogen
-
isUpgrading
public boolean isUpgrading() -
getHeightAccessorForGeneration
-
initializeLightSources
public void initializeLightSources() -
getSkyLightSources
- Specified by:
getSkyLightSourcesin interfaceLightChunk
-
hasAttachments
public boolean hasAttachments()Description copied from interface:IAttachmentHolderReturnstrueif there is any data attachments,falseotherwise.- Specified by:
hasAttachmentsin interfaceIAttachmentHolder
-
hasData
Description copied from interface:IAttachmentHolderReturnstrueif there is a data attachment of the give type,falseotherwise.- Specified by:
hasDatain interfaceIAttachmentHolder
-
getData
Description copied from interface:IAttachmentHolderReturns the data attachment of the given type.If there is no data attachment of the given type, the default value is stored in this holder and returned.
- Specified by:
getDatain interfaceIAttachmentHolder- Returns:
- the data attachment of the given type
-
getExistingData
Description copied from interface:IAttachmentHolderReturns an optional possibly containing a data attachment value of the given type.If there is no data attachment of the given type, an empty optional is returned.
- Specified by:
getExistingDatain interfaceIAttachmentHolder- Returns:
- an optional possibly containing a data attachment value of the given type
-
setData
Description copied from interface:IAttachmentHolderSets the data attachment of the given type.- Specified by:
setDatain interfaceIAttachmentHolder- Returns:
- the previous value for that attachment type, if any, or
nullif there was none
-
removeData
Description copied from interface:IAttachmentHolderRemoves the data attachment of the given type.- Specified by:
removeDatain interfaceIAttachmentHolder- Returns:
- the previous value for that attachment type, if any, or
nullif there was none
-
writeAttachmentsToNBT
FOR INTERNAL USE ONLYOnly public for use in
ChunkSerializer. -
readAttachmentsFromNBT
FOR INTERNAL USE ONLYOnly public for use in
ChunkSerializer. -
getAttachmentHolder
-
getLevel
-