Most of the methods in AbstractBlock is marked as deprecated, but overriding them is still fine. The deprecation is only there to indicate that the BlockState version of the methods should be used when calling the methods.
The values are inclusive. Note that it is not wise to use values that extend beyond the 1x1.5x1 volume, instead using multiple blocks, but the model json format does permit the values.