Hi,
If I use a custom Joomla plugin, I do not have access to these fields (address_street, address_vat, etc.)
That's incorrect. In a Joomla user plugin using the onUserBeforeSave event, you have the data of the address available in $_POST. In
$_POST['data']['address']['xxx']
where xxx is the column name of the custom field.
If I use a custom Hikashop plugin, I can't block the Joomla registration which is done before.
That's also incorrect. That's true if you use the event onAfterUserCreate but not if you use the event onBeforeHikaUserRegistration(&$ret, $input_data, $mode) for which you have the address data in
where xxx is the column name of the custom field. And you can cancel the registration with such line:
An override is fine too, but it's better to do a plugin. With an override of the class, you won't have the modifications we make in the core file in the future. And for class.user we usually always have a modification here and there as it's one of the main files of HikaShop.
Also, in your override instead of returning false, you should return $ret with
set to false like whan the save call fails