package com.irtimaled.bbor.client.renderers;
-import com.irtimaled.bbor.client.PlayerCoords;
-import com.irtimaled.bbor.common.models.BoundingBoxMobSpawner;
+import com.irtimaled.bbor.client.Player;
+import com.irtimaled.bbor.client.config.ConfigManager;
+import com.irtimaled.bbor.client.models.BoundingBoxMobSpawner;
import com.irtimaled.bbor.common.models.Colors;
import com.irtimaled.bbor.common.models.Coords;
-import com.irtimaled.bbor.config.ConfigManager;
import java.awt.*;
-public class MobSpawnerRenderer extends Renderer<BoundingBoxMobSpawner> {
+public class MobSpawnerRenderer extends AbstractRenderer<BoundingBoxMobSpawner> {
@Override
public void render(BoundingBoxMobSpawner boundingBox) {
Coords coords = boundingBox.getCoords();
Color color = boundingBox.getColor();
- if (ConfigManager.renderMobSpawnerSpawnArea.get()) {
- renderBoundingBox(boundingBox);
- } else {
- renderCuboid(getAxisAlignedBB(coords, coords, true), color, fill());
- }
- if (!ConfigManager.renderMobSpawnerActivationLines.get()) return;
+ renderCuboid(new OffsetBox(coords, coords), color);
+
+ if (ConfigManager.renderMobSpawnerActivationLines.get()) {
+ renderActivationLine(new OffsetPoint(coords).offset(0.5, 0.5, 0.5));
+ }
- renderActivationLines(coords);
+ if (ConfigManager.renderMobSpawnerSpawnArea.get()) {
+ OffsetBox bb = new OffsetBox(boundingBox.getMinCoords(), boundingBox.getMaxCoords());
+ renderCuboid(bb, color);
+ }
}
- private void renderActivationLines(Coords coords) {
- OffsetPoint centerPoint = new OffsetPoint(coords).add(0.5, 0.5, 0.5);
- OffsetPoint playerPos = new OffsetPoint(PlayerCoords.getX(), PlayerCoords.getY(), PlayerCoords.getZ());
+ private void renderActivationLine(OffsetPoint centerPoint) {
+ OffsetPoint playerPos = new OffsetPoint(Player.getPoint());
double distance = centerPoint.getDistance(playerPos);
- if (distance > 20.0) return;
-
- Color color = distance <= 18.0 ? distance <= 16.0 ? Color.GREEN : Colors.DARK_ORANGE : Color.RED;
- renderLine(centerPoint, playerPos.add(0, 0.1, 0), color);
+ if (distance <= 20) {
+ Color color = distance > 18 ? Color.RED : distance > 16 ? Colors.DARK_ORANGE : Color.GREEN;
+ OffsetPoint playerPoint = playerPos.offset(0, 0.1, 0);
+ renderLine(centerPoint, playerPoint, color);
+ }
}
}