package net.minecraft.world.level;

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

public class EmptyTickList<T> implements TickList<T> {
    private static final EmptyTickList<Object> INSTANCE;
    
    public static <T> EmptyTickList<T> empty() {
        return (EmptyTickList<T>)EmptyTickList.INSTANCE;
    }
    
    @Override
    public boolean hasScheduledTick(final BlockPos fk, final T object) {
        return false;
    }
    
    @Override
    public void scheduleTick(final BlockPos fk, final T object, final int integer) {
    }
    
    @Override
    public void scheduleTick(final BlockPos fk, final T object, final int integer, final TickPriority bkn) {
    }
    
    @Override
    public boolean willTickThisTick(final BlockPos fk, final T object) {
        return false;
    }
    
    @Override
    public void addAll(final Stream<TickNextTickData<T>> stream) {
    }
    
    static {
        INSTANCE = new EmptyTickList<>();
    }
}
