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 LoadingChunkTracker
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 final SimulationChunkTracker
private int
(package private) final ThrottlingChunkTaskDispatcher
(package private) final TicketStorage
(package private) final it.unimi.dsi.fastutil.longs.LongSet
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
DistanceManager
(TicketStorage pTicketStorage, Executor pDispatcher, Executor pMainThreadExecutor) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addPlayer
(SectionPos pSectionPos, ServerPlayer pPlayer) void
forEachEntityTickingChunk
(it.unimi.dsi.fastutil.longs.LongConsumer p_410745_) protected abstract ChunkHolder
getChunk
(long pChunkPos) int
getChunkLevel
(long pChunkPos, boolean pSimulate) int
private int
it.unimi.dsi.fastutil.longs.LongIterator
hasPlayersNearby
(long pChunkPos) boolean
boolean
inBlockTickingRange
(long pChunkPos) boolean
inEntityTickingRange
(long pChunkPos) protected abstract boolean
isChunkToRemove
(long pChunkPos) void
removePlayer
(SectionPos pSectionPos, ServerPlayer pPlayer) boolean
runAllUpdates
(ChunkMap pChunkMap) protected abstract ChunkHolder
updateChunkScheduling
(long pChunkPos, int pNewLevel, ChunkHolder pHolder, int pOldLevel) protected void
updatePlayerTickets
(int pViewDistance) void
updateSimulationDistance
(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 p_410745_) -
getSpawnCandidateChunks
public it.unimi.dsi.fastutil.longs.LongIterator getSpawnCandidateChunks() -
getDebugStatus
-
hasTickets
public boolean hasTickets()
-