Class TicketStorage

java.lang.Object
net.minecraft.world.level.saveddata.SavedData
net.minecraft.world.level.TicketStorage

public class TicketStorage extends SavedData
  • Field Details

    • INITIAL_TICKET_LIST_CAPACITY

      private static final int INITIAL_TICKET_LIST_CAPACITY
      See Also:
    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • TICKET_ENTRY

      private static final com.mojang.serialization.Codec<com.mojang.datafixers.util.Pair<ChunkPos,Ticket>> TICKET_ENTRY
    • CODEC

      public static final com.mojang.serialization.Codec<TicketStorage> CODEC
    • TYPE

      public static final SavedDataType<TicketStorage> TYPE
    • tickets

      private final it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<List<Ticket>> tickets
    • deactivatedTickets

      private final it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<List<Ticket>> deactivatedTickets
    • chunksWithForcedTickets

      private it.unimi.dsi.fastutil.longs.LongSet chunksWithForcedTickets
    • loadingChunkUpdatedListener

      @Nullable private TicketStorage.ChunkUpdated loadingChunkUpdatedListener
    • simulationChunkUpdatedListener

      @Nullable private TicketStorage.ChunkUpdated simulationChunkUpdatedListener
    • blockForcedChunks

      private final ForcedChunkManager.TicketTracker<BlockPos> blockForcedChunks
    • entityForcedChunks

      private final ForcedChunkManager.TicketTracker<UUID> entityForcedChunks
    • chunksWithForceNaturalSpawning

      private it.unimi.dsi.fastutil.longs.LongSet chunksWithForceNaturalSpawning
  • Constructor Details

    • TicketStorage

      private TicketStorage(it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<List<Ticket>> p_393873_, it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<List<Ticket>> p_394615_)
    • TicketStorage

      public TicketStorage()
  • Method Details

    • fromPacked

      private static TicketStorage fromPacked(List<com.mojang.datafixers.util.Pair<ChunkPos,Ticket>> p_401113_)
    • packTickets

      private List<com.mojang.datafixers.util.Pair<ChunkPos,Ticket>> packTickets()
    • forEachTicket

      private void forEachTicket(BiConsumer<ChunkPos,Ticket> pAction)
    • forEachTicket

      private static void forEachTicket(BiConsumer<ChunkPos,Ticket> p_401366_, it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<List<Ticket>> pAction)
    • activateAllDeactivatedTickets

      public void activateAllDeactivatedTickets()
    • setLoadingChunkUpdatedListener

      public void setLoadingChunkUpdatedListener(@Nullable TicketStorage.ChunkUpdated pLoadingChunkUpdatedListener)
    • setSimulationChunkUpdatedListener

      public void setSimulationChunkUpdatedListener(@Nullable TicketStorage.ChunkUpdated pSimulationChunkUpdatedListener)
    • hasTickets

      public boolean hasTickets()
    • getTickets

      public List<Ticket> getTickets(long pChunkPos)
    • getOrCreateTickets

      private List<Ticket> getOrCreateTickets(long pChunkPos)
    • addTicketWithRadius

      public void addTicketWithRadius(TicketType pTicketType, ChunkPos pChunkPos, int pRadius)
    • addTicket

      public void addTicket(Ticket pTicket, ChunkPos pChunkPos)
    • addTicket

      public boolean addTicket(long pChunkPos, Ticket pTicket)
    • isTicketSameTypeAndLevel

      private static boolean isTicketSameTypeAndLevel(Ticket pFirst, Ticket pSecond)
    • getTicketLevelAt

      public int getTicketLevelAt(long pChunkPos, boolean pRequireSimulation)
    • getTicketLevelAt

      private static int getTicketLevelAt(List<Ticket> pTickets, boolean pRequireSimulation)
    • getLowestTicket

      @Nullable private static Ticket getLowestTicket(@Nullable List<Ticket> pTickets, boolean pRequireSimulation)
    • removeTicketWithRadius

      public void removeTicketWithRadius(TicketType pTicketType, ChunkPos pChunkPos, int pRadius)
    • removeTicket

      public void removeTicket(Ticket pTicket, ChunkPos pChunkPos)
    • removeTicket

      public boolean removeTicket(long pChunkPos, Ticket pTicket)
    • updateForcedChunks

      private void updateForcedChunks()
    • getTicketDebugString

      public String getTicketDebugString(long pChunkPos, boolean pRequireSimulation)
    • purgeStaleTickets

      public void purgeStaleTickets(ChunkMap pMap)
    • deactivateTicketsOnClosing

      public void deactivateTicketsOnClosing()
    • removeTicketIf

      public void removeTicketIf(BiPredicate<Long,Ticket> p_428720_, @Nullable it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<List<Ticket>> p_393746_)
    • replaceTicketLevelOfType

      public void replaceTicketLevelOfType(int pLevel, TicketType pType)
    • updateChunkForced

      public boolean updateChunkForced(ChunkPos pChunkPos, boolean pAdd)
    • getForceLoadedChunks

      public it.unimi.dsi.fastutil.longs.LongSet getForceLoadedChunks()
    • getAllChunksWithTicketThat

      private it.unimi.dsi.fastutil.longs.LongSet getAllChunksWithTicketThat(Predicate<Ticket> p_393731_)
    • getBlockForcedChunks

      public ForcedChunkManager.TicketTracker<BlockPos> getBlockForcedChunks()
    • getEntityForcedChunks

      public ForcedChunkManager.TicketTracker<UUID> getEntityForcedChunks()
    • updateForcedNaturalSpawning

      private void updateForcedNaturalSpawning()
    • shouldForceNaturalSpawning

      public boolean shouldForceNaturalSpawning(ChunkPos chunkPos)