Package net.minecraft.world.level.chunk
Class LevelChunk
java.lang.Object
net.minecraft.world.level.chunk.ChunkAccess
net.minecraft.world.level.chunk.LevelChunk
- All Implemented Interfaces:
BiomeManager.NoiseBiomeSource
,BlockGetter
,LightChunk
,StructureAccess
,LevelHeightAccessor
,IAttachmentHolder
,IBlockGetterExtension
- Direct Known Subclasses:
EmptyLevelChunk
-
Nested Class Summary
Modifier and TypeClassDescription(package private) class
static enum
static interface
(package private) class
Nested classes/interfaces inherited from class net.minecraft.world.level.chunk.ChunkAccess
ChunkAccess.TicksToSave
-
Field Summary
Modifier and TypeFieldDescriptionprivate final LevelChunkAuxiliaryLightManager
private final LevelChunkTicks
<Block> private final LevelChunkTicks
<Fluid> private Supplier
<FullChunkStatus> private final it.unimi.dsi.fastutil.ints.Int2ObjectMap
<GameEventListenerRegistry> (package private) final Level
private boolean
(package private) static final org.slf4j.Logger
private static final TickingBlockEntity
private LevelChunk.PostLoadProcessor
private final Map
<BlockPos, LevelChunk.RebindableTickingBlockEntityWrapper> Fields inherited from class net.minecraft.world.level.chunk.ChunkAccess
blendingData, blockEntities, chunkPos, heightmaps, levelHeightAccessor, NO_FILLED_SECTION, noiseChunk, pendingBlockEntities, postProcessing, sections, skyLightSources, unsaved, upgradeData
-
Constructor Summary
ConstructorDescriptionLevelChunk
(ServerLevel p_196850_, ProtoChunk p_196851_, LevelChunk.PostLoadProcessor p_196852_) LevelChunk
(Level p_187945_, ChunkPos p_187946_) LevelChunk
(Level p_196854_, ChunkPos p_196855_, UpgradeData p_196856_, LevelChunkTicks<Block> p_196857_, LevelChunkTicks<Fluid> p_196858_, long p_196859_, LevelChunkSection[] p_196860_, LevelChunk.PostLoadProcessor p_196861_, BlendingData p_196862_) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAndRegisterBlockEntity
(BlockEntity p_156391_) void
Deprecated.private <T extends BlockEntity>
voidaddGameEventListener
(T p_223416_, ServerLevel p_223417_) void
private BlockEntity
createBlockEntity
(BlockPos p_62935_) private <T extends BlockEntity>
TickingBlockEntitycreateTicker
(T p_156376_, BlockEntityTicker<T> p_156377_) Get theAuxiliaryLightManager
of the chunk at the givenChunkPos
.getBlockEntity
(BlockPos p_62912_) getBlockEntity
(BlockPos p_62868_, LevelChunk.EntityCreationType p_62869_) getBlockEntityNbtForSaving
(BlockPos p_62932_, HolderLookup.Provider p_323699_) getBlockState
(BlockPos p_62923_) getFluidState
(int p_62815_, int p_62816_, int p_62817_) getFluidState
(BlockPos p_62895_) getLevel()
getListenerRegistry
(int p_251193_) boolean
isEmpty()
private boolean
(package private) boolean
void
private BlockEntity
promotePendingBlockEntity
(BlockPos p_62871_, CompoundTag p_62872_) void
void
registerTickContainerInLevel
(ServerLevel p_187959_) void
removeBlockEntity
(BlockPos p_62919_) private void
removeBlockEntityTicker
(BlockPos p_156413_) private <T extends BlockEntity>
voidremoveGameEventListener
(T p_223413_, ServerLevel p_223414_) private void
removeGameEventListenerRegistry
(int p_283355_) void
replaceBiomes
(FriendlyByteBuf p_275574_) void
replaceWithPacketData
(FriendlyByteBuf p_187972_, CompoundTag p_187973_, Consumer<ClientboundLevelChunkPacketData.BlockEntityTagOutput> p_187974_) void
void
setBlockEntity
(BlockEntity p_156374_) setBlockState
(BlockPos p_62865_, BlockState p_62866_, boolean p_62867_) void
setFullStatus
(Supplier<FullChunkStatus> p_62880_) void
setLoaded
(boolean p_62914_) void
unpackTicks
(long p_187986_) void
unregisterTickContainerFromLevel
(ServerLevel p_187980_) private <T extends BlockEntity>
voidupdateBlockEntityTicker
(T p_156407_) Methods inherited from class net.minecraft.world.level.chunk.ChunkAccess
addPackedPostProcess, addReferenceForStructure, carverBiome, fillBiomesFromNoise, findBlockLightSources, findBlocks, findBlocks, findBlocks, getAllReferences, getAllStarts, getAttachmentHolder, getBelowZeroRetrogen, getBlendingData, getBlockEntitiesPos, getBlockEntityNbt, getData, getExistingData, getHeight, getHeight, getHeightAccessorForGeneration, getHeightmaps, getHighestFilledSectionIndex, getHighestGeneratedStatus, getHighestSectionPosition, getInhabitedTime, getMinBuildHeight, getNoiseBiome, getOrCreateHeightmapUnprimed, getOrCreateNoiseChunk, getOrCreateOffsetList, getPos, getPostProcessing, getReferencesForStructure, getSection, getSections, getSkyLightSources, getStartForStructure, getUpgradeData, hasAnyStructureReferences, hasAttachments, hasData, hasPrimedHeightmap, incrementInhabitedTime, initializeLightSources, isLightCorrect, isOldNoiseGeneration, isSectionEmpty, isUnsaved, isUpgrading, isYSpaceEmpty, markPosForPostprocessing, readAttachmentsFromNBT, removeData, setAllReferences, setAllStarts, setBlendingData, setBlockEntityNbt, setData, setHeightmap, setInhabitedTime, setLightCorrect, setStartForStructure, setUnsaved, writeAttachmentsToNBT
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.minecraft.world.level.BlockGetter
clip, clipWithInteractionOverride, getBlockEntity, getBlockFloorHeight, getBlockFloorHeight, getBlockStates, getLightEmission, getMaxLightLevel, isBlockInLine
Methods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder
getData, getData, getExistingData, getExistingData, hasAttachments, hasData, hasData, removeData, removeData, setData, setData
Methods inherited from interface net.neoforged.neoforge.common.extensions.IBlockGetterExtension
getAuxLightManager, getModelData
Methods inherited from interface net.minecraft.world.level.LevelHeightAccessor
getMaxBuildHeight, getMaxSection, getMinSection, getSectionIndex, getSectionIndexFromSectionY, getSectionsCount, getSectionYFromSectionIndex, isOutsideBuildHeight, isOutsideBuildHeight
-
Field Details
-
LOGGER
static final org.slf4j.Logger LOGGER -
NULL_TICKER
-
tickersInLevel
-
loaded
private boolean loaded -
level
-
fullStatus
-
postLoad
-
gameEventListenerRegistrySections
private final it.unimi.dsi.fastutil.ints.Int2ObjectMap<GameEventListenerRegistry> gameEventListenerRegistrySections -
blockTicks
-
fluidTicks
-
auxLightManager
-
-
Constructor Details
-
LevelChunk
-
LevelChunk
public LevelChunk(Level p_196854_, ChunkPos p_196855_, UpgradeData p_196856_, LevelChunkTicks<Block> p_196857_, LevelChunkTicks<Fluid> p_196858_, long p_196859_, @Nullable LevelChunkSection[] p_196860_, @Nullable LevelChunk.PostLoadProcessor p_196861_, @Nullable BlendingData p_196862_) -
LevelChunk
public LevelChunk(ServerLevel p_196850_, ProtoChunk p_196851_, @Nullable LevelChunk.PostLoadProcessor p_196852_)
-
-
Method Details
-
getBlockTicks
- Specified by:
getBlockTicks
in classChunkAccess
-
getFluidTicks
- Specified by:
getFluidTicks
in classChunkAccess
-
getTicksForSerialization
- Specified by:
getTicksForSerialization
in classChunkAccess
-
getListenerRegistry
- Overrides:
getListenerRegistry
in classChunkAccess
-
getBlockState
- Specified by:
getBlockState
in interfaceBlockGetter
-
getFluidState
- Specified by:
getFluidState
in interfaceBlockGetter
-
getFluidState
-
setBlockState
- Specified by:
setBlockState
in classChunkAccess
-
addEntity
Deprecated.- Specified by:
addEntity
in classChunkAccess
-
createBlockEntity
-
getBlockEntity
- Specified by:
getBlockEntity
in interfaceBlockGetter
-
getBlockEntity
@Nullable public BlockEntity getBlockEntity(BlockPos p_62868_, LevelChunk.EntityCreationType p_62869_) -
addAndRegisterBlockEntity
-
isInLevel
private boolean isInLevel() -
isTicking
-
setBlockEntity
- Specified by:
setBlockEntity
in classChunkAccess
-
getBlockEntityNbtForSaving
@Nullable public CompoundTag getBlockEntityNbtForSaving(BlockPos p_62932_, HolderLookup.Provider p_323699_) - Specified by:
getBlockEntityNbtForSaving
in classChunkAccess
-
removeBlockEntity
- Specified by:
removeBlockEntity
in classChunkAccess
-
removeGameEventListener
-
removeGameEventListenerRegistry
private void removeGameEventListenerRegistry(int p_283355_) -
removeBlockEntityTicker
-
runPostLoad
public void runPostLoad() -
isEmpty
public boolean isEmpty() -
replaceWithPacketData
public void replaceWithPacketData(FriendlyByteBuf p_187972_, CompoundTag p_187973_, Consumer<ClientboundLevelChunkPacketData.BlockEntityTagOutput> p_187974_) -
replaceBiomes
-
setLoaded
public void setLoaded(boolean p_62914_) -
getLevel
- Overrides:
getLevel
in classChunkAccess
-
getBlockEntities
-
postProcessGeneration
public void postProcessGeneration() -
promotePendingBlockEntity
-
unpackTicks
public void unpackTicks(long p_187986_) -
registerTickContainerInLevel
-
unregisterTickContainerFromLevel
-
getPersistedStatus
- Specified by:
getPersistedStatus
in classChunkAccess
-
getFullStatus
-
setFullStatus
-
clearAllBlockEntities
public void clearAllBlockEntities() -
registerAllBlockEntitiesAfterLevelLoad
public void registerAllBlockEntitiesAfterLevelLoad() -
addGameEventListener
-
updateBlockEntityTicker
-
createTicker
private <T extends BlockEntity> TickingBlockEntity createTicker(T p_156376_, BlockEntityTicker<T> p_156377_) -
getAuxLightManager
Description copied from interface:IBlockGetterExtension
Get theAuxiliaryLightManager
of the chunk at the givenChunkPos
.The light manager must be used to hold light values controlled by dynamic data from
BlockEntity
s to ensure access to the light data is thread-safe and the data is available during chunk load from disk whereBlockEntity
s are not yet added to the chunk.- Specified by:
getAuxLightManager
in interfaceIBlockGetterExtension
- Parameters:
pos
- The position of the chunk from which the light manager is requested- Returns:
- the light manager or
null
if the chunk is not accessible (ChunkSource.getChunkForLighting(int, int)
returnednull
) or the given implementation ofBlockGetter
does not implement this method
-