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.client.Minecraft;
6 import net.minecraft.tileentity.TileEntity;
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 TileEntity, S extends AbstractBoundingBox> Iterable<S> map(Class<T> clazz, Function<T, S> map) {
15 Collection<TileEntity> tileEntities = Minecraft.getInstance().world.loadedTileEntityList;
17 Set<S> results = new HashSet<>();
18 for (TileEntity tileEntity : tileEntities) {
19 T typed = TypeHelper.as(tileEntity, clazz);
23 S result = map.apply(typed);