@Override public void writeToNBT(NBTTagCompound tag) { super.writeToNBT(tag); if (color != null) tag.setInteger("Color", color); tag.setBoolean("IsInverted", isInverted); tag.setByte("Type", (byte) collisionData.getType().ordinal()); collisionData.writeToNBT(tag); }
@Override public void readFromNBT(NBTTagCompound tag) { super.readFromNBT(tag); color = tag.hasKey("Color") ? tag.getInteger("Color") : null; isInverted = tag.getBoolean("IsInverted"); CollisionType type = CollisionType.VALUES[tag.getByte("Type")]; collisionData = type.createData(); collisionData.readFromNBT(tag); }
public AxisAlignedBB getBlockBounds() { return collisionData.getBlockBounds(); }
public AxisAlignedBB getSelectionBox() { return collisionData.getBlockBounds().offset(xCoord, yCoord, zCoord); }
public void addCollisions(AxisAlignedBB region, List<AxisAlignedBB> result) { collisionData.addCollisions(xCoord, yCoord, zCoord, region, result); }