Interface ChunkLoader
- All Known Implementing Classes:
AnvilLoader
public interface ChunkLoader
Interface implemented to change the way chunks are loaded/saved.
See AnvilLoader for the default implementation used in InstanceContainer.
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidloadInstance(Instance instance) Loads instance data from the loader.static ChunkLoadernoop()Returns the no op chunk loadervoidSaves aChunkwith an optional callback for when it is done.default voidsaveChunks(Collection<Chunk> chunks) Saves multiple chunks with an optional callback for when it is done.default voidsaveInstance(Instance instance) default booleanSupports for instance/chunk loading in virtual threads.default booleanSupports for instance/chunk saving in virtual threads.default voidunloadChunk(Chunk chunk) Called when a chunk is unloaded, so that this chunk loader can unload any resource it is holding.
-
Method Details
-
noop
Returns the no op chunk loader- Returns:
- the no op loader.
-
loadInstance
Loads instance data from the loader.- Parameters:
instance- the instance to retrieve the data from
-
loadChunk
-
saveInstance
-
saveChunk
-
saveChunks
Saves multiple chunks with an optional callback for when it is done.Implementations need to check
supportsParallelSaving()to support the feature if possible.- Parameters:
chunks- the chunks to save
-
supportsParallelSaving
default boolean supportsParallelSaving()Supports for instance/chunk saving in virtual threads.- Returns:
- true if the chunk loader supports parallel saving
-
supportsParallelLoading
default boolean supportsParallelLoading()Supports for instance/chunk loading in virtual threads.- Returns:
- true if the chunk loader supports parallel loading
-
unloadChunk
Called when a chunk is unloaded, so that this chunk loader can unload any resource it is holding. Note: Minestom currently has no way to determine whether the chunk comes from this loader, so you may get unload requests for chunks not created by the loader.- Parameters:
chunk- the chunk to unload
-