]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/common/models/BoundingBoxBeacon.java
71909562c766024acb7cde311c3cfb054bf3dff4
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / common / models / BoundingBoxBeacon.java
1 package com.irtimaled.bbor.common.models;
2
3 import com.irtimaled.bbor.common.BoundingBoxType;
4
5 public class BoundingBoxBeacon extends BoundingBoxCuboid {
6     private final Coords coords;
7     private final int level;
8
9     private BoundingBoxBeacon(Coords coords, Coords minCoords, Coords maxCoords, int level) {
10         super(minCoords, maxCoords, BoundingBoxType.Beacon);
11         this.coords = coords;
12         this.level = level;
13     }
14
15     public static BoundingBoxBeacon from(Coords coords, int level) {
16         int range = 10 + (10 * level);
17         Coords minCoords = new Coords(coords.getX() - range, coords.getY() - range, coords.getZ() - range);
18         Coords maxCoords = new Coords(coords.getX() + range, 324 + range, coords.getZ() + range);
19         return new BoundingBoxBeacon(coords, minCoords, maxCoords, level);
20     }
21
22     @Override
23     public int hashCode() {
24         return coords.hashCode();
25     }
26
27     @Override
28     public boolean equals(Object obj) {
29         if (this == obj) return true;
30         if (obj == null || getClass() != obj.getClass()) return false;
31         BoundingBoxBeacon other = (BoundingBoxBeacon) obj;
32         return coords.equals(other.coords);
33     }
34
35     public Coords getCoords() {
36         return coords;
37     }
38
39     public int getLevel() {
40         return level;
41     }
42 }