]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blobdiff - src/main/java/com/irtimaled/bbor/client/renderers/MobSpawnerRenderer.java
Simplify commands to use Coords & Pos objects
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / renderers / MobSpawnerRenderer.java
index 200a901532abf87ddbc0ce3a73ec2ddd00056ff2..2408aca5049b43df807bfcd710b47a6bad945032 100644 (file)
@@ -1,41 +1,39 @@
 package com.irtimaled.bbor.client.renderers;
 
-import com.irtimaled.bbor.client.PlayerData;
-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.config.ConfigManager;
-import net.minecraft.util.math.AxisAlignedBB;
-import net.minecraft.util.math.BlockPos;
+import com.irtimaled.bbor.common.models.Coords;
 
 import java.awt.*;
 
-public class MobSpawnerRenderer extends Renderer<BoundingBoxMobSpawner> {
+public class MobSpawnerRenderer extends AbstractRenderer<BoundingBoxMobSpawner> {
     @Override
     public void render(BoundingBoxMobSpawner boundingBox) {
-        BlockPos center = boundingBox.getCenter();
+        Coords coords = boundingBox.getCoords();
         Color color = boundingBox.getColor();
-        OffsetPoint centerPoint = new OffsetPoint(center)
-                .add(0.5, 0.5, 0.5);
-        double radius = boundingBox.getRadius();
-        if (ConfigManager.renderMobSpawnerSpawnArea.getBoolean()) {
-            renderBoundingBox(boundingBox);
-        } else {
-            renderCuboid(new AxisAlignedBB(center, center).expand(1, 1, 1), color, fill());
+
+        renderCuboid(new OffsetBox(coords, coords), color);
+
+        if (ConfigManager.renderMobSpawnerActivationLines.get()) {
+            renderActivationLine(new OffsetPoint(coords).offset(0.5, 0.5, 0.5));
         }
 
-        if (!ConfigManager.renderMobSpawnerActivationLines.getBoolean()) return;
+        if (ConfigManager.renderMobSpawnerSpawnArea.get()) {
+            OffsetBox bb = new OffsetBox(boundingBox.getMinCoords(), boundingBox.getMaxCoords());
+            renderCuboid(bb, color);
+        }
+    }
 
-        OffsetPoint playerPos = new OffsetPoint(PlayerData.getX(), PlayerData.getY(), PlayerData.getZ());
+    private void renderActivationLine(OffsetPoint centerPoint) {
+        OffsetPoint playerPos = new OffsetPoint(Player.getPoint());
         double distance = centerPoint.getDistance(playerPos);
-        if (distance <= (radius * 1.25)) {
-            if (distance > radius) {
-                color = Colors.DARK_ORANGE;
-            }
-            if (distance > radius * 1.125) {
-                color = 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);
         }
     }
 }