I made modifications to the file format, version two looks like this:
File type description.
File type description.
File description.
Version (current version is 2)
Ownership omitted. (0 means ownership has been saved)
<brick event and var data>
Line types below, \ represents tab:
Brick:
dataBlock\position\angle(\owner)\color\(colorFX\ShapeFx\(colliding\rendering\raycasting\(name\print\(emitter dir\light\item pos dir\respawnTime\music\vehicle))))
If the datablock name starts with "brick" and ends with "data" these are omitted.
If it does not, a | is put in front of the unmodified datablock name.
The parenthesis designate different levels of information groups.
If a brick has no item emitter light music and vehicle, but has a print, the line will only provide info up unto the print.
However if it has no print or name yet has a vehicle, all of the information before the last category must also be included.
Event:
event\number\enabled\input\delay\target\targetName\output\parm1\param2\param3...
Var:
var\name\value
Variable names may not include semicolons.
The files are now smaller than their bls counterparts, they save far faster (compared to client side saving) and even when saved on the server rarely cause any noticeable disruption. They load at about the same speed. Currently the autosaver saves ownership, whereas the commands do not. I'll add in options for these later. (no ownership reduces the filesize a good bit too)