minecraft-source/src/net/minecraft/server/level/WorldGenTickList.java

37 lines
1.2 KiB
Java

package net.minecraft.server.level;
import net.minecraft.world.level.TickNextTickData;
import java.util.stream.Stream;
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 fk, final T object) {
return this.index.apply(fk).hasScheduledTick(fk, object);
}
@Override
public void scheduleTick(final BlockPos fk, final T object, final int integer, final TickPriority bkk) {
this.index.apply(fk).scheduleTick(fk, object, integer, bkk);
}
@Override
public boolean willTickThisTick(final BlockPos fk, final T object) {
return false;
}
@Override
public void addAll(final Stream<TickNextTickData<T>> stream) {
stream.forEach(bkj -> this.index.apply(bkj.pos).addAll(Stream.<TickNextTickData<T>>of(bkj)));
}
}