1 package com.irtimaled.bbor;
3 import net.minecraft.util.math.AxisAlignedBB;
4 import net.minecraft.util.math.BlockPos;
8 public abstract class BoundingBox {
9 private final Color color;
10 private final BlockPos minBlockPos;
11 private final BlockPos maxBlockPos;
13 protected BoundingBox(BlockPos minBlockPos, BlockPos maxBlockPos, Color color) {
14 this.minBlockPos = minBlockPos;
15 this.maxBlockPos = maxBlockPos;
20 public int hashCode() {
23 result = prime * result + minBlockPos.hashCode();
24 result = prime * result + maxBlockPos.hashCode();
29 public boolean equals(Object obj) {
34 if (getClass() != obj.getClass())
36 BoundingBox other = (BoundingBox) obj;
37 if (!minBlockPos.equals(other.minBlockPos))
39 if (!maxBlockPos.equals(other.maxBlockPos))
45 public String toString() {
46 return "(" + minBlockPos.toString() + "; " + maxBlockPos.toString() + ")";
49 public AxisAlignedBB toAxisAlignedBB() {
50 return toAxisAlignedBB(true);
53 public AxisAlignedBB toAxisAlignedBB(boolean extendMaxByOne) {
54 AxisAlignedBB axisAlignedBB = new AxisAlignedBB(minBlockPos, maxBlockPos);
56 return axisAlignedBB.addCoord(1, 1, 1);
60 public BlockPos getMinBlockPos() {
64 public BlockPos getMaxBlockPos() {
68 public Color getColor() {