]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blobdiff - src/main/java/com/irtimaled/bbor/client/models/BoundingBoxConduit.java
General performance improvements
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / models / BoundingBoxConduit.java
index 3407e26d0a9b85a006fed601e96e08c3539c74cb..bdbf3c61b91dcdf1f50e2bf4937f6076bad88f26 100644 (file)
@@ -1,28 +1,30 @@
 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
@@ -30,10 +32,15 @@ public class BoundingBoxConduit extends BoundingBoxSphere {
         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;
+    }
 }