Dont do this, to use ObjectHolder they have to be null. Plus they shouldn't be instantiated using a static initializer.
Use a HashSet, then iterate when you register. You can literally add it to the set from inside the constructor. You also need to set the registry name there.
As far as I am aware there is no current way to go from a 1.13 to a 1.12 world. No one has made an application to do so yet. You will probably need to rebuild the whole house in 1.12.2 using your 1.13 world as a template.
Because you are not specifying your account that you want to play as in the program arguments. There is a post on here about that and it was posted in just recently.
I think that only affects players, but I am not sure. Seeing as how searching the whole repository I found nothing about SharedMonsterAttributes.ATTACK_SPEED in any AI or entity class that was not EntityPlayer.
I don't think that is how this works. I believe hamachi is just a way to get around port-forwarding. So you can't use the LAN feature within the Minecraft game, you have to run the server application.
You can read this if you want to use the annotation system to create your config.
Or in your FMLPreInitializationEvent method you can call FMLPreInitializaionEvent#getSuggestedConfigFile() which will give you a File with the suggested path(a cfg file in the config directory with your mods modid as the file name).
Then you can create a new instance of Configuration with said File instance and then use the methods within that instance to construct your config file and load data into fields.
Quite a lot of objects in Minecraft are are singletons, objects where there is only one instance. IE there is only one IRON_INGOT. So instead of using Object#equals just use "==". And you shouldn't worry about comparison checks you can do millions potentially billions of them per second.