Package net.minecraft.world.ticks
Class LevelTicks<T>
java.lang.Object
net.minecraft.world.ticks.LevelTicks<T>
- All Implemented Interfaces:
LevelTickAccess<T>,TickAccess<T>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static interface -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final it.unimi.dsi.fastutil.longs.Long2ObjectMap<LevelChunkTicks<T>> private final List<ScheduledTick<T>> private final BiConsumer<LevelChunkTicks<T>, ScheduledTick<T>> private static final Comparator<LevelChunkTicks<?>> private final Queue<LevelChunkTicks<T>> private final it.unimi.dsi.fastutil.longs.Long2LongMapprivate final Supplier<ProfilerFiller> private final LongPredicateprivate final Queue<ScheduledTick<T>> private final Set<ScheduledTick<?>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddContainer(ChunkPos chunkPos, LevelChunkTicks<T> chunkTicks) private voidprivate booleancanScheduleMoreTicks(int maxAllowedTicks) private voidvoidclearArea(BoundingBox area) private voidcollectTicks(long gameTime, int maxAllowedTicks, ProfilerFiller profiler) voidcopyArea(BoundingBox area, Vec3i offset) voidcopyAreaFrom(LevelTicks<T> levelTicks, BoundingBox area, Vec3i offset) intcount()private voiddrainContainers(long gameTime, int maxAllowedTicks) private voiddrainFromCurrentContainer(Queue<LevelChunkTicks<T>> containersToTick, LevelChunkTicks<T> levelChunkTicks, long gameTime, int maxAllowedTicks) private voidforContainersInArea(BoundingBox area, LevelTicks.PosAndContainerConsumer<T> action) booleanhasScheduledTick(BlockPos pos, T type) voidremoveContainer(ChunkPos chunkPos) private voidprivate voidrunCollectedTicks(BiConsumer<BlockPos, T> ticker) voidschedule(ScheduledTick<T> tick) private voidscheduleForThisTick(ScheduledTick<T> tick) private voidsortContainersToTick(long gameTime) voidtick(long gameTime, int maxAllowedTicks, BiConsumer<BlockPos, T> ticker) private voidbooleanwillTickThisTick(BlockPos pos, T type)
-
Field Details
-
CONTAINER_DRAIN_ORDER
-
tickCheck
-
profiler
-
allContainers
-
nextTickForContainer
private final it.unimi.dsi.fastutil.longs.Long2LongMap nextTickForContainer -
containersToTick
-
toRunThisTick
-
alreadyRunThisTick
-
toRunThisTickSet
-
chunkScheduleUpdater
-
-
Constructor Details
-
LevelTicks
-
-
Method Details
-
addContainer
-
removeContainer
-
schedule
- Specified by:
schedulein interfaceTickAccess<T>
-
tick
-
collectTicks
-
sortContainersToTick
private void sortContainersToTick(long gameTime) -
drainContainers
private void drainContainers(long gameTime, int maxAllowedTicks) -
rescheduleLeftoverContainers
private void rescheduleLeftoverContainers() -
updateContainerScheduling
-
drainFromCurrentContainer
private void drainFromCurrentContainer(Queue<LevelChunkTicks<T>> containersToTick, LevelChunkTicks<T> levelChunkTicks, long gameTime, int maxAllowedTicks) -
scheduleForThisTick
-
canScheduleMoreTicks
private boolean canScheduleMoreTicks(int maxAllowedTicks) -
runCollectedTicks
-
cleanupAfterTick
private void cleanupAfterTick() -
hasScheduledTick
- Specified by:
hasScheduledTickin interfaceTickAccess<T>
-
willTickThisTick
- Specified by:
willTickThisTickin interfaceLevelTickAccess<T>
-
calculateTickSetIfNeeded
private void calculateTickSetIfNeeded() -
forContainersInArea
-
clearArea
-
copyArea
-
copyAreaFrom
-
count
public int count()- Specified by:
countin interfaceTickAccess<T>
-