]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/client/renderers/MobSpawnerRenderer.java
2408aca5049b43df807bfcd710b47a6bad945032
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / renderers / MobSpawnerRenderer.java
1 package com.irtimaled.bbor.client.renderers;
2
3 import com.irtimaled.bbor.client.Player;
4 import com.irtimaled.bbor.client.config.ConfigManager;
5 import com.irtimaled.bbor.client.models.BoundingBoxMobSpawner;
6 import com.irtimaled.bbor.common.models.Colors;
7 import com.irtimaled.bbor.common.models.Coords;
8
9 import java.awt.*;
10
11 public class MobSpawnerRenderer extends AbstractRenderer<BoundingBoxMobSpawner> {
12     @Override
13     public void render(BoundingBoxMobSpawner boundingBox) {
14         Coords coords = boundingBox.getCoords();
15         Color color = boundingBox.getColor();
16
17         renderCuboid(new OffsetBox(coords, coords), color);
18
19         if (ConfigManager.renderMobSpawnerActivationLines.get()) {
20             renderActivationLine(new OffsetPoint(coords).offset(0.5, 0.5, 0.5));
21         }
22
23         if (ConfigManager.renderMobSpawnerSpawnArea.get()) {
24             OffsetBox bb = new OffsetBox(boundingBox.getMinCoords(), boundingBox.getMaxCoords());
25             renderCuboid(bb, color);
26         }
27     }
28
29     private void renderActivationLine(OffsetPoint centerPoint) {
30         OffsetPoint playerPos = new OffsetPoint(Player.getPoint());
31         double distance = centerPoint.getDistance(playerPos);
32         if (distance <= 20) {
33             Color color = distance > 18 ? Color.RED : distance > 16 ? Colors.DARK_ORANGE : Color.GREEN;
34
35             OffsetPoint playerPoint = playerPos.offset(0, 0.1, 0);
36             renderLine(centerPoint, playerPoint, color);
37         }
38     }
39 }