]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/client/models/BoundingBoxConduit.java
Move client side only models to client side
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / models / BoundingBoxConduit.java
1 package com.irtimaled.bbor.client.models;
2
3 import com.irtimaled.bbor.common.BoundingBoxType;
4 import com.irtimaled.bbor.common.TypeHelper;
5 import com.irtimaled.bbor.common.models.Coords;
6
7 public class BoundingBoxConduit extends BoundingBoxSphere {
8     private final int level;
9
10     private BoundingBoxConduit(Coords coords, int level, int radius) {
11         super(new Point(coords).offset(0.5D, 0.5D, 0.5D), radius, BoundingBoxType.Conduit);
12
13         this.level = level;
14     }
15
16     public static BoundingBoxConduit from(Coords coords, int level) {
17         int radius = 16 * level;
18         return new BoundingBoxConduit(coords, level, radius);
19     }
20
21     @Override
22     public int hashCode() {
23         return TypeHelper.combineHashCodes(getType().hashCode(), getPoint().hashCode());
24     }
25
26     @Override
27     public boolean equals(Object obj) {
28         if (this == obj) return true;
29         if (obj == null || getClass() != obj.getClass()) return false;
30         BoundingBoxConduit other = (BoundingBoxConduit) obj;
31         return getPoint().equals(other.getPoint());
32     }
33
34     public int getLevel() {
35         return level;
36     }
37 }