Class DistanceManager

java.lang.Object
net.minecraft.server.level.DistanceManager
Direct Known Subclasses:
ChunkMap.DistanceManager

public abstract class DistanceManager extends Object
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • PLAYER_TICKET_LEVEL

      private static final int PLAYER_TICKET_LEVEL
    • playersPerChunk

      private final it.unimi.dsi.fastutil.longs.Long2ObjectMap<it.unimi.dsi.fastutil.objects.ObjectSet<ServerPlayer>> playersPerChunk
    • loadingChunkTracker

      private final LoadingChunkTracker loadingChunkTracker
    • simulationChunkTracker

      private final SimulationChunkTracker simulationChunkTracker
    • ticketStorage

      private final TicketStorage ticketStorage
    • naturalSpawnChunkCounter

      private final DistanceManager.FixedPlayerDistanceChunkTracker naturalSpawnChunkCounter
    • playerTicketManager

      private final DistanceManager.PlayerTicketTracker playerTicketManager
    • chunksToUpdateFutures

      protected final Set<ChunkHolder> chunksToUpdateFutures
    • ticketDispatcher

      private final ThrottlingChunkTaskDispatcher ticketDispatcher
    • ticketsToRelease

      private final it.unimi.dsi.fastutil.longs.LongSet ticketsToRelease
    • mainThreadExecutor

      private final Executor mainThreadExecutor
    • simulationDistance

      private int simulationDistance
  • Constructor Details

  • Method Details

    • isChunkToRemove

      protected abstract boolean isChunkToRemove(long node)
    • getChunk

      protected abstract @Nullable ChunkHolder getChunk(long node)
    • updateChunkScheduling

      protected abstract @Nullable ChunkHolder updateChunkScheduling(long node, int level, @Nullable ChunkHolder chunk, int oldLevel)
    • runAllUpdates

      public boolean runAllUpdates(ChunkMap scheduler)
    • addPlayer

      public void addPlayer(SectionPos pos, ServerPlayer player)
    • removePlayer

      public void removePlayer(SectionPos pos, ServerPlayer player)
    • getPlayerTicketLevel

      private int getPlayerTicketLevel()
    • inEntityTickingRange

      public boolean inEntityTickingRange(long key)
    • inBlockTickingRange

      public boolean inBlockTickingRange(long key)
    • getChunkLevel

      public int getChunkLevel(long key, boolean simulation)
    • updatePlayerTickets

      protected void updatePlayerTickets(int viewDistance)
    • updateSimulationDistance

      public void updateSimulationDistance(int newDistance)
    • getNaturalSpawnChunkCount

      public int getNaturalSpawnChunkCount()
    • hasPlayersNearby

      public TriState hasPlayersNearby(long pos)
    • forEachEntityTickingChunk

      public void forEachEntityTickingChunk(it.unimi.dsi.fastutil.longs.LongConsumer consumer)
    • getSpawnCandidateChunks

      public it.unimi.dsi.fastutil.longs.LongIterator getSpawnCandidateChunks()
    • getDebugStatus

      public String getDebugStatus()
    • hasTickets

      public boolean hasTickets()