package net.minecraft.server.level;

import net.minecraft.world.level.TickPriority;
import net.minecraft.core.BlockPos;
import java.util.function.Function;
import net.minecraft.world.level.TickList;

public class WorldGenTickList<T> implements TickList<T> {
    private final Function<BlockPos, TickList<T>> index;
    
    public WorldGenTickList(final Function<BlockPos, TickList<T>> function) {
        this.index = function;
    }
    
    @Override
    public boolean hasScheduledTick(final BlockPos fu, final T object) {
        return this.index.apply(fu).hasScheduledTick(fu, object);
    }
    
    @Override
    public void scheduleTick(final BlockPos fu, final T object, final int integer, final TickPriority bqt) {
        this.index.apply(fu).scheduleTick(fu, object, integer, bqt);
    }
    
    @Override
    public boolean willTickThisTick(final BlockPos fu, final T object) {
        return false;
    }
}
