Class IOWorker
java.lang.Object
net.minecraft.world.level.chunk.storage.IOWorker
- All Implemented Interfaces:
AutoCloseable,ChunkScanAccess
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class(package private) static enum(package private) static interface -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final PriorityConsecutiveExecutorprivate static final org.slf4j.Loggerprivate final SequencedMap<ChunkPos, IOWorker.PendingStore> private static final intprivate final it.unimi.dsi.fastutil.longs.Long2ObjectLinkedOpenHashMap<CompletableFuture<BitSet>> private final AtomicBooleanprivate final RegionFileStorage -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedIOWorker(RegionStorageInfo pInfo, Path pFolder, boolean pSync) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()private CompletableFuture<BitSet> createOldDataForRegion(int pChunkX, int pChunkZ) private CompletableFuture<BitSet> getOrCreateOldDataForRegion(int pChunkX, int pChunkZ) private booleanisOldChunk(CompoundTag pChunkData) booleanisOldChunkAround(ChunkPos pChunkPos, int pRadius) private voidrunStore(ChunkPos pChunkPos, IOWorker.PendingStore pPendingStore) scanChunk(ChunkPos pChunkPos, StreamTagVisitor pVisitor) store(ChunkPos pChunkPos, Supplier<CompoundTag> pDataSupplier) store(ChunkPos pChunkPos, CompoundTag pChunkData) private voidprivate <T> CompletableFuture<T> submitTask(Supplier<T> pTask) private <T> CompletableFuture<T> submitThrowingTask(IOWorker.ThrowingSupplier<T> pTask) synchronize(boolean pFlushStorage) private voidprivate void
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
shutdownRequested
-
consecutiveExecutor
-
storage
-
pendingWrites
-
regionCacheForBlender
private final it.unimi.dsi.fastutil.longs.Long2ObjectLinkedOpenHashMap<CompletableFuture<BitSet>> regionCacheForBlender -
REGION_CACHE_SIZE
private static final int REGION_CACHE_SIZE- See Also:
-
-
Constructor Details
-
IOWorker
-
-
Method Details
-
isOldChunkAround
-
getOrCreateOldDataForRegion
-
createOldDataForRegion
-
isOldChunk
-
store
-
store
-
loadAsync
-
synchronize
-
scanChunk
- Specified by:
scanChunkin interfaceChunkScanAccess
-
submitThrowingTask
-
submitTask
-
storePendingChunk
private void storePendingChunk() -
tellStorePending
private void tellStorePending() -
runStore
-
close
- Specified by:
closein interfaceAutoCloseable- Throws:
IOException
-
waitForShutdown
private void waitForShutdown() -
storageInfo
-