package net.minecraft.util.debug; import java.util.function.BiConsumer; import net.minecraft.core.BlockPos; import net.minecraft.world.entity.Entity; import net.minecraft.world.level.ChunkPos; import org.jspecify.annotations.Nullable; public interface DebugValueAccess { void forEachChunk(DebugSubscription subscription, BiConsumer consumer); @Nullable T getChunkValue(DebugSubscription subscription, ChunkPos chunkPos); void forEachBlock(DebugSubscription subscription, BiConsumer consumer); @Nullable T getBlockValue(DebugSubscription subscription, BlockPos blockPos); void forEachEntity(DebugSubscription subscription, BiConsumer consumer); @Nullable T getEntityValue(DebugSubscription subscription, Entity entity); void forEachEvent(DebugSubscription subscription, DebugValueAccess.EventVisitor visitor); @FunctionalInterface public interface EventVisitor { void accept(T value, int remainingTicks, int totalLifetime); } }