Class ForcedChunkManager.TicketTracker<T extends Comparable<? super T>>

java.lang.Object
net.neoforged.neoforge.common.world.chunk.ForcedChunkManager.TicketTracker<T>
Enclosing class:
ForcedChunkManager

public static class ForcedChunkManager.TicketTracker<T extends Comparable<? super T>> extends Object
Helper class to manage tracking and handling loaded tickets.
  • Field Details

    • sourcesLoading

      private final it.unimi.dsi.fastutil.longs.Long2ObjectMap<Set<ForcedChunkManager.TicketOwner<T extends Comparable<? super T>>>> sourcesLoading
    • sourcesLoadingNaturalSpawning

      private final it.unimi.dsi.fastutil.longs.Long2ObjectMap<Set<ForcedChunkManager.TicketOwner<T extends Comparable<? super T>>>> sourcesLoadingNaturalSpawning
    • deactivatedSourcesLoading

      private final it.unimi.dsi.fastutil.longs.Long2ObjectMap<Set<ForcedChunkManager.TicketOwner<T extends Comparable<? super T>>>> deactivatedSourcesLoading
    • deactivatedSourcesLoadingNaturalSpawning

      private final it.unimi.dsi.fastutil.longs.Long2ObjectMap<Set<ForcedChunkManager.TicketOwner<T extends Comparable<? super T>>>> deactivatedSourcesLoadingNaturalSpawning
    • naturalSpawningTicketType

      private final net.minecraft.core.Holder<net.minecraft.server.level.TicketType> naturalSpawningTicketType
    • ticketType

      private final net.minecraft.core.Holder<net.minecraft.server.level.TicketType> ticketType
    • ticketStorage

      private final net.minecraft.world.level.TicketStorage ticketStorage
  • Constructor Details

    • TicketTracker

      public TicketTracker(net.minecraft.world.level.TicketStorage ticketStorage, net.minecraft.core.Holder<net.minecraft.server.level.TicketType> ticketType, net.minecraft.core.Holder<net.minecraft.server.level.TicketType> naturalSpawningTicketType)
  • Method Details

    • deactivateTicketsOnClosing

      public void deactivateTicketsOnClosing()
    • inheritDeactivated

      private void inheritDeactivated(ForcedChunkManager.TicketOwner<T> owner, TicketSet ticketSet)
    • activateAllDeactivatedSources

      private void activateAllDeactivatedSources()
    • inheritSources

      private void inheritSources(@Nullable @Nullable net.minecraft.core.Holder<net.minecraft.server.level.TicketType> ticketType, it.unimi.dsi.fastutil.longs.Long2ObjectMap<Set<ForcedChunkManager.TicketOwner<T>>> fromSource, it.unimi.dsi.fastutil.longs.Long2ObjectMap<Set<ForcedChunkManager.TicketOwner<T>>> toSource)
    • hasNoDeactivatedTickets

      public boolean hasNoDeactivatedTickets()
      Checks if this tracker has no deactivated tickets.
      Returns:
      true if there are no tickets that are currently deactivated.
    • isEmpty

      public boolean isEmpty()
      Checks if this tracker is empty.
      Returns:
      true if there are no chunks or chunks with forced natural spawning being tracked.
    • getSourcesLoading

      private it.unimi.dsi.fastutil.longs.Long2ObjectMap<Set<ForcedChunkManager.TicketOwner<T>>> getSourcesLoading(boolean forceNaturalSpawning, boolean targetDeactivated)
    • makeTicket

      private net.minecraft.server.level.Ticket makeTicket(boolean forceNaturalSpawning)
    • remove

      public boolean remove(ForcedChunkManager.TicketOwner<T> owner, long chunk, boolean forceNaturalSpawning, boolean targetDeactivated)
      Returns:
      true if the state changed.
    • add

      private boolean add(ForcedChunkManager.TicketOwner<T> owner, long chunk, boolean forceNaturalSpawning)
      Returns:
      true if the state changed.