http://www.minecraftforge.net/forum/topic/49497-1112-is-using-registryevent-this-way-ok/#comment-249433
This is a decent example of how to use the registry events to register items/blocks
Your file end-name will be storage.dat.dat as you add the extension in the constructor.
Use the debugger to find out what's wrong. Put a breakpoint in your write method. I would say that if the file is not even being created then the issue most likely is within the fileLocation field so inspect it.
CompressedStreamTools, yes.
A file can be anything you want, you can set anything as the "file name". All you need to do is write the NBT using methods from CompressedStreamTools into your FileOutputStream.
Personally I plan on updating an older mod of mine to 1.10 or 1.11 before updating it to 1.12, as there are fewer alterations that need to be made that have to be done for 1.12 and I figure I can start on the earlier changes, push a version for 1.10/1.11, before finalizing things for 1.12.
Its because I want to supply the mod for the people who have already split off, while segmenting the work that needs to be done into smaller batches.