Class GenerationChunkHolder
java.lang.Object
net.minecraft.server.level.GenerationChunkHolder
- Direct Known Subclasses:
ChunkHolder
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final List<ChunkStatus> private final AtomicReferenceArray<@Nullable CompletableFuture<ChunkResult<ChunkAccess>>> private final AtomicIntegerprivate CompletableFuture<Void> private @Nullable ChunkStatusprivate static final ChunkResult<ChunkAccess> protected final ChunkPosprivate final AtomicReference<@Nullable ChunkStatus> private final AtomicReference<@Nullable ChunkGenerationTask> static final ChunkResult<ChunkAccess> static final CompletableFuture<ChunkResult<ChunkAccess>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanacquireStatusBump(ChunkStatus status) protected abstract voidaddSaveDependency(CompletableFuture<?> sync) (package private) CompletableFuture<ChunkResult<ChunkAccess>> applyStep(ChunkStep step, GeneratingChunkMap chunkMap, StaticCache2D<GenerationChunkHolder> cache) private voidcompleteFuture(ChunkStatus status, ChunkAccess chunk) voidprivate voidfailAndClearPendingFuture(int index, CompletableFuture<ChunkResult<ChunkAccess>> previous) private voidfailAndClearPendingFuturesBetween(@Nullable ChunkStatus fromExclusive, ChunkStatus toInclusive) private @Nullable ChunkStatusfindHighestStatusWithPendingFuture(@Nullable ChunkStatus newStatus) List<com.mojang.datafixers.util.Pair<ChunkStatus, @Nullable CompletableFuture<ChunkResult<ChunkAccess>>>> @Nullable ChunkAccessgetChunkIfPresent(ChunkStatus status) @Nullable ChunkAccess@Nullable ChunkAccess@Nullable ChunkStatusprivate CompletableFuture<ChunkResult<ChunkAccess>> getOrCreateFuture(ChunkStatus status) @Nullable ChunkStatusgetPos()abstract intabstract intvoidprivate booleanisStatusDisallowed(ChunkStatus status) (package private) voidvoidprivate voidrescheduleChunkTask(ChunkMap scheduler, @Nullable ChunkStatus status) scheduleChunkGenerationTask(ChunkStatus status, ChunkMap scheduler) protected voidupdateHighestAllowedStatus(ChunkMap scheduler)
-
Field Details
-
CHUNK_STATUSES
-
NOT_DONE_YET
-
UNLOADED_CHUNK
-
UNLOADED_CHUNK_FUTURE
-
pos
-
highestAllowedStatus
-
startedWork
-
futures
-
task
-
generationRefCount
-
generationSaveSyncFuture
-
currentlyLoading
-
-
Constructor Details
-
GenerationChunkHolder
-
-
Method Details
-
scheduleChunkGenerationTask
public CompletableFuture<ChunkResult<ChunkAccess>> scheduleChunkGenerationTask(ChunkStatus status, ChunkMap scheduler) -
applyStep
CompletableFuture<ChunkResult<ChunkAccess>> applyStep(ChunkStep step, GeneratingChunkMap chunkMap, StaticCache2D<GenerationChunkHolder> cache) -
updateHighestAllowedStatus
-
replaceProtoChunk
-
removeTask
-
rescheduleChunkTask
-
getOrCreateFuture
-
failAndClearPendingFuturesBetween
private void failAndClearPendingFuturesBetween(@Nullable ChunkStatus fromExclusive, ChunkStatus toInclusive) -
failAndClearPendingFuture
private void failAndClearPendingFuture(int index, CompletableFuture<ChunkResult<ChunkAccess>> previous) -
completeFuture
-
findHighestStatusWithPendingFuture
-
acquireStatusBump
-
isStatusDisallowed
-
addSaveDependency
-
increaseGenerationRefCount
public void increaseGenerationRefCount() -
decreaseGenerationRefCount
public void decreaseGenerationRefCount() -
getChunkIfPresentUnchecked
-
getChunkIfPresent
-
getLatestChunk
-
getPersistedStatus
-
getPos
-
getFullStatus
-
getTicketLevel
public abstract int getTicketLevel() -
getQueueLevel
public abstract int getQueueLevel() -
getAllFutures
public List<com.mojang.datafixers.util.Pair<ChunkStatus, @Nullable CompletableFuture<ChunkResult<ChunkAccess>>>> getAllFutures() -
getLatestStatus
-