I am only coding for version 1.12.2 and the net.minecraftforge.common.ForgeHooks.setBlockToolSetter() does not seem to exist, so I cannot help you with that. But I do have some alternatives for setting the harvest level without making custom classes (that may or may not work).
First Option:
// First Option
Block option1 = new Block(Material.STONE) {
@Override
public int getHarvestLevel(IBlockState state) {
//Return whatever
}
};
Second Option:
// Second Option (might not work, never tried this before)
Block option2 = new Block(Material.STONE) {
private int[] harvestLevel = new int[] {/* Your values here */};
};
Third Option:
// Third Option (might be 1.12.2 only)
Block option3 = new Block(Material.STONE).setHarvestLevel(String, int/*, IBlockState*/);
I hope one of these works!