- All Known Implementing Classes:
AnvilLoader
public interface IChunkLoader
Interface implemented to change the way chunks are loaded/saved.
See AnvilLoader
for the default implementation used in InstanceContainer
.
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
loadInstance
(Instance instance) Loads instance data from the loader.static IChunkLoader
noop()
void
Saves aChunk
with an optional callback for when it is done.default void
saveChunks
(Collection<Chunk> chunks) Saves multiple chunks with an optional callback for when it is done.default void
saveInstance
(Instance instance) default boolean
Supports for instance/chunk loading in virtual threads.default boolean
Supports for instance/chunk saving in virtual threads.default void
unloadChunk
(Chunk chunk) Called when a chunk is unloaded, so that this chunk loader can unload any resource it is holding.
-
Method Details
-
noop
-
loadInstance
Loads instance data from the loader.- Parameters:
instance
- the instance to retrieve the data from
-
loadChunk
-
saveInstance
-
saveChunk
Saves aChunk
with an optional callback for when it is done.- Parameters:
chunk
- theChunk
to save
-
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
-