]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/common/models/BoundingBoxBeacon.java
Move Mob Spawner processing to client side
[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
8     private BoundingBoxBeacon(Coords coords, Coords minCoords, Coords maxCoords) {
9         super(minCoords, maxCoords, BoundingBoxType.Beacon);
10         this.coords = coords;
11     }
12
13     public static BoundingBoxBeacon from(Coords coords, int level) {
14         int range = 10 + (10 * level);
15         Coords minCoords = new Coords(coords.getX() - range, coords.getY() - range, coords.getZ() - range);
16         Coords maxCoords = new Coords(coords.getX() + range, 324 + range, coords.getZ() + range);
17         return new BoundingBoxBeacon(coords, minCoords, maxCoords);
18     }
19
20     @Override
21     public int hashCode() {
22         return coords.hashCode();
23     }
24
25     @Override
26     public boolean equals(Object obj) {
27         if (this == obj) return true;
28         if (obj == null || getClass() != obj.getClass()) return false;
29         BoundingBoxBeacon other = (BoundingBoxBeacon) obj;
30         return coords.equals(other.coords);
31     }
32
33     public Coords getCoords() {
34         return coords;
35     }
36 }