Package net.minecraft.server.level
Class ChunkHolder
java.lang.Object
net.minecraft.server.level.ChunkHolder
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
(package private) static final class
static enum
static interface
static interface
-
Field Summary
Modifier and TypeFieldDescriptionprivate final BitSet
private static final int
private final it.unimi.dsi.fastutil.shorts.ShortSet[]
private static final List<ChunkStatus>
private CompletableFuture<ChunkAccess>
private final DebugBuffer<ChunkHolder.ChunkSaveDebug>
(package private) LevelChunk
private CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk,
ChunkHolder.ChunkLoadingFailure>> private static final ChunkHolder.FullChunkStatus[]
private CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk,
ChunkHolder.ChunkLoadingFailure>> private final AtomicReferenceArray<CompletableFuture<com.mojang.datafixers.util.Either<ChunkAccess,
ChunkHolder.ChunkLoadingFailure>>> private boolean
private final LevelHeightAccessor
private final LevelLightEngine
private static final com.mojang.datafixers.util.Either<ChunkAccess,
ChunkHolder.ChunkLoadingFailure> private int
private final ChunkHolder.LevelChangeListener
private CompletableFuture<Void>
private final ChunkHolder.PlayerProvider
(package private) final ChunkPos
private int
private boolean
private final BitSet
private int
private CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk,
ChunkHolder.ChunkLoadingFailure>> static final com.mojang.datafixers.util.Either<ChunkAccess,
ChunkHolder.ChunkLoadingFailure> static final CompletableFuture<com.mojang.datafixers.util.Either<ChunkAccess,
ChunkHolder.ChunkLoadingFailure>> static final com.mojang.datafixers.util.Either<LevelChunk,
ChunkHolder.ChunkLoadingFailure> private static final CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk,
ChunkHolder.ChunkLoadingFailure>> private boolean
-
Constructor Summary
ConstructorDescriptionChunkHolder
(ChunkPos p_142986_, int p_142987_, LevelHeightAccessor p_142988_, LevelLightEngine p_142989_, ChunkHolder.LevelChangeListener p_142990_, ChunkHolder.PlayerProvider p_142991_) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addSaveDependency
(String p_200417_, CompletableFuture<?> p_200418_) void
blockChanged
(BlockPos p_140057_) private void
private void
broadcastBlockEntity
(Level p_140030_, BlockPos p_140031_) private void
broadcastBlockEntityIfNeeded
(Level p_140033_, BlockPos p_140034_, BlockState p_140035_) void
broadcastChanges
(LevelChunk p_140055_) private void
demoteFullChunk
(ChunkMap p_142993_, ChunkHolder.FullChunkStatus p_142994_) List<com.mojang.datafixers.util.Pair<ChunkStatus,
CompletableFuture<com.mojang.datafixers.util.Either<ChunkAccess, ChunkHolder.ChunkLoadingFailure>>>> CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk,
ChunkHolder.ChunkLoadingFailure>> CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk,
ChunkHolder.ChunkLoadingFailure>> static ChunkHolder.FullChunkStatus
getFullChunkStatus
(int p_140084_) CompletableFuture<com.mojang.datafixers.util.Either<ChunkAccess,
ChunkHolder.ChunkLoadingFailure>> getFutureIfPresent
(ChunkStatus p_140081_) CompletableFuture<com.mojang.datafixers.util.Either<ChunkAccess,
ChunkHolder.ChunkLoadingFailure>> getFutureIfPresentUnchecked
(ChunkStatus p_140048_) CompletableFuture<com.mojang.datafixers.util.Either<ChunkAccess,
ChunkHolder.ChunkLoadingFailure>> getOrScheduleFuture
(ChunkStatus p_140050_, ChunkMap p_140051_) getPos()
int
static ChunkStatus
getStatus
(int p_140075_) int
CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk,
ChunkHolder.ChunkLoadingFailure>> void
void
replaceProtoChunk
(ImposterProtoChunk p_140053_) private void
scheduleFullChunkPromotion
(ChunkMap p_142999_, CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk, ChunkHolder.ChunkLoadingFailure>> p_143000_, Executor p_143001_, ChunkHolder.FullChunkStatus p_143002_) void
sectionLightChanged
(LightLayer p_140037_, int p_140038_) private void
setQueueLevel
(int p_140087_) void
setTicketLevel
(int p_140028_) private void
updateChunkToSave
(CompletableFuture<? extends com.mojang.datafixers.util.Either<? extends ChunkAccess, ChunkHolder.ChunkLoadingFailure>> p_143018_, String p_143019_) protected void
updateFutures
(ChunkMap p_143004_, Executor p_143005_) boolean
-
Field Details
-
UNLOADED_CHUNK
public static final com.mojang.datafixers.util.Either<ChunkAccess,ChunkHolder.ChunkLoadingFailure> UNLOADED_CHUNK -
UNLOADED_CHUNK_FUTURE
public static final CompletableFuture<com.mojang.datafixers.util.Either<ChunkAccess,ChunkHolder.ChunkLoadingFailure>> UNLOADED_CHUNK_FUTURE -
UNLOADED_LEVEL_CHUNK
public static final com.mojang.datafixers.util.Either<LevelChunk,ChunkHolder.ChunkLoadingFailure> UNLOADED_LEVEL_CHUNK -
NOT_DONE_YET
private static final com.mojang.datafixers.util.Either<ChunkAccess,ChunkHolder.ChunkLoadingFailure> NOT_DONE_YET -
UNLOADED_LEVEL_CHUNK_FUTURE
private static final CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk,ChunkHolder.ChunkLoadingFailure>> UNLOADED_LEVEL_CHUNK_FUTURE -
CHUNK_STATUSES
-
FULL_CHUNK_STATUSES
-
BLOCKS_BEFORE_RESEND_FUDGE
private static final int BLOCKS_BEFORE_RESEND_FUDGE- See Also:
-
futures
private final AtomicReferenceArray<CompletableFuture<com.mojang.datafixers.util.Either<ChunkAccess,ChunkHolder.ChunkLoadingFailure>>> futures -
levelHeightAccessor
-
fullChunkFuture
private volatile CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk,ChunkHolder.ChunkLoadingFailure>> fullChunkFuture -
tickingChunkFuture
private volatile CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk,ChunkHolder.ChunkLoadingFailure>> tickingChunkFuture -
entityTickingChunkFuture
private volatile CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk,ChunkHolder.ChunkLoadingFailure>> entityTickingChunkFuture -
chunkToSave
-
chunkToSaveHistory
-
oldTicketLevel
private int oldTicketLevel -
ticketLevel
private int ticketLevel -
queueLevel
private int queueLevel -
pos
-
hasChangedSections
private boolean hasChangedSections -
changedBlocksPerSection
private final it.unimi.dsi.fastutil.shorts.ShortSet[] changedBlocksPerSection -
blockChangedLightSectionFilter
-
skyChangedLightSectionFilter
-
lightEngine
-
onLevelChange
-
playerProvider
-
wasAccessibleSinceLastSave
private boolean wasAccessibleSinceLastSave -
resendLight
private boolean resendLight -
currentlyLoading
LevelChunk currentlyLoading -
pendingFullStateConfirmation
-
-
Constructor Details
-
ChunkHolder
public ChunkHolder(ChunkPos p_142986_, int p_142987_, LevelHeightAccessor p_142988_, LevelLightEngine p_142989_, ChunkHolder.LevelChangeListener p_142990_, ChunkHolder.PlayerProvider p_142991_)
-
-
Method Details
-
getFutureIfPresentUnchecked
public CompletableFuture<com.mojang.datafixers.util.Either<ChunkAccess,ChunkHolder.ChunkLoadingFailure>> getFutureIfPresentUnchecked(ChunkStatus p_140048_) -
getFutureIfPresent
public CompletableFuture<com.mojang.datafixers.util.Either<ChunkAccess,ChunkHolder.ChunkLoadingFailure>> getFutureIfPresent(ChunkStatus p_140081_) -
getTickingChunkFuture
public CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk,ChunkHolder.ChunkLoadingFailure>> getTickingChunkFuture() -
getEntityTickingChunkFuture
public CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk,ChunkHolder.ChunkLoadingFailure>> getEntityTickingChunkFuture() -
getFullChunkFuture
public CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk,ChunkHolder.ChunkLoadingFailure>> getFullChunkFuture() -
getTickingChunk
-
getFullChunk
-
getLastAvailableStatus
-
getLastAvailable
-
getChunkToSave
-
blockChanged
-
sectionLightChanged
-
broadcastChanges
-
broadcastBlockEntityIfNeeded
private void broadcastBlockEntityIfNeeded(Level p_140033_, BlockPos p_140034_, BlockState p_140035_) -
broadcastBlockEntity
-
broadcast
-
getOrScheduleFuture
public CompletableFuture<com.mojang.datafixers.util.Either<ChunkAccess,ChunkHolder.ChunkLoadingFailure>> getOrScheduleFuture(ChunkStatus p_140050_, ChunkMap p_140051_) -
addSaveDependency
-
updateChunkToSave
private void updateChunkToSave(CompletableFuture<? extends com.mojang.datafixers.util.Either<? extends ChunkAccess, ChunkHolder.ChunkLoadingFailure>> p_143018_, String p_143019_) -
getFullStatus
-
getPos
-
getTicketLevel
public int getTicketLevel() -
getQueueLevel
public int getQueueLevel() -
setQueueLevel
private void setQueueLevel(int p_140087_) -
setTicketLevel
public void setTicketLevel(int p_140028_) -
scheduleFullChunkPromotion
private void scheduleFullChunkPromotion(ChunkMap p_142999_, CompletableFuture<com.mojang.datafixers.util.Either<LevelChunk, ChunkHolder.ChunkLoadingFailure>> p_143000_, Executor p_143001_, ChunkHolder.FullChunkStatus p_143002_) -
demoteFullChunk
-
updateFutures
-
getStatus
-
getFullChunkStatus
-
wasAccessibleSinceLastSave
public boolean wasAccessibleSinceLastSave() -
refreshAccessibility
public void refreshAccessibility() -
replaceProtoChunk
-
getAllFutures
public List<com.mojang.datafixers.util.Pair<ChunkStatus,CompletableFuture<com.mojang.datafixers.util.Either<ChunkAccess, getAllFutures()ChunkHolder.ChunkLoadingFailure>>>>
-