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 LongPredicateprivate final Queue<ScheduledTick<T>> private final Set<ScheduledTick<?>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddContainer(ChunkPos pChunkPos, LevelChunkTicks<T> pChunkTicks) private voidprivate booleancanScheduleMoreTicks(int pMaxAllowedTicks) private voidvoidclearArea(BoundingBox pArea) private voidcollectTicks(long pGameTime, int pMaxAllowedTicks, ProfilerFiller pProfiler) voidcopyArea(BoundingBox pArea, Vec3i pOffset) voidcopyAreaFrom(LevelTicks<T> pLevelTicks, BoundingBox pArea, Vec3i pOffset) intcount()private voiddrainContainers(long pGameTime, int pMaxAllowedTicks) private voiddrainFromCurrentContainer(Queue<LevelChunkTicks<T>> pContainersToTick, LevelChunkTicks<T> pLevelChunkTicks, long pGameTime, int pMaxAllowedTicks) private voidforContainersInArea(BoundingBox pArea, LevelTicks.PosAndContainerConsumer<T> pAction) booleanhasScheduledTick(BlockPos p_193254_, T p_193255_) voidremoveContainer(ChunkPos pChunkPos) private voidprivate voidrunCollectedTicks(BiConsumer<BlockPos, T> pTicker) voidschedule(ScheduledTick<T> p_193252_) private voidscheduleForThisTick(ScheduledTick<T> pTick) private voidsortContainersToTick(long pGameTime) voidtick(long pGameTime, int pMaxAllowedTicks, BiConsumer<BlockPos, T> pTicker) private voidupdateContainerScheduling(ScheduledTick<T> pTick) booleanwillTickThisTick(BlockPos p_193282_, T p_193283_)
-
Field Details
-
CONTAINER_DRAIN_ORDER
-
tickCheck
-
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 pGameTime) -
drainContainers
private void drainContainers(long pGameTime, int pMaxAllowedTicks) -
rescheduleLeftoverContainers
private void rescheduleLeftoverContainers() -
updateContainerScheduling
-
drainFromCurrentContainer
private void drainFromCurrentContainer(Queue<LevelChunkTicks<T>> pContainersToTick, LevelChunkTicks<T> pLevelChunkTicks, long pGameTime, int pMaxAllowedTicks) -
scheduleForThisTick
-
canScheduleMoreTicks
private boolean canScheduleMoreTicks(int pMaxAllowedTicks) -
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>
-