package com.irtimaled.bbor.client.models;
+import com.irtimaled.bbor.client.ClientRenderer;
+import com.irtimaled.bbor.client.renderers.AbstractRenderer;
+import com.irtimaled.bbor.client.renderers.ConduitRenderer;
import com.irtimaled.bbor.common.BoundingBoxType;
import com.irtimaled.bbor.common.TypeHelper;
-import com.irtimaled.bbor.common.models.BoundingBoxSphere;
import com.irtimaled.bbor.common.models.Coords;
public class BoundingBoxConduit extends BoundingBoxSphere {
+ private static final AbstractRenderer<BoundingBoxConduit> RENDERER = ClientRenderer.registerRenderer(BoundingBoxConduit.class, new ConduitRenderer());
+
private final int level;
private BoundingBoxConduit(Coords coords, int level, int radius) {
- super(coords, radius, BoundingBoxType.Conduit);
- setCenterOffsets(0.5, 0.5, 0.5);
+ super(new Point(coords).offset(0.5D, 0.5D, 0.5D), radius, BoundingBoxType.Conduit);
this.level = level;
}
- public static BoundingBoxConduit from(Coords coords, int level) {
- int radius = 16 * level;
- return new BoundingBoxConduit(coords, level, radius);
+ public BoundingBoxConduit(Coords coords, int level) {
+ this(coords, level, 16 * level);
}
@Override
public int hashCode() {
- return TypeHelper.combineHashCodes(getType().hashCode(), getCenter().hashCode());
+ return TypeHelper.combineHashCodes(getType().hashCode(), getPoint().hashCode());
}
@Override
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
BoundingBoxConduit other = (BoundingBoxConduit) obj;
- return getCenter().equals(other.getCenter());
+ return getPoint().equals(other.getPoint());
}
public int getLevel() {
return level;
}
+
+ @Override
+ public AbstractRenderer<?> getRenderer() {
+ return RENDERER;
+ }
}