1 package com.irtimaled.bbor.client.models;
3 import com.irtimaled.bbor.common.BoundingBoxType;
4 import com.irtimaled.bbor.common.models.BoundingBoxCuboid;
5 import com.irtimaled.bbor.common.models.Coords;
7 public class BoundingBoxBeacon extends BoundingBoxCuboid {
8 private final Coords coords;
9 private final int level;
11 private BoundingBoxBeacon(Coords coords, Coords minCoords, Coords maxCoords, int level, BoundingBoxType type) {
12 super(minCoords, maxCoords, type);
17 public static BoundingBoxBeacon from(Coords coords, int level) {
18 return from(coords, level, BoundingBoxType.Beacon);
21 public static BoundingBoxBeacon from(Coords coords, int level, BoundingBoxType type) {
22 int range = 10 + (10 * level);
23 Coords minCoords = new Coords(coords.getX() - range, coords.getY() - range, coords.getZ() - range);
24 Coords maxCoords = new Coords(coords.getX() + range, 324 + range, coords.getZ() + range);
25 return new BoundingBoxBeacon(coords, minCoords, maxCoords, level, type);
29 public int hashCode() {
30 return coords.hashCode();
34 public boolean equals(Object obj) {
35 if (this == obj) return true;
36 if (obj == null || getClass() != obj.getClass()) return false;
37 BoundingBoxBeacon other = (BoundingBoxBeacon) obj;
38 return coords.equals(other.coords);
41 public Coords getCoords() {
45 public int getLevel() {