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 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 ChunkHolderupdateChunkScheduling(long chunkPos, int newLevel, 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
@Nullable protected abstract 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()
-