Class ChunkTicketLevelUpdatedEvent

java.lang.Object
net.neoforged.bus.api.Event
net.neoforged.neoforge.event.level.ChunkTicketLevelUpdatedEvent

public class ChunkTicketLevelUpdatedEvent extends net.neoforged.bus.api.Event
This event is fired whenever a chunk has its ticket level changed via the server's ChunkMap.

This event does not fire if the new ticket level is the same as the old level, or if both the new AND old ticket levels represent values past the max chunk distance.

Due to how vanilla processes ticket level changes this event may be fired "twice" in one tick for the same chunk. The scenario where this happens is when increasing the level from say 31 (ticking) to 32, the way vanilla does it is by first changing it from 31 to 46, and then queuing the update from 46 to 32. However, when going from 32 to 31, vanilla is able to go directly.

This event is not

invalid reference
cancellable
and does not
invalid reference
have a result
.

This event is fired on the main Forge event bus only on the logical server.

  • Field Details

    • level

      private final ServerLevel level
    • chunkPos

      private final long chunkPos
    • oldTicketLevel

      private final int oldTicketLevel
    • newTicketLevel

      private final int newTicketLevel
    • chunkHolder

      @Nullable private final @Nullable ChunkHolder chunkHolder
  • Constructor Details

    • ChunkTicketLevelUpdatedEvent

      public ChunkTicketLevelUpdatedEvent(ServerLevel level, long chunkPos, int oldTicketLevel, int newTicketLevel, @Nullable @Nullable ChunkHolder chunkHolder)
  • Method Details

    • getLevel

      public ServerLevel getLevel()
      Returns the server level containing the chunk.
      Returns:
      the server level containing the chunk
    • getChunkPos

      public long getChunkPos()
      Returns the long representation of the chunk position the ticket level changed for.
      Returns:
      the long representation of the chunk position the ticket level changed for
    • getOldTicketLevel

      public int getOldTicketLevel()
      Returns the previous ticket level the chunk had.
      Returns:
      the previous ticket level the chunk had
    • getNewTicketLevel

      public int getNewTicketLevel()
      Returns the new ticket level for the chunk.
      Returns:
      the new ticket level for the chunk
    • getChunkHolder

      @Nullable public @Nullable ChunkHolder getChunkHolder()
      Returns chunk that had its ticket level updated.
      Returns:
      chunk that had its ticket level updated