This PR changes when data validation occurs, to take place on snapshot unpack rather than on deserialization.
Also adds in-game errors for when attempting to view unviewable snapshots (including with the reason why the snapshot is invalid). Invalid snapshots will also appear with a strikethrough on /userdata list
API change: DataException (which extends IllegalStateException can now be thrown on snapshot unpack() rather than the previous behavior which was to throw IllegalStateException during deserialization (though this is not anticipated to be a breaking change)
Closes #182
This PR changes when data validation occurs, to take place on snapshot unpack rather than on deserialization.
Also adds in-game errors for when attempting to view unviewable snapshots (including with the reason why the snapshot is invalid). Invalid snapshots will also appear with a strikethrough on
/userdata list
API change:
DataException
(which extendsIllegalStateException
can now be thrown on snapshotunpack()
rather than the previous behavior which was to throwIllegalStateException
during deserialization (though this is not anticipated to be a breaking change)