1 package com.irtimaled.bbor.client.providers;
3 import com.irtimaled.bbor.client.config.BoundingBoxTypeHelper;
4 import com.irtimaled.bbor.client.interop.TileEntitiesHelper;
5 import com.irtimaled.bbor.client.models.BoundingBoxBeacon;
6 import com.irtimaled.bbor.common.BoundingBoxType;
7 import com.irtimaled.bbor.common.models.Coords;
8 import com.irtimaled.bbor.common.models.DimensionId;
9 import com.irtimaled.bbor.mixin.access.IBeaconBlockEntity;
10 import net.minecraft.block.entity.BeaconBlockEntity;
12 public class BeaconProvider implements IBoundingBoxProvider<BoundingBoxBeacon> {
14 public boolean canProvide(DimensionId dimensionId) {
15 return BoundingBoxTypeHelper.shouldRender(BoundingBoxType.Beacon);
19 public Iterable<BoundingBoxBeacon> get(DimensionId dimensionId) {
20 return TileEntitiesHelper.map(BeaconBlockEntity.class, beacon -> {
21 int levels = ((IBeaconBlockEntity) beacon).getLevel1();
22 Coords coords = new Coords(beacon.getPos());
23 return BoundingBoxBeacon.from(coords, levels);