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 chunkPos, LevelChunkTicks<T> chunkTicks) private void
private boolean
canScheduleMoreTicks
(int maxAllowedTicks) private void
void
clearArea
(BoundingBox area) private void
collectTicks
(long gameTime, int maxAllowedTicks, ProfilerFiller profiler) void
copyArea
(BoundingBox area, Vec3i offset) void
copyAreaFrom
(LevelTicks<T> levelTicks, BoundingBox area, Vec3i offset) int
count()
private void
drainContainers
(long gameTime, int maxAllowedTicks) private void
drainFromCurrentContainer
(Queue<LevelChunkTicks<T>> containersToTick, LevelChunkTicks<T> levelChunkTicks, long gameTime, int maxAllowedTicks) private void
forContainersInArea
(BoundingBox area, LevelTicks.PosAndContainerConsumer<T> action) boolean
hasScheduledTick
(BlockPos pos, T type) void
removeContainer
(ChunkPos chunkPos) private void
private void
runCollectedTicks
(BiConsumer<BlockPos, T> ticker) void
schedule
(ScheduledTick<T> tick) private void
scheduleForThisTick
(ScheduledTick<T> tick) private void
sortContainersToTick
(long gameTime) void
tick
(long gameTime, int maxAllowedTicks, BiConsumer<BlockPos, T> ticker) private void
boolean
willTickThisTick
(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:
schedule
in 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:
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>
-