Package net.minecraft.server.level
Class DistanceManager
java.lang.Object
net.minecraft.server.level.DistanceManager
- Direct Known Subclasses:
ChunkMap.DistanceManager
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) class
(package private) class
(package private) class
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final Set
<ChunkHolder> private final it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap
<SortedArraySet<Ticket<?>>> private static final int
(package private) static final org.slf4j.Logger
(package private) final Executor
private final DistanceManager.FixedPlayerDistanceChunkTracker
(package private) static final int
(package private) final it.unimi.dsi.fastutil.longs.Long2ObjectMap
<it.unimi.dsi.fastutil.objects.ObjectSet<ServerPlayer>> private final DistanceManager.PlayerTicketTracker
private int
(package private) final it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap
<SortedArraySet<Ticket<?>>> (package private) final it.unimi.dsi.fastutil.longs.LongSet
(package private) final ChunkTaskPriorityQueueSorter
(package private) final ProcessorHandle
<ChunkTaskPriorityQueueSorter.Message<Runnable>> (package private) final ProcessorHandle
<ChunkTaskPriorityQueueSorter.Release> private long
private final DistanceManager.ChunkTicketTracker
private final TickingTracker
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
DistanceManager
(Executor pDispatcher, Executor pMainThreadExecutor) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addPlayer
(SectionPos pSectionPos, ServerPlayer pPlayer) <T> void
addRegionTicket
(TicketType<T> pType, ChunkPos pPos, int pDistance, T pValue) <T> void
addRegionTicket
(TicketType<T> pType, ChunkPos pPos, int pDistance, T pValue, boolean forceTicks) (package private) void
<T> void
addTicket
(TicketType<T> pType, ChunkPos pPos, int pLevel, T pValue) private void
dumpTickets
(String pFilename) protected abstract ChunkHolder
getChunk
(long pChunkPos) int
private int
protected String
getTicketDebugString
(long pChunkPos) private static int
getTicketLevelAt
(SortedArraySet<Ticket<?>> pTickets) Gets the level of the ticket.private SortedArraySet
<Ticket<?>> getTickets
(long pChunkPos) boolean
hasPlayersNearby
(long pChunkPos) boolean
boolean
inBlockTickingRange
(long pChunkPos) boolean
inEntityTickingRange
(long pChunkPos) protected abstract boolean
isChunkToRemove
(long pChunkPos) protected void
void
removePlayer
(SectionPos pSectionPos, ServerPlayer pPlayer) <T> void
removeRegionTicket
(TicketType<T> pType, ChunkPos pPos, int pDistance, T pValue) <T> void
removeRegionTicket
(TicketType<T> pType, ChunkPos pPos, int pDistance, T pValue, boolean forceTicks) (package private) void
removeTicket
(long pChunkPos, Ticket<?> pTicket) <T> void
removeTicket
(TicketType<T> pType, ChunkPos pPos, int pLevel, T pValue) void
boolean
runAllUpdates
(ChunkMap pChunkMap) boolean
shouldForceTicks
(long chunkPos) (package private) TickingTracker
protected void
updateChunkForced
(ChunkPos pPos, boolean pAdd) protected abstract ChunkHolder
updateChunkScheduling
(long pChunkPos, int pNewLevel, ChunkHolder pHolder, int pOldLevel) protected void
updatePlayerTickets
(int pViewDistance) void
updateSimulationDistance
(int pSimulationDistance)
-
Field Details
-
LOGGER
static final org.slf4j.Logger LOGGER -
PLAYER_TICKET_LEVEL
static final int PLAYER_TICKET_LEVEL -
INITIAL_TICKET_LIST_CAPACITY
private static final int INITIAL_TICKET_LIST_CAPACITY- See Also:
-
playersPerChunk
final it.unimi.dsi.fastutil.longs.Long2ObjectMap<it.unimi.dsi.fastutil.objects.ObjectSet<ServerPlayer>> playersPerChunk -
tickets
-
ticketTracker
-
naturalSpawnChunkCounter
-
tickingTicketsTracker
-
playerTicketManager
-
chunksToUpdateFutures
-
ticketThrottler
-
ticketThrottlerInput
-
ticketThrottlerReleaser
-
ticketsToRelease
final it.unimi.dsi.fastutil.longs.LongSet ticketsToRelease -
mainThreadExecutor
-
ticketTickCounter
private long ticketTickCounter -
simulationDistance
private int simulationDistance -
forcedTickets
private final it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<SortedArraySet<Ticket<?>>> forcedTickets
-
-
Constructor Details
-
DistanceManager
-
-
Method Details
-
purgeStaleTickets
protected void purgeStaleTickets() -
getTicketLevelAt
Gets the level of the ticket. -
isChunkToRemove
protected abstract boolean isChunkToRemove(long pChunkPos) -
getChunk
-
updateChunkScheduling
@Nullable protected abstract ChunkHolder updateChunkScheduling(long pChunkPos, int pNewLevel, @Nullable ChunkHolder pHolder, int pOldLevel) -
runAllUpdates
-
addTicket
-
removeTicket
-
addTicket
-
removeTicket
-
addRegionTicket
-
addRegionTicket
public <T> void addRegionTicket(TicketType<T> pType, ChunkPos pPos, int pDistance, T pValue, boolean forceTicks) -
removeRegionTicket
-
removeRegionTicket
public <T> void removeRegionTicket(TicketType<T> pType, ChunkPos pPos, int pDistance, T pValue, boolean forceTicks) -
getTickets
-
updateChunkForced
-
addPlayer
-
removePlayer
-
getPlayerTicketLevel
private int getPlayerTicketLevel() -
inEntityTickingRange
public boolean inEntityTickingRange(long pChunkPos) -
inBlockTickingRange
public boolean inBlockTickingRange(long pChunkPos) -
getTicketDebugString
-
updatePlayerTickets
protected void updatePlayerTickets(int pViewDistance) -
updateSimulationDistance
public void updateSimulationDistance(int pSimulationDistance) -
getNaturalSpawnChunkCount
public int getNaturalSpawnChunkCount() -
hasPlayersNearby
public boolean hasPlayersNearby(long pChunkPos) -
getDebugStatus
-
shouldForceTicks
public boolean shouldForceTicks(long chunkPos) -
dumpTickets
-
tickingTracker
TickingTracker tickingTracker() -
removeTicketsOnClosing
public void removeTicketsOnClosing() -
hasTickets
public boolean hasTickets()
-