package net.minecraft.world.level.entity; import java.util.UUID; import java.util.function.Consumer; import net.minecraft.util.AbortableIterationConsumer; import net.minecraft.world.phys.AABB; import org.jetbrains.annotations.Nullable; public class LevelEntityGetterAdapter implements LevelEntityGetter { private final EntityLookup visibleEntities; private final EntitySectionStorage sectionStorage; public LevelEntityGetterAdapter(EntityLookup visibleEntities, EntitySectionStorage sectionStorage) { this.visibleEntities = visibleEntities; this.sectionStorage = sectionStorage; } @Nullable @Override public T get(int id) { return this.visibleEntities.getEntity(id); } @Nullable @Override public T get(UUID uuid) { return this.visibleEntities.getEntity(uuid); } @Override public Iterable getAll() { return this.visibleEntities.getAllEntities(); } @Override public void get(EntityTypeTest test, AbortableIterationConsumer consumer) { this.visibleEntities.getEntities(test, consumer); } @Override public void get(AABB boundingBox, Consumer consumer) { this.sectionStorage.getEntities(boundingBox, AbortableIterationConsumer.forConsumer(consumer)); } @Override public void get(EntityTypeTest test, AABB bounds, AbortableIterationConsumer consumer) { this.sectionStorage.getEntities(test, bounds, consumer); } }