Interface LevelProvider
- All Superinterfaces:
AutoCloseable,Closeable,PlayerDataProvider
- All Known Implementing Classes:
ConversionProvider
Interface that allows the level to load and save chunks from any storage implementation.
-
Method Summary
Modifier and TypeMethodDescriptionforEachChunk(ChunkBuilder.Factory factory, BiConsumer<CloudChunk,Throwable> consumer)Iterate over all chunks that the provider has.Level IDloadLevelData(LevelData levelData)Load level data into givenLevelDataobjectreadChunk(ChunkBuilder chunkBuilder)Reads chunk from provider asynchronouslysaveChunk(org.cloudburstmc.api.level.chunk.Chunk chunk)Saves chunk to provider asynchronouslysaveLevelData(LevelData levelData)Save level data from givenLevelDataobject
-
Method Details
-
getLevelId
String getLevelId()Level ID- Returns:
- id
-
readChunk
Reads chunk from provider asynchronously- Parameters:
chunkBuilder- builder- Returns:
- future when chunk is loaded. Will return null if the chunk does not exist
-
saveChunk
Saves chunk to provider asynchronously- Parameters:
chunk- chunk- Returns:
- void future when chunk is saved.
-
forEachChunk
CompletableFuture<Void> forEachChunk(ChunkBuilder.Factory factory, BiConsumer<CloudChunk,Throwable> consumer)Iterate over all chunks that the provider has.- Parameters:
consumer-- Throws:
UnsupportedOperationException- if the provider does not support chunk iteration.
-
loadLevelData
Load level data into givenLevelDataobject- Parameters:
levelData- levelData to load- Returns:
- future of loaded level data
-
saveLevelData
Save level data from givenLevelDataobject- Parameters:
levelData- levelData to save
-