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 pTicketStorage, Executor pDispatcher, Executor pMainThreadExecutor) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddPlayer(SectionPos pSectionPos, ServerPlayer pPlayer) voidforEachEntityTickingChunk(it.unimi.dsi.fastutil.longs.LongConsumer pAction) protected abstract ChunkHoldergetChunk(long pChunkPos) intgetChunkLevel(long pChunkPos, boolean pSimulate) intprivate intit.unimi.dsi.fastutil.longs.LongIteratorhasPlayersNearby(long pChunkPos) booleanbooleaninBlockTickingRange(long pChunkPos) booleaninEntityTickingRange(long pChunkPos) protected abstract booleanisChunkToRemove(long pChunkPos) voidremovePlayer(SectionPos pSectionPos, ServerPlayer pPlayer) booleanrunAllUpdates(ChunkMap pChunkMap) protected abstract ChunkHolderupdateChunkScheduling(long pChunkPos, int pNewLevel, ChunkHolder pHolder, int pOldLevel) protected voidupdatePlayerTickets(int pViewDistance) voidupdateSimulationDistance(int pSimulationDistance)
-
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 pTicketStorage, Executor pDispatcher, Executor pMainThreadExecutor)
-
-
Method Details
-
isChunkToRemove
protected abstract boolean isChunkToRemove(long pChunkPos) -
getChunk
-
updateChunkScheduling
@Nullable protected abstract ChunkHolder updateChunkScheduling(long pChunkPos, int pNewLevel, @Nullable ChunkHolder pHolder, int pOldLevel) -
runAllUpdates
-
addPlayer
-
removePlayer
-
getPlayerTicketLevel
private int getPlayerTicketLevel() -
inEntityTickingRange
public boolean inEntityTickingRange(long pChunkPos) -
inBlockTickingRange
public boolean inBlockTickingRange(long pChunkPos) -
getChunkLevel
public int getChunkLevel(long pChunkPos, boolean pSimulate) -
updatePlayerTickets
protected void updatePlayerTickets(int pViewDistance) -
updateSimulationDistance
public void updateSimulationDistance(int pSimulationDistance) -
getNaturalSpawnChunkCount
public int getNaturalSpawnChunkCount() -
hasPlayersNearby
-
forEachEntityTickingChunk
public void forEachEntityTickingChunk(it.unimi.dsi.fastutil.longs.LongConsumer pAction) -
getSpawnCandidateChunks
public it.unimi.dsi.fastutil.longs.LongIterator getSpawnCandidateChunks() -
getDebugStatus
-
hasTickets
public boolean hasTickets()
-