]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blobdiff - src/main/java/com/irtimaled/bbor/client/renderers/SpawningSphereRenderer.java
Change spawning sphere blocks logic
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / renderers / SpawningSphereRenderer.java
index ff5749c03bbe1c78f83d5920f6d63c2852bbb658..a4e9c1800acdb08b6b953e7e2915e8b52dfffd12 100644 (file)
@@ -2,10 +2,7 @@ package com.irtimaled.bbor.client.renderers;
 
 import com.irtimaled.bbor.client.Player;
 import com.irtimaled.bbor.client.config.ConfigManager;
-import com.irtimaled.bbor.client.interop.SpawningSphereHelper;
 import com.irtimaled.bbor.client.models.BoundingBoxSpawningSphere;
-import com.irtimaled.bbor.common.MathHelper;
-import com.irtimaled.bbor.common.models.Point;
 import net.minecraft.client.resources.I18n;
 
 import java.awt.*;
@@ -13,8 +10,7 @@ import java.awt.*;
 public class SpawningSphereRenderer extends AbstractRenderer<BoundingBoxSpawningSphere> {
     @Override
     public void render(BoundingBoxSpawningSphere boundingBox) {
-        Point point = boundingBox.getPoint();
-        OffsetPoint sphereCenter = new OffsetPoint(point);
+        OffsetPoint sphereCenter = new OffsetPoint(boundingBox.getPoint());
 
         OffsetBox offsetBox = new OffsetBox(sphereCenter, sphereCenter).grow(0.5, 0, 0.5);
         renderCuboid(offsetBox, Color.GREEN);
@@ -30,21 +26,18 @@ public class SpawningSphereRenderer extends AbstractRenderer<BoundingBoxSpawning
         renderSphere(sphereCenter, BoundingBoxSpawningSphere.SAFE_RADIUS, Color.GREEN, 5, 5);
         renderSphere(sphereCenter, BoundingBoxSpawningSphere.SPAWN_RADIUS, Color.RED, 5, 5);
 
-        if(ConfigManager.renderAFKSpawnableBlocks.get()) {
-            renderSpawnableSpaces(point);
+        if (ConfigManager.renderAFKSpawnableBlocks.get() && boundingBox.isWithinSphere(Player.getPoint())) {
+            renderSpawnableSpaces(boundingBox);
         }
     }
 
-    private void renderSpawnableSpaces(Point center) {
-        Integer renderDistance = ConfigManager.afkSpawnableBlocksRenderDistance.get();
-        int width = MathHelper.floor(Math.pow(2, 2 + renderDistance));
-        int height = MathHelper.floor(Math.pow(2, renderDistance));
-
-        SpawningSphereHelper.findSpawnableSpaces(center, Player.getCoords(), width, height,
-                (x, y, z) -> {
-                    OffsetBox offsetBox = new OffsetBox(x, y, z, x + 1, y, z + 1);
-                    renderCuboid(offsetBox, Color.RED);
-                    return false;
-                });
+    private void renderSpawnableSpaces(BoundingBoxSpawningSphere boundingBox) {
+        boundingBox.getBlocks().forEach(c -> {
+            int x = c.getX();
+            int y = c.getY();
+            int z = c.getZ();
+            OffsetBox offsetBox = new OffsetBox(x, y, z, x + 1, y, z + 1);
+            renderCuboid(offsetBox, boundingBox.getColor());
+        });
     }
 }