1 package com.irtimaled.bbor.client.interop;
3 import com.irtimaled.bbor.common.TypeHelper;
4 import com.irtimaled.bbor.common.models.AbstractBoundingBox;
5 import net.minecraft.block.entity.BlockEntity;
6 import net.minecraft.client.MinecraftClient;
8 import java.util.Collection;
9 import java.util.HashSet;
11 import java.util.function.Function;
13 public class TileEntitiesHelper {
14 public static <T extends BlockEntity, S extends AbstractBoundingBox> Iterable<S> map(Class<T> clazz, Function<T, S> map) {
15 Collection<BlockEntity> tileEntities = MinecraftClient.getInstance().world.blockEntities;
17 Set<S> results = new HashSet<>();
18 for (BlockEntity tileEntity : tileEntities) {
19 T typed = TypeHelper.as(tileEntity, clazz);
23 S result = map.apply(typed);