Thanks that works perfectly. Here is the override in case it helps anyone.
@Override
public AxisAlignedBB getCollisionBoundingBox(World worldIn, BlockPos pos, IBlockState state)
{
float f = 1.0F;
IBlockState iblockstate = worldIn.getBlockState(pos);
if (iblockstate.getBlock() == this)
{
EnumSamBlockTypes btype = (EnumSamBlockTypes)(iblockstate.getValue(BlockType));
switch (btype)
{
case SAMSTONE_SLAB:
f = 0.5F;
default:
}
}
return new AxisAlignedBB((double)pos.getX() + this.minX, (double)pos.getY() + this.minY, (double)pos.getZ() + this.minZ, (double)pos.getX() + this.maxX, (double)((float)pos.getY() + (float) f), (double)pos.getZ() + this.maxZ);
}