package net.minecraft.world.level;

import java.util.stream.Stream;
import net.minecraft.core.BlockPos;

public interface TickList<T> {
    boolean hasScheduledTick(final BlockPos fk, final T object);
    
    default void scheduleTick(final BlockPos fk, final T object, final int integer) {
        this.scheduleTick(fk, object, integer, TickPriority.NORMAL);
    }
    
    void scheduleTick(final BlockPos fk, final T object, final int integer, final TickPriority bkn);
    
    boolean willTickThisTick(final BlockPos fk, final T object);
    
    void addAll(final Stream<TickNextTickData<T>> stream);
}
