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.Long2LongMap
private final Supplier
<ProfilerFiller> private final LongPredicate
private final Queue
<ScheduledTick<T>> private final Set
<ScheduledTick<?>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addContainer
(ChunkPos pChunkPos, LevelChunkTicks<T> pChunkTicks) private void
private boolean
canScheduleMoreTicks
(int pMaxAllowedTicks) private void
void
clearArea
(BoundingBox pArea) private void
collectTicks
(long pGameTime, int pMaxAllowedTicks, ProfilerFiller pProfiler) void
copyArea
(BoundingBox pArea, Vec3i pOffset) void
copyAreaFrom
(LevelTicks<T> pLevelTicks, BoundingBox pArea, Vec3i pOffset) int
count()
private void
drainContainers
(long pGameTime, int pMaxAllowedTicks) private void
drainFromCurrentContainer
(Queue<LevelChunkTicks<T>> pContainersToTick, LevelChunkTicks<T> pLevelChunkTicks, long pGameTime, int pMaxAllowedTicks) private void
forContainersInArea
(BoundingBox pArea, LevelTicks.PosAndContainerConsumer<T> pAction) boolean
hasScheduledTick
(BlockPos pPos, T pType) void
removeContainer
(ChunkPos pChunkPos) private void
private void
runCollectedTicks
(BiConsumer<BlockPos, T> pTicker) void
schedule
(ScheduledTick<T> pTick) private void
scheduleForThisTick
(ScheduledTick<T> pTick) private void
sortContainersToTick
(long pGameTime) void
tick
(long pGameTime, int pMaxAllowedTicks, BiConsumer<BlockPos, T> pTicker) private void
updateContainerScheduling
(ScheduledTick<T> pTick) boolean
willTickThisTick
(BlockPos pPos, T pType)
-
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:
schedule
in 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:
hasScheduledTick
in interfaceTickAccess<T>
-
willTickThisTick
- Specified by:
willTickThisTick
in interfaceLevelTickAccess<T>
-
calculateTickSetIfNeeded
private void calculateTickSetIfNeeded() -
forContainersInArea
-
clearArea
-
copyArea
-
copyAreaFrom
-
count
public int count()- Specified by:
count
in interfaceTickAccess<T>
-