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
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final org.slf4j.Logger
private final ProcessorMailbox
<StrictQueue.IntRunnable> private final Map
<ChunkPos, IOWorker.PendingStore> private static final int
private final it.unimi.dsi.fastutil.longs.Long2ObjectLinkedOpenHashMap
<CompletableFuture<BitSet>> private final AtomicBoolean
private final RegionFileStorage
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
IOWorker
(RegionStorageInfo info, Path folder, boolean sync) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
private CompletableFuture
<BitSet> createOldDataForRegion
(int chunkX, int chunkZ) private CompletableFuture
<BitSet> getOrCreateOldDataForRegion
(int chunkX, int chunkZ) private boolean
isOldChunk
(CompoundTag chunkData) boolean
isOldChunkAround
(ChunkPos chunkPos, int radius) private void
runStore
(ChunkPos chunkPos, IOWorker.PendingStore pendingStore) scanChunk
(ChunkPos chunkPos, StreamTagVisitor visitor) store
(ChunkPos chunkPos, CompoundTag chunkData) private void
private <T> CompletableFuture
<T> submitTask
(Supplier<com.mojang.datafixers.util.Either<T, Exception>> task) synchronize
(boolean flushStorage) private void
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
shutdownRequested
-
mailbox
-
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
-
loadAsync
-
synchronize
-
scanChunk
- Specified by:
scanChunk
in interfaceChunkScanAccess
-
submitTask
private <T> CompletableFuture<T> submitTask(Supplier<com.mojang.datafixers.util.Either<T, Exception>> task) -
storePendingChunk
private void storePendingChunk() -
tellStorePending
private void tellStorePending() -
runStore
-
close
- Specified by:
close
in interfaceAutoCloseable
- Throws:
IOException
-
storageInfo
-