1 package com.irtimaled.bbor.client.renderers;
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;
11 public class MobSpawnerRenderer extends AbstractRenderer<BoundingBoxMobSpawner> {
13 public void render(BoundingBoxMobSpawner boundingBox) {
14 Coords coords = boundingBox.getCoords();
15 Color color = boundingBox.getColor();
17 renderCuboid(new OffsetBox(coords, coords), color);
19 if (ConfigManager.renderMobSpawnerActivationLines.get()) {
20 renderActivationLine(new OffsetPoint(coords).offset(0.5, 0.5, 0.5));
23 if (ConfigManager.renderMobSpawnerSpawnArea.get()) {
24 OffsetBox bb = new OffsetBox(boundingBox.getMinCoords(), boundingBox.getMaxCoords());
25 renderCuboid(bb, color);
29 private void renderActivationLine(OffsetPoint centerPoint) {
30 OffsetPoint playerPos = new OffsetPoint(Player.getPoint());
31 double distance = centerPoint.getDistance(playerPos);
33 Color color = distance > 18 ? Color.RED : distance > 16 ? Colors.DARK_ORANGE : Color.GREEN;
35 OffsetPoint playerPoint = playerPos.offset(0, 0.1, 0);
36 renderLine(centerPoint, playerPoint, color);