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> p_401023_)
    • forEachTicket

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

      public void activateAllDeactivatedTickets()
    • setLoadingChunkUpdatedListener

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

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

      public boolean hasTickets()
    • getTickets

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

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

      public void addTicketWithRadius(TicketType p_394465_, ChunkPos p_394654_, int p_393587_)
    • addTicket

      public void addTicket(Ticket p_394208_, ChunkPos p_394290_)
    • addTicket

      public boolean addTicket(long p_394247_, Ticket p_394469_)
    • isTicketSameTypeAndLevel

      private static boolean isTicketSameTypeAndLevel(Ticket p_394344_, Ticket p_394181_)
    • getTicketLevelAt

      public int getTicketLevelAt(long p_393578_, boolean p_393891_)
    • getTicketLevelAt

      private static int getTicketLevelAt(List<Ticket> p_394021_, boolean p_393941_)
    • getLowestTicket

      @Nullable private static Ticket getLowestTicket(@Nullable List<Ticket> p_394073_, boolean p_394430_)
    • removeTicketWithRadius

      public void removeTicketWithRadius(TicketType p_394013_, ChunkPos p_393657_, int p_394336_)
    • removeTicket

      public void removeTicket(Ticket p_394399_, ChunkPos p_393510_)
    • removeTicket

      public boolean removeTicket(long p_393896_, Ticket p_394054_)
    • updateForcedChunks

      private void updateForcedChunks()
    • getTicketDebugString

      public String getTicketDebugString(long p_393749_, boolean p_394364_)
    • purgeStaleTickets

      public void purgeStaleTickets()
    • deactivateTicketsOnClosing

      public void deactivateTicketsOnClosing()
    • removeTicketIf

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

      public void replaceTicketLevelOfType(int p_393875_, TicketType p_394261_)
    • updateChunkForced

      public boolean updateChunkForced(ChunkPos p_394535_, boolean p_394618_)
    • 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)