1 package com.irtimaled.bbor.client.renderers;
3 import com.irtimaled.bbor.client.Player;
4 import com.irtimaled.bbor.client.models.BoundingBoxMobSpawner;
5 import com.irtimaled.bbor.common.models.Colors;
6 import com.irtimaled.bbor.common.models.Coords;
7 import com.irtimaled.bbor.config.ConfigManager;
11 public class MobSpawnerRenderer extends AbstractRenderer<BoundingBoxMobSpawner> {
13 public void render(BoundingBoxMobSpawner boundingBox) {
14 Coords coords = boundingBox.getCoords();
15 Color color = boundingBox.getColor();
16 OffsetBox bb = ConfigManager.renderMobSpawnerSpawnArea.get() ?
17 new OffsetBox(boundingBox.getMinCoords(), boundingBox.getMaxCoords()) :
18 new OffsetBox(coords, coords);
19 renderCuboid(bb, color);
21 if (!ConfigManager.renderMobSpawnerActivationLines.get()) return;
23 renderActivationLine(new OffsetPoint(coords).offset(0.5, 0.5, 0.5));
26 private void renderActivationLine(OffsetPoint centerPoint) {
27 OffsetPoint playerPos = new OffsetPoint(Player.getX(), Player.getY(), Player.getZ());
28 double distance = centerPoint.getDistance(playerPos);
30 Color color = distance > 18 ? Color.RED : distance > 16 ? Colors.DARK_ORANGE : Color.GREEN;
32 OffsetPoint playerPoint = playerPos.offset(0, 0.1, 0);
33 renderLine(centerPoint, playerPoint, color);