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