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.BoundingBoxSpawningSphere;
6 import com.irtimaled.bbor.common.models.Point;
7 import net.minecraft.client.resources.I18n;
11 public class SpawningSphereRenderer extends AbstractRenderer<BoundingBoxSpawningSphere> {
13 public void render(BoundingBoxSpawningSphere boundingBox) {
14 Point point = boundingBox.getPoint();
15 OffsetPoint sphereCenter = new OffsetPoint(point);
17 OffsetBox offsetBox = new OffsetBox(sphereCenter, sphereCenter).grow(0.5, 0, 0.5);
18 renderCuboid(offsetBox, Color.GREEN);
20 Integer spawnableSpacesCount = boundingBox.getSpawnableSpacesCount();
21 if (spawnableSpacesCount != null) {
22 renderText(sphereCenter, I18n.format("bbor.renderer.spawningSphere.spawnable"),
23 spawnableSpacesCount == 0 ?
24 I18n.format("bbor.renderer.spawningSphere.none") :
25 String.format("%,d", spawnableSpacesCount));
28 renderSphere(point, BoundingBoxSpawningSphere.SAFE_RADIUS, Color.GREEN, 5, 5);
29 renderSphere(point, BoundingBoxSpawningSphere.SPAWN_RADIUS, Color.RED, 5, 5);
31 if (ConfigManager.renderAFKSpawnableBlocks.get() && boundingBox.isWithinSphere(Player.getPoint())) {
32 renderSpawnableSpaces(boundingBox);
36 private void renderSpawnableSpaces(BoundingBoxSpawningSphere boundingBox) {
37 boundingBox.getBlocks().forEach(c -> {
41 OffsetBox offsetBox = new OffsetBox(x, y, z, x + 1, y, z + 1);
42 renderCuboid(offsetBox, boundingBox.getColor());