Class LevelTicks<T>

java.lang.Object
net.minecraft.world.ticks.LevelTicks<T>
All Implemented Interfaces:
LevelTickAccess<T>, TickAccess<T>

public class LevelTicks<T> extends Object implements LevelTickAccess<T>
  • Field Details

  • Constructor Details

  • Method Details

    • addContainer

      public void addContainer(ChunkPos pos, LevelChunkTicks<T> container)
    • removeContainer

      public void removeContainer(ChunkPos pos)
    • schedule

      public void schedule(ScheduledTick<T> tick)
      Specified by:
      schedule in interface TickAccess<T>
    • tick

      public void tick(long currentTick, int maxTicksToProcess, BiConsumer<BlockPos,T> output)
    • collectTicks

      private void collectTicks(long currentTick, int maxTicksToProcess, ProfilerFiller profiler)
    • sortContainersToTick

      private void sortContainersToTick(long currentTick)
    • drainContainers

      private void drainContainers(long currentTick, int maxTicksToProcess)
    • rescheduleLeftoverContainers

      private void rescheduleLeftoverContainers()
    • updateContainerScheduling

      private void updateContainerScheduling(ScheduledTick<T> nextTick)
    • drainFromCurrentContainer

      private void drainFromCurrentContainer(Queue<LevelChunkTicks<T>> containersToTick, LevelChunkTicks<T> currentContainer, long currentTick, int maxTicksToProcess)
    • scheduleForThisTick

      private void scheduleForThisTick(ScheduledTick<T> tick)
    • canScheduleMoreTicks

      private boolean canScheduleMoreTicks(int maxTicksToProcess)
    • runCollectedTicks

      private void runCollectedTicks(BiConsumer<BlockPos,T> output)
    • cleanupAfterTick

      private void cleanupAfterTick()
    • hasScheduledTick

      public boolean hasScheduledTick(BlockPos pos, T block)
      Specified by:
      hasScheduledTick in interface TickAccess<T>
    • willTickThisTick

      public boolean willTickThisTick(BlockPos pos, T type)
      Specified by:
      willTickThisTick in interface LevelTickAccess<T>
    • calculateTickSetIfNeeded

      private void calculateTickSetIfNeeded()
    • forContainersInArea

      private void forContainersInArea(BoundingBox bb, LevelTicks.PosAndContainerConsumer<T> ouput)
    • clearArea

      public void clearArea(BoundingBox area)
    • copyArea

      public void copyArea(BoundingBox area, Vec3i offset)
    • copyAreaFrom

      public void copyAreaFrom(LevelTicks<T> source, BoundingBox area, Vec3i offset)
    • count

      public int count()
      Specified by:
      count in interface TickAccess<T>