Interface ChunkManager
chunks
for a ServerWorld
.-
Method Summary
Modifier and TypeMethodDescriptiondefault <T> Collection<Ticket<T>>
findTickets
(DefaultedRegistryReference<TicketType<T>> type) Gets all currently activetickets
that are of the providedTicketType
.<T> Collection<Ticket<T>>
findTickets
(TicketType<T> type) Gets all currently activetickets
that are of the providedTicketType
.default CompletableFuture<Boolean>
regenerateChunk
(int cx, int cy, int cz) Regenerates a chunk at the given chunk coordinates.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.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).boolean
renewTicket
(Ticket<?> ticket) Attempts to renew this ticket, resetting the lifetime to the default.requestTicket
(DefaultedRegistryReference<TicketType<Vector3i>> type, Vector3i chunkOrigin, int radius) Request aTicket
for a givenTicketType
that supports a chunk position.requestTicket
(DefaultedRegistryReference<TicketType<T>> type, Vector3i chunkOrigin, T value, int radius) Request aTicket
for the givenTicketType
.requestTicket
(TicketType<Vector3i> type, Vector3i chunkOrigin, int radius) Request aTicket
for a givenTicketType
that supports a chunk position.requestTicket
(TicketType<T> type, Vector3i chunkOrigin, T value, int radius) Request aTicket
for the givenTicketType
.Gets theTicks
remaining on the supplied ticket.boolean
Checks if the providedTicket
is valid for the world this manager represents.world()
Gets theServerWorld
this manager operates upon.
-
Method Details
-
world
ServerWorld world()Gets theServerWorld
this manager operates upon.- Returns:
- The
ServerWorld
-
valid
Checks if the providedTicket
is valid for the world this manager represents.- Parameters:
ticket
- The ticket to check.- Returns:
- true if so
-
timeLeft
Gets theTicks
remaining on the supplied ticket.- Returns:
- The
Ticks
-
requestTicket
default Optional<Ticket<Vector3i>> requestTicket(DefaultedRegistryReference<TicketType<Vector3i>> type, Vector3i chunkOrigin, int radius) Request aTicket
for a givenTicketType
that supports a chunk position.- Parameters:
type
- The type of ticket to request.chunkOrigin
- The chunk co-ordinates of the centralWorldChunk
affected by thisTicket
radius
- The radius of the area, in chunks, that thisTicket
affects.- Returns:
- The ticket, if granted.
-
requestTicket
default Optional<Ticket<Vector3i>> requestTicket(TicketType<Vector3i> type, Vector3i chunkOrigin, int radius) Request aTicket
for a givenTicketType
that supports a chunk position.- Parameters:
type
- The type of ticket to request.chunkOrigin
- The chunk co-ordinates of the centralWorldChunk
affected by thisTicket
radius
- The radius of the area, in chunks, that thisTicket
affects.- Returns:
- The ticket, if granted.
-
requestTicket
<T> Optional<Ticket<T>> requestTicket(TicketType<T> type, Vector3i chunkOrigin, T value, int radius) Request aTicket
for 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 centralWorldChunk
affected by thisTicket
value
- The value to register the ticket with.radius
- The radius of the area, in chunks, that thisTicket
affects.- Returns:
- The ticket, if granted.
-
requestTicket
default <T> Optional<Ticket<T>> requestTicket(DefaultedRegistryReference<TicketType<T>> type, Vector3i chunkOrigin, T value, int radius) Request aTicket
for 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 centralWorldChunk
affected by thisTicket
value
- The value to register the ticket with.radius
- The radius of the area, in chunks, that thisTicket
affects. This may be capped - for the Vanilla impl, this is limited to a radius of 33 chunks.- Returns:
- The ticket, if granted.
-
renewTicket
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:
true
if successful
-
releaseTicket
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
Gets all currently activetickets
that are of the providedTicketType
.- Type Parameters:
T
- The type of value theTicket
holds- Parameters:
type
- TheTicketType
to retrieve tickets for- Returns:
- A
Collection
oftickets
-
findTickets
Gets all currently activetickets
that are of the providedTicketType
.- Type Parameters:
T
- The type of value theTicket
holds- Parameters:
type
- TheTicketType
to retrieve tickets for- Returns:
- A
Collection
oftickets
-
regenerateChunk
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
get
orjoin
on 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
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
get
orjoin
on 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
get
orjoin
on 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
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
get
orjoin
on 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
-