]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/client/providers/BeaconProvider.java
33b3a2d2060ae0de7385f15b2079c2913113c4d3
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / providers / BeaconProvider.java
1 package com.irtimaled.bbor.client.providers;
2
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 net.minecraft.block.entity.BeaconBlockEntity;
10
11 public class BeaconProvider implements IBoundingBoxProvider<BoundingBoxBeacon> {
12     @Override
13     public boolean canProvide(DimensionId dimensionId) {
14         return BoundingBoxTypeHelper.shouldRender(BoundingBoxType.Beacon);
15     }
16
17     @Override
18     public Iterable<BoundingBoxBeacon> get(DimensionId dimensionId) {
19         return TileEntitiesHelper.map(BeaconBlockEntity.class, beacon -> {
20             int levels = beacon.getBeamSegments().size();
21             Coords coords = new Coords(beacon.getPos());
22             return BoundingBoxBeacon.from(coords, levels);
23         });
24     }
25 }