1 package com.irtimaled.bbor.client.renderers;
3 import com.irtimaled.bbor.client.PlayerCoords;
4 import com.irtimaled.bbor.common.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 Renderer<BoundingBoxMobSpawner> {
13 public void render(BoundingBoxMobSpawner boundingBox) {
14 Coords coords = boundingBox.getCoords();
15 Color color = boundingBox.getColor();
16 if (ConfigManager.renderMobSpawnerSpawnArea.get()) {
17 renderBoundingBox(boundingBox);
19 renderCuboid(new OffsetBox(coords, coords), color, fill());
22 if (!ConfigManager.renderMobSpawnerActivationLines.get()) return;
24 renderActivationLine(new OffsetPoint(coords).offset(0.5, 0.5, 0.5));
27 private void renderActivationLine(OffsetPoint centerPoint) {
28 OffsetPoint playerPos = new OffsetPoint(PlayerCoords.getX(), PlayerCoords.getY(), PlayerCoords.getZ());
29 double distance = centerPoint.getDistance(playerPos);
31 Color color = distance > 18 ? Color.RED : distance > 16 ? Colors.DARK_ORANGE : Color.GREEN;
32 renderLine(centerPoint, playerPos.offset(0, 0.1, 0), color);