Trait mc_core::world::source::LevelSource[][src]

pub trait LevelSource {
    fn request_chunk_load(
        &mut self,
        req: ChunkLoadRequest
    ) -> Result<(), (LevelSourceError, ChunkLoadRequest)> { ... }
fn poll_chunk(
        &mut self
    ) -> Option<Result<ProtoChunk, (LevelSourceError, ChunkLoadRequest)>> { ... }
fn request_chunk_save(
        &mut self,
        req: ChunkSaveRequest
    ) -> Result<(), LevelSourceError> { ... } }
Expand description

Level loader trait to implement for each different loader such as disk or generator loaders, combine these two types of loaders to save and load change in a chunk to avoid generating twice.

Provided methods

Request loading of the chunk at the given position. If you return an error, you must return back the given ChunkInfo together with the LevelSourceError. If you return Ok(()) you must give a result later when calling poll_chunk. This operation must be non-blocking.

Poll the next loaded chunk that is ready to be inserted into the level’s chunk storage. Every requested load chunk request_chunk_load method that returned Ok(()) should return some some result here, even if it’s an error. This operation must be non-blocking.

Request saving of the chunk at the given position. This operation must be non-blocking.

Implementors