Interface ChunkManager
-
@DoNotStore public interface ChunkManager
Manageschunksfor aServerWorld.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default <T> Collection<Ticket<T>>findTickets(DefaultedRegistryReference<TicketType<T>> type)Gets all currently activeticketsthat are of the providedTicketType.<T> Collection<Ticket<T>>findTickets(TicketType<T> type)Gets all currently activeticketsthat are of the providedTicketType.default CompletableFuture<Boolean>regenerateChunk(int cx, int cy, int cz)Regenerates a chunk at the given chunk coordinates.CompletableFuture<Boolean>regenerateChunk(int cx, int cy, int cz, ChunkRegenerateFlag flag)Regenerates a chunk at the given chunk coordinates.default CompletableFuture<Boolean>regenerateChunk(Vector3i chunkPosition)Regenerates a chunk at the given chunk coordinate position.default CompletableFuture<Boolean>regenerateChunk(Vector3i chunkPosition, ChunkRegenerateFlag flag)Regenerates a chunk at the given chunk coordinate position.booleanreleaseTicket(Ticket<?> ticket)Releases the providedTicket, allowing the chunk position represented by the given ticket to be unloaded (if it is not being kept loaded by other means).booleanrenewTicket(Ticket<?> ticket)Attempts to renew this ticket, resetting the lifetime to the default.default Optional<Ticket<Vector3i>>requestTicket(DefaultedRegistryReference<TicketType<Vector3i>> type, Vector3i chunkOrigin, int radius)Request aTicketfor a givenTicketTypethat supports a chunk position.default <T> Optional<Ticket<T>>requestTicket(DefaultedRegistryReference<TicketType<T>> type, Vector3i chunkOrigin, T value, int radius)Request aTicketfor the givenTicketType.default Optional<Ticket<Vector3i>>requestTicket(TicketType<Vector3i> type, Vector3i chunkOrigin, int radius)Request aTicketfor a givenTicketTypethat supports a chunk position.<T> Optional<Ticket<T>>requestTicket(TicketType<T> type, Vector3i chunkOrigin, T value, int radius)Request aTicketfor the givenTicketType.TickstimeLeft(Ticket<?> ticket)Gets theTicksremaining on the supplied ticket.booleanvalid(Ticket<?> ticket)Checks if the providedTicketis valid for the world this manager represents.ServerWorldworld()Gets theServerWorldthis manager operates upon.
-
-
-
Method Detail
-
world
ServerWorld world()
Gets theServerWorldthis manager operates upon.- Returns:
- The
ServerWorld
-
valid
boolean valid(Ticket<?> ticket)
Checks if the providedTicketis valid for the world this manager represents.- Parameters:
ticket- The ticket to check.- Returns:
- true if so
-
timeLeft
Ticks timeLeft(Ticket<?> ticket)
Gets theTicksremaining on the supplied ticket.- Returns:
- The
Ticks
-
requestTicket
default Optional<Ticket<Vector3i>> requestTicket(DefaultedRegistryReference<TicketType<Vector3i>> type, Vector3i chunkOrigin, int radius)
Request aTicketfor a givenTicketTypethat supports a chunk position.- Parameters:
type- The type of ticket to request.chunkOrigin- The chunk co-ordinates of the centralWorldChunkaffected by thisTicketradius- The radius of the area, in chunks, that thisTicketaffects.- Returns:
- The ticket, if granted.
-
requestTicket
default Optional<Ticket<Vector3i>> requestTicket(TicketType<Vector3i> type, Vector3i chunkOrigin, int radius)
Request aTicketfor a givenTicketTypethat supports a chunk position.- Parameters:
type- The type of ticket to request.chunkOrigin- The chunk co-ordinates of the centralWorldChunkaffected by thisTicketradius- The radius of the area, in chunks, that thisTicketaffects.- Returns:
- The ticket, if granted.
-
requestTicket
<T> Optional<Ticket<T>> requestTicket(TicketType<T> type, Vector3i chunkOrigin, T value, int radius)
Request aTicketfor the givenTicketType.- Type Parameters:
T- The type of the suppliedvalue.- Parameters:
type- The type of ticket to request.chunkOrigin- The chunk co-ordinates of the centralWorldChunkaffected by thisTicketvalue- The value to register the ticket with.radius- The radius of the area, in chunks, that thisTicketaffects.- Returns:
- The ticket, if granted.
-
requestTicket
default <T> Optional<Ticket<T>> requestTicket(DefaultedRegistryReference<TicketType<T>> type, Vector3i chunkOrigin, T value, int radius)
Request aTicketfor the givenTicketType.- Type Parameters:
T- The type of the suppliedvalue.- Parameters:
type- The type of ticket to request.chunkOrigin- The chunk co-ordinates of the centralWorldChunkaffected by thisTicketvalue- The value to register the ticket with.radius- The radius of the area, in chunks, that thisTicketaffects. This may be capped - for the Vanilla impl, this is limited to a radius of 33 chunks.- Returns:
- The ticket, if granted.
-
renewTicket
boolean renewTicket(Ticket<?> ticket)
Attempts to renew this ticket, resetting the lifetime to the default.If this ticket is no longer valid, it cannot be renewed. Instead, you should
requestTicket(TicketType, Vector3i, Object, int)a new one.- Parameters:
ticket- The ticket to attempt to renew- Returns:
trueif successful
-
releaseTicket
boolean releaseTicket(Ticket<?> ticket)
Releases the providedTicket, allowing the chunk position represented by the given ticket to be unloaded (if it is not being kept loaded by other means).- Parameters:
ticket- The ticket to release.
-
findTickets
<T> Collection<Ticket<T>> findTickets(TicketType<T> type)
Gets all currently activeticketsthat are of the providedTicketType.- Type Parameters:
T- The type of value theTicketholds- Parameters:
type- TheTicketTypeto retrieve tickets for- Returns:
- A
Collectionoftickets
-
findTickets
default <T> Collection<Ticket<T>> findTickets(DefaultedRegistryReference<TicketType<T>> type)
Gets all currently activeticketsthat are of the providedTicketType.- Type Parameters:
T- The type of value theTicketholds- Parameters:
type- TheTicketTypeto retrieve tickets for- Returns:
- A
Collectionoftickets
-
regenerateChunk
default CompletableFuture<Boolean> regenerateChunk(Vector3i chunkPosition)
Regenerates a chunk at the given chunk coordinate position.Care should be taken to check the result of the future, as an exception may be provided if the regeneration was not successful.
Users must not use
getorjoinon this future. Doing so may end up causing a deadlock on the server.- Parameters:
chunkPosition- The chunk position to regenerate- Returns:
- The regenerated chunk, if available
-
regenerateChunk
default CompletableFuture<Boolean> regenerateChunk(int cx, int cy, int cz)
Regenerates a chunk at the given chunk coordinates.Care should be taken to check the result of the future, as an exception may be provided if the regeneration was not successful.
Users must not use
getorjoinon this future. Doing so may end up causing a deadlock on the server.- Parameters:
cx- The chunk x coordinatecy- The chunk y coordinatecz- The chunk z coordinate- Returns:
- The regenerated chunk, if available
-
regenerateChunk
default CompletableFuture<Boolean> regenerateChunk(Vector3i chunkPosition, ChunkRegenerateFlag flag)
Regenerates a chunk at the given chunk coordinate position.Care should be taken to check the result of the future, as an exception may be provided if the regeneration was not successful.
Users must not use
getorjoinon this future. Doing so may end up causing a deadlock on the server.- Parameters:
chunkPosition- The chunk position to regenerateflag- The chunk regenerate flag to use- Returns:
- The regenerated chunk, if available
-
regenerateChunk
CompletableFuture<Boolean> regenerateChunk(int cx, int cy, int cz, ChunkRegenerateFlag flag)
Regenerates a chunk at the given chunk coordinates.Care should be taken to check the result of the future, as an exception may be provided if the regeneration was not successful.
Users must not use
getorjoinon this future. Doing so may end up causing a deadlock on the server.- Parameters:
cx- The chunk x coordinatecy- The chunk y coordinatecz- The chunk z coordinateflag- The chunk regenerate flag to use- Returns:
- The regenerated chunk, if available
-
-