]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/client/models/BoundingBoxSpawningSphere.java
396a5c4d129382dc97587ee6e76a48737bcfe108
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / models / BoundingBoxSpawningSphere.java
1 package com.irtimaled.bbor.client.models;
2
3 import com.irtimaled.bbor.client.ClientRenderer;
4 import com.irtimaled.bbor.client.renderers.AbstractRenderer;
5 import com.irtimaled.bbor.client.renderers.SpawningSphereRenderer;
6 import com.irtimaled.bbor.common.BoundingBoxType;
7 import net.minecraft.util.math.BlockPos;
8
9 import java.util.HashSet;
10 import java.util.Set;
11
12 public class BoundingBoxSpawningSphere extends BoundingBoxSphere {
13     private static final AbstractRenderer<BoundingBoxSpawningSphere> RENDERER = ClientRenderer.registerRenderer(BoundingBoxSpawningSphere.class, () -> new SpawningSphereRenderer());
14
15     public static final int SAFE_RADIUS = 24;
16     public static final int SPAWN_RADIUS = 128;
17
18     private final Set<BlockPos> blocks = new HashSet<>();
19     private Integer spawnableCount;
20
21     public BoundingBoxSpawningSphere(Point point) {
22         super(point, SPAWN_RADIUS, BoundingBoxType.AFKSphere);
23     }
24
25     public Set<BlockPos> getBlocks() {
26         return blocks;
27     }
28
29     public boolean isWithinSphere(Point point) {
30         return this.getPoint().getDistance(point) <= getRadius() + 0.5D;
31     }
32
33     public void setSpawnableCount(int count) {
34         this.spawnableCount = count;
35     }
36
37     public Integer getSpawnableSpacesCount() {
38         return this.spawnableCount;
39     }
40
41     @Override
42     public AbstractRenderer<?> getRenderer() {
43         return RENDERER;
44     }
45 }