Package net.minecraft.server.world
Class ChunkTicketManager
java.lang.Object
net.minecraft.server.world.ChunkTicketManager
- Direct Known Subclasses:
ThreadedAnvilChunkStorage.TicketManager
public abstract class ChunkTicketManager extends Object
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
ChunkTicketManager.DistanceFromNearestPlayerTracker
(package private) class
ChunkTicketManager.NearbyChunkTicketUpdater
(package private) class
ChunkTicketManager.TicketDistanceLevelPropagator
-
Field Summary
Fields Modifier and Type Field Description private long
age
private Set<ChunkHolder>
chunkHolders
private LongSet
chunkPositions
private ChunkTicketManager.DistanceFromNearestPlayerTracker
distanceFromNearestPlayerTracker
private ChunkTicketManager.TicketDistanceLevelPropagator
distanceFromTicketTracker
private ChunkTaskPrioritySystem
levelUpdateListener
private static Logger
LOGGER
private Executor
mainThreadExecutor
private static int
NEARBY_PLAYER_TICKET_LEVEL
private ChunkTicketManager.NearbyChunkTicketUpdater
nearbyChunkTicketUpdater
private Long2ObjectMap<ObjectSet<ServerPlayerEntity>>
playersByChunkPos
private MessageListener<ChunkTaskPrioritySystem.Task<Runnable>>
playerTicketThrottler
private MessageListener<ChunkTaskPrioritySystem.UnblockingMessage>
playerTicketThrottlerUnblocker
private Long2ObjectOpenHashMap<SortedArraySet<ChunkTicket<?>>>
ticketsByPosition
-
Constructor Summary
Constructors Modifier Constructor Description protected
ChunkTicketManager(Executor workerExecutor, Executor mainThreadExecutor)
-
Method Summary
Modifier and Type Method Description private void
addTicket(long position, ChunkTicket<?> ticket)
<T> void
addTicket(ChunkTicketType<T> type, ChunkPos pos, int radius, T argument)
<T> void
addTicketWithLevel(ChunkTicketType<T> type, ChunkPos pos, int level, T argument)
protected abstract ChunkHolder
getChunkHolder(long pos)
private static int
getLevel(SortedArraySet<ChunkTicket<?>> sortedArraySet)
int
getSpawningChunkCount()
protected String
getTicket(long pos)
private SortedArraySet<ChunkTicket<?>>
getTicketSet(long position)
void
handleChunkEnter(ChunkSectionPos pos, ServerPlayerEntity player)
void
handleChunkLeave(ChunkSectionPos pos, ServerPlayerEntity player)
protected abstract boolean
isUnloaded(long pos)
boolean
method_20800(long long2)
protected void
purge()
private void
removeTicket(long pos, ChunkTicket<?> ticket)
<T> void
removeTicket(ChunkTicketType<T> type, ChunkPos pos, int radius, T argument)
<T> void
removeTicketWithLevel(ChunkTicketType<T> type, ChunkPos pos, int level, T argument)
protected void
setChunkForced(ChunkPos pos, boolean forced)
protected abstract ChunkHolder
setLevel(long pos, int level, ChunkHolder holder, int int2)
protected void
setWatchDistance(int viewDistance)
boolean
tick(ThreadedAnvilChunkStorage chunkStorage)
String
toDumpString()
-
Field Details
-
LOGGER
-
NEARBY_PLAYER_TICKET_LEVEL
private static final int NEARBY_PLAYER_TICKET_LEVEL -
playersByChunkPos
-
ticketsByPosition
-
distanceFromTicketTracker
-
distanceFromNearestPlayerTracker
-
nearbyChunkTicketUpdater
-
chunkHolders
-
levelUpdateListener
-
playerTicketThrottler
-
playerTicketThrottlerUnblocker
private final MessageListener<ChunkTaskPrioritySystem.UnblockingMessage> playerTicketThrottlerUnblocker -
chunkPositions
-
mainThreadExecutor
-
age
private long age
-
-
Constructor Details
-
ChunkTicketManager
-
-
Method Details
-
purge
protected void purge() -
getLevel
-
isUnloaded
protected abstract boolean isUnloaded(long pos) -
getChunkHolder
-
setLevel
@Nullable protected abstract ChunkHolder setLevel(long pos, int level, @Nullable ChunkHolder holder, int int2) -
tick
-
addTicket
-
removeTicket
-
addTicketWithLevel
-
removeTicketWithLevel
public <T> void removeTicketWithLevel(ChunkTicketType<T> type, ChunkPos pos, int level, T argument) -
addTicket
-
removeTicket
-
getTicketSet
-
setChunkForced
-
handleChunkEnter
-
handleChunkLeave
-
getTicket
-
setWatchDistance
protected void setWatchDistance(int viewDistance) -
getSpawningChunkCount
public int getSpawningChunkCount() -
method_20800
public boolean method_20800(long long2) -
toDumpString
-