You should use the following method as it allows other mods to override your objects:
1) have an event subscriber class (a static event subscriber has the @EventSubscriber annotation and is automagically registered for you, and all its @SubscribeEvent methods need to be static. A non-static event subscriber needs to be registered in preInit and it’s @SubscribeEvent methods need to be non-static)
2) subscribe the the appropriate registry event & instantiate your objects in that event
3) have a class with the @ObjectHolder annotation and have public static final null fields with the same names as your objects
You can see an example of 1 & 2 at https://github.com/Cadiboo/Example-Mod/blob/master/src/main/java/cadiboo/examplemod/EventSubscriber.java
and an example of 3 at https://github.com/Cadiboo/Example-Mod/blob/master/src/main/java/cadiboo/examplemod/init/ModBlocks.java
Leading back to your original question, I register my models in a client event subscriber here https://github.com/Cadiboo/Example-Mod/blob/master/src/main/java/cadiboo/examplemod/client/ClientEventSubscriber.java
Instead or manually writing out all your items to register models for, you can use a loop or streams checking if the item is yours