net.minecraft.world.tick

public class WorldTickScheduler<T>

implements QueryableTickScheduler<T>

net.minecraft.world.ticks.LevelTicks
net.minecraft.class_6757
net.minecraft.world.tick.WorldTickScheduler

Field summary

Modifier and TypeField
private static final Comparator<ChunkTickScheduler<?>>
CONTAINER_DRAIN_ORDER
field_35531
COMPARATOR
private final LongPredicate
tickCheck
field_35532
tickingFutureReadyPredicate
private final it.unimi.dsi.fastutil.longs.Long2ObjectMap<ChunkTickScheduler<T>>
allContainers
field_35534
chunkTickSchedulers
private final it.unimi.dsi.fastutil.longs.Long2LongMap
nextTickForContainer
field_35535
nextTriggerTickByChunkPos
private final Queue<ChunkTickScheduler<T>>
containersToTick
field_35536
tickableChunkTickSchedulers
private final Queue<OrderedTick<T>>
toRunThisTick
field_35537
tickableTicks
private final List<OrderedTick<T>>
alreadyRunThisTick
field_35538
tickedTicks
private final Set<OrderedTick<?>>
toRunThisTickSet
field_35539
copiedTickableTicksList
private final BiConsumer<ChunkTickScheduler<T>, OrderedTick<T>>
chunkScheduleUpdater
field_35540
queuedTickConsumer

Constructor summary

ModifierConstructor
public (LongPredicate tickingFutureReadyPredicate)

Method summary

Modifier and TypeMethod
public void
addContainer(ChunkPos pos, LevelChunkTicks<T> container)
method_39379(class_1923 arg0, class_6755<T> arg1)
addChunkTickScheduler(ChunkPos pos, ChunkTickScheduler<T> scheduler)
public void
removeContainer(ChunkPos pos)
method_39378(class_1923 arg0)
removeChunkTickScheduler(ChunkPos pos)
public void
schedule(ScheduledTick<T> tick)
method_39363(class_6760<T> arg0)
scheduleTick(OrderedTick<T> arg0)
public void
tick(long currentTick, int maxTicksToProcess, BiConsumer<BlockPos, T> output)
method_39377(long arg0, int arg1, BiConsumer<class_2338, T> arg2)
tick(long time, int maxTicks, BiConsumer<BlockPos, T> ticker)
private void
collectTicks(long currentTick, int maxTicksToProcess, ProfilerFiller profiler)
method_39376(long arg0, int arg1, class_3695 arg2)
collectTickableTicks(long time, int maxTicks, Profiler profiler)
private void
sortContainersToTick(long currentTick)
method_39374(long arg0)
collectTickableChunkTickSchedulers(long time)
private void
drainContainers(long currentTick, int maxTicksToProcess)
method_39375(long arg0, int arg1)
addTickableTicks(long time, int maxTicks)
private void
rescheduleLeftoverContainers()
method_39392()
delayAllTicks()
private void
updateContainerScheduling(ScheduledTick<T> nextTick)
method_39393(class_6760<T> arg0)
schedule(OrderedTick<T> tick)
private void
drainFromCurrentContainer(Queue<LevelChunkTicks<T>> containersToTick, LevelChunkTicks<T> currentContainer, long currentTick, int maxTicksToProcess)
method_39389(Queue<class_6755<T>> arg0, class_6755<T> arg1, long arg2, int arg3)
addTickableTicks(Queue<ChunkTickScheduler<T>> tickableChunkTickSchedulers, ChunkTickScheduler<T> chunkTickScheduler, long tick, int maxTicks)
private void
scheduleForThisTick(ScheduledTick<T> tick)
method_39395(class_6760<T> arg0)
addTickableTick(OrderedTick<T> tick)
private boolean
canScheduleMoreTicks(int maxTicksToProcess)
method_39373(int arg0)
isTickableTicksCountUnder(int maxTicks)
private void
runCollectedTicks(BiConsumer<BlockPos, T> output)
method_39390(BiConsumer<class_2338, T> arg0)
tick(BiConsumer<BlockPos, T> ticker)
private void
cleanupAfterTick()
method_39394()
clear()
public boolean
hasScheduledTick(BlockPos pos, T block)
method_8674(class_2338 arg0, T arg1)
isQueued(BlockPos arg0, T arg1)
public boolean
willTickThisTick(BlockPos pos, T type)
method_8677(class_2338 arg0, T arg1)
isTicking(BlockPos arg0, T arg1)
private void
calculateTickSetIfNeeded()
method_39396()
copyTickableTicksList()
private void
forContainersInArea(BoundingBox bb, LevelTicks$PosAndContainerConsumer<T> ouput)
method_39381(class_3341 arg0, class_6757$class_6758<T> arg1)
visitChunks(BlockBox box, WorldTickScheduler$ChunkVisitor<T> visitor)
public void
clearArea(BoundingBox area)
method_39380(class_3341 arg0)
clearNextTicks(BlockBox box)
public void
copyArea(BoundingBox area, Vec3i offset)
method_39383(class_3341 arg0, class_2382 arg1)
scheduleTicks(BlockBox box, Vec3i offset)
public void
copyAreaFrom(LevelTicks<T> source, BoundingBox area, Vec3i offset)
method_48167(class_6757<T> arg0, class_3341 arg1, class_2382 arg2)
scheduleTicks(WorldTickScheduler<T> scheduler, BlockBox box, Vec3i offset)
public int
count()
method_20825()
getTickCount()
private void
lambda$copyAreaFrom$7(Vec3i arg0, long arg1, long arg2, ScheduledTick arg3)
method_48168(class_2382 arg0, long arg1, long arg2, class_6760 arg3)
method_48168(Vec3i arg0, long arg1, long arg2, OrderedTick tick)
private static void
lambda$copyAreaFrom$6(Predicate arg0, List arg1, long arg2, LevelChunkTicks arg3)
method_48169(Predicate arg0, List arg1, long arg2, class_6755 arg3)
method_48169(Predicate arg0, List arg1, long chunkPos, ChunkTickScheduler chunkTickScheduler)
private static boolean
lambda$copyAreaFrom$5(BoundingBox arg0, ScheduledTick arg1)
method_48166(class_3341 arg0, class_6760 arg1)
method_48166(BlockBox arg0, OrderedTick tick)
private void
lambda$clearArea$4(Predicate arg0, long arg1, LevelChunkTicks arg2)
method_39391(Predicate arg0, long arg1, class_6755 arg2)
method_39391(Predicate arg0, long chunkPos, ChunkTickScheduler chunkTickScheduler)
private static boolean
lambda$clearArea$3(BoundingBox arg0, ScheduledTick arg1)
method_39382(class_3341 arg0, class_6760 arg1)
method_39382(BlockBox arg0, OrderedTick tick)
private void
lambda$new$2(LevelChunkTicks arg0, ScheduledTick arg1)
method_39385(class_6755 arg0, class_6760 arg1)
method_39385(ChunkTickScheduler chunkTickScheduler, OrderedTick tick)
private static void
lambda$new$1(it.unimi.dsi.fastutil.longs.Long2LongOpenHashMap arg0)
method_39387(it.unimi.dsi.fastutil.longs.Long2LongOpenHashMap arg0)
method_39387(it.unimi.dsi.fastutil.longs.Long2LongOpenHashMap map)
private static int
lambda$static$0(LevelChunkTicks arg0, LevelChunkTicks arg1)
method_39384(class_6755 arg0, class_6755 arg1)
method_39384(ChunkTickScheduler a, ChunkTickScheduler b)