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 -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Set<ChunkHolder> private final LoadingChunkTrackerprivate static final org.slf4j.Logger(package private) final Executorprivate 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.PlayerTicketTrackerprivate final SimulationChunkTrackerprivate int(package private) final ThrottlingChunkTaskDispatcher(package private) final TicketStorage(package private) final it.unimi.dsi.fastutil.longs.LongSet -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedDistanceManager(TicketStorage ticketStorage, Executor dispatcher, Executor mainThreadExecutor) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddPlayer(SectionPos sectionPos, ServerPlayer player) voidforEachEntityTickingChunk(it.unimi.dsi.fastutil.longs.LongConsumer action) protected abstract @Nullable ChunkHoldergetChunk(long chunkPos) intgetChunkLevel(long chunkPos, boolean simulate) intprivate intit.unimi.dsi.fastutil.longs.LongIteratorhasPlayersNearby(long chunkPos) booleanbooleaninBlockTickingRange(long chunkPos) booleaninEntityTickingRange(long chunkPos) protected abstract booleanisChunkToRemove(long chunkPos) voidremovePlayer(SectionPos sectionPos, ServerPlayer player) booleanrunAllUpdates(ChunkMap chunkMap) protected abstract @Nullable ChunkHolderupdateChunkScheduling(long chunkPos, int newLevel, @Nullable ChunkHolder holder, int oldLevel) protected voidupdatePlayerTickets(int viewDistance) voidupdateSimulationDistance(int simulationDistance)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
PLAYER_TICKET_LEVEL
static final int PLAYER_TICKET_LEVEL -
playersPerChunk
final it.unimi.dsi.fastutil.longs.Long2ObjectMap<it.unimi.dsi.fastutil.objects.ObjectSet<ServerPlayer>> playersPerChunk -
loadingChunkTracker
-
simulationChunkTracker
-
ticketStorage
-
naturalSpawnChunkCounter
-
playerTicketManager
-
chunksToUpdateFutures
-
ticketDispatcher
-
ticketsToRelease
final it.unimi.dsi.fastutil.longs.LongSet ticketsToRelease -
mainThreadExecutor
-
simulationDistance
private int simulationDistance
-
-
Constructor Details
-
DistanceManager
protected DistanceManager(TicketStorage ticketStorage, Executor dispatcher, Executor mainThreadExecutor)
-
-
Method Details
-
isChunkToRemove
protected abstract boolean isChunkToRemove(long chunkPos) -
getChunk
-
updateChunkScheduling
protected abstract @Nullable ChunkHolder updateChunkScheduling(long chunkPos, int newLevel, @Nullable ChunkHolder holder, int oldLevel) -
runAllUpdates
-
addPlayer
-
removePlayer
-
getPlayerTicketLevel
private int getPlayerTicketLevel() -
inEntityTickingRange
public boolean inEntityTickingRange(long chunkPos) -
inBlockTickingRange
public boolean inBlockTickingRange(long chunkPos) -
getChunkLevel
public int getChunkLevel(long chunkPos, boolean simulate) -
updatePlayerTickets
protected void updatePlayerTickets(int viewDistance) -
updateSimulationDistance
public void updateSimulationDistance(int simulationDistance) -
getNaturalSpawnChunkCount
public int getNaturalSpawnChunkCount() -
hasPlayersNearby
-
forEachEntityTickingChunk
public void forEachEntityTickingChunk(it.unimi.dsi.fastutil.longs.LongConsumer action) -
getSpawnCandidateChunks
public it.unimi.dsi.fastutil.longs.LongIterator getSpawnCandidateChunks() -
getDebugStatus
-
hasTickets
public boolean hasTickets()
-