1 package com.irtimaled.bbor.client.models;
3 import com.irtimaled.bbor.client.ClientRenderer;
4 import com.irtimaled.bbor.client.renderers.AbstractRenderer;
5 import com.irtimaled.bbor.client.renderers.ConduitRenderer;
6 import com.irtimaled.bbor.common.BoundingBoxType;
7 import com.irtimaled.bbor.common.TypeHelper;
8 import com.irtimaled.bbor.common.models.Coords;
10 public class BoundingBoxConduit extends BoundingBoxSphere {
11 private static final AbstractRenderer<BoundingBoxConduit> RENDERER = ClientRenderer.registerRenderer(BoundingBoxConduit.class, () -> new ConduitRenderer());
13 private final int level;
15 private BoundingBoxConduit(Coords coords, int level, int radius) {
16 super(new Point(coords).offset(0.5D, 0.5D, 0.5D), radius, BoundingBoxType.Conduit);
21 public BoundingBoxConduit(Coords coords, int level) {
22 this(coords, level, 16 * level);
26 public int hashCode() {
27 return TypeHelper.combineHashCodes(getType().hashCode(), getPoint().hashCode());
31 public boolean equals(Object obj) {
32 if (this == obj) return true;
33 if (obj == null || getClass() != obj.getClass()) return false;
34 BoundingBoxConduit other = (BoundingBoxConduit) obj;
35 return getPoint().equals(other.getPoint());
38 public int getLevel() {
43 public AbstractRenderer<?> getRenderer() {